Puede hacer que esto suceda de muchas maneras utilizando CGI u otro script del lado del servidor. Un problema serán los permisos para acceder a los pines GPIO. No parece haber una solución limpia . Actualmente, podría ser más fácil compartir los archivos gpio para el usuario que ejecuta el servidor web, llamar a un programa (suid) que pueda acceder a los pines o tener un demonio separado con acceso a los pines a los que puede enviar mensajes (señal, canalización) / socket, otro ipc ...).
Por "la ejecución de un script en Python, a través de una interfaz web", es posible que desee ver en web.py . Es un pequeño módulo muy ordenado que le permite escribir un solo "servicio web" independiente de archivos que podría hacer cualquier cosa. Muy útil para este tipo de cosas IME. No requiere efectivamente ninguna configuración o software especial (aparte de la instalación común de Python y el propio web.py). Simplemente escriba controladores para las URL en Python, opcionalmente con plantillas html y ejecútelo. Apunte un cliente (navegador, otro script, wget ...) al puerto correcto y simplemente funciona. :)
Editar: un nuevo proyecto detectado, serpint parece permitir mover gpio desde un zócalo o posiblemente una interfaz de dispositivo char falsa.
Si recién está comenzando con el desarrollo web, eche un vistazo a Bottle . La botella es más simple que el matraz en el sentido de que es un marco web completo dentro de un solo archivo. Por el contrario, Flask pretende reutilizar el código de sonido de diferentes bibliotecas y, por lo tanto, podría ser más sólido, pero también más complejo.
Aquí está el Hola Mundo con Botella:
Ejecútalo con:
Y abrir en un navegador:
http://localhost:8080/hello/world
Para hacer que su sitio web a disposición de otros equipos, establecidos
host
a0.0.0.0
en elrun
método. La última línea del anterior Hello World debería leer:Ahora debería poder acceder a su sitio web a través de la dirección IP de Pi, así:
http://192.168.0.123:8080/hello/world
Consulte la documentación de la botella en la implementación para obtener más detalles.
fuente
curl http://localhost:8080/hello/world
, recibo los resultados esperados. Sin embargo, quiero poder acceder a esto en mi computadora normal a través del LAN. Después de usarifconfig
mi dirección IP, la dirección URL siguiente en mi ordenador normal no es capaz de establecer una conexión:http://192.168.1.102:8080/hello/matthew
. Puedo acceder a otra página web que hice en ` 192.168.1.102/home.php '. ¿Tendrías alguna idea de cómo puedo ir a mi página de botellas?0.0.0.0
hacer que la botella escuche en cualquier dirección , incluida la Pi's.Instalar iPython Notebook.
Luego ejecútalo:
Bibliografía:
http://ipython.org/
http://jupyter.org/
https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/
http://maxembedded.com/2014/07/ using-raspberry-pi-gpio-using-python /
Youtube: https://www.youtube.com/watch?v=cJuF4IDMuLY
Muy importante:
La música se ejecuta en RPi en segundo plano en el programa de pantalla de Linux en mps-youtube.
¡Buena suerte!
fuente
Aquí hay un tutorial sobre cómo se puede lograr esto: https://roderickvella.wordpress.com/2017/01/04/control-a-separate-running-script-from-a-web-server-python-rpi/
fuente