Talaan ng mga Nilalaman:

Button ng Pizza: 13 Hakbang (na may Mga Larawan)
Button ng Pizza: 13 Hakbang (na may Mga Larawan)

Video: Button ng Pizza: 13 Hakbang (na may Mga Larawan)

Video: Button ng Pizza: 13 Hakbang (na may Mga Larawan)
Video: Камера ANBIUX ДВУГЛАЗКА УДИВИЛА после ОБНОВЛЕНИЯ!!! 2024, Nobyembre
Anonim
Button ng Pizza
Button ng Pizza
Button ng Pizza
Button ng Pizza
Button ng Pizza
Button ng Pizza

Mga kalalakihan sa kolehiyo, mga taga-New York, mga techy na panggabi, at ang totoong tamad: maligayang pagdating sa iyong pantasya. Ipinakikilala ang panghuli pag-upgrade sa gastronomical na teknolohiya, ang Pizza Button. Hindi na kailangang kunin ang telepono upang mag-order ng pizza. Pindutin lamang ang pindutang ito at maghintay habang nag-order ito ng paghahatid ng pizza sa iyong address.

Gumagamit ang Pizza Button ng board na BeagleBone Black (BBB) upang gawin ang mabibigat na buhat sa proyektong ito. Ang isang pindutan ng pagpindot ay nagpapalitaw sa board upang magpatakbo ng isang web scraper. Ang web scraper ay nag-log in sa iyong Grub Hub account at nag-order ng pizza mula sa sikat na San Francisco North Beach Pizza (nangangahulugang kasalukuyang ang pindutan na ito ay gumagana lamang sa San Francisco, ngunit sa totoo lang, nais mo ba talagang maging saanman?) Nag-order ito ng isang malaking keso pizza, nagbabayad para sa pizza, at naihatid ito sa iyong pinto. Ang proyektong ito ay napaka-simple upang gawin at hindi mapaglabanan upang magamit!

Ang mga pag-update sa hinaharap sa proyektong ito ay kinabibilangan ng:

  • WiFi
  • Panloob na GPS
  • Ang Amoy ng Pizza upang mapahusay lamang ang iyong gana sa pagkain

Listahan ng Mga Bahagi

  • (x3) mga kahon ng pizza mula sa iyong paboritong pizza shop
  • (x1) Napakalaking Button ng Arcade na may LED - 100 mm White Adafruit 1187
  • (x1) Proto Cape Kit para sa BeagleBone Adafruit 572
  • (x1) 470 ohm 1/4 W risistor RadioShack 271-1317
  • (x1) 1 k-ohm 1/4 W risistor RadioShack 271-1321
  • vinyl o LC Glossy Inkjet Photo Sticker Paper (8.5 "x 11") Amazon B000VKV2H4

Karagdagang Kagamitan

  • Solder RadioShack 64-013
  • 22 Gauge Wire RadioShack 278-1224
  • Heat Shrink Tubing RadioShack 278-1611

Hakbang 1: I-print ang Pizza Sticker

I-print ang Pizza Sticker
I-print ang Pizza Sticker
I-print ang Pizza Sticker
I-print ang Pizza Sticker

Maghanap ng isang nakaluluha na larawan ng isang pizza at i-print ito sa malagkit na papel. Gumamit ako ng isang vinyl cutter, ngunit gagana rin ang isang karaniwang printer.

Hakbang 2: Dalhin ang Arcade Button Bukod

Kunin ang Arcade Button Bukod
Kunin ang Arcade Button Bukod
Dalhin ang Arcade Button Bukod
Dalhin ang Arcade Button Bukod
Kunin ang Arcade Button Bukod
Kunin ang Arcade Button Bukod

Ang arcade button ay may kasamang switch na naka-lock sa base nito. I-twist lang ang switch sa pakaliwa at pakiramdam na mag-unlock ito. Hilahin ang switch out mula sa loob ng naka-tap na leeg ng pindutan (ang pag-tap ay ang mga uka na nakikita mo sa mga bagay tulad ng mga tornilyo). Magkakaroon ng isang LED na nakakabit sa switch. Susunod, alisan ng takip ang maliit na itim na singsing mula sa tinapik na leeg upang ang batayan ng pindutan ay maaaring hilahin. Sa loob ng leeg ay may dalawang puting tab. Itulak ang mga ito papasok at pababa upang itulak ang plastic button na mukha palayo sa leeg. Ngayon ang natitira lamang ay ang malinaw na mukha ng pindutan na nakakabit sa puting platform na may mga tab. Gumamit ng isang maliit na distornilyador upang i-pry ang pindutan ng mukha sa puting platform.

Hakbang 3: Ilapat ang Sticker at muling tipunin ang Button

Ilapat ang Sticker at muling tipunin ang Button
Ilapat ang Sticker at muling tipunin ang Button
Ilapat ang Sticker at muling tipunin ang Button
Ilapat ang Sticker at muling tipunin ang Button
Ilapat ang Sticker at muling tipunin ang Button
Ilapat ang Sticker at muling tipunin ang Button

Gupitin ang sticker at ilakip ito sa makinis na puting platform. Sa ganitong paraan, makikita ito sa pamamagitan ng malinaw na mukha ng pindutan. Muling pagsamahin ang pindutan.

Hakbang 4: Gawin ang Kahon

Gawin ang Kahon
Gawin ang Kahon
Gawin ang Kahon
Gawin ang Kahon
Gawin ang Kahon
Gawin ang Kahon

Nagsimula ako sa mga flat pizza box na binili ko mula sa container store. Gayunpaman, huwag mag-atubiling gamitin ang iyong mga paboritong kahon ng pizza! Nangangailangan ang base na ito ng tatlong mga kahon ng pizza na nakasalansan sa bawat isa, na tatanggapin ang medyo mas malaking pindutan ng arcade at ilagay ang electronics. Magsimula sa ibabang kahon. Hanapin at markahan ang gitna ng kahon na may isang pinuno, at gumamit ng isang tasa upang gumuhit ng isang bilog sa paligid nito. Gupitin ang butas gamit ang isang X-Acto na kutsilyo. Gupitin ang isang butas sa tuktok ng ilalim na kahon, at mga butas sa parehong tuktok at ibaba ng gitna at itaas na mga kahon. I-stack ang mga kahon nang magkasama at idikit ito kasama ang isang mainit na baril na pandikit. Ilagay ang pindutan sa itaas upang matiyak na umaangkop ang switch sa butas.

Hakbang 5: Ang Circuit

Ang Circuit
Ang Circuit

Ang circuit na ito ay medyo tuwid pasulong. Kapag pinindot, ang arcade button ay nagpapalitaw ng parehong code upang tumakbo at ang LED sa loob ng pindutan upang magaan.

Hakbang 6: Nakikipag-usap sa Beagle Bone Black

Ang proyektong ito ang aking unang karanasan sa BeagleBone Black Board. Sa palagay ko, ang BeagleBoard ay katulad sa RaspberryPi board ngunit may higit pang mga gpio pin. Magbasa nang higit pa tungkol sa BeagleBoard sa opisyal na site ng pamayanan at tuklasin ang mga pangunahing pagkakaiba sa pagitan ng BeagleBoard at Raspberry Pi dito.

Gumagamit ang proyektong ito ng isang Rev C BeagleBone Black board na tumatakbo sa isang 16G micro SD card na na-flash sa kapaligiran ng Debian. Maaari mong gamitin ang anumang laki ng micro SD card na higit sa 8G. Bagaman ang bagong BeagleBone Black Board ay mayroong 4G onboard processor, ang kapaligiran sa desktop ni Debian ay nangangailangan ng mas maraming espasyo sa imbakan. Upang makipag-ugnay sa board, i-plug lamang ito sa iyong computer gamit ang micro HDMI sa USB cable na kasama ng iyong board. Ang 'user leds' na matatagpuan sa tabi ng ethernet port ay dapat na flash sa isang pattern na nai-program upang gayahin ang pulso ng tao (ang mga gumagawa ng beagle ay cool, tama ba?) At ang icon ng board ay dapat na mag-pop papunta sa iyong Desktop. Kung gumagamit ka ng isang mac, maaari mong i-program ang iyong board ng dalawang magkakaibang paraan:

PAMAMARAAN 1: ANG TERMINAL

Buksan ang terminal at i-type sa linya ng utos

ssh [email protected]

Kung kapag sinenyasan ka para sa isang password, i-type

ugat

** Kung hindi ito gagana dahil sa isang "nakakasakit na ssh key" **

Mag-type sa linya ng utos

rm -f.ssh / kilala_hosts

ssh [email protected]

** Kung hindi pa rin ito gumana **

Mag-type sa linya ng utos

sudo ssh [email protected]

PAMAMARAAN 2: ENVIRONMENT NG DEBIAN

Maaari mo ring vnc sa desktop environment ng board at i-program ito mula doon. Sundin ang mga hakbang sa ibaba upang magawa ito.

  • Mag-download ng Remote na Koneksyon sa Desktop para sa mac mula dito.
  • Buksan ang Koneksyon ng Remote na Desktop at sa kahon ng pag-input para sa 'Computer' na uri '192.168.7.2'
  • Sa loob ng remote na pop-up ng desktop, i-type ang 'root' para sa parehong username at password.
  • Ipapakita sa iyo ang desktop ng Beagle Board.

Hakbang 7: Ang Code

Awtomatikong nag-sign ang code na ito sa iyong personal na GrubHub account, nag-navigate sa menu para sa North Beach Pizza, at nag-order ng isang malaking pizza ng keso. Ang lahat ay nag-uudyok sa pamamagitan ng isang pagpindot sa isang pindutan!

Ginagawa ang lahat ng ito sa pamamagitan ng pakikipag-ugnay sa mga webpage sa Selenium gamit ang isang walang ulo na web browser na PhantomJS. Ano ang siliniyum? Ito ay isang pakete ng software na ginagawa ang lahat ng pag-click sa pamamagitan ng mga webpage para sa iyo (tandaan, ang proyektong ito ay para sa panghuli na mga tamad doon). Ano ang isang walang browser na web browser? Dagdagan ang nalalaman dito, ngunit sa madaling salita, ito ay isang web browser (isipin ang Safari, Firefox at, maglakas-loob sabihin ko, Netscape) nang walang isang graphic na interface ng gumagamit. Ginagawa nitong mas mabilis ang pag-automate ng pag-navigate sa web page (nagugutom ka sa pizza, kaya nais mong maipadala ang iyong order nang mas mabilis hangga't maaari).

Mga bagay na kakailanganin mong i-edit sa loob ng code:

  • Ang impormasyon sa pag-login sa GrubHub, na kasama ang iyong username at password
  • Impormasyon sa credit card

Hakbang 8: Paglipat ng File Mula sa Iyong Computer sa BBB

Maaari mong ilipat ang mga file tulad ng 'code.py' mula sa iyong computer sa BBB na may mga simpleng utos sa kapaligiran ng terminal.

Pangkalahatan, ang paraan upang maglipat ng isang file mula sa iyong computer sa BBB ay mukhang

scp /home/filename.file user @ IPAddress: / direktoryo

Pagwawasak nito:

  • 'scp': Pinapayagan ng utos na 'scp' na makopya ang mga file, mula, o sa pagitan ng iba't ibang mga host. Gumagamit ito ng ssh para sa paglipat ng data at nagbibigay ng parehong pagpapatotoo at parehong antas ng seguridad tulad ng ssh.
  • '/home/filename.file': Ang lokasyon ng file sa iyong computer.
  • 'user @ IPAddress: / direktoryo': Ang impormasyon sa pag-login ng BBB at kung saan sa board nais mong kopyahin ang file.

Halimbawa, sabihin nating nag-download at nag-save ako ng 'code.py' sa Desktop ng aking computer. Ngayon nais kong ilipat ito sa Desktop ng BBB. Bubuksan ko ang terminal at uri ng aking computer

scp /Users/dot/Desktop/code.py [email protected]: / home / root / Desktop /

Huwag kopyahin ang halimbawang ito salita sa salita, dahil ang mga landas sa iyong computer at BBB ay magkakaiba kaysa sa akin.

Natagpuan ko ang impormasyong ito mula sa isang kapaki-pakinabang na website dito, kung saan maaari mo ring malaman kung paano maglipat ng mga folder ng nilalaman.

Hakbang 9: Pag-install ng Wastong Mga Aklatan Sa BBB

Kailangan mong mag-install ng ilang mga aklatan upang gumana nang maayos ang code. Upang mai-install ang anuman sa iyong BBB, dapat itong:

  • I-plug sa ethernet
  • Pinapagana ng iyong computer (kung nakikipag-usap ka sa iyong board sa pamamagitan ng terminal)
  • Pinapagana ng isang kulugo ng 5V (kung kumokonekta ka sa board sa isang monitor)

Personal kong pinalakas ang aking board sa pamamagitan ng aking computer at pinrograma ito sa pamamagitan ng ssh command, na dating inilarawan sa "Communicking With The Beagle Bone Black".

Kailangan mong i-install:

  • Sawa
  • Adafruit's GPIO python library
  • Siliniyum
  • PhantomJS walang browser na web browser

Hakbang 10: Pag-install ng Python at I / O Library ng Adafruit

Ang Beaglebone Black Board ay maraming gpio pin, 65 sa kabuuan, ginagawa itong natatangi sa maraming mga mini computer at microprocessor board sa merkado. Dalawang aklatan ng gpio na katugma sa mga gpio pin ng Beagle ay ang built-in na aklatan ng BoneScript at ang library ng Adafruit's Python GPIO. Dahil sa personal na mas komportable ako sa Python, nagpasya akong gamitin ang Python GPIO library. Ang library ay medyo simple upang i-download. Una, ssh sa Beagle Board at i-install ang mga sumusunod na dependency:

sudo ntpdate pool.ntp.org

sudo apt-get update sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y

Pagkatapos i-type ang sumusunod na utos sa pag-install ng python gpio library

sudo pip i-install ang Adafruit_BBIO

Hakbang 11: Pag-install ng Selenium

Ang siliniyum, sa simpleng paglalagay, ay nag-automate ng mga web browser. Ang pangunahing ginagamit ng proyektong ito ay ang Selenium WebDriver, na tumatanggap ng mga utos, ipinapadala ang mga ito sa isang browser tulad ng Chrome o Firefox, at kinukuha ang mga resulta. Gumagamit ang proyektong ito ng mga binding ng sawa ng Selenium. Maaaring gumamit ako ng mga bind ng javascript, ngunit mas gusto kong panatilihin ang code sa isang solong wika at dahil nagpasya akong gumamit ng sawa upang makontrol ang mga pin ng GPIO ng BBB, gumamit din ako ng sawa para sa aking web scraper.

Upang mai-install ang siliniyum, ssh sa BBB at i-type sa linya ng utos

sudo pip install selenium

Hakbang 12: Paggamit ng Selenium Sa Isang Headless Webbrowser

Upang mai-install ang PhantomJS upang magamit mo ang PhantomJS na walang browser na web browser, ssh sa BBB at i-type sa linya ng utos

sudo apt-get install build-importanteng chrpath git-core libssl-dev

libontsconfig1-dev git clone git: //github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9./ build.sh

Ang mga tagubiling ito ay nagmula sa website ng PhantomJS dito. Naranasan ko ang maraming problema na sinusubukang i-install ang PhantomJS, ngunit sa wakas ay matagumpay na sumusunod sa mga utos na ito.

Hakbang 13: Oras ng Pizza

Umupo ka muna at tangkilikin ang iyong pizza.

Inirerekumendang: