Inhaltsverzeichnis:
- Schritt 1: Drucken Sie den Pizza-Aufkleber
- Schritt 2: Nehmen Sie den Arcade-Knopf auseinander
- Schritt 3: Bringen Sie den Aufkleber an und bauen Sie den Knopf wieder zusammen
- Schritt 4: Machen Sie die Box
- Schritt 5: Die Schaltung
- Schritt 6: Kommunikation mit dem Beagle Bone Black
- Schritt 7: Der Code
- Schritt 8: Dateiübertragung von Ihrem Computer zum BBB
- Schritt 9: Installieren der richtigen Bibliotheken auf der BBB
- Schritt 10: Installieren der I/O-Bibliothek von Python und Adafruit
- Schritt 11: Selenium installieren
- Schritt 12: Selenium mit einem Headless Webbrowser verwenden
- Schritt 13: Pizzazeit
Video: Pizzaknopf - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
College-Studenten im zweiten Jahr, New Yorker, nächtliche Technikfreaks und die wirklich Faulen: Willkommen in Ihrer Fantasie. Wir stellen das ultimative Upgrade in der gastronomischen Technologie vor, den Pizza Button. Sie müssen nicht mehr zum Telefon greifen, um Pizza zu bestellen. Drücken Sie einfach diese Taste und warten Sie, während Sie Pizza an Ihre Adresse bestellen.
Der Pizza Button verwendet ein BeagleBone Black (BBB) Board, um das schwere Heben in diesem Projekt zu erledigen. Ein Knopfdruck löst auf dem Board einen Web-Scraper aus. Der Web-Scraper loggt sich in Ihr Grub-Hub-Konto ein und bestellt Pizza bei der berühmten San Francisco North Beach Pizza (was bedeutet, dass dieser Button derzeit nur in San Francisco funktioniert, aber ehrlich gesagt, möchten Sie wirklich woanders sein?) Er bestellt einen großen Käse Pizza, bezahlt die Pizza und lässt sie sich bis vor die Haustür liefern. Dieses Projekt ist sehr einfach zu machen und unwiderstehlich zu bedienen!
Zukünftige Updates zu diesem Projekt umfassen:
- W-lan
- Internes GPS
- Pizzageruch, um nur Ihren Appetit anzuregen
Liste der Einzelteile
- (x3) Pizzakartons von deinem Lieblingspizzaladen
- (x1) Massiver Arcade Button mit LED - 100 mm Weiß Adafruit 1187
- (x1) Proto Cape Kit für den BeagleBone Adafruit 572
- (x1) 470 Ohm 1/4 W Widerstand RadioShack 271-1317
- (x1) 1 k-Ohm 1/4 W Widerstand RadioShack 271-1321
- Vinyl oder LC Glossy Inkjet Fotoaufkleberpapier (8,5" x 11") Amazon B000VKV2H4
Zusätzliche Materialien
- LötradioShack 64-013
- 22 Gauge Draht RadioShack 278-1224
- Schrumpfschlauch RadioShack 278-1611
Schritt 1: Drucken Sie den Pizza-Aufkleber
Finden Sie ein köstliches Bild einer Pizza und drucken Sie es auf klebrigem Papier aus. Ich habe einen Vinylschneider verwendet, aber ein Standarddrucker würde auch funktionieren.
Schritt 2: Nehmen Sie den Arcade-Knopf auseinander
Der Arcade-Knopf wird mit einem Schalter geliefert, der in seiner Basis verriegelt ist. Drehen Sie den Schalter einfach gegen den Uhrzeigersinn und spüren Sie, wie er sich entriegelt. Ziehen Sie den Schalter aus der Innenseite des Gewindehalses des Knopfes heraus (Tippen sind die Rillen, die Sie in Objekten wie Schrauben sehen). Am Schalter ist eine LED angebracht. Schrauben Sie als nächstes den kleinen schwarzen Ring vom Gewindehals ab, damit die Basis des Knopfes abgezogen werden kann. Im Nacken befinden sich zwei weiße Laschen. Drücken Sie sie nach innen und unten, um die Plastikknopffläche vom Hals wegzudrücken. Jetzt fehlt nur noch die durchsichtige Knopfleiste, die mit den Laschen an der weißen Plattform befestigt ist. Verwenden Sie einen kleinen Schraubendreher, um die Knopffläche von der weißen Plattform zu lösen.
Schritt 3: Bringen Sie den Aufkleber an und bauen Sie den Knopf wieder zusammen
Schneiden Sie den Aufkleber aus und befestigen Sie ihn an der glatten weißen Plattform. Auf diese Weise wird es durch die klare Tastenfläche gesehen. Den Knopf wieder zusammenbauen.
Schritt 4: Machen Sie die Box
Angefangen habe ich mit flachen Pizzakartons, die ich im Containerladen gekauft habe. Sie können jedoch gerne Ihre Lieblingspizzakartons verwenden! Diese Basis erfordert drei übereinander gestapelte Pizzakartons, die den etwas größeren Arcade-Knopf und die Elektronik aufnehmen. Beginnen Sie mit dem unteren Kasten. Suchen und markieren Sie die Mitte der Schachtel mit einem Lineal und zeichnen Sie mit einer Tasse einen Kreis darum. Schneiden Sie das Loch mit einem X-Acto-Messer aus. Schneiden Sie ein Loch oben in die untere Schachtel und Löcher sowohl oben als auch unten in die mittlere und obere Schachtel. Stapeln Sie die Kartons zusammen und kleben Sie sie mit einer Heißklebepistole zusammen. Platzieren Sie den Knopf oben, um sicherzustellen, dass der Schalter durch das Loch passt.
Schritt 5: Die Schaltung
Diese Schaltung ist ziemlich geradlinig. Beim Drücken löst die Arcade-Taste sowohl das Ausführen des Codes als auch das Aufleuchten der LED in der Taste aus.
Schritt 6: Kommunikation mit dem Beagle Bone Black
Dieses Projekt ist meine erste Erfahrung mit dem BeagleBone Black Board. Meiner Meinung nach ist das BeagleBoard dem RaspberryPi-Board ziemlich ähnlich, aber mit mehr gpio-Pins. Lesen Sie mehr über das BeagleBoard auf seiner offiziellen Community-Site und entdecken Sie hier die Hauptunterschiede zwischen dem BeagleBoard und dem Raspberry Pi.
Dieses Projekt verwendet ein Rev C BeagleBone Black Board, das von einer 16G Micro-SD-Karte läuft, die mit der Debian-Umgebung geflasht wurde. Sie können eine Micro-SD-Karte jeder Größe verwenden, die größer als 8 G ist. Obwohl das neue BeagleBone Black Board über einen 4G-Onboard-Prozessor verfügt, benötigt die Desktop-Umgebung von Debian mehr Speicherplatz. Um mit dem Board zu interagieren, schließen Sie es einfach mit dem Micro-HDMI-zu-USB-Kabel an Ihren Computer an, das mit Ihrem Board geliefert wird. Die 'Benutzer-LEDs' neben dem Ethernet-Port sollten in einem Muster blinken, das so programmiert ist, dass es den menschlichen Puls nachahmt (die Beagle-Hersteller sind cool, oder?) und das Symbol des Boards sollte auf Ihrem Desktop erscheinen. Wenn Sie einen Mac verwenden, können Sie Ihr Board auf zwei verschiedene Arten programmieren:
METHODE 1: DAS TERMINAL
Öffnen Sie das Terminal und geben Sie in die Befehlszeile ein
Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, geben Sie
Wurzel
** Wenn dies aufgrund eines "beleidigenden SSH-Schlüssels" nicht funktioniert **
Geben Sie in die Befehlszeile ein
rm -f.ssh/bekannte_hosts
**Wenn das immer noch nicht funktioniert **
Geben Sie in die Befehlszeile ein
sudo ssh [email protected]
METHODE 2: DEBIAN-UMGEBUNG
Sie können auch vnc in die Desktop-Umgebung des Boards einbinden und von dort aus programmieren. Befolgen Sie dazu die folgenden Schritte.
- Laden Sie hier Remotedesktopverbindung für Mac herunter.
- Öffnen Sie die Remotedesktopverbindung und geben Sie in das Eingabefeld für 'Computer' '192.168.7.2' ein.
- Geben Sie im Popup-Fenster des Remote-Desktops sowohl als Benutzernamen als auch als Kennwort 'root' ein.
- Der Desktop des Beagle Boards wird angezeigt.
Schritt 7: Der Code
Dieser Code meldet sich automatisch bei Ihrem persönlichen GrubHub-Konto an, navigiert zum Menü für North Beach Pizza und bestellt eine große Käsepizza. Alles wird per Knopfdruck ausgelöst!
All dies geschieht durch die Interaktion mit Webseiten mit Selenium unter Verwendung eines kopflosen Webbrowsers PhantomJS. Was ist Selen? Es ist ein Softwarepaket, das das Klicken durch Webseiten für Sie erledigt (denken Sie daran, dieses Projekt ist für die ultimativen Faulenze da draußen). Was ist ein Headless-Webbrowser? Erfahren Sie hier mehr, aber kurz gesagt, es ist ein Webbrowser (denken Sie an Safari, Firefox und, ich wage zu sagen, Netscape) ohne grafische Benutzeroberfläche. Dies macht die Automatisierung der Webseiten-Navigation VIEL schneller (Sie haben Hunger auf Pizza, also möchten Sie, dass Ihre Bestellung so schnell wie möglich versendet wird).
Dinge, die Sie innerhalb des Codes bearbeiten müssen:
- GrubHub-Anmeldeinformationen, einschließlich Ihres Benutzernamens und Ihres Passworts
- Kreditkarteninformationen
Schritt 8: Dateiübertragung von Ihrem Computer zum BBB
Sie können Dateien wie 'code.py' mit einfachen Befehlen in der Terminalumgebung von Ihrem Computer auf die BBB übertragen.
Im Allgemeinen sieht die Übertragung einer Datei von Ihrem Computer auf die BBB so aus
scp /home/filename.file user@IPAddress:/directory
Das aufschlüsseln:
- 'scp': Der Befehl 'scp' ermöglicht das Kopieren von Dateien auf, von oder zwischen verschiedenen Hosts. Es verwendet ssh für die Datenübertragung und bietet die gleiche Authentifizierung und das gleiche Sicherheitsniveau wie ssh.
- '/home/filename.file': Der Dateispeicherort auf Ihrem Computer.
- 'user@IPAddress:/directory': Die Login-Informationen des BBB und wohin auf dem Board Sie die Datei kopieren möchten.
Angenommen, ich habe "code.py" heruntergeladen und auf dem Desktop meines Computers gespeichert. Jetzt möchte ich es auf den Desktop der BBB übertragen. Ich öffne das Terminal meines Computers und tippe
scp /Users/dot/Desktop/code.py [email protected]:/home/root/Desktop/
Kopieren Sie dieses Beispiel nicht Wort für Wort, da die Pfade auf Ihrem Computer und BBB anders sind als bei mir.
Ich habe diese Informationen von einer nützlichen Website hier gefunden, auf der Sie auch erfahren, wie Sie Inhaltsordner übertragen.
Schritt 9: Installieren der richtigen Bibliotheken auf der BBB
Sie müssen einige Bibliotheken installieren, damit der Code richtig funktioniert. Um etwas auf Ihrem BBB zu installieren, muss es:
- An Ethernet angeschlossen sein
- Stromversorgung über Ihren Computer (wenn Sie über das Terminal mit Ihrem Board kommunizieren)
- Stromversorgung über eine 5-V-Wandwarze (wenn Sie das Board an einen Monitor anschließen)
Ich habe mein Board persönlich über meinen Computer mit Strom versorgt und über den ssh-Befehl programmiert, der zuvor in "Kommunikation mit dem Beagle Bone Black" beschrieben wurde.
Sie müssen installieren:
- Python
- Die GPIO-Python-Bibliothek von Adafruit
- Selen
- Kopfloser Webbrowser PhantomJS
Schritt 10: Installieren der I/O-Bibliothek von Python und Adafruit
Das Beaglebone Black Board verfügt über viele gpio-Pins, insgesamt 65, was es unter den vielen Minicomputern und Mikroprozessorplatinen auf dem Markt einzigartig macht. Zwei gpio-Bibliotheken, die mit den gpio-Pins des Beagle kompatibel sind, sind die integrierte Bibliothek von BoneScript und die Python GPIO-Bibliothek von Adafruit. Da ich mit Python persönlich besser vertraut bin, habe ich mich für die Python GPIO-Bibliothek entschieden. Die Bibliothek ist relativ einfach herunterzuladen. Zuerst ssh in das Beagle Board einsteigen und die folgenden Abhängigkeiten installieren:
sudo ntpdate pool.ntp.org
sudo apt-get update sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
Geben Sie dann den folgenden Befehl ein, um die Python-GPIO-Bibliothek zu installieren
sudo pip install Adafruit_BBIO
Schritt 11: Selenium installieren
Selenium automatisiert Webbrowser. Was dieses Projekt hauptsächlich verwendet, ist der Selenium WebDriver, der Befehle akzeptiert, an einen Browser wie Chrome oder Firefox sendet und Ergebnisse abruft. Dieses Projekt verwendet die Python-Bindungen von Selenium. Ich hätte Javascript-Bindungen verwenden können, aber ich zog es vor, den Code in einer einzigen Sprache zu halten, und da ich mich entschieden habe, Python zur Steuerung der GPIO-Pins der BBB zu verwenden, habe ich auch Python für meinen Web-Scraper verwendet.
Um Selen zu installieren, ssh in die BBB und geben Sie in die Befehlszeile ein
sudo pip installiere Selen
Schritt 12: Selenium mit einem Headless Webbrowser verwenden
Um PhantomJS zu installieren, damit Sie den Headless-Webbrowser von PhantomJS verwenden können, geben Sie ssh in die BBB ein und geben Sie in die Befehlszeile ein
sudo apt-get install build-essential chrpath git-core libssl-dev
libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9./build.sh
Diese Anweisungen stammen von der PhantomJS-Website hier. Ich hatte viele Probleme, als ich versuchte, PhantomJS zu installieren, aber es gelang mir schließlich, diese Befehle zu befolgen.
Schritt 13: Pizzazeit
Jetzt lehnen Sie sich zurück und genießen Sie Ihre Pizza.