Control per veu de dispositius amb ESP8266

Publicat per Marc el

Quan no trobem una solució al mercat compatible amb Google Home o amb Amazon Alexa, tenim una solució fàcil i econòmica:

Utilitzar una microcontrolador ESP8266 per controlar l’aparell que desitgem i a través del servei d’Adafruit MQTT i la plataforma IFTTT.com, poder controlar-lo per veu.

Anem per parts:

Utilitzem la placa de desenvolupament Wemos d1 mini basada amb el xip ESP8266 que l’utilitzarem com a petit “ordinador” per controlar el que necessitem. Aquí podeu trobar més informació

Aquesta placa té 11 pins digitals d’entrada i sortida i 1 pin analògic que podem utilitzar per connectar-hi sensors o actuadors.

Placa Wemos D1 mini basada en el xip ESP8266

Aquesta placa de desenvolupament, la podem trobar aquí.

Aquesta placa l’haurem de programar perquè faci el que nosaltres volguem.

Per programar-la, ens hem de descarregar gratuïtament el software IDE d’Arduino ja sigui per MAC, Linux o Windows. El podeu trobar aquí.

Un cop descarregat, l’obrim i hem d’anar a File i Preferences.

Anem al camp “Additional Boards Manager” i hi afegim el següent enllaç: https://arduino.esp8266.com/stable/package_esp8266com_index.json

Amb això fem que, tot i que la placa wemos no és d’Arduino, la poguem programar amb el mateix IDE d’Arduino.

Llavors anem a Tools, Board i Boards Manager...

Escribim “Wemos” i “Install” i ens descarregarà el pack de les plaques Wemos perquè les poguem programar.

Anem a Tools, Board, i seleccionem la placa WEMOS D1 Mini. Ara ja podrem programar la placa

Connectem la placa Wemos d1 mini amb un cable microUSB – USB a l’ordinador on haguem descarregat el software IDE Arduino

Anem al software IDE Arduino i anem a Tools, Port i seleccionem el port que apareixi (que serà el que haguem connectat la placa)

Ara ja tenim la placa preparada per poder-la programar. Anem a exposar un exemple, que es pot canviar per la necessitat específica que tinguem fent pocs canvis: Control d’un relé:

Un relé té 3 contactes: Un contacte COMÚ (C), un NORMALLY CLOSED (NC) i un NORMALLY OPEN (NO) i té una alimentació, en el nostre cas 5V (VCC i GND i un senyal d’activació (SIG).

Aquest relé, el podem connectar damunt del wemos d1 mini i només ens caldrà connectar els contactes C i NO. El senyal li vindrà pel pin D1.

Aquest relé el podem trobar aquí.

En aquest relé, com exemple hi podem connectar una bombeta:

Ara anem a programar la placa wemos d1 mini per tal que quan arribi l’ordre de veu “Activar luz“, s’activi el relé i encengui la bombeta i quan arribi l’ordre “Desactivar luz“, es desactivi el relé i s’apagui la llum.

Abans però de poder programar-la hem d’anar a la web adafruit.io i registrar-nos amb el nostre correu de GMAIL i una contrasenya.

Anem a Feeds, Actions i “Create a New Feed

Li posem un nom, per exemple: rele_on_off

i cliquem a Create

Anem a Dashboards, Actions i “Create a New Dashboard

Li posem un nom, per exemple: Rele

i cliquem a Create

A la que hem creat aquest Dashboard, cliquem a “Rele”.

Cliquem el “+” i seleccionem la primera icona, un block ON / OFF

Seleccionem el Feed que hem creat abans: rele_on_off i “Next step

Posem un nom al block, per exemple: Rele i i cliquem a Create block

Sense moure’ns de la pàgina, seleccionem la icona amb el símbol d’una clau i copiem el que està marcat de color vermell, ho enganxarem al codi en el software d’Arduino IDE.

Ara si, ja podem anar al codi que haurem d’enganxar al software Arduino IDE que ens hem descarregat. El codi el teniu aquí, només haureu de canviar el nom i contrasenya de la vostra WIFI i el USERNAME i el KEY del vostre dashboard d’Adafruit.

Ara ja podrem pujar el codi a la placa wemos, comprovem que la placa estigui connectada a un port USB del pc i que tinguem el port i el tipus de placa (Wemos d1 mini) seleccionada.

Seleccionem la “Fletxa” per fer un “Upload” i pujar el codi a la placa.

Esperem 1 minut fins que aparegui un text a la part inferior esquerra “Done uploading

Col·loquem el relé damunt la placa wemos i podem provar des de l’aplicació d’Adafruit si el relé s’activa, ja que porta un led blau i a més se sent el soroll de “clic”. També es pot connectar la llum per comprovar que funcioni.

Si funciona, ara anirem a l’últim pas, per poder controlar el relé i la llum per veu.

Anem a la web https://ifttt.com/ Aquesta web serveix per connectar moltíssims serveis que estan connectats a internet. Ens registrarem amb el correu de GMAIL que utilitzem en el nostre Google Assistant i una contrasenya.

Anem a la icona de l’usuari i seleccionem “Create

Cliquem a “+” i seleccionem el servei “Google Assistant” i “Say a simple phrase” i omplim el següent requadre:

Podem posar diferents noms per activar el mateix dispositiu i podem posar què volem que ens respongui l’assistent per confirmar-nos que ha fet l’acció que li demanem.

Triem l’opció Spanish i seleccionem “Create trigger

Cliquem a “+” (en aquest cat el That) i seleccionem el servei “Adafruit” i “Send data to Adafruit.io

Seleccionem el Feed rele_on_off i a Data to save posem en aquest cas “ON

I cliquem “Create action

Ara caldrà repetir aquests últims 2 passos per donar una ordre de veu per apagar el relé i la llum. En aquest cas, la Data to save haurà de ser “OFF“.

Només cal l’últim pas que és provar de donar les ordres de veu i comprovar que funcioni:

“Ok Google” “Activar luz”

“Ok Google” “Desactivar luz”


0 comentaris

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *