Tabla de contenido:
- Paso 1: configurar y probar el hardware
- Paso 2: configurar el servidor web
- Paso 3: el código PHP y los scripts web
- Paso 4: Conclusión
Video: R Pi - Sistema de iluminación y megafonía con control remoto: 4 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este es un proyecto simple para hacer anuncios de audio y encender y apagar las luces en un PI de forma remota desde un navegador web. Así que esto es lo que necesitas:
1) Raspberry Pi con Apache y PhP preinstalados. Usé un viejo Pi v1 que tenía por ahí. Supongo que lo tienes conectado a tu red doméstica a través de wi-fi o ethernet.
2) Altavoces de audio que se pueden conectar al Pi a través de la conexión del altavoz de salida. Usé un viejo juego de parlantes de un antiguo sistema estéreo.
3) Juego de luces de árbol de Navidad: compré la mía en Poundland.
4) Pinzas de cocodrilo y cables de tablero para conectar / probar el Pi a los altavoces y luces (ver 7).
5) Pc o portátil con emulador de terminal Putty para acceder a Raspberry Pi
6) Alambre termorretráctil
7) Pistola de aire caliente para conectar altavoces y cables de iluminación
La idea básica es que utilizo un formulario web para hacer anuncios remotos a través de mis parlantes y también para encender y apagar las luces. Utilizo scripts PHP que a su vez ejecutan Espeak para el bit de texto a voz y comandos GPIO para las luces. Supongo que sabe cómo instalar Apache y PhP en su Raspberry Pi. Está muy bien documentado.
Traté de mantener este bajo costo y, por lo tanto, usé un viejo altavoz de sistema estéreo que tenía, y después de quitar las conexiones y exponer los cables, lo conecté a un cable de micrófono viejo que también había cortado. El volumen del altavoz era más bajo que el de un altavoz con alimentación externa, podía alimentar todo desde la Raspberry Pi. Lo mismo ocurrió con las luces. Quité la caja de la fuente de alimentación de 3.3v de ellos, expuse los cables y los conecté al Pi usando conectores de placa de prueba hembra / macho. Conecté todos estos con pinzas de cocodrilo.
Después de la prueba y la validación, luego conecté todos los cables con un cable termocontraíble con una pistola de aire caliente.
Paso 1: configurar y probar el hardware
Encendí el Pi y conecté los altavoces al conector de salida de audio del Pi. Conecté las luces conectando un extremo a GPIO17 (sexto pin hacia abajo en la columna interior) y GND (tercer pin hacia abajo en la columna exterior); vea la foto de arriba. TENGA EN CUENTA QUE UTILIZÉ UNA VERSIÓN 1 DEL PI, POR LO QUE CAMBIE LOS PINES DE ACUERDO SI USTED ESTÁ UTILIZANDO UNA VERSIÓN POSTERIOR DEL PI.
Arriba se muestran el cable termorretráctil y la pistola de aire caliente para conectar los cables de los altavoces y la iluminación
Luego, con todo encendido, inicié sesión en el Pi usando Putty desde mi computadora portátil con Windows. Para encontrar la dirección IP de Pi, abra la dirección IP de su enrutador en su navegador web (generalmente es algo así como 192.168.1.254) que mostrará la lista de dispositivos conectados, incluido el nombre de host y la dirección IP de Pi. Puede usar cualquiera de estos para iniciar sesión en Putty, pero generalmente uso la dirección IP porque tengo varios PI. Alternativamente, puede iniciar sesión en Putty probando un nombre de host como pi o raspberrypi. Cuando se le solicite en Putty el nombre de usuario y la contraseña, pruebe pi / raspberry, que son los valores predeterminados. (EL USO DE DEFAULTS ES MUY INSEGURO Y TE DEJA ABIERTO A LOS ATAQUES DE HACKERS INCLUSO SI SE ENCUENTRA EN UNA RED PRIVADA). En mi experiencia, los programas Pi, las bibliotecas Espeak y GPIO se instalan de forma predeterminada en la mayoría de las imágenes Pi.
De acuerdo, cuando acceda a la línea de comandos en RaspberryPi, pruebe los siguientes comandos: sudo alsamixer, que debería revelar los controles de una tarjeta de sonido, si tiene un altavoz pasivo, como lo he usado, deberá aumentar el volumen al máximo. A continuación, enciende las luces
sudo / usr / local / bin / gpio -g mode 17 outsudo / usr / local / bin / gpio -g write 17 1
luego, apaga las luces
(NB cualquier problema simplemente intente sudo gpio, etc - también verifique si gpio está instalado escribiendo gpio -v - si necesita instalar, eche un vistazo a
sudo / usr / local / bin / gpio -g escribir 17 0
Ahora prueba que espeak funciona
~ $ sudo espeak "esto es una prueba"
Rara vez he tenido problemas con Espeak, pero he encontrado problemas cuando el volumen de Alsamixer es bajo y, a veces, otros programas se han apoderado de la tarjeta de sonido. Debe ejecutar ps -ef y ver qué otros procesos de medios se están ejecutando. Puede usar algo como sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}') para matarlos - Usamos esto más adelante en el script PHP
Paso 2: configurar el servidor web
Hay una serie de pasos que debemos seguir.
1) Encuentre el propietario del servicio web / servidor apache2 - ejecute sudo ps aux | egrep '(apache | httpd)' y debería ver www-data2) agregue www-data al grupo sudo - ejecute sudo nano / etc / sudoers --- agregue la línea www-data ALL = (ALL) NOPASSWD: ALL
3) agregue www-data al grupo de audio - sudo adduser www-data audio
4) Un paso opcional es crear un archivo phpinfo que le indique todas las funciones PHP que tiene y la ubicación de
el archivo conf si desea cambiar las cosas. Por ejemplo, algunas versiones de PHP bloquean la función shell_exec () que necesitamos para ejecutar programas de línea de comandos como Espeak desde el servidor web. Así es como se configura phpinfo..
Vaya a su directorio web predeterminado normalmente / var / www o / var / www / html….. es el que tiene el archivo index.html y escriba sudo nano phpinfo.php, luego escriba lo siguiente en el editor nano y presione el control O para guardar y Salir
No olvide hacerlo ejecutable escribiendo sudo chmod 755 phpinfo.php - Para verlo, abra la siguiente URL en su navegador web usando su nombre de host en lugar del mío, es decir, raspberrypi -
?>
Paso 3: el código PHP y los scripts web
He usado dos programas aquí: uno para el formulario web (espeak_form.php) y el otro que procesa los datos del formulario (my_espeak.php). Los he incluido arriba como archivos de texto y para transferirlos a su Pi, usando Putty cree ambos php archivos y luego cortar y pegar desde los respectivos archivos de texto que se muestran arriba
pi @ raspberrypi / var / www $ sudo nano /var//www/my_espeak.php
pi @ raspberrypi / var / www $ sudo nano /var//www/espeak_form.php
Recuerde hacerlos ejecutables escribiendo sudo chmod 755 *.php
El script PHP del formulario web (espeak_form.php) que escribí no ganará ningún premio de diseño, pero tiene 2 subformularios. Uno para hacer el anuncio (texto a voz) y el otro para encender y apagar las luces. La sub forma espeak le permite seleccionar diferentes acentos, una voz femenina y una función de susurro, El núcleo de my_espeak.php es el uso de la función php - shell_exec (). Como puede ver, esto permite que PHP ejecute comandos de Linux sin la necesidad de otras bibliotecas, como debería decir en Python.
Paso 4: Conclusión
Esta es una solución razonablemente compleja en el sentido de que está utilizando muchos elementos del entorno Pi, es decir, PHP, funciones de línea de comando, Apache, GPIO, etc. Espero que ilustre lo que puede hacer con PI específicamente e IOT en generl. Hay varias otras formas de lograr esto e incluso puede controlarlo desde Internet si comprende el reenvío de puertos, el firewall y / o VPN. Espero que lo haya disfrutado, pero aquí está mi descargo de responsabilidad:
NO PUEDO GARANTIZAR QUE ESTE ES UN SISTEMA SEGURO O SEGURO Y POR LO TANTO, POR FAVOR, NO LO USE PARA FINES QUE INCLUYAN EL PROCESAMIENTO DE DATOS PRIVADOS, PERSONALES O COMERCIALMENTE SENSIBLES. ADEMÁS, CONECTE SUS CABLES DE FORMA SEGURA Y SI ESTÁ UTILIZANDO CONEXIONES TEMPORALES, POR EJ. LOS CLIPS DE COCODRILO ENTONCES NO DEJE EL SISTEMA DESATENDIDO NI UTILICE EN AMBIENTES DIFÍCILES.
Esta es una manera fantástica de aprender mucho sobre IOT y recordar antes de pensar en aplicaciones comerciales usando métodos como este. La Raspberry Pi es tan buena como su tarjeta SD. Diría que un año de uso normal en comparación con algunos servidores que usé y que funcionaron durante más de 10 años.
De todos modos, buena suerte.
Recomendado:
El control remoto de TV se convierte en un control remoto de RF -- NRF24L01 + Tutorial: 5 pasos (con imágenes)
El control remoto de TV se convierte en un control remoto de RF || Tutorial de NRF24L01 +: En este proyecto te mostraré cómo utilicé el popular nRF24L01 + RF IC para ajustar el brillo de una tira de LED de forma inalámbrica a través de tres botones inútiles de un control remoto de TV. ¡Empecemos
Convierta su control remoto IR en control remoto RF: 9 pasos (con imágenes)
Convierta su control remoto IR en control remoto RF: en el Instructable de hoy, le mostraré cómo puede usar un módulo RF genérico sin un microcontrolador, lo que eventualmente nos llevará a construir un proyecto en el que puede convertir un control remoto IR de cualquier dispositivo en un RF. Remoto. La principal ventaja de convertir un
Controle sus electrodomésticos con su control remoto de TV (control remoto por infrarrojos) con pantalla de temperatura y humedad: 9 pasos
Controle sus electrodomésticos con su control remoto de TV (control remoto por infrarrojos) con pantalla de temperatura y humedad: hola, soy Abhay y es mi primer blog sobre Instructables y hoy le mostraré cómo controlar sus electrodomésticos con el control remoto de su televisor construyendo esto. proyecto simple. gracias al laboratorio atl por el apoyo y el suministro de material
Liberación del cable del control remoto Olympus Evolt E510 (versión 2 con enfoque automático en el control remoto): 6 pasos (con imágenes)
Lanzamiento del cable del control remoto Olympus Evolt E510 (versión 2 con enfoque automático en el control remoto): Ayer construí un control remoto simple de un botón para mi Olympus E510. La mayoría de las cámaras tienen un botón disparador (el que presiona para tomar una foto) que tiene dos modos. Si se presiona suavemente el botón, la cámara se enfocará automáticamente y medirá la luz
Control remoto remoto: 11 pasos (con imágenes)
Control remoto a distancia: Tengo un bebé recién nacido y él no cree que deba dormir tanto como mi esposa y yo también lo desearíamos. Una cosa que lo mantiene feliz en su cuna es el móvil que cuelga sobre él. Entonces, cuando se despierte, si necesitamos otros 25 minutos más o menos de sl