Inhoudsopgave:

Pizzaknop - Ajarnpa 13 stappen (met afbeeldingen)
Pizzaknop - Ajarnpa 13 stappen (met afbeeldingen)

Video: Pizzaknop - Ajarnpa 13 stappen (met afbeeldingen)

Video: Pizzaknop - Ajarnpa 13 stappen (met afbeeldingen)
Video: HIEROVER MOET JE NADENKEN VOORDAT JE EEN KITTEN AANSCHAFT - De gelukkige huiskat - kattengedrag 2024, November
Anonim
Pizzaknop
Pizzaknop
Pizzaknop
Pizzaknop
Pizzaknop
Pizzaknop

Tweedejaarsstudenten, New Yorkers, nachtelijke techneuten en de echt luie: welkom in je fantasie. Introductie van de ultieme upgrade in gastronomische technologie, de Pizza Button. U hoeft de telefoon niet meer op te nemen om pizza te bestellen. Druk gewoon op deze knop en wacht terwijl hij pizza bezorgt op jouw adres.

De Pizza Button gebruikt een BeagleBone Black (BBB) bord om het zware werk in dit project te doen. Een druk op de knop activeert het bord om een webschraper uit te voeren. De webschraper logt in op je Grub Hub-account en bestelt pizza bij de beroemde San Francisco North Beach Pizza (wat betekent dat deze knop momenteel alleen in San Francisco werkt, maar eerlijk gezegd, zou je echt ergens anders willen zijn?) Hij bestelt een grote kaas pizza, betaalt de pizza en laat hem aan je deur bezorgen. Dit project is heel eenvoudig te maken en onweerstaanbaar in gebruik!

Toekomstige updates van dit project zijn onder meer:

  • Wifi
  • Interne GPS
  • Pizzageur om je eetlust alleen maar te vergroten

Onderdelen lijst

  • (x3) pizzadozen van je favoriete pizzeria
  • (x1) Massieve Arcade-knop met LED - 100 mm Wit Adafruit 1187
  • (x1) Proto Cape Kit voor de BeagleBone Adafruit 572
  • (x1) 470 ohm 1/4 W weerstand RadioShack 271-1317
  • (x1) 1 k-ohm 1/4 W weerstand RadioShack 271-1321
  • vinyl of LC glanzend inkjet fotostickerpapier (8,5" x 11") Amazon B000VKV2H4

Aanvullende materialen

  • Soldeer RadioShack 64-013
  • 22 Gauge Draad RadioShack 278-1224
  • Krimpkous RadioShack 278-1611

Stap 1: Print de pizzasticker

Print de pizzasticker
Print de pizzasticker
Print de pizzasticker
Print de pizzasticker

Zoek een verrukkelijke foto van een pizza en print deze uit op plakpapier. Ik gebruikte een vinylsnijder, maar een standaardprinter zou ook werken.

Stap 2: Haal de Arcade-knop uit elkaar

Haal de Arcade-knop uit elkaar
Haal de Arcade-knop uit elkaar
Haal de Arcade-knop uit elkaar
Haal de Arcade-knop uit elkaar
Haal de Arcade-knop uit elkaar
Haal de Arcade-knop uit elkaar

De arcade-knop wordt geleverd met een schakelaar die in de basis is vergrendeld. Draai de schakelaar gewoon tegen de klok in en voel hem ontgrendelen. Trek de schakelaar uit de binnenkant van de getapte nek van de knop (tikken zijn de groeven die je ziet in voorwerpen zoals schroeven). Er zal een LED aan de schakelaar worden bevestigd. Schroef vervolgens de kleine zwarte ring van de getapte nek zodat de basis van de knop kan worden weggetrokken. In de nek zitten twee witte lipjes. Duw ze naar binnen en naar beneden om de plastic knop weg van de nek te duwen. Nu rest alleen nog het doorzichtige knopvlak dat met de lipjes aan het witte platform is bevestigd. Gebruik een kleine schroevendraaier om de knop van het witte platform los te wrikken.

Stap 3: Breng de sticker aan en zet de knop weer in elkaar

Breng de sticker aan en monteer de knop weer
Breng de sticker aan en monteer de knop weer
Breng de sticker aan en monteer de knop weer
Breng de sticker aan en monteer de knop weer
Breng de sticker aan en monteer de knop weer
Breng de sticker aan en monteer de knop weer

Knip de sticker uit en plak deze op het gladde witte plateau. Op deze manier is het zichtbaar door het duidelijke knopvlak. Zet de knop weer in elkaar.

Stap 4: Maak de doos

Maak de doos
Maak de doos
Maak de doos
Maak de doos
Maak de doos
Maak de doos

Ik begon met platte pizzadozen die ik in de containerwinkel kocht. Voel je echter vrij om je favoriete pizzadozen te gebruiken! Deze basis vereist drie pizzadozen die op elkaar zijn gestapeld, die plaats bieden aan de vrij grotere arcade-knop en de elektronica huisvesten. Begin met het onderste vak. Zoek en markeer het midden van de doos met een liniaal en gebruik een kopje om er een cirkel omheen te tekenen. Snijd het gat uit met een X-Acto-mes. Snijd een gat aan de bovenkant van de onderste doos en gaten aan zowel de boven- als onderkant van de middelste en bovenste dozen. Stapel de dozen op elkaar en lijm ze aan elkaar met een heet lijmpistool. Plaats de knop op de bovenkant om ervoor te zorgen dat de schakelaar door het gat past.

Stap 5: Het circuit

Het circuit
Het circuit

Dit circuit is redelijk rechttoe rechtaan. Wanneer ingedrukt, activeert de arcade-knop zowel de code om uit te voeren als de LED in de knop om op te lichten.

Stap 6: Communiceren met de Beagle Bone Black

Dit project is mijn eerste ervaring met het BeagleBone Black Board. Naar mijn mening lijkt het BeagleBoard veel op het RaspberryPi-bord, maar met meer gpi-pinnen. Lees meer over het BeagleBoard op de officiële communitysite en ontdek hier de belangrijkste verschillen tussen het BeagleBoard en Raspberry Pi.

Dit project maakt gebruik van een Rev C BeagleBone Black-bord dat loopt van een 16G micro SD-kaart die is geflitst met de Debian-omgeving. U kunt elk formaat micro SD-kaart groter dan 8G gebruiken. Hoewel het nieuwe BeagleBone Black Board een ingebouwde 4G-processor heeft, vereist de desktopomgeving van Debian meer opslagruimte. Om met het bord te communiceren, sluit u het eenvoudig aan op uw computer met de micro-HDMI-naar-USB-kabel die bij uw bord wordt geleverd. De 'gebruikerslampjes' naast de ethernetpoort moeten knipperen in een patroon dat is geprogrammeerd om de menselijke hartslag na te bootsen (de beaglemakers zijn cool, toch?) en het pictogram van het bord moet op uw bureaublad verschijnen. Als je een mac gebruikt, kun je je bord op twee verschillende manieren programmeren:

METHODE 1: DE TERMINAL

Open de terminal en typ in de opdrachtregel

ssh [email protected]

Als u om een wachtwoord wordt gevraagd, typt u

wortel

** Als dit niet werkt vanwege een "beledigende ssh-sleutel" **

Typ in de opdrachtregel

rm -f.ssh/bekende_hosts

ssh [email protected]

** Als dit nog steeds niet werkt **

Typ in de opdrachtregel

sudo ssh [email protected]

METHODE 2: DEBISCHE OMGEVING

Je kunt ook vnc in de desktopomgeving van het bord plaatsen en het van daaruit programmeren. Volg hiervoor de onderstaande stappen.

  • Download Remote Desktop Connection voor mac hier.
  • Open Remote Desktop Connection en typ in het invoerveld voor 'Computer' '192.168.7.2'
  • Typ in de externe desktop-pop-up 'root' voor zowel de gebruikersnaam als het wachtwoord.
  • U krijgt het bureaublad van het Beagle Board te zien.

Stap 7: De code

Deze code meldt zich automatisch aan bij uw persoonlijke GrubHub-account, navigeert naar het menu voor North Beach Pizza en bestelt een grote kaaspizza. Het wordt allemaal geactiveerd door een druk op de knop!

Het doet dit allemaal door te communiceren met webpagina's met Selenium met behulp van een headless webbrowser PhantomJS. Wat is selenium? Het is een softwarepakket dat al het doorklikken van webpagina's voor je doet (onthoud, dit project is voor de ultieme lui die er zijn). Wat is een headless webbrowser? Lees hier meer, maar kortom, het is een webbrowser (denk aan Safari, Firefox en, ik durf te zeggen, Netscape) zonder grafische gebruikersinterface. Dit maakt het automatiseren van webpagina-navigatie VEEL sneller (je hebt trek in pizza, dus je wilt dat je bestelling zo snel mogelijk wordt verzonden).

Dingen die u in de code moet bewerken:

  • GrubHub-inloggegevens, waaronder uw gebruikersnaam en wachtwoord
  • Creditcardgegevens

Stap 8: Bestandsoverdracht van uw computer naar de BBB

U kunt bestanden zoals 'code.py' van uw computer naar de BBB overbrengen met eenvoudige commando's in de terminalomgeving.

Over het algemeen ziet de manier om een bestand van uw computer naar de BBB over te brengen er als volgt uit:

scp /home/bestandsnaam.bestand gebruiker@IPAddress:/directory

Dit opsplitsen:

  • 'scp': Met het commando 'scp' kunnen bestanden worden gekopieerd naar, van of tussen verschillende hosts. Het gebruikt ssh voor gegevensoverdracht en biedt dezelfde authenticatie en hetzelfde beveiligingsniveau als ssh.
  • '/home/filename.file': De bestandslocatie op uw computer.
  • 'user@IPAddress:/directory': De login-informatie van de BBB en waar op het bord je het bestand naartoe wilt kopiëren.

Laten we bijvoorbeeld zeggen dat ik 'code.py' heb gedownload en opgeslagen op het bureaublad van mijn computer. Nu wil ik het overzetten naar het bureaublad van de BBB. Ik zal de terminal van mijn computer openen en typen

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

Kopieer dit voorbeeld niet woord voor woord, aangezien de paden op uw computer en BBB anders zullen zijn dan die van mij.

Ik vond deze informatie van een nuttige website hier, waar u ook kunt leren hoe u mappen met inhoud kunt overbrengen.

Stap 9: De juiste bibliotheken installeren op de BBB

U moet een paar bibliotheken installeren om de code correct te laten werken. Om iets op uw BBB te installeren, moet het:

  • Worden aangesloten op ethernet
  • Aangedreven door uw computer (als u via de terminal met uw bord communiceert)
  • Aangedreven door een 5V-muurwrat (als u het bord op een monitor aansluit)

Ik heb persoonlijk mijn bord via mijn computer gevoed en geprogrammeerd via het ssh-commando, dat eerder werd beschreven in "Communiceren met de Beagle Bone Black".

U moet installeren:

  • Python
  • Adafruit's GPIO python-bibliotheek
  • Selenium
  • PhantomJS headless webbrowser

Stap 10: De I/O-bibliotheek van Python en Adafruit installeren

Het Beaglebone Black Board heeft veel gpi-pinnen, 65 in totaal, waardoor het uniek is tussen de vele minicomputers en microprocessorborden op de markt. Twee gpio-bibliotheken die compatibel zijn met de gpio-pinnen van de Beagle zijn de ingebouwde bibliotheek van BoneScript en de Python GPIO-bibliotheek van Adafruit. Omdat ik persoonlijk meer op mijn gemak ben met Python, heb ik besloten om de Python GPIO-bibliotheek te gebruiken. De bibliotheek is vrij eenvoudig te downloaden. SSH eerst naar het Beagle Board en installeer de volgende afhankelijkheden:

sudo ntpdate pool.ntp.org

sudo apt-get update sudo apt-get install build-essentiële python-dev python-setuptools python-pip python-smbus -y

Typ vervolgens de volgende opdracht om de python gpio-bibliotheek te installeren:

sudo pip installeren Adafruit_BBIO

Stap 11: Selenium installeren

Selenium, simpel gezegd, automatiseert webbrowsers. Wat dit project voornamelijk gebruikt, is de Selenium WebDriver, die opdrachten accepteert, ze naar een browser zoals Chrome of Firefox stuurt en resultaten ophaalt. Dit project maakt gebruik van Selenium's python bindingen. Ik had javascript-bindingen kunnen gebruiken, maar ik gaf er de voorkeur aan de code in één taal te houden en aangezien ik besloot python te gebruiken om de GPIO-pinnen van de BBB te besturen, gebruikte ik ook python voor mijn webschraper.

Om selenium te installeren, ssh in de BBB en typ in de opdrachtregel

sudo pip installeer selenium

Stap 12: Selenium gebruiken met een headless webbrowser

Om PhantomJS te installeren zodat u de PhantomJS headless webbrowser kunt gebruiken, ssh in de BBB en typ in de opdrachtregel

sudo apt-get install build-essentiële chrpath git-core libssl-dev

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

Deze instructies zijn afkomstig van de PhantomJS-website hier. Ik kwam veel problemen tegen toen ik PhantomJS probeerde te installeren, maar het lukte uiteindelijk om deze commando's te volgen.

Stap 13: Pizzatijd

Leun nu achterover en geniet van je pizza.

Aanbevolen: