- Uporabljene komponente strojne opreme:
- Programiranje modula ESP-01 z uporabo pretvornika USB-TTL CP2102:
- Povezava ESP-01 z modulom CP2102:
- Programiranje modula ESP-01 za avtomatizacijo doma Alexa
- Shema vezja
- Namestite aplikacijo Amazon Alexa za avtomatizacijo doma
Pametni zvočniki, kot sta Amazon Echo ali Googlov dom, postajajo danes priljubljeni in oba imajo možnost vključevanja spretnosti ali dejanj po meri za nadzor katere koli naprave s pomočjo teh pametnih zvočnikov. Pred tem smo z uporabo Raspberry Pi in Alexa izdelali lasten pametni zvočnik in s tem pametnim zvočnikom Raspberry Pi tudi nadzorovali gospodinjske aparate.
Domača avtomatizacija je danes postala zelo pogosta in ljudje uporabljajo IoT za avtomatizacijo vsega v svojem domu. Tu v tej vadnici bomo uporabili zvočnik Real Amazon Echo dot in ustvarili prilagojeno spretnost za nadzor gospodinjskih aparatov AC, kot so luči, ventilatorji, televizorji, vtičnice s pomočjo Amazon Echo pik zvočnika. Tu bomo uporabili Arduino UNO in Wi-Fi modul ESP8266-01 za povezavo zvočnika Echo dot z napravami AC. Po tej vadnici boste lahko nadzirali kateri koli aparat prek Alexa.
Uporabljene komponente strojne opreme:
- Arduino UNO
- Modul ESP-01
- Amazon Alexa echo dot
- CP2102 pretvornik USB-TTL
- Breadboard
- 5V relejni modul
- Naprave za izmenični tok
- Skakalci
Programiranje modula ESP-01 z uporabo pretvornika USB-TTL CP2102:
Tu je ESP-01 programiran s pomočjo pretvornika CP2102 USB-TTL; programirati ga je mogoče tudi s pomočjo plošče Arduino UNO. V tem primeru sem uporabil modul CP2102 in koraki za to so opisani spodaj.
Modul ESP-01
ESP8266 ESP-01 je modul Wi-Fi, ki je zelo priljubljen pri načrtovanju aplikacij IoT in se uporablja za omogočanje povezave mikrokrmilnikov, kot je Arduino UNO, z internetom. Ta modul je samostojni sistem na čipu (SOC), ki lahko deluje kot majhen računalnik. Na voljo je z vnaprej nameščeno vdelano programsko opremo AT, zato jo lahko programiramo z uporabo Arduino IDE. Na povezavi lahko izveste več o oddajniku Wi-Fi ESP-01 in njegovem programiranju z uporabo Arduino IDE.
Opis pin:
VCC: Napajalni zatič ESP-01, ki se lahko napaja s 3,3 V DC
GND: Ozemljitveni referenčni zatič ESP-01
TXD: Uporablja se kot zatič oddajnika UART
RXD: Uporablja se kot zatič sprejemnika UART
RESET: Uporablja se za ponastavitev modula in je aktiven LOW pin.
CH_PD: Prav zatič za omogočanje čipa je aktiven HIGH pin.
GPIO0: Ta zatič ima dva namena. Ena je vhod / izhod za splošni namen, druga pa omogočanje načina programiranja ESP-01
GPIO2: To je splošni vhodni / izhodni zatič.
Povezava ESP-01 z modulom CP2102:
Spodnja slika prikazuje shemo pinout pretvornika CP2102 USB-TTL. Modul ESP-01 povežite s pretvorniškim modulom CP2102 USB-TTL v skladu s spodnjo tabelo.
Modul ESP-01 |
Modul CP2102 |
VCC |
3.3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
PONASTAVITI |
Ni povezave |
GPIO0 |
GND |
GPIO2 |
Ni povezave |
Po uspešnem zaključku zgornje povezave mora biti vezje videti nekako takole spodaj:
Nato priključite modul CP2102 na naš računalnik za programiranje. Preden naložite kodo v ESP-01, najprej preverite komunikacijska vrata. Za to pojdite na start-> in poiščite upravitelja naprav. Nato kliknite COM in vrata. Pri tej možnosti bi morali dobiti vrata COM z imenom pretvornika USB-TTL, kot je " Silicon labs CP21xx USB-UART Bridge ", kot je prikazano na spodnji sliki:
Po uspešnem dokončanju zgornjih korakov odprite Arduino IDE in v meniju Orodja izberite ploščo kot » Splošni modul ESP8266 « in izberite vrata COM, ki smo jih dobili v prejšnji fazi.
Programiranje modula ESP-01 za avtomatizacijo doma Alexa
Popolna koda je podana na koncu tega projekta. Tu je podrobna razlaga kode, ki jo je treba naložiti na modul ESP-01. Prvi korak je vključitev vseh potrebnih knjižnic. Knjižnico "fauxmoESP.h" lahko prenesete s povezave tukaj.
#include #include
V tem koraku moramo določiti vse poverilnice, ki so potrebne za povezavo ESP-01 z internetom. V programu posodobite omrežni SSID in podatke o geslu.
#define SSID "*******" #define pass "*******"
Nato določite ime naprav, ki jih moramo nadzorovati s strani Alexa. V mojem primeru sem imena naprav sprejel kot " luč za spalnico ", " ventilator za spalnico " in " pametna vtičnica ".
#define device1 "spalnica luč" #define device2 "spalnica ventilator" #define device3 "pametna vtičnica"
Funkcija WiFi.mode se uporablja za nastavitev modula ESP-01 kot način postaje, funkcija WiFi.begin pa za povezavo modula ESP-01 z internetom, ki kot argumente jemlje SSID in geslo omrežja.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Naslednji del je inicializirati vse funkcije razreda Fauxmo, na primer ustvariti strežnik, omogočiti številko vrat za napravo Alexa, omogočiti napravo itd. Nato dodajte vse naprave z uporabo fauxmo.addDevice, ki smo jo ustvarili prej.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (naprava1); fauxmo.addDevice (naprava2); fauxmo.addDevice (naprava3);
Nato napišite funkcijo za primerjavo naših glasovnih ukazov z vnaprej določenimi imeni naprav. Če se ukaz ujema, pošljite znak serijskim terminalom Arduino s pomočjo Serial.print.
fauxmo.onSetState ((nepodpisan znak_naprave, const char * ime_naprave, stanje bool, nepodpisana vrednost znaka) {if (strcmp (ime_naprave, naprava1) == 0) {if (stanje) Serial.print ("1"); else Serial.print ("2");}}
V funkciji void loop () bo funkcija fauxmo.handle samo preverila vhodne podatke iz Alexa in bo ukrepala s pomočjo funkcije onSetstate () .
void loop () {fauxmo.handle (); }
Zdaj naložite celotno kodo, dano na koncu, v modul ESP-01 in zagotovite uspešen prenos.
Koda Arduino:
Po tem je čas, da naložite kodo v Arduino. Koda za Arduino je zelo preprosta. Prejema samo znake, poslane iz modulov ESP-01, prek svojih terminalov UART in jih primerja, da pošlje signal vklopa / izklopa releju. Celoten program za Arduino je prikazan spodaj:
podatki o znakih; void setup () {Serial.begin (115200); pinMode (7, IZHOD); pinMode (6, IZHOD); pinMode (5, IZHOD); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (podatki); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); sicer if (data == '2') digitalWrite (7, LOW); sicer če (podatki == '3') digitalWrite (6, VISOKO); sicer if (data == '4') digitalWrite (6, LOW); sicer če (podatki == '5') digitalWrite (5, VISOKO); sicer if (data == '6') digitalWrite (5, LOW); }}
Po uspešnem nalaganju kodo v Arduino, nato povežite strojno opremo v skladu s spodnjimi shemami.
Shema vezja
Shema vezja za avtomatizacijo domov z uporabo Alexa je prikazana spodaj:
Tu smo vse komponente prilepili na Perfboard, tako da deluje kot Arduino ščit.
Podobno smo na Perfboard zgradili tudi relejni modul:
Namestite aplikacijo Amazon Alexa za avtomatizacijo doma
Po uspešnem zaključku namestitve in kodiranja strojne opreme je zdaj čas, da nastavite aplikacijo Alexa za Android. Najprej moramo s to aplikacijo poiskati pametne naprave v bližini. Če želite to narediti, vklopite svojo napravo Alexa, nato odprite aplikacijo Alexa in kliknite možnost » Naprave « in nato kliknite znak »+«, ki vas prosi, da » Dodaj napravo «. Nato kliknite » Dodaj napravo «, v vrsti naprave kliknite » drugo « in nato izberite odkrivanje naprav. Nato naj vaša aplikacija Alexa poišče napravo, kar lahko traja do 45 sekund.
Opomba: Naprave lahko odkrijemo tudi z glasovnim ukazom » Alexa, odkrij naprave «
Po zaključku odkrivanja naprav bi morali dobiti tri nove naprave z imenom, ki smo ga navedli v kodi. V mojem primeru so to spalnica svetlobe , spalnica ventilator, in pametna vtičnica . Zdaj je namestitev pripravljena za testiranje, samo preskusite z besedo » Alexa, vklopi luč v spalnici « in vrnila bi vaše povratne informacije z besedo »V redu«, lučka pa bi se morala vklopiti. Podobno lahko preizkusimo tudi vse ostale ukaze.
Tako bo videti celotna nastavitev gospodinjskih aparatov, ki jih nadzoruje Amazon Echo:
Popolna koda za ESP-01 z demonstracijskim videoposnetkom je navedena spodaj.