Tabla de contenido:

R Pi - Sistema de iluminación y megafonía con control remoto: 4 pasos (con imágenes)
R Pi - Sistema de iluminación y megafonía con control remoto: 4 pasos (con imágenes)

Video: R Pi - Sistema de iluminación y megafonía con control remoto: 4 pasos (con imágenes)

Video: R Pi - Sistema de iluminación y megafonía con control remoto: 4 pasos (con imágenes)
Video: Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation 2024, Noviembre
Anonim
R Pi - Sistema de iluminación y megafonía con control remoto
R Pi - Sistema de iluminación y megafonía con control remoto
R Pi - Sistema de iluminación y megafonía con control remoto
R Pi - Sistema de iluminación y megafonía con control remoto
R Pi - Sistema de iluminación y megafonía con control remoto
R Pi - Sistema de iluminación y megafonía con control remoto

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

Configurar y probar el hardware
Configurar y probar el hardware
Configurar y probar el hardware
Configurar y probar el hardware
Configurar y probar el hardware
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

Configuración del servidor web
Configuración del servidor web
Configuración del servidor web
Configuración del 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

El código PHP y los scripts web
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: