Hola Amig@s,
Hoy les traigo otro pequeño tutorial que nos permite controlar por voz cualquier dispositivo externo utilizando nuestra Raspberry Pi 2.
Materiales necesarios
1-Raspberry Pi 2 ( yo la sigo reutilizando de mis otros proyectos). 35€
Advertisement
1-PowerSSR Tail (un dispositivo que hace de “puente” el cual dispone de una entrada y salida a 220v pero es accionado mediante una señal externa (GPIO)). 14USD
1-Tarjeta de sonido usb, yo he utilizado una que tenía, la Soundblaster Play 2 (la raspberry pi carece de tarjeta de sonido, necesitaremos una usb para la entrada de micrófono, también se puede utilizar una webcam). 5€ (tarjeta de sonido usb genérica)
Sponsored
1-Micrófono común de sobremesa. 5€
1-Bombilla de led y soporte 8€
Aplicaciones
Existen multitud de aplicaciones para este tipo de configuraciones, desde controlar por voz cualquier dispositivo o lo mismo controlarlo por remoto mediante scripts. Para este ejemplo he utilizado una bombilla de leds.
Conexión
La conexión es extremadamente sencilla, por un lado conectaremos en la powertail, la entrada a 220v y la salida de ésta al dispositivo que controlaremos, en este caso una bombilla. Luego en la bornera central, conectar el +in al GPIO23 y el -in al GPIO6 de nuestra Raspberry Pi 2.
Advertisement
Software necesario
Necesitaremos tener instalada una distribución Raspbian para realizar ésta prueba, luego será necesario instalar las distintas librerías para controlar el GPIO y finalmente el control por voz, por que desde una consola ejecutaremos los siguientes comandos para preparar el entorno:
Wiring PI (librería para controlar el GPIO):
sudo apt-get install git-core git clone git://git.drogon.net/wiringPi cd wiringPi ./build
PiAUISuite (librería para controlar comandos por voz):
sudo apt-get install libboost-dev libboost-regex-dev youtube-dl axel curl xterm libcurl4-gnutls-dev mpg123 flac sox sudo apt-get install git-coregit clone git://github.com/StevenHickson/PiAUISuite.gitcd PiAUISuite/Install/./InstallAUISuite.sh
Al terminar de instalar la librería PiAUISuite nos aparecerá un asistente al que básicamente y salgo que ya tengáis conocimientos al que contestarle todo que SI para finalizar su configuración.
Script de prueba
A continuación podrán encontrar un script para probar inicialmente la comunicación entre la librería WiringPI y el GPIO. El comando puede recibir dos parámetros, luz encender y luz apagar y cuya acción refleja su descripción :p
Es necesario crear un script llamado luz, ejemplo: nano luz, luego pegar el siguiente contenido dentro:
#!/bin/bash if [ $# > 1 ] then /usr/local/bin/gpio mode 4 out if [[ “$1” = “encender” ]] then /usr/local/bin/gpio write 4 on fi if [[ “$1” = “apagar” ]] then /usr/local/bin/gpio write 4 off fi fi
Por último hay que asignarle permisos de ejecución:
chmod u+x luz
Finalmente para probarlo ejecutaremos la instrucción ./luz encender (para encender el dispositivo al final del POWERSSR) y ./luz apagar para apagarlo.
Scripts para asociarlos a la librería PiAUISuite
Una vez que hayamos configurado la librería PiAUISuite utilizando su asistente, debemos añadir los comandos que se ejecutarán con determinadas palabras claves.
Para añadir comandos a la configuración del programa voicecommand, debemos ejecutarlo añadiendo el parámetro -e (-e de editar configuración)
Al final del fichero de configuración añadiremos dos lineas con el siguiente contenido:
encender==/home/pi/luz encender
apagar==/home/pi/luz apagar
Luego para comprobar la configuración ejecutaremos el programa voicecommand con la siguiente instrucción:
voicecommand -b && voicecommand -b
La ejecución de estos comandos forzará a que la PI nos pregunte 2 veces que queremos hacer por voz, en el ejemplo del video adjunto en este articulo, digo dos comandos, encender y apagar.
Fotos del montaje
Video demostrativo
Voila! 🙂
Espero que les resulte útil.
Salu2.