Taula de continguts:

Commutador de relé IOT controlat per veu basat en Arduino (Google Home i Alexa compatibles): 11 passos
Commutador de relé IOT controlat per veu basat en Arduino (Google Home i Alexa compatibles): 11 passos

Vídeo: Commutador de relé IOT controlat per veu basat en Arduino (Google Home i Alexa compatibles): 11 passos

Vídeo: Commutador de relé IOT controlat per veu basat en Arduino (Google Home i Alexa compatibles): 11 passos
Vídeo: Где купить небольшие двигатели постоянного тока 2024, Desembre
Anonim
Interruptor de relé IOT controlat per veu basat en Arduino (Google Home i Alexa compatibles)
Interruptor de relé IOT controlat per veu basat en Arduino (Google Home i Alexa compatibles)

Aquest projecte descriu com fer un commutador de relé IOT basat en Arduino, controlat per veu. Es tracta d’un relé que podeu activar i desactivar remotament mitjançant una aplicació per a iOS i Android, a més de connectar-la a IFTTT i controlar-la amb la vostra veu mitjançant Google Home i / o Alexa també. Cobrirem tots els passos necessaris per crear el dispositiu, connectar l'aplicació i connectar-nos també als diversos serveis IOT.

Subministraments

  • Wemos D1 Mini Lite ESP8285 (uns quants dòlars a Amazon)
  • Mòdul de relé 5V per Arduino / Raspberry Pi
  • 2N2222 transistor NPN
  • Resistència de 47K ohm
  • Resistència de 1K ohm

Pas 1: Construeix el circuit

Construeix el circuit
Construeix el circuit
Construeix el circuit
Construeix el circuit
Construeix el circuit
Construeix el circuit

El primer pas és connectar el circuit. He inclòs un esquema i un esquema de cablejat tradicional, segons el que estigueu acostumat. Vaig fer el meu primer circuit en una placa de prototipat i després el vaig traslladar a un PCB per a una configuració més permanent i el vaig allotjar en una caixa de projectes impresos en 3D.

El relé és un relé H / L 5V opto-aïllat, el que significa que primer, el circuit activador està òpticament aïllat de la pròpia activació del relé, cosa que elimina qualsevol problema potencial amb retroalimentació del relé al microcontrolador de Wemos. Una bona seguretat. En segon lloc, es pot canviar alt / baix, el que significa que es pot configurar movent el pont groc que veieu a les imatges, des que s’activi quan el senyal és alt (+ 5 V) o s’activi quan el senyal és baix (0 V). El mateix Wemos envia 3,3 V des dels seus pins digitals i estem utilitzant D1 com a font d’activació, cosa que significa que hem d’amplificar-lo lleugerament, de manera que ens acostem a un senyal digital de + 5 V per activar el relé. Alternativament, podeu utilitzar un relé de 3,3 V i eliminar el component de l'amplificador del transistor del circuit i anar directament de D1 al pin de senyal del relé. No tenia relés de 3,3 V, de manera que fem servir un relé de 5 V més comú i el circuit d'amplificadors.

Els DC + i DC- del relé es connecten als pins 5V i GND del Wemos, que proporciona la tensió necessària per fer funcionar el relé. El relé es classifica a partir de voltatges petits fins a la tensió de línia, però ho faig servir per controlar una aplicació de cablejat de baixa tensió. Si utilitzeu això per controlar el voltatge de la línia, assegureu-vos de saber què esteu fent, que esteu qualificat i que preneu les precaucions adequades. Si no, no utilitzeu això per controlar aplicacions de tensió de línia.

El pin D1 del Wemos es connecta a la resistència de 47K ohm que s’alimenta a la base del transistor NPN. L'emissor es torna a lligar a terra. El col·lector està connectat a l'entrada de senyal del relé. El relé està configurat perquè s’activi a mínim, de manera que quan D1 dóna un senyal, el senyal de 3,3 v s’amplifica a 5 V aproximadament i el relé està obert. Quan D1 baixa, el senyal del relé baixa i el relé es tanca i completa un circuit.

Em vaig oblidar de fer fotos del meu circuit temporal a la taula de prototips, però semblava exactament com el diagrama de Fritzing anterior, si és útil. He inclòs diverses imatges del meu circuit permanent definitiu perquè pugueu veure com està connectat, per si necessiteu informació o necessiteu visibilitat sobre els components específics que estic utilitzant.

Pas 2: Programació de Wemos: visió general

Una de les coses que més m’agraden dels Wemos és que es poden programar com un Arduino amb el mateix IDE. Hi ha alguns passos aquí, però.

  1. Instal·leu els controladors de Wemos a l'ordinador i podeu parlar amb Wemos
  2. Actualitzeu l'IDE Arduino perquè la placa Wemos estigui disponible
  3. Feu una prova ràpida de "Parpelleig" per assegurar-vos que tot funciona correctament
  4. Configureu-vos amb Blynk (sé que és confús, però en realitat és diferent del "blink test")
  5. Obteniu un codi d'aplicació de Blynk
  6. Actualitzeu el codi Wemos / Arduino amb la informació de Blynk
  7. Pengeu el codi a la configuració de Wemos.

Pas 3: Programació de Wemos: instal·leu controladors

Programació de Wemos: instal·leu controladors
Programació de Wemos: instal·leu controladors

Aneu aquí (aquest enllaç sembla canviar periòdicament, intentaré mantenir-lo actualitzat):

www.wemos.cc/ca/latest/ch340_driver.html

I descarregueu el paquet de controladors correcte per al vostre sistema operatiu. A continuació, extreu el zip a un directori i executeu l'aplicació "SETUP" per instal·lar-lo.

Quan ho vaig fer per primera vegada, vaig tenir un error estrany al no instal·lar-lo. Vaig veure la nota d’una altra persona sobre això i la seva solució, que em funcionava. Per tant, si teniu un error, proveu de fer servir el botó "Desinstal·la" i torneu a utilitzar el botó "Instal·la". Tant de bo això esborri el tema com per a mi.

Pas 4: Programació de Wemos: actualitzeu l'IDE Arduino

Programació de Wemos: actualitzeu l'IDE Arduino
Programació de Wemos: actualitzeu l'IDE Arduino
Programació de Wemos: actualitzeu l'IDE Arduino
Programació de Wemos: actualitzeu l'IDE Arduino
Programació de Wemos: actualitzeu l'IDE Arduino
Programació de Wemos: actualitzeu l'IDE Arduino

Si no heu instal·lat l'IDE Arduino, ara és un bon moment per fer-ho. El podeu descarregar des de www.arduino.cc

Aquí teniu una referència sobre el que farem en aquest pas.

wiki.wemos.cc/tutorials:get_started:get_st…

  1. Instal·lem la nova placa perquè aparegui com a opció a l'IDE Arduino. Els passos 2 a 4 s’extreuen de la guia d’instal·lació de la pàgina següent de github.

    github.com/esp8266/Arduino

  2. Inicieu l'IDE Arduino i obriu la finestra Preferències.
  3. Introduïu "https://arduino.esp8266.com/stable/package_esp8266com_index.json" al camp URL de l'administrador de taules addicionals. Podeu afegir diversos URL separant-los amb comes.
  4. Obriu el Gestor de taules des d’Eines> Tauler> Gestor de taules (a la part superior), cerqueu "esp8266" i instal·leu la plataforma esp8266 que apareix a la llista.
  5. En aquest punt, veureu els taulers de Wemos a Eines → Tauler: xxx Seleccioneu el Wemos D1 Mini. En el meu cas, com es pot veure a la imatge, el nom específic era "LOLIN (WEMOS) D1 R2 & mini"
  6. Connecteu un cable USB entre l'ordinador i el Wemos
  7. Confirmeu que el "Port" està actiu al menú Eines i que sembla correcte.

Pas 5: programació de la prova Wemos - Blink

Programació de la prova Wemos - Blink
Programació de la prova Wemos - Blink

Abans d’anar més enllà, ens hem d’assegurar que podem comunicar-nos amb la junta de Wemos i que tot sembli correcte. La forma més senzilla de fer-ho és connectar un cable USB i provar de fer arribar un programa senzill al Wemos. Blink és l’exemple més senzill i m’ha estalviat moltes molèsties quan treballo amb taulers nous, que sempre ho faig primer.

  1. Aneu a: Fitxer> Exemples> ESP8266> Parpellejar i carregar l'esbós de parpelleig d'un dispositiu Wemos
  2. Compileu i pengeu l’esbós

Si el LED blau comença a parpellejar aproximadament un cop per segon, és bo passar al següent pas. Si no, feu un cop d’ull i solucioneu els passos anteriors. Mireu si hi ha cap problema amb els controladors i el gerent del consell. Vaig tenir alguns problemes amb el paquet de la placa de l'ESP8266 i vaig haver de desinstal·lar-lo completament i tornar-lo a instal·lar a causa d'alguna cosa estranya amb les versions que passaven. No et rendeixis i les cerques a Internet poden ser el teu amic.

Suposant que tot és bo, aneu al següent pas.

Pas 6: Programació de Wemos: configuració de Blynk

Programació de Wemos: configuració de Blynk
Programació de Wemos: configuració de Blynk
Programació de Wemos: configuració de Blynk
Programació de Wemos: configuració de Blynk
Programació de Wemos: configuració de Blynk
Programació de Wemos: configuració de Blynk

En aquests passos següents, hem de configurar un compte a Blynk i obtenir un testimoni que fem servir per controlar el circuit que hem creat.

  1. Descarregueu l'aplicació i creeu un compte (és gratuït)
  2. Crea un projecte nou
  3. Seleccioneu Wemos D1 com a maquinari a Tria dispositiu
  4. Poseu un nom al projecte i mantingueu el tipus de connector com a WiFi
  5. Feu clic a Crea un projecte
  6. En aquest moment, el testimoni d'autor s'enviarà per correu electrònic a l'adreça de correu electrònic que vau utilitzar quan vau crear el vostre compte de Blynk. Deseu-ho per més endavant, inserirem els valors a l'esbós al pas següent.
  7. Quan arribeu a la pantalla del llenç en blanc, feu lliscar el dit cap a l’esquerra i obtindreu el menú dels widgets. Seleccioneu "Botó" per afegir un "botó" al projecte
  8. Seleccioneu el botó i, a continuació, configureu el Pin fent-hi clic i seleccionant "Digital" i "D1" com a pi i feu clic a "D'acord".
  9. En aquest punt, tot hauria d’estar a punt. Per fer-ho actiu, voldríeu seleccionar la icona del triangle a la part superior dreta, però encara no funcionarà fins que no es carregui i es configuri l'esbós, que és el següent pas.

Pas 7: Programació de Wemos: instal·lació de la biblioteca de Blynk

Per poder penjar un esbós basat en Blynk, hem d’instal·lar la seva biblioteca. Els detalls es poden trobar aquí.

github.com/blynkkk/blynk-library/releases

A més, per obtenir més informació, consulteu el seu lloc web principal aquí (https://blynk.io/en/getting-started)

Això em va confondre al principi, però és molt més fàcil del que sembla. Simplement descomprimiu el fitxer al directori Arduino. Per a mi, això estava a / user / Documents / Arduino. Allà ja hi havia una carpeta anomenada "biblioteques". El fitxer zip conté una "biblioteca" i un directori "eines". Quan el descomprimiu al directori Arduino, afegeix el seu contingut a les biblioteques i crea eines si encara no existia.

Pas 8: programació de Wemos: l'esbós

Gairebé hem acabat en aquest moment. L’esbós és força senzill, és directe de Blynk i connecta bàsicament el servei de Blynk amb el tauler. Podeu utilitzar el seu constructor aquí:

examples.blynk.cc/?board=WeMos%20D1&shield=ESP8266%20WiFi&example=Widgets%2FTerminal

O podeu utilitzar aquesta mostra que us hauria de funcionar. Només assegureu-vos de substituir els valors pel testimoni d’autorització i les vostres credencials per la vostra xarxa wifi.

/*************************************************************

Descarregueu la darrera biblioteca de Blynk aquí: https://github.com/blynkkk/blynk-library/releases/latest Blynk és una plataforma amb aplicacions per a iOS i Android per controlar Arduino, Raspberry Pi i similars a través d'Internet. Podeu crear fàcilment interfícies gràfiques per a tots els vostres projectes simplement arrossegant i deixant anar ginys. Descàrregues, documents, tutorials: https://www.blynk.cc Generador d'esbossos: https://examples.blynk.cc Comunitat Blynk: https://community.blynk.cc Seguiu-nos a: https://www.fb. com / blynkapp La biblioteca Blynk té llicència sota llicència MIT Aquest codi d'exemple és de domini públic. *************************************************** *********** Podeu enviar / rebre qualsevol dada mitjançant l'objecte WidgetTerminal. Configuració del projecte d'aplicacions: giny de terminal connectat al pin virtual V1 *************************************** *********************************************************************************************************************************************************************************/ Token a l'aplicació Blynk. // Aneu a la configuració del projecte (icona de nou). char auth = "YourAuthToken"; // Les vostres credencials de WiFi. // Estableix la contrasenya a "" per a xarxes obertes. char ssid = "El vostre nom de xarxa"; char pass = "La vostra contrasenya"; // Connecteu un terminal sèrie virtual al terminal Virtual Pin V1 WidgetTerminal (V1); // Podeu enviar ordres des de Terminal al vostre maquinari. Simplement utilitzeu // el mateix PIN virtual que el vostre terminal Widget BLYNK_WRITE (V1) {// si escriviu "Marco" a Terminal Widget; respondrà: "Polo:" if (String ("Marco") == param.asStr ()) {terminal.println ("Heu dit: 'Marco'"); terminal.println ("he dit: 'Polo'"); } else {// Envia-ho de nou terminal.print ("Has dit:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Assegureu-vos que tot s’envia terminal.flush (); } void setup () {// Consola de depuració Serial.begin (9600); Blynk.begin (auth, ssid, pass); // També podeu especificar el servidor: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // Això imprimirà la versió del programari Blynk al terminal Widget quan // el vostre maquinari es connecti al servidor Blynk terminal.println (F ("Blynk v" BLYNK_VERSION ": Dispositiu iniciat")); terminal.println (F ("-------------")); terminal.println (F ("Escriviu 'Marco' i obteniu una resposta o escriviu")); terminal.println (F ("qualsevol altra cosa i tornar-lo a imprimir")); terminal.flush (); } void loop () {Blynk.run (); }

Pas 9: Programació de Wemos: pas final

Image
Image

Un cop carregat l'esbós, compileu-lo i pengeu-lo i hauríeu d'estar a punt per provar la configuració.

Obriu l'aplicació Blynk i feu clic al triangle situat a l'extrem superior dret del projecte Wemos

A continuació, feu clic al botó. Hauríeu d'escoltar el clic del relé i els LED d'estat de la placa del relé indiquen que el relé ha canviat d'estat.

Ara podeu connectar el relé a qualsevol aplicació de baixa tensió que requereixi un senzill commutador i controlar-lo des de la vostra aplicació Blynk. L’últim que hem de fer és lligar IFTTT i utilitzar Google o Alexa per controlar el sistema Blynk, de manera que no ho hem de fer des de la nostra aplicació Blynk.

Pas 10: controlar Blynk amb IFTTT i Google Home o Alexa

En aquest moment suposo que coneixeu bé IFTTT. Si no, hi ha alguns tutorials excel·lents que us ajudaran a aprendre a utilitzar i aprofitar IFTTT. És molt potent i us agradarà aprendre si no esteu familiaritzat.

  1. Creeu una miniaplicació nova a IFTTT
  2. Seleccioneu l'Assistent de Google com a "Si és això" i utilitzeu una "Frase senzilla" com a activador. Per a mi, ja que això anava a encendre o apagar la meva xemeneia, la meva frase era "encendre la xemeneia"
  3. Per a la part "Aleshores això", cerqueu i utilitzeu Webhooks
  4. Seleccioneu "Feu una sol·licitud web"
  5. Per a l'URL que voldreu utilitzar:

    "https://blynk-cloud.com/XXXXYYYYZZZZZ/update/d5?value=1"

  6. Establiu el mètode a GET, el tipus de contingut a urlencoded, i podeu deixar el cos en blanc i desar-lo

Espereu uns minuts i, tot seguit, proveu la vostra frase amb el vostre dispositiu Google Home. Vaig notar que triga uns dos minuts a estar llest.

NOTA: una altra cosa a la qual cal prestar atenció aquí. Tingueu en compte que estic fent servir "d5" a la trucada de l'API, però em vaig connectar al pin D1 al tauler. Vaig trigar aproximadament un dia a esbrinar que la numeració de pins GPIO i la numeració impresa en pantalla al tauler no són el mateix. Després de canviar els valors amb trucades URL directes i provar els voltatges a diferents pins amb un voltímetre, vaig poder notar que una trucada a d1 mitjançant l'API va canviar el voltatge, però no a D1 a la placa. d5 / GPIO 5 corresponia realment a D1 al tauler. Un cop fet aquest ajust, tot va funcionar molt bé.

Connectar Alexa és idèntic a Google Home, només cal utilitzar el servei Alexa a IFTTT.

Pas 11: Conclusió

En aquest moment, hauríeu de tenir un relé IOT controlat per veu que funcioni mitjançant el Wemos D1 mini lite. Gaudiu i molta sort!

Una vegada més, l'electricitat és perillosa, per tant, preneu les precaucions adequades i, si no esteu qualificat, no ho feu.

Recomanat: