- Käytetyt laitteistokomponentit:
- ESP-01-moduulin ohjelmointi CP2102 USB-TTL -muuntimen avulla:
- ESP-01: n kytkentä CP2102-moduuliin:
- Alexa-kotiautomaation ESP-01-moduulin ohjelmointi
- Piirikaavio
- Asenna Amazon Alexa -sovellus kotiautomaatioon
Älykkäät kaiuttimet, kuten Amazon Echo tai Google home, ovat suosittuja nykyään, ja molemmilla on mahdollisuus integroida mukautettuja taitoja tai toimintoja hallita kaikkia laitteita älykkäiden kaiuttimien avulla. Aiemmin rakensimme oman Smart-kaiuttimen Raspberry Pi: llä ja Alexalla, ja ohjaimme myös kodinkoneita tällä Raspberry Pi -älykaiuttimella.
Kotiautomaatio on tullut hyvin yleiseksi nykyään, ja ihmiset käyttävät IoT: tä kaiken kodin automatisointiin. Tässä tässä opetusohjelmassa käytämme aitoa Amazon Echo dot -kaiutinta ja luomme mukautetun taiton hallita vaihtovirtakodinkoneita, kuten valoja, tuulettimia, televisioita, pistorasioita Amazon Echo dot -kaiuttimella. Täällä käytämme Arduino UNO: ta ja ESP8266-01 Wi-Fi -moduulia yhdistämään Echo dot -kaiuttimen AC-laitteisiin. Tämän opetusohjelman jälkeen voit hallita mitä tahansa laitetta Alexan kautta.
Käytetyt laitteistokomponentit:
- Arduino UNO
- ESP-01-moduuli
- Amazon Alexa -kaiku
- CP2102 USB-TTL -muunnin
- Leipälauta
- 5 V: n releyksikkö
- AC-laitteet
- Neulepuserot
ESP-01-moduulin ohjelmointi CP2102 USB-TTL -muuntimen avulla:
Tässä ESP-01 ohjelmoidaan CP2102 USB-TTL -muuntimella; se voidaan ohjelmoida myös Arduino UNO -kortilla. Tässä tapauksessani olen käyttänyt CP2102-moduulia, ja vaiheet tämän tekemiseen selitetään alla.
ESP-01-moduuli
ESP8266 ESP-01 on Wi-Fi-moduuli, joka on erittäin suosittu IoT-sovellusten suunnittelussa, ja sitä käytetään antamaan Arduino UNO: n kaltaisille mikro-ohjaimille yhteys Internetiin. Tämä moduuli on itsenäinen järjestelmä sirulla (SOC), joka voi toimia kuin pieni tietokone. Sen mukana tulee esiasennettu AT-laiteohjelmisto, joten voimme ohjelmoida sen Arduino IDE: n avulla. Voit oppia lisää ESP-01 Wi-Fi -lähetin-vastaanottimesta ja sen ohjelmoinnista Arduino IDE: n avulla seuraamalla linkkiä.
Tapin kuvaus:
VCC: ESP-01 : n virtalähde, joka voidaan toimittaa 3,3 V DC: llä
GND: ESP-01 : n maadoitusviite
TXD: Käytetään UART-lähetintapina
RXD: Käytetään UART-vastaanottimen tapina
RESET: Sitä käytetään moduulin nollaamiseen ja se on aktiivinen LOW-tappi.
CH_PD: Se on sirun käyttöönottotappi, joka on aktiivinen HIGH-tappi.
GPIO0: Tällä tapilla on kaksi tarkoitusta. Yksi on yleiskäyttöinen tulo / lähtö ja toinen on ottaa käyttöön ESP-01: n ohjelmointitila
GPIO2: Tämä on yleiskäyttöinen tulo- / lähtöliitin.
ESP-01: n kytkentä CP2102-moduuliin:
Alla olevassa kuvassa näkyy CP2102 USB-TTL -muuntimen kytkentäkaavio. Liitä ESP-01-moduuli CP2102 USB-TTL -muunninmoduuliin alla olevan taulukon mukaisesti.
ESP-01-moduuli |
CP2102-moduuli |
VCC |
3,3 V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3 V |
NOLLAA |
Ei yhteyttä |
GPIO0 |
GND |
GPIO2 |
Ei yhteyttä |
Yllä olevan yhteyden onnistuneen suorittamisen jälkeen piirin pitäisi näyttää jotain alla olevalta:
Liitä sitten CP2102-moduuli tietokoneeseemme ohjelmointia varten. Ennen kuin lähetät koodin ESP-01: een, tarkista ensin tiedonsiirtoportti. Tätä varten siirry aloitus-> ja etsi laitehallinta. Napsauta sitten COMs and Ports. Tämän vaihtoehdon mukaan meidän pitäisi saada COM-portti USB-TTL-muuntimen nimellä, kuten " Silicon labs CP21xx USB-UART Bridge ", kuten alla olevassa kuvassa näkyy:
Kun edellä mainitut vaiheet on suoritettu onnistuneesti, avaa Arduino IDE ja valitse Työkalut- valikosta levy ” Generic ESP8266 Module ” ja valitse edellisessä vaiheessa saamasi COM-portti.
Alexa-kotiautomaation ESP-01-moduulin ohjelmointi
Täydellinen koodi annetaan tämän projektin lopussa. Tässä on vaiheittainen selitys koodista, joka ladataan ESP-01-moduuliin. Ensimmäinen vaihe on sisällyttää kaikki tarvittavat kirjastot. Voit ladata “fauxmoESP.h” -kirjaston linkistä täältä.
# sisällyttää # sisällytä
Tässä vaiheessa meidän on määritettävä kaikki tunnistetiedot, joita tarvitaan ESP-01: n yhdistämiseen Internetiin. Päivitä verkon SSID- ja salasanatiedot ohjelmassa.
#define SSID "*******" #define pass "*******"
Määritä seuraavaksi niiden laitteiden nimet, joita meidän on ohjattava Alexalta. Minun tapauksessani olen käyttänyt laitenimiäni " makuuhuoneen valo ", " makuuhuoneen tuuletin " ja " älykäs pistorasia ".
#define device1 "makuuhuoneen valo" #define laite2 "makuuhuoneen tuuletin" #define device3 "älypistoke"
Toimintoa WiFi.mode käytetään asettamaan ESP-01-moduuli Station-tilaksi ja toimintoa WiFi.begin käytetään yhdistämään ESP-01-moduuli Internetiin, joka käyttää verkon SSID: tä ja salasanaa argumentteina.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Seuraava osa on alustaa kaikki Fauxmo- luokan toiminnot, kuten luoda palvelin, ottaa käyttöön Alexa-laitteen porttinumero, ottaa laite käyttöön jne. Lisää sitten kaikki laitteet aiemmin luomallamme fauxmo.addDevice- laitteella.
fauxmo.createServer (tosi); fauxmo.setPort (80); fauxmo.enable (totta); fauxmo.addDevice (laite1); fauxmo.addDevice (laite2); fauxmo.addDevice (laite3);
Seuraavaksi kirjoittaa funktio vertailla äänikomentoja kanssa ennalta laitenimet. Jos komento täsmää, lähetä merkki Arduino-sarjapäätteisiin käyttämällä Serial.print.
fauxmo.onSetState ((allekirjoittamaton char device_id, const char * device_name, bool-tila, allekirjoittamaton char-arvo) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); muut Serial.print ("2");}}
In void loop () funktio, fauxmo.handle toiminto vain tarkistaa tulevan datan Alexa ja se ryhtyy toimiin käyttäen onSetstate () funktio.
void loop () {fauxmo.kahva (); }
Lataa nyt lopussa annettu täydellinen koodi ESP-01-moduuliin ja varmista, että lataaminen onnistuu.
Arduino-koodi:
Sen jälkeen on aika ladata koodi Arduinoon. Arduinon koodi on hyvin yksinkertainen. Se vastaanottaa vain ESP-01-moduuleista UART-päätelaitteiden kautta lähetetyt merkit ja vertaa sitä lähettämään päälle / pois-signaalin releelle. Arduinon täydellinen ohjelma näkyy alla:
hiilitiedot; void setup () {Sarja.alku (115200); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Sarjaprintti (tiedot); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); else if (data == '2') digitalWrite (7, LOW); else if (data == '3') digitalWrite (6, HIGH); else if (data == '4') digitalWrite (6, LOW); else if (data == '5') digitalWrite (5, HIGH); else if (data == '6') digitalWrite (5, LOW); }}
Onnistuneen latauksen jälkeen koodi Arduinoon, Seuraava, kytke laitteisto alla annettujen kaavioiden mukaisesti.
Piirikaavio
Alexan käyttävän kodiautomaation kytkentäkaavio on esitetty alla:
Täällä olemme juottaneet kaikki komponentit Perfboardille niin, että se toimii Arduino-kilvenä.
Vastaavasti olemme rakentaneet myös relemoduulin Perfboardille:
Asenna Amazon Alexa -sovellus kotiautomaatioon
Laitteiston asennuksen ja koodauksen onnistuneen suorittamisen jälkeen on nyt aika asentaa Alexa Android -sovellus. Ensinnäkin meidän on etsittävä lähellä olevia älylaitteita tämän sovelluksen kautta. Käynnistä Alexa-laite ja avaa sitten Alexa-sovellus, napsauta vaihtoehtoa " Laitteet " ja napsauta sitten "+" -merkkiä, joka pyytää sinua " Lisää laite ". Napsauta sitten " Lisää laite ", valitse laitetyypissä " muu " ja valitse sitten löydä laitteita. Sitten Alexa-sovelluksesi pitäisi etsiä laitetta, joka voi kestää jopa 45 sekuntia.
Huomautus: Vaihtoehtoisesti voimme löytää laitteet myös äänikomennolla " Alexa, löydä laitteita "
Laitteen etsinnän jälkeen sinun pitäisi saada 3 uutta laitetta nimellä, jonka olemme antaneet koodissa. Minun tapauksessani nämä ovat makuuhuoneen valo , makuuhuoneen tuuletin ja älypistoke . Nyt asennus on valmis testattavaksi, testaa vain sanomalla " Alexa, Turn on bedroom light " ja sen pitäisi palauttaa palautteesi sanomalla "OK", ja valon pitäisi syttyä. Vastaavasti voimme testata kaikkia muita komentoja.
Näin Amazon Echo -pisteohjattujen kodinkoneiden täydellinen asennus näyttää:
ESP-01: n täydellinen koodi esittelyvideolla on annettu alla.