Taula de continguts:

Commutador controlat per veu mitjançant Alexa i Arduino: 10 passos (amb imatges)
Commutador controlat per veu mitjançant Alexa i Arduino: 10 passos (amb imatges)

Vídeo: Commutador controlat per veu mitjançant Alexa i Arduino: 10 passos (amb imatges)

Vídeo: Commutador controlat per veu mitjançant Alexa i Arduino: 10 passos (amb imatges)
Vídeo: Вычислительное мышление – информатика для руководителей бизнеса 2016 2024, Desembre
Anonim
Commutador controlat per veu mitjançant Alexa i Arduino
Commutador controlat per veu mitjançant Alexa i Arduino

L’objectiu principal d’aquest projecte és utilitzar un sensor de temperatura per controlar l’interruptor (relé) per encendre o apagar el dispositiu.

Llista de materials

  1. Mòdul de relé de 12V ==> 4,2 dòlars
  2. Arduino uno ==> $ 8
  3. Sensor de temperatura DHT11 ==> 3 $
  4. Mòdul ESP8266 ==> 4,74 $
  5. Optoacoblador N26 ==> 0,60 dòlars
  6. Regulador de tensió LM1117 ==> 0,60 $
  7. Taula de pa ==> 2,2 $
  8. Cables de pont ==> 2,5 $
  9. Polsador ==> 2,5 $

El cost total del projecte és d’uns 30 dòlars. Aquest projecte es divideix en tres parts. En primer lloc, fem servir heroku per crear una aplicació. En segon lloc, creem una habilitat d’Amazon Alexa per implementar el nostre treball (la part més important). En tercer lloc, configurem el nostre maquinari i el programem amb Arduino IDE.

Pas 1: enllaçar Heroku amb GitHub

Enllaçar Heroku amb GitHub
Enllaçar Heroku amb GitHub
Enllaçar Heroku amb GitHub
Enllaçar Heroku amb GitHub
Enllaçar Heroku amb GitHub
Enllaçar Heroku amb GitHub

Heroku és una plataforma de núvol com a servei (PaaS) que admet diversos llenguatges de programació que s’utilitza com a model de desplegament d’aplicacions web. Primer, aneu al lloc d’heroku, creeu un compte nou o inicieu la sessió allà. A continuació es mostra l’enllaç

Lloc web Heroku

Comencem per crear una nova aplicació. He donat el nom de la meva aplicació "iottempswitch" quan desplegueu l'aplicació, es genera l'enllaç.

Un cop feta l'aplicació, aneu a GitHub. GitHub /

Inicieu la sessió allà o inscriviu-vos si no teniu cap compte. Un cop hàgiu iniciat la sessió, creeu un repositori nou. Doneu el nom que vulgueu triar i, a continuació, premeu Creeu un dipòsit. A la pàgina següent, feu clic a README, en aquesta pàgina feu una descripció que vulgueu compartir amb altres persones. Després d'això, feu clic a commit new file. A continuació, feu clic al botó de càrrega.

Hi ha dues opcions per arrossegar i deixar anar la carpeta o triar un fitxer. Baixeu els fitxers necessaris des de baix. Després de seleccionar fitxers, premeu commit changes. Obriu l'aplicació que heu creat a Heroku i aneu a la secció de desplegament. Després feu clic a GitHub. Doneu el nom del dipòsit que heu creat al costat de GitHub. En el meu cas és Smart-Relay. Copieu-lo i enganxeu-lo aquí. Un cop es mostri l'enllaç, feu clic a connecta. A continuació, feu clic a desplega sucursal (manual). Després del desplegament, podeu veure l'enllaç al registre de compilació o veure'l a la configuració. Necessitem aquest enllaç més endavant quan estem creant habilitats a Amazon.

Pas 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Últimes imatges de l'habilitat d'Alexa

Al lloc per a desenvolupadors d'Amazon utilitzem les habilitats d'Amazon per controlar el disparador del commutador configurant la temperatura i la humitat.

Aneu al lloc per a desenvolupadors d’Amazon. A continuació es mostra l’enllaç.

Lloc web del desenvolupador d’Amazon

  • Aneu a Consola per a desenvolupadors a la part superior dreta, tal com es mostra a la figura i4
  • Aneu a Alexa i seleccioneu Alexa Skill Kit i, a continuació, creeu una nova habilitat fent clic a Afegeix una nova habilitat.

Quan afegiu una habilitat nova, veureu la pàgina d'informació sobre habilitats.

1. Informació sobre habilitats (com es mostra a la imatge i7)

hem de proporcionar tipus d’habilitat, idioma, nom, nom d’invocació.

Tipus d'habilitat ==> seleccioneu personalitzat

  • Nom ==> seleccioneu qualsevol nom.
  • Nom de la invocació ==> que feu servir per comunicar-vos amb Alexa. Per exemple; - Alexa, demaneu al sensor que activeu el disparador o Alexa, demaneu llum a la pantalla aquí. Els noms d’invocació són sensor i llum.
  • Idioma ==> anglès (Índia). Seleccioneu segons el vostre país

feu clic a Desa i, a continuació, a següent

2. Model d’interacció

Aquí utilitzarem el creador d’habilitats. Per tant, feu clic a Launch Skill Builder. veureu la pàgina com es mostra a la imatge i8.

Primer creem intents nous. Feu clic a Afegeix (a la part esquerra) i doneu el nom que vulgueu i he utilitzat "smartswitch"

  • Indiqueu el nom del tipus de ranura "tipus_midió" i els valors de la ranura "temperatura" i "humitat" tal com es mostra a la imatge i9.

  • Després, afegiu el nom de tipus de ranura "consulta" i els valors de la ranura són "què" i "és" tal com es mostra a la imatge i10.
  • Després, afegiu una ranura tipus "switchstate" i els valors de la ranura estiguin "on" i "off" tal com es mostra a la imatge i11.
  • Afegiu un altre tipus de ranura "tempscale" i els valors de les ranures són "fahrenheit" i "celcuis" tal com es mostra a la imatge i12.
  • Després d’afegir un tipus de ranura nou aquí, fem servir el tipus de ranura existent per a això hem de fer clic a utilitzar ranura existent. A la ranura existent cerqueu amazon.number i seleccioneu-lo i afegiu-lo. Després d'afegir-lo, el veureu en els tipus de ranura tal com es mostra a la imatge i13.

Així doncs, hem acabat amb els tipus de ranura que el tipus de ranura total que estem utilitzant és 5. Ara, passeu al següent pas. Feu clic a la intenció que hem creat, en el meu cas és smartswitch. A la dreta veureu la ranura d’intenció com es mostra a la imatge i14.

  • Creeu una nova ranura, doneu-li el nom "Switch_State" i assigneu-la a "switchstate" mitjançant el botó desplegable tal com es mostra a la imatge i15.
  • Creeu una nova ranura, doneu-li el nom "Sensor_Values" i assigneu-la a "type_messura" tal com es mostra a la imatge i16.
  • Creeu una nova ranura, doneu-li el nom de "consulta" i assigneu-la a "consulta" tal com es mostra a la imatge i17.
  • Després, creeu una nova ranura "tmp_scale" i assigneu-la a "tempscale" tal com es mostra a la imatge i18.
  • Creeu una nova ranura "Numbers" i assigneu-la a "Amazon. Numbers" tal com es mostra a la imatge i19.

Ara hem acabat amb les ranures Intent. Estem utilitzant 5 espais intencionals. Després d'això, passem a Utilitzacions de mostra com es mostra a la imatge i20.

Afegiu aquest enunciats de mostra.

estableix el disparador del commutador al {Nombres} per cent {tmp_scale}

{consulta} és l'estat del commutador

Activador de commutació {Switch_State}

estableix el disparador del commutador a {Numbers} grau {tmp_scale}

interruptor de gir {Switch_State}

{query} switch {Switch_State}

{query} és el valor actual {Sensor_Values}

Després d'aquest model, deseu-lo i creeu-lo. Espereu que es construeixi el model després de fer clic a configuració. Després de crear-lo, veureu el missatge tal com es mostra a la imatge i21 i i22.

3. Configuració

Seleccioneu HTTPS i afegiu l'enllaç que es va generar en crear l'aplicació Heroku. En el meu cas és https://iottempswitch.herokuapp.com/. Després d'afegir l'enllaç, feu clic a Següent com es mostra a la imatge i23.

4. Certificat SSLSeleccioneu la segona opció i feu clic a Següent, tal com es mostra a la imatge i24.

hem creat amb èxit la nostra habilitat.

Pas 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Obriu Arduino IDE i, a continuació, aneu a Fitxer ==> Preferència

Al Gestor de taulers addicionals, copieu i enganxeu l'URL i feu clic a D'acord tal com es mostra a la imatge i26.

arduino.esp8266.com/versions/2.4.0/package_…

  • Obriu el Gestor de taules anant a Eines ==> Taula ==> Gestor de taules.
  • Obriu el Gestor de taulers i cerqueu nodemcu tal com es mostra a la imatge i27.
  • Després, descarregueu la biblioteca ESP8266WiFi. Obriu el gestor de la biblioteca: Sketch ==> Inclou biblioteca ==> Gestiona les biblioteques.
  • Cerqueu la biblioteca ESP8266WiFi i instal·leu-la.
  • Seleccioneu el tauler ==> Mòdul ESP8266 genèric.
  • Abans de penjar el codi necessitem tres biblioteques.

Biblioteques necessàries

Moveu aquestes biblioteques a la carpeta de biblioteques d'Arduino

Heu de canviar tres coses al codi SSID, PWD i l'enllaç de l'aplicació Heroku. Després, pengeu el codi. Per al mòdul ESP, heu de prémer el botó de flaix mentre pengeu el codi i, a continuació, premeu el botó de reinicialització una vegada i, a continuació, deixeu anar el botó de flaix. Després de penjar el codi, obriu el terminal. veureu la sortida.

Pas 4: descripció del component

Descripció del component
Descripció del component
Descripció del component
Descripció del component
Descripció del component
Descripció del component
Descripció del component
Descripció del component

1. Què és un relleu

El relé és un dispositiu electromagnètic que s’utilitza per aïllar elèctricament dos circuits i connectar-los magnèticament. Són dispositius molt útils i permeten canviar un altre circuit mentre estan completament separats. Sovint s’utilitzen per connectar un circuit electrònic (que funciona a baixa tensió) a un circuit elèctric que funciona a molt alta tensió. Per exemple, un relé pot crear un circuit de bateria de 5 V CC per canviar un circuit de xarxa de 230 V CA.

Com funciona

Un commutador de relé es pot dividir en dues parts: entrada i sortida. La secció d'entrada té una bobina que genera camp magnètic quan se li aplica una petita tensió d'un circuit electrònic. Aquesta tensió s’anomena tensió de funcionament. Els relés d’ús habitual estan disponibles en diferents configuracions de tensions de funcionament com 6V, 9V, 12V, 24V, etc. La secció de sortida consta de contactors que es connecten o desconnecten mecànicament. En un relé bàsic hi ha tres contactors: normalment oberts (NO), normalment tancats (NC) i comuns (COM). En cap estat d’entrada, el COM està connectat a NC. Quan s'aplica la tensió de funcionament, la bobina del relé s'energia i el COM canvia de contacte a NO. Hi ha disponibles diferents configuracions de relés, com ara SPST, SPDT, DPDT, etc., que tenen un nombre diferent de contactes de canvi. Mitjançant la combinació adequada de contactors, el circuit elèctric es pot encendre i apagar. Obteniu detalls interns sobre l'estructura d'un commutador de relé.

El terminal COM és el terminal comú. Si els terminals COIL s’alimenten amb la tensió nominal, els terminals COM i NO tenen continuïtat. Si els terminals COIL no s’alimenten, els terminals COM i NO no tenen continuïtat.

El terminal NC és el terminal normalment tancat. És el terminal que es pot encendre fins i tot si el relé no rep cap tensió o suficient per funcionar.

El terminal NO és el terminal normalment obert. És el terminal on col·loqueu la sortida que voleu quan el relé rep la seva tensió nominal. Si no hi ha voltatge als terminals COIL o tensió insuficient, la sortida està oberta i no rep cap tensió. Quan els terminals COIL reben la tensió nominal o una mica inferior, el terminal NO rep suficient voltatge i pot encendre el dispositiu a la sortida.

2. Sensor de temperatura DHT

DHT11 és un sensor d’humitat i temperatura que genera una sortida digital calibrada. DHT11 pot ser una interfície amb qualsevol micro controlador com Arduino, Raspberry Pi, etc. i obtenir resultats instantanis. DHT11 és un sensor de temperatura i humitat de baix cost que proporciona alta fiabilitat i estabilitat a llarg termini.

3. ESP8266 Descripció completa

El mòdul WiFi ESP8266 és un SOC autònom amb pila de protocols TCP / IP integrada que pot donar accés a qualsevol microcontrolador a la vostra xarxa WiFi. L'ESP8266 és capaç d'allotjar funcions de xarxa d'una aplicació des d'una altra aplicació. Cada mòdul ESP8266 ve preprogramat amb una ordre AT.

L'ESP8266 és compatible amb APSD per a aplicacions de VoIP i interfícies de coexistència Bluetooth, conté una RF autocalibrada que li permet treballar en totes les condicions de funcionament i no requereix parts de RF externes.

Característiques

  • 802,11 b / g / n
  • Wi-Fi directe (P2P),
  • soft-AP Pila de protocols TCP / IP integrada
  • Commutador TR integrat, balun, LNA, amplificador de potència i xarxa coincident
  • PLL integrats, reguladors, DCXO i unitats de gestió d'energia
  • Potència de sortida de + 19,5 dBm en mode 802.11b
  • Corrent de fuita d'apagat <10uA
  • 1 MB de memòria flash
  • La CPU integrada de 32 bits de baixa potència es podria utilitzar com a processador d'aplicacions
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU i A-MSDU agregació i 0,4 ms interval de protecció
  • Despertar i transmetre paquets en <2 ms
  • Consum d'energia en espera <1,0 mW (DTIM3)

Descripció del pin tal com es mostra a la imatge i34.

Per connectar el mòdul ESP amb Arduino UNO necessitem un regulador de tensió Lm1117 3.3 o qualsevol regulador perquè Arduino no és capaç de proporcionar 3,3 v a ESP8266.

Nota: - Mentre pengeu el codi, premeu el botó de flaix i, a continuació, premeu el botó de reinicialització una vegada i, a continuació, deixeu anar el botó de flaix tal com es mostra a la imatge i29.

Per connectar el sensor i el relé DHT11 utilitzem dos pins GPIO del mòdul ESP8266. Després de penjar el codi, podeu desconnectar els pins RX, TX, GPIO0. He utilitzat GPIO0 per al sensor DHT11 i GPIO2 per als relés. El sensor DHT11 funciona bé amb ESP8266, però per als relés necessitem una cosa addicional, és a dir, un aïllador opto o un acoblador opto. Vegeu la imatge i30, i31, i32 i i33.

Pas 5: connexions

ESP8266 ===> DHT11GPIO0 ===> Pin de sortida

ESP8266 ===> RelayGPIO2 ===> Entrada

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Botó de reinici ===> RST

Botó Flash ===> GPIO0

Pas 6: Comprovació de totes les coses

Revisant totes les coses
Revisant totes les coses
Revisant totes les coses
Revisant totes les coses
Revisant totes les coses
Revisant totes les coses
Revisant totes les coses
Revisant totes les coses

Hem creat amb èxit la nostra aplicació, la nostra habilitat i el nostre maquinari està a punt. Per tant, és hora de comprovar-ho.

Per això, el vostre ESP8266 està encès perquè el nostre servidor funciona amb ESP8266. Aquí no he connectat cap sensor a ESP8266, només estic comprovant si funciona o no, però podeu connectar el sensor, relé a ESP8266. Un cop estigui connectat a Heroku, el veureu connectat. Per fer proves, aneu a Amazon skill que heu creat i feu clic a la pàgina de prova. Un cop comprovat el seu funcionament, connectaré el meu sensor a ESP8266. Podeu veure els resultats tal com es mostra a les imatges i35, i36, 37, 38, 39, 40.

Si el feu servir sense connectar ESP8266, obtindreu aquest error tal com es mostra a la imatge i41.

Enunciat que podeu utilitzar

estableix el disparador del commutador al {Nombres} per cent {tmp_scale}

ex: - configureu el disparador del commutador al 50% d'humitat

{consulta} és l'estat del commutador

ex-on / off és l'estat de commutació

Activador de commutació {Switch_State}

activador d'interruptor ex-on / off

estableix el disparador del commutador a {Numbers} grau {tmp_scale}

activar l'interruptor del commutador a 76 graus Fahrenheit

activa el commutador del commutador a 24 graus celcius

interruptor de gir {Switch_State}

ex - encendre / apagar l'interruptor

Vegeu la imatge i41 a i46 per obtenir resultats.

Mentre parleu amb AlexaAlexa, demaneu a arduino que activeu / desactiveu el disparador

Alexa, demana a arduino que estableixi el disparador del commutador a 24 graus centígrads.

Alexa, demana a arduino que estableixi l’activador del commutador al 50% d’humitat

Alexa, demana a arduino que activi / apagui l’interruptor

Pas 7: diagrama VUI (Voice User Interface)

Esquema VUI (Voice User Interface)
Esquema VUI (Voice User Interface)

Pas 8: demostració

Image
Image

1. Establir el disparador per a la temperatura i la humitat.

2. Estableix el disparador a 20 graus centígrads.

3. Ajusteu el disparador al 80% d'humitat.

Pas 9: esquema

Recomanat: