Inhaltsverzeichnis:

Beaglebone Black Web Control mit WebPy - Gunook
Beaglebone Black Web Control mit WebPy - Gunook

Video: Beaglebone Black Web Control mit WebPy - Gunook

Video: Beaglebone Black Web Control mit WebPy - Gunook
Video: Cory Doctorow: Aaron Swartz and Hacktivism 2024, November
Anonim
Beaglebone Black Webkontrolle mit WebPy
Beaglebone Black Webkontrolle mit WebPy
Beaglebone Black Webkontrolle mit WebPy
Beaglebone Black Webkontrolle mit WebPy

Wollten Sie schon immer eine Möglichkeit schaffen, Ihr Garagentor mit Ihrem Telefon zu steuern, vielleicht Daten sammeln und von Ihrem Laptop aus anzeigen. Es gibt einen Einplatinencomputer namens Beaglebone Black, der ein extrem leistungsstarkes Gerät ist, mit dem Sie seine GPIO-Pins steuern können, um mit realen Gegenständen wie Motoren, LEDs, Lampen usw. zu interagieren. Der Beaglebone ist wie ein Himbeer-Pi Bord, aber viel leistungsfähiger. Die Beaglebone-Community ist nicht so groß wie die Himbeer-Pis, also sei vor dem Mangel an Tutorials gewarnt.

Als ich im Internet nach einer Lösung suchte, um meinen Beaglebone Black über eine Webseite von meinem Laptop aus zu steuern, tauchten viele Tutorials mit der bonescript-Bibliothek von Beaglebone und der socket.io-Bibliothek mit der Cloud 9-IDE auf. Als ich Tutorials folgte und mir den Code der Leute ansah, wurde ich frustriert aufgrund der Tatsache, dass die Cloud 9-Ide immer wieder abstürzte, mein mangelndes Verständnis von Javascript und auch die mangelnde Flexibilität jedes Tutorials (jedes Tutorial zwang Sie dazu, eine vordefinierte Menge an GPIOs). Ich war mit Python vertraut und mein Freund stellte mir web.py vor, ein großartiges Web-Framework zum Entwickeln von Web-Apps. Ich habe auch die Beaglebone Black GPIO-Bibliothek von Adafruit verwendet, um die einzelnen Pins des Beaglebone Black zu steuern.

Was wirst du brauchen:

  • Ein Computer
  • SSH-Terminal wie PuTTY oder verwenden Sie SSH auf dem Terminal (Für Macs und Linux hat Windows kein integriertes SSH)
  • Ein Beaglebone Black, der über USB mit dem Computer verbunden ist
  • Eine Internetverbindung zum Beaglebone Black
  • (optional) Ein SFTP-Client

Schritt 1: Installieren Sie die erforderlichen Python-Bibliotheken

Wir müssen zwei Bibliotheken installieren, die keine Standardmodule in Python 2.7 sind. Die Bibliotheken sind die Adafruit BBIO- und WebPy-Bibliotheken. Wir müssen über SSH auf den Beaglebone zugreifen. Ich habe mich entschieden, das PuTTy-Terminal zu verwenden und über die IP-Adresse des Beaglebone darauf zuzugreifen, meine ist 192.168.7.2, Ihre kann auf der beaglebone start.html gefunden werden. Wenn Sie Angstrom verwenden, geben Sie Folgendes ein:

  • opkg aktualisieren && opkg installieren python-pip python-setuptools python-smbus
  • pip install Adafruit_BBIO
  • pip install web.py

Wenn Sie Debian oder Ubuntu verwenden:

  • sudo apt-get update
  • sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
  • pip install Adafruit_BBIO
  • pip install web.py

Um zu testen, ob die Bibliotheken richtig installiert sind, geben Sie Folgendes ein:

  • Python
  • Web importieren
  • Adafruit_BBIO. GPIO importieren

Wenn in der Python-Konsole keine Fehler auftreten, haben Sie die Bibliotheken ordnungsgemäß installiert und wir können mit dem Coden beginnen.

Schritt 2: Der Python-Code

Der Python-Code
Der Python-Code

Der Python-Code ist ziemlich leicht zu verstehen, wenn Sie mit Python vertraut sind. Wenn Sie ein Programmieranfänger sind, haben Sie möglicherweise Probleme, Teile des Codes zu verstehen.

Die Dokumentation der 2 Bibliotheken finden Sie hier:

  • Web.py
  • Adafruit GPIO-Bibliothek

Ich habe Code geschrieben und kommentiert, damit Sie ihn verstehen und daran basteln können.

Schritt 3: Erstellen der Webseite

Erstellen der Webseite
Erstellen der Webseite

Wenn Sie den Python-Code verwenden, den ich angehängt habe, können Sie sehen, wie ich über GET-Anforderungen spreche. Eine GET-Anfrage ist im Grunde eine Möglichkeit für eine Webseite, mit einem Server zu kommunizieren. Um die Ausgaben hinzuzufügen, zu löschen und umzuschalten, verwenden wir Jquery, um einige grundlegende Get-Anfragen auszuführen. Ich habe eine HTML-Seite angehängt, die genau das tut, und ich habe auch den Code zu Ihrer Bequemlichkeit kommentiert.

Die Datei control.html ist hier Ansichtsquelle:

Schritt 4: Übertragen der Python-Datei auf Ihren Beaglebone

Übertragen der Python-Datei auf Ihren Beaglebone
Übertragen der Python-Datei auf Ihren Beaglebone

Sie können die Datei main.py über die Befehlszeile übertragen, aber um Dateien einfach zu übertragen, werde ich WinSCP verwenden (Sie können jeden sftp-Client verwenden), den Sie hier herunterladen können. Es gibt Cyberduck für Mac-Benutzer, aber da ich ein PC-Benutzer bin, weiß ich nicht, welches das beste ist, also musst du es googeln. Der Vorgang ist einfach, ziehen Sie einfach die Datei main.py auf den Desktop oder ein anderes Verzeichnis, das Sie wählen.

Schritt 5: Ausführen des Servers

Ausführen des Servers
Ausführen des Servers

Das Ausführen des Servers ist einfach. Verwenden Sie einfach SSH mit PuTTY oder Ihrem Terminal und ändern Sie Ihr Verzeichnis in das Verzeichnis main.py. Eintippen:

python main.py 1234

Jetzt haben wir Python gebeten, die Datei main.py auf Port 1234 auszuführen

Schritt 6: Sie haben die Kontrolle

Sie haben die Kontrolle!
Sie haben die Kontrolle!
Sie haben die Kontrolle!
Sie haben die Kontrolle!
Sie haben die Kontrolle!
Sie haben die Kontrolle!

Gehen Sie nun zur Datei control.html und öffnen Sie sie mit Google Chrome oder einem anderen von Ihnen verwendeten Browser. Sie haben eine Webseite mit 2 Textfeldern und 3 Schaltflächen. Das Textfeld für die PIN-Nummer fragt nach der PIN-Nummer wie P8_10 oder P8_29 usw. Sie müssen den Namen ausgefüllt haben, um die Schaltflächen Löschen und Umschalten verwenden zu können. Nachdem Sie nun über die Webkontrolle verfügen, können Sie dieses Beispiel verwenden, um ein erweitertes Bedienfeld zu erstellen. Nutzen Sie die Datenbankfunktionen, um Ihren Beaglebone Black als Datenlogger zu verwenden, oder verwenden Sie ihn für die Heimautomatisierung, die Möglichkeiten sind endlos. Wenn Sie dieses instructable mögen, dann stimmen Sie bitte für dieses Projekt auf dem codierten Kreationen-Wettbewerb und favorisieren Sie auch dieses Projekt. Vielen Dank für das Lesen dieses instructable und hacken Sie weiter!:)

Empfohlen: