Automatización con Alexa y Raspberry Pi


Usando una  Raspberry Pi   y un placa de relés  se puede realizar  un dispositivo de automatización del hogar  gracias a Alexa , !eso si  , si domina el ingles!.
En este breve post   vamos a ver  cómo poder controlar múltiples dispositivos conectados a la Raspberry Pi vía comandos de voz  en ingles, de tal modo que como veremos, podamos ontrolar todos  los pines GPIO para controlar los dispositivos conectados al GPIO  mediante relés u otros circuitos de control  y con ello encender o apagar cualquier dispositivo eléctrico conectado a estos,  simplemente dando las ordenes vocales  a Alexa.

Como vemos, pues  solo se necesita una Raspberry Pi 3 con una SD, una placa de Reles y  por  supuesto un altavoz inteligente  con Alexa para  automatizar cualquier función que deseemos gracias al reconocimiento automático de voz  de Alexa.

En el esquema   siguiente podemos ver como solo se usa  un solo pin de e/s  digital :  el GPIO 4   para controlar un   relé , pero este esquema ,si se requiere,  se puede ampliar hasta el máximo de los 24  terminales de e/s de los que dispone  una Raspberry Pi.

Es de destacar  que ademas el cable de datos,  incluso la alimentación del relé se obtiene de los 5V DC de la propia Raspbery Pi, por lo que para la  conexión de un circuito de un rele  sólo se necesitan 3 cables para  comandar la placa (un  cable para el control y los dos de la alimentación DC 5v).

 

esquema.PNG

Los pasos para instalar el  software  que permitirá  interactuar con  Alexa  en la Raspberry Pi 3 son los siguientes :

  1. Descargue “RASPBIAN STRETCH WITH DESKTOP” y descomprima  el fichero “2017-04-10-raspbian-jessie.zip” https://www.raspberrypi.org/downloads/raspbian/
  2. Descargue el programa “win32diskimager-1.0.0-install.exe” de la siguiente URL https://sourceforge.net/projects/win32diskimager/files/latest/download
  3. Instalar “win32diskimager-1.0.0-install.exe”
  4. Conecte la tarjeta mini-sd a su ordenador. Desde el explorador de windows, haga clic derecho en la letra de su unidad de tarjeta SD y haga clic en el menú de formato. En la ventana de formato, seleccione “FAT” en la lista “Sistema de archivos” y haga clic en iniciar. Espere a que la tarea se complete.                                                             texto alternativo
  5. Inicie el programa “win32diskimager”. Seleccione el archivo de imagen “2017-04-10-raspbian-jessie.img” y la letra de su unidad de tarjeta SD y haga clic en “Escribir” (Espere a que el programa termine de escribir la imagen RASPBIAN en la tarjeta SD)                                                                                                texto alternativo
  6. Una vez que se completa la escritura de la imagen, copie “ssh” (el archivo ssh está vacío) y “wpa_supplicant.conf” a la raíz de la tarjeta sd. Abra “wpa_supplicant.conf” en el editor de texto y actualice ssid (wi-fi name) y contraseña a los valores de su red Wifi.
  7. Inserte la tarjeta SD en Raspberry Pi 3 ,conecte la alimentación  y espere  a que arranque   durante unos 10 segundos
  8. En Windows vaya a ejecutar y escriba “cmd” y escriba arp -a en el símbolo del sistema. Busque la “Dirección física” que comienza con b8-27 * y tome nota de la dirección de Internet. Esta es su dirección IP Raspberry Pi3 Wi-Fi en su red. Este resultado también se puede obtener con otras herramientas como  WireShark (pc)  o Fing (android), siempre que ambos equipos este  conectados a la misma red. La dirección MAC generalmente comienza desde b- así que una vez que encuentre la dirección MAC, puede buscar la dirección IP en la columna  Internet Address y esta es su dirección IP. Tenga en cuenta esta dirección IP porque necesitará esto para conectar su sesión  SSH y  también para conectarse por el VNC                   texto alternativo
  9. Descargue “Putty.exe” de la siguiente URL https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
  10. Ejecute “Putty.exe” y escriba la dirección IP en el campo de nombre de host y haga clic en el botón de inicio y haga clic en Sí para abrir una ventana emergente. En la línea de comando del putty, escriba como Login “pi”  y para la contraseña ingrese “raspberry” y presione enter. Debería ver el  prompt  “pi @ raspberrypi: ~ $”.                             texto alternativo
  11. Escriba “sudo raspi-config” y vaya a “Opciones de interfaz” y habilite VNC. Reinicie pi3 escribiendo este comando “sudo reboot“. Perderá la conexión ssh.
  12. (Opcional) Puede descargar e instalar el cliente de VNC en su pc https://www.realvnc.com/download/vnc/windows/ . Conecte VNC a Respberry Pi3 usando la dirección IP. Inicie sesión con el nombre de usuario “pi” y la contraseña “raspberry“.Debería ver el escritorio de la Raspberry Pi 3.           texto alternativo
  13. Inicie la sesión de Pi ssh con putty a o localmente a través de VNC y escriba los dos comandos a continuación desde  el  símbolo del sistema de Pi para actualizarlo: sudo apt-get update” y “sudo apt-get upgrade” (Esto llevará un tiempo)
  14. Descargue este proyecto github como archivo zip con el siguiente comando “wget https://github.com/nassiramalik/IOT-Pi3-Alexa-Automation/archive/master.zip “
  15. Descomprima el archivo zip descargado con el comando “unzip master.zip” y escriba el comando “cd IOT-Pi3-Alexa-Automation-master” una vez que haya terminado de descomprimir
  16. (Opcional) Ejecute el comando  “sudo pip install virtualenv”  para instalar virtualenv en Pi
  17. (Opcional) Ejecute  el comando “virtualenv ipaa-env” para crear un entorno virtual para su proyecto
  18. (Opcional) Ejecute  el comando “. Ipaa-env / bin / activate” para activar el entorno virtual de su proyecto
  19. Ahora ejecute el comando “sudo python3 RPi_name_port_gpio.py” para ejecutar el programa Pi IOT  que controla un relé asociado al GPIO4 .   También puede usar el comando  ” “sudo  python 3RPi_name_port_gpio_8_Relays.py” para controlar hasta 8 dispositivos o invertir la polaridad  en caso de que necesite algunas de esas   funcionalidades. Como puede adivinar  este es el archivo que ejecutará para iniciar el programa en su Raspberry Pi  iniciando un servidor  así que presiona enter  el programa se inicia en  Raspberry Pi y se  quedara esperando a Alexa para darle comandos al código Python.
  20. En el código se ha escrito el nombre del dispositivo como “office” (oficina)  , pero puede cambiarlo por  lo que quiera, simplemente puede entrar  y cambiar este texto de la oficina al  nombre que desea dar a este dispositivo y Alexa
  21. Ya  puede empezar  a probar  ALexa  de  modo  que puede darle  un comando de voz a Alexa para descubrir dispositivos “Alexa discover devices” (Alexa descubre dispositivos), por lo que buscará en su red y descubrirá su Raspberry Pi 3 como un dispositivo IOT.
  22. Dele un comando de voz a Alexa “Turn on the office” (Enciende la oficina), deberá escuchar un sonido de clic de rele y encenderá cualquier carga que tenga coenctada a este
  23. Dele un comando de voz a Alexa “Turn on the office”  (Apagar la oficina), debería escuchar un sonido de clic de relevo y la carga conectada al rele dejara de estar alimentada

Alexa  siempre necesitara   descubrir los  nuevos dispositivos de  la red , por lo que para que empiece  el  descubrimiento  de dispositivos IOT que  hay en su red interna   para ello debe  presionar el botón para  su descubrimiento  en la botonera del altavoz o  también dele un comando de voz a Alexa para descubrir dispositivos “Alexa discover devices” (Alexa descubre dispositivos) lo cual enviara una difusión para descubrir dispositivos en nuestra red y en la Raspberry pi debería estar respondiendo.

Es obvio que  cualquier entrada analógica ( como por ejemplo temperatura ,detección de humedad,luminosidad, ect) también seria interesante poder ser soportada    pero eso  lo dejaremos  para  futuras actualizaciones   de este interesante proyecto

En el vídeo siguiente nos explican nuevamente los pasos ya comentados:

 

GitHub Project: https://github.com/nassir-malik/IOT-P…

 

Anuncios

Concurso Casa inteligente con Arduino y Alexa


Alexa es el servicio de voz de Amazon y el “cerebro” que hay detrás de millones de dispositivos como el Amazon Echo. La gente usa Alexa para controlar dispositivos domésticos inteligentes millones de veces al día.

De Arduino , hemos hablado muchas veces  es este blog , es una plataforma de electrónica de código abierto basada en hardware y software fácil de usar destinada a cualquier persona que realice proyectos interactivos.

La comunidad de fabricantes de Arduino (estudiantes, aficionados, artistas, programadores y profesionales) se ha reunido en torno a esta plataforma de código abierto, sus contribuciones se han añadido a una cantidad increíble de conocimiento accesible que puede ser de gran ayuda para principiantes y expertos por igual.

En este concurso  invitan a cualquier aficionado o profesional  a trabajar  con estos líderes de la industria para visualizar y construir el futuro de los hogares inteligentes.

 

En el vídeo nos explican en que consiste el reto

En este concurso, Hackster ha reunido a Alexa y Arduino, un líder en hardware de código abierto.

Invitan  a crear un proyecto que visualice el futuro de los hogares inteligentes. Aquí hay algunas ideas potenciales para comenzar:

  • Automatización de la temperatura ambiente
  • Control de iluminación personalizado
  • Sistemas de seguridad y timbre
  • Entretenimiento y comida para mascotas
  • Control y gestión de jardines
  • Transmisión multimedia en dispositivos
  • Monitoreando casi todo

Si no tiene un dispositivo Amazon Alexa, puede usar Echosim.io para probar virtualmente sus habilidades de Alexa. Use la API Alexa Smart Home para crear fácilmente capacidades, toque las API de autoservicio, la documentación, las plantillas y las muestras de códigos que lo guiarán rápidamente hacia la publicación de Habilidades. Use el Servicio de voz de Alexa para integrar Alexa en su producto usando el SDK y las API.

Aquí tiene los premios que puede ganar:

  • Mejor ganador general de habilidades de Smart Home en Alexa: $ 14,000 en efectivo, paquete de Kickstarter: Fondo promocional de videos y marketing, certificación Dragon Innovation, una sesión de entrenamiento en Kickstarter de 60 minutos (lleve su proyecto al producto)
  • La mejor habilidad y artefacto para interiores Smart Home de Alexa: $ 8,000 en efectivo + 60 minutos de entrenamiento en Kickstarter
  • Mejor habilidad al aire libre de Alexa Smart Home Skad & Gadget: $ 8,000 en efectivo + 60 minutos de entrenamiento en Kickstarter
  • Comodines y aditamentos caseros de Smartcard de Alexa: $ 6,000 en efectivo + 60 minutos de entrenamiento en Kickstarter
  • Mejor integración y gadget de servicio de voz de Alexa: $ 8,000 + 60 minutos de entrenamiento de Kickstarter
  • NOTA: Hackster solo realiza premios en efectivo a través de PayPal.

Calendario del concurso :

  • La presentación del proyecto se abrió  el 21 de noviembre de 2017 a las 8:01 a.m. PT
  • Fecha límite para envío de proyectos 24 de febrero de 2018 a las 11:59 p.m. PT
  • Los ganadores se anunciaran el 12 de marzo de 2018 a las 11:59 p.m. PT

 

Incripcion en  el concurso 

  1.  Registro para el concurso en https://www.hackster.io/contests/alexasmarthome 
  2. Comience por crear una cuenta gratuita en Hackster.io (o inicie sesión si ya es miembro)
  3. Regístrese para el concurso haciendo clic en “Registrarse como participante”
  4. Ingrese para ganar los premios mayores al crear y enviar su proyecto
  5. Cree su proyecto usando la API de Amazon Smart Home, y / o Amazon Voice Service y cualquier producto Arduino
  6. Envíe su proyecto antes del 24 de febrero de 2018 a las 11:59 p.m. PT

 

 

Algunos recursos:

 

 

 

 

 

 

Los ganadores serán anunciados en esta página antes del 12 de marzo de 2018 a las 11:59 p.m. PT. ¡Buena suerte!