Getestet mit:RPi 3; Raspbian Jessie; Py3, Py2
Voraussetzungen:Raspberry Pi mit Raspbian Jessie und Internetverbindung (siehe Schritte 1-7 in der Einfuehrung)
Festrechner mit Netzwerkanbindung
0

CherryPy: ein eleganter Python-Webserver fuer Raspberry Pi Fernbedienungen

Webserver sind grossartig, um Fernbedienungen fuer Raspberry Pi Geraete aufzusetzen. Meist sind sie jedoch schwierig in der Handhabung. CherryPy ist eine grossartige Alternative: ein minimalistischer Webserver in Python.
In diesem Tutorial lernst du die Einrichtung eines einfachen CherryPy Servers zum Schalten einer LED. Da CherryPy in Python ist, kann die GPIO ohne ein JavaScript-Interface gesteuert werden. Ein anderer Weg zum Einrichten einer Raspberry Pi-Browserfernbedienung ist WebIOPi, welches komplizierter ist, aber speziell fuer den Raspberry Pi entwickelt wurde und ueber eine JavaScript-GPIO-Schnittstelle verfuegt.

Installation
Boote den Raspberry Pi und gib im Terminal ein

Start von CherryPy
Ermittle die IP-Adresse des Raspberry Pi durch die Eingabe von

und notiere sie. Verbinde eine LED mit Pin 13 in BOARD-Nummerierung (27 in BCM). Gib dann ein

und surfe auf den Raspberry Pi durch die Eingabe von

im Webbrowser eines Computers, der eine Netzwerkverbindung mit dem Raspberry Pi hat, mit der vorher ermittelten IP als RASPIIP. Ein Klick auf den Button laesst die LED jetzt leuchten.

Code Details
Der Decorator @cherrypy.expose markiert eine Funktion als Website; wenn die Funktion valides HTML zurueck gibt, kann die Website im Browser geoeffnet werden.

Das von der Funktion index generierte HTML fuehrt ein GET aus, wenn der submit-Button gedrueckt wird, mit blink als Ziel. Die Werte von Input-Eingabefeldern koennen als Parameter mit GET uebergeben werden, pin_str hier.

Die Funktion blink erwartet den Parameter pin_str und schaltet dementsprechend die LED.

Mit der Standardeinstellung bedient CherryPy nur localhost. Durch die Zeile

ist der CherryPy Server verfuegbar fuer alle Maschinen im Netzwerk.

Ganzes Script
Klicke auf Ganzes Script um den ganzen Code anzuzeigen.

Links
CherryPy website: http://cherrypy.org/
Webinterface WebIOPi tutorial: http://www.knight-of-pi.org/de/den-raspberry-pi-aus-dem-netz-kontrollieren-mit-dem-webinterface-webiopi/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.