Advertisement
  1. Computer Skills
  2. Electronics

Cómo controlar una lámpara con comandos de voz y un Raspberry Pi

Scroll to top
Read Time: 7 min

() translation by (you can also view the original English article)

El control de voz ya no es solo para teléfonos inteligentes y películas de serie B. Steve Hickson ha creado un sistema para llevar la automatización y la inteligencia de Wolfram Alpha a su entera disposición.

En este tutorial les mostraré como instalar un comando de voz , configurarlo y enseñarle a encender y apagar una lampara.  El control de la red eléctrica es un tema complicado y peligroso para los aficionados, por lo que utilizara una solución prediseñada para controlar el voltaje de la lampara. 


Reune los componentes y las herramientas 


Conecte los componentes. 

Antes de enchufar algo a la alimentación, conecte el hardware externo al PI.  La configuración es bastante básica. 

  • Conecte el micrófono o la cámara web al puerto USB Pi. 
  • Conecte los altavoces externos al Pi.  Puedes usar la toma de salida de audio o usar la salida de sonido a través de la conexión HDMI.
  • Conecte un puente negro hembra a macho al pin físico 6, un pin de tierra. Utilice este diagrama de distribución de pines GPIO para obtener ayuda.
  • Conecte un puente rojo al pin físico 16 de su Pi.
  • powerswitchtailpi600powerswitchtailpi600powerswitchtailpi600
    Pi con puentes adjuntos.
  • Conecte el extremo macho del puente rojo al pin 1 del PowerSwitch Tail II Use el destornillador de punta plana para aflojar el tornillo e inserte el pasador en el orificio en el costado del PowerSwitch. Luego apriete el tornillo hasta que el pasador de puente esté firmemente sujeto.
  • Conecte el extremo macho del puente negro al pin # 2 en el PowerSwitch Tail II.
  • powerswitchtail600powerswitchtail600powerswitchtail600
    PowerSwitch Tail II con puentes conectados.

Configuración de Raspberry Pi

Hay varias guías para comprar e instalar un sistema operativo en su Raspberry Pi. Instale el último sistema operativo Raspbian.

Trabajará desde la línea de comandos, copiará y pegará un poco, así que asegúrese de que sshd esté habilitado. También asegúrese de poder acceder a su Pi desde su programa de terminal favorito. Una vez que su Raspberry Pi esté configurada y arrancada, continúe con el siguiente paso.

Consejo: si necesita saber más sobre cómo flashear una tarjeta SD, para su Raspberry Pi, simplemente consulte nuestros tutoriales: Cómo flashear una tarjeta SD para Raspberry Pi y cómo instalar NOOBS en una Raspberry Pi con una Mac.


Instale Wiring Pi. 

El script que controla la lámpara se basa en el proyecto Wiring Pi para cambiar los pines GPIO altos y bajos. Ejecute los siguientes comandos para descargar e instalar Wiring Pi.

1
sudo apt-get install git-core
2
git clone git://git.drogon.net/wiringPi
3
cd wiringPi
4
./build

Cree el script y la prueba del interruptor de luz

Ahora que los comandos para activar los pines altos y bajos están instalados con el kit Wiring Pi, el siguiente paso es crear un script llamado interruptor de luz. lightswitch se llamará desde el marco de comandos de voz. Recibirá un argumento de línea de comando activado o desactivado según sus instrucciones. El script evalúa el argumento y establece el pin alto o bajo de manera apropiada.

  • Ejecute los siguientes comandos para crear un directorio de scripts.
1
cd ~
2
mkdir scripts
3
cd scripts
  • cree el siguiente script como un archivo llamado interruptor de luz.
  • 1
    #!/bin/bash
    
    2
    if [ $# > 1 ]
    
    3
    then
    
    4
    /usr/local/bin/gpio mode 4 out
    
    5
        if [[ "$1" = "on" ]]
    
    6
        then
    
    7
    /usr/local/bin/gpio write 4 on
    
    8
        fi
    
    9
    10
        if [[ "$1" = "off" ]]
    
    11
        then
    
    12
    /usr/local/bin/gpio write 4 off
    
    13
        fi
    
    14
    fi
    
  • Configure el script para que sea ejecutable con el siguiente comando.
  • 1
    chmod u+x lightswitch
    
  • Enchufe el PowerSwitch Tail II a la red eléctrica.
  • Enchufe la lámpara en el PowerSwitch Tail II.
  • Pruebe el script y su configuración ejecutando el script para encender y apagar la luz.
  • 1
    ./lightswitch on
    
    2
    ./lightswitch off
    

    Si todo está conectado correctamente, debería ver que su lámpara se encienda y se apague.


    Instalar comando de voz

    El comando de voz es un programa que se ejecutará en la Raspberry Pi y escuchará una palabra clave que signifique que se está dirigiendo a ella. Imagina a tu personaje favorito de Star Trek dirigiéndose a la computadora del barco simplemente diciendo "Computadora". Es así e igual de genial.

    Después de escuchar su palabra clave o nombre, el comando de voz le solicitará una instrucción predeterminada que diga "Sí, señor". A continuación, intentará procesar lo que diga dependiendo de cómo esté configurado.

    En este paso, instalará el software de comando de voz. El comando de voz se instala como parte de un conjunto de herramientas bastante ordenado. Sin embargo, solo se necesitan las dependencias y los componentes de comando de voz para este tutorial. Cuando se ejecute el script de configuración, le preguntará si desea instalar varios paquetes, solo diga sí a las dependencias y al comando de voz.

    Ejecute los siguientes comandos.

    1
    git clone git://github.com/StevenHickson/PiAUISuite.git
    
    2
    cd PiAUISuite/Install/
    
    3
    ./InstallAUISuite.sh
    

    Después de que la voz de comando se instale, le pedirá que permita la configuración. Elija sí para permitir que el script de instalación se configure automáticamente. Cuando se complete la configuración, se le pedirá que presione Enter para editar el archivo de configuración. Presione Enter para editar el archivo y consulte la siguiente sección para la configuración.


    Configure y ejecute los comandos de voz 

    Después de presionar Enter, se le ofrecerá un editor de archivos para modificar la configuración del comando de voz. Agrega la siguiente línea al archivo de configuración, guarde y salga.

    1
    light==/home/pi/scripts/lightswitch ...
    

    Esta línea significa que cuando dices encender o apagar la luz, el comando de voz ejecutará el script / home / pi / scripts / lightswitch con el argumento encendido o apagado. Esto tendrá el mismo resultado que cuando ejecutó el script manualmente.

    Utiliza la línea de comando a continuación para iniciar el comando de voz. -C significa ejecutarse continuamente, -k pi establece el indicador de nombre que dirá para llamar la atención de la Raspberry Pi. La -v hace que el programa verifique el mensaje antes de pasar al modo de reconocimiento de voz.

    -I hace que el comando de voz solo procese los comandos explícitos enumerados en el archivo de configuración. Sin este indicador, el comando de voz busca respuestas a palabras que no están definidas como comandos en Wolfram Alpha y lee los resultados en voz alta.

    Finalmente, el argumento -b0 fuerza al comando de voz a no usar texto de relleno antes de su respuesta.

    1
    voicecommand -c -k pi -v -b0 -i
    
    • Ejecute el comando anterior
    • Diga claramente pi y espere a que su pi responda con "Sí, señor"
    • Diga claramente que la luz está encendida. La lámpara debe encenderse.
    • Diga claramente que se apague la luz. La lámpara debe apagarse.

    ¡Felicitaciones! Has controlado con éxito tu lámpara por voz con tu Raspberry Pi.


    Resumen

    Este tutorial combinó una serie de tecnologías para realizar el trabajo de encender y apagar una lámpara. Le mostré cómo instalar el PowerSwitch Tail II para cambiar de forma segura la alimentación de red. También le mostré cómo instalar Wiring Pi y crear un script para manejar la tarea de controlar los pines GPIO de bajo nivel.

    Finalmente, les mostré cómo instalar el paquete de voz de comando con sus dependencias y configurarlo para responder a mis instrucciones. Con el comando de voz y los scripts personalizados, puede automatizar una amplia gama de tareas a través de la Raspberry Pi. El comando de voz también puede hacer mucho más sin la bandera -i.

    Tómese su tiempo para experimentar con el programa de comando de voz y vea qué otras cosas puede automatizar.

    Advertisement
    Did you find this post useful?
    Want a weekly email summary?
    Subscribe below and we’ll send you a weekly email summary of all new Computer Skills tutorials. Never miss out on learning about the next big thing.
    Advertisement
    Looking for something to help kick start your next project?
    Envato Market has a range of items for sale to help get you started.