Raspberry Pi – WebIOPi
WebIOPi ist eine Web Applikation mit der man über den Browser die GPIO Schnittstelle des Raspberry Pi steuern kann. Über ein Web Interface kann man so recht einfach Input und Output Pins ansteuern. Das ganze Projekt ist Open Source und ein hilfreicher Ausgangspunkt, wenn man auch die GPIO Schnittstelle über das Web im Browser oder von mobilen Geräten aus zu steuern.
GPIO über den Browser mit WebIOPi steuern
WebIOPi wurde mit Python geschrieben und ist eine Web Applikation mit der man über den Browser die GPIO Schnittstelle des Raspberry Pi ansteuern kann. Im einfachsten Fall kann man so schnell und einfach Pins ein- und ausschalten oder deren aktuellen Wert ermitteln. Die Applikation verwendet die REST API, weshalb es auch sehr einfach ist auf dessen Basis seine eigene Web Applikation zu schreiben. Besonders zu erwähnen ist, dass die Web Applikation auch für mobile Geräte optimiert ist und somit auch einfach über das Smartphone gesteuert werden kann.
Installation
Die Installation ist recht einfach. Der Source Code ist auf Source Forge zu finden. Nachdem man das Archiv heruntergeladen hat muss es entpackt werden und danach das setup.sh Script ausgeführt werden:
tar xvzf WebIOPi-0.7.0.tar.gz cd WebIOPi-0.7.0 sudo ./setup.sh
Gestartet wird WebIOPi als Kommando auf der Konsole. Folgendes Beispiel startet WebIOPi und verwendet dafür die angegebene Konfiguration:
sudo webiopi -c /etc/webiopi/config
Konfiguration
Will man WebIOPi für ein Projekt verwenden ist es eher störend, wenn man nach jedem Neustart die Applikation in der Konsole manuell starten muss. Es gibt deshalb auch die Möglichkeit WebIOPi als Daemon laufen zu lassen und diesen auch direkt beim Booten zu starten. Wie bei Linux gewohnt gibt es dafür ein Script, mit dem man den Daemon starten oder stoppen kann. Gestartet wird er beispielsweise so:
sudo /etc/init.d/webiopi start
Damit der Daemon nun auch bei jedem Booten gestartet wird folgendes Kommando ausführen:
sudo update-rc.d webiopi defaults
Anwendung
Über den Browser erreicht man die Applikation, wenn man in der Adressleiste http://localhost:8000/ eintippt. Das Programm läuft also lokal am Pi und ist über den Port 8000 erreichbar. Bei anderen Rechnern im selben Netzwerk kann man über die IP Adresse des Raspberry Pi beispielsweise so 192.168.1.4:8000/ zugreifen. Das Funktioniert auch mit einem Smartphone zB über WLAN. Die Logindaten für die Applikation sind:
- Benutzername: webiopi
- Passwort: raspberry
Dokumentation
Erwähnenswert ist bei diesem Projekt auf jeden Fall die gute Dokumentation. Es wird zwar nicht alles bis ins letzte Detail erklärt, man bekommt aber zu mehreren Themen einen schnellen Überblick. Darunter sind folgende Themen:
- Einführung in das Framework
- die unterschiedlichen Clients (Python, Java)
- Verwendung der REST API
Das sollte genug Basiswissen beinhalten um sehr schnell und einfach selber die App auch bei eigenen Projekten zu verwenden oder das Webinterface für die eigene Bedürfnisse anzupassen.
WebIOPi funktioniert aber leider nicht mit meinem RPi3. Ist so etwas schon bekannt??? Mach ich evtl etwas falsch???
sudo python3 -m webiopi 8000
Das ist der richtige Befehl für den Pi3