Sie können dies mithilfe von CGI oder einem anderen serverseitigen Skript auf verschiedene Arten erreichen. Ein Problem ist die Berechtigung zum Zugriff auf GPIO-Pins. Es scheint keine saubere Lösung zu geben . Derzeit ist es möglicherweise am einfachsten, die gpio-Dateien dem Benutzer anzuzeigen , der den Webserver ausführt , ein (suid-) Programm aufzurufen, das auf die Pins zugreifen kann, oder einen separaten Daemon mit Zugriff auf die Pins, an die Sie Nachrichten senden können (signal, pipe) / socket, other ipc ...).
Zum "Ausführen eines Python-Skripts über ein Webinterface" sollten Sie sich web.py ansehen . Es ist ein sehr hübsches kleines Modul, mit dem Sie einen einzelnen, eigenständigen "Web-Service" schreiben können, der alles kann. Sehr praktisch für solche Sachen IME. Benötigt praktisch keine Konfiguration oder spezielle Software (abgesehen von der üblichen Python-Installation und web.py selbst). Schreiben Sie einfach Handler für URLs in Python, optional mit HTML-Vorlagen, und führen Sie sie aus. Richten Sie einen Client (Browser, anderes Skript, wget ..) auf den richtigen Port und es funktioniert einfach. :)
Bearbeiten: Ein neues Projekt entdeckt, Serpint scheint das Wackeln von GPIO von einem Sockel oder möglicherweise gefälschten Char Device Interface zu ermöglichen.
Wenn Sie gerade erst mit der Webentwicklung beginnen, schauen Sie sich Bottle an . Flasche ist einfacher als Flasche in dem Sinne, dass es ein vollständiges Web-Framework innerhalb einer einzelnen Datei ist. Im Gegensatz dazu zielt Flask darauf ab, Soundcode aus verschiedenen Bibliotheken wiederzuverwenden und ist daher möglicherweise solider, aber auch komplexer.
Hier ist die Hallo Welt mit Flasche:
Führen Sie es mit:
Und in einem Browser öffnen:
http://localhost:8080/hello/world
Um von anderen Computern Ihrer Website zur Verfügung stellen ,
host
um0.0.0.0
in demrun
Verfahren. Die letzte Zeile der obigen Hello World sollte dann lauten:Sie sollten nun in der Lage sein, über die IP-Adresse des Pi auf Ihre Website zuzugreifen:
http://192.168.0.123:8080/hello/world
Weitere Informationen finden Sie in der Flaschendokumentation zur Bereitstellung .
quelle
curl http://localhost:8080/hello/world
erhalte ich die erwarteten Ergebnisse. Ich möchte jedoch auf meinem normalen Computer über das LAN darauf zugreifen können. Nach der Verwendungifconfig
für meine IP - Adresse ist die folgende URL auf meinem normalen Computer nicht in der Lage , eine Verbindung herzustellen:http://192.168.1.102:8080/hello/matthew
. Ich kann auf eine andere Webseite zugreifen, die ich unter ` 192.168.1.102/home.php 'erstellt habe. Hättest du eine Idee, wie ich zu meiner Flaschenseite kommen kann?0.0.0.0
, wenn Sie die IP-Adresse der App so einstellen, dass die Flasche jede Adresse abhört , einschließlich der Pi's.Installieren Sie iPython Notebook.
Dann führe es aus:
Literaturverzeichnis:
http://ipython.org/
http://jupyter.org/
https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/
http://maxembedded.com/2014/07/ mit-himbeer-pi-gpio-mit-python /
Youtube: https://www.youtube.com/watch?v=cJuF4IDMuLY
Sehr wichtig:
Die Musik läuft auf RPi im Hintergrund im Linux-Screen-Programm über mps-youtube.
Viel Glück!
quelle
Hier ist ein Tutorial, wie dies erreicht werden kann: https://roderickvella.wordpress.com/2017/01/04/control-a-separate-running-script-from-a-web-server-python-rpi/
quelle