V2P (Voice to PI) Controla dispositivos externos por voz con tu Rpi 2

Hola [email protected],

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.

Entradas relacionadas

Deja una respuesta