- Naudoti aparatūros komponentai:
- ESP-01 modulio programavimas naudojant CP2102 USB-TTL keitiklį:
- ESP-01 prijungimas su CP2102 moduliu:
- „Alexa“ namų automatikos modulio ESP-01 programavimas
- Grandinės schema
- Nustatykite „Amazon Alexa“ programą namų automatizavimui
Tokie išmanieji garsiakalbiai, kaip „Amazon Echo“ ar „Google home“, vis labiau populiarėja ir dabar gali integruoti pasirinktinius įgūdžius ar veiksmus, kad valdytų bet kokį prietaisą naudodami tuos „Smart“ garsiakalbius. Anksčiau mes sukūrėme savo „Smart“ garsiakalbį naudodami „Raspberry Pi“ ir „Alexa“, taip pat valdėme buitinę techniką naudodami šį „Raspberry Pi“ išmanųjį garsiakalbį.
Namų automatizavimas tapo labai paplitęs, ir žmonės naudoja internetą, kad automatizuotų viską savo namuose. Šioje pamokoje mes naudosime „Real Amazon Echo dot“ garsiakalbį ir sukursime individualų įgūdį valdyti kintamosios srovės buitinius prietaisus, tokius kaip žibintai, ventiliatoriai, televizoriai, lizdai, naudojant „Amazon Echo dot“ garsiakalbį. Čia mes naudosime „Arduino UNO“ ir „ESP8266-01 Wi-Fi“ modulį, kad „Echo dot“ garsiakalbį sujungtume su kintamosios srovės prietaisais. Po šios pamokos galėsite valdyti bet kokį prietaisą, nors ir „Alexa“.
Naudoti aparatūros komponentai:
- „Arduino UNO“
- ESP-01 modulis
- „Amazon Alexa“ aido taškas
- CP2102 USB-TTL keitiklis
- Bandomoji Lenta
- 5V relės modulis
- Kintamosios srovės prietaisai
- Džemperiai
ESP-01 modulio programavimas naudojant CP2102 USB-TTL keitiklį:
Čia ESP-01 užprogramuojamas naudojant CP2102 USB-TTL keitiklį; jį taip pat galima užprogramuoti naudojant „Arduino UNO“ plokštę. Mano atveju, aš naudojau CP2102 modulį, o tolesni veiksmai yra paaiškinti toliau.
ESP-01 modulis
ESP8266 ESP-01 yra „Wi-Fi“ modulis, kuris yra labai populiarus kuriant IoT programas, ir jis naudojamas leisti mikrovaldikliams, tokiems kaip „Arduino UNO“, prisijungti prie interneto. Šis modulis yra savarankiška lusto sistema (SOC), kuri gali veikti kaip mažas kompiuteris. Jis ateina su iš anksto įdiegta AT programine aparatine įranga, taigi mes galime ją užprogramuoti naudodami „Arduino IDE“. Norėdami sužinoti daugiau apie „ESP-01 Wi-Fi“ imtuvą ir jo programavimą naudodami „Arduino IDE“, spustelėkite nuorodą.
PIN kodas:
VCC: ESP-01 maitinimo kaištis, kurį galima tiekti su 3.3V DC
GND: ESP-01 įžeminimo atskaitos kaištis
TXD: naudojamas kaip UART siųstuvo kaištis
RXD: naudojamas kaip UART imtuvo kaištis
RESET: Jis naudojamas modulio atstatymui ir yra aktyvus LOW kaištis.
CH_PD: Tai yra lusto įgalinimo kaištis, kuris yra aktyvus HIGH kaištis.
GPIO0: Šis kaištis skirtas dviem tikslams. Viena iš jų yra bendros paskirties įvestis / išvestis, kita - įjungti ESP-01 programavimo režimą
GPIO2: tai bendrosios paskirties įvesties / išvesties kaištis.
ESP-01 prijungimas su CP2102 moduliu:
Žemiau pateiktame paveikslėlyje parodyta CP2102 USB-TTL keitiklio iškabinimo schema. Prijunkite ESP-01 modulį su CP2102 USB-TTL keitiklio moduliu, kaip nurodyta toliau pateiktoje lentelėje.
ESP-01 modulis |
CP2102 modulis |
VCC |
3.3V |
BND |
BND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
ATSTATYTI |
Nėra ryšio |
GPIO0 |
BND |
GPIO2 |
Nėra ryšio |
Sėkmingai užbaigus aukščiau pateiktą ryšį, grandinė turėtų atrodyti maždaug taip:
Tada programavimui prijunkite CP2102 modulį prie mūsų kompiuterio. Prieš įkeldami kodą į ESP-01, pirmiausia patikrinkite, ar nėra ryšio prievado. Tam eikite į start-> ir ieškokite įrenginių tvarkyklės. Tada spustelėkite COM ir Ports. Pagal šią parinktį turėtume gauti COM prievadą su USB-TTL keitiklio pavadinimu, pvz., „ Silicio laboratorijos CP21xx USB-UART tiltas “, kaip parodyta žemiau esančiame paveikslėlyje:
Sėkmingai atlikę pirmiau nurodytus veiksmus, atidarykite „Arduino IDE“ ir meniu „ Įrankiai “ pasirinkite lentą kaip „ Generic ESP8266 Module “ ir pasirinkite COM prievadą, kurį gavome ankstesniame etape.
„Alexa“ namų automatikos modulio ESP-01 programavimas
Pilnas kodas pateikiamas šio projekto pabaigoje. Čia yra laipsniškas kodo, kuris turi būti įkeliamas į ESP-01 modulį, paaiškinimas. Pirmiausia reikia įtraukti visas reikalingas bibliotekas. „FauxmoESP.h“ biblioteką galite atsisiųsti iš nuorodos čia.
# įtraukti # įtraukti
Šiame žingsnyje turime apibrėžti visus kredencialus, kurių reikia norint prijungti ESP-01 su internetu. Programoje atnaujinkite savo tinklo SSID ir slaptažodžio duomenis.
#define SSID "*******" #define pass "*******"
Tada nustatykite įrenginių, kuriuos turime valdyti iš „Alexa“, pavadinimą. Mano atveju mano prietaisų pavadinimai buvo „ miegamojo apšvietimas “, „ miegamojo ventiliatorius “ ir „ išmanusis lizdas “.
#define device1 "miegamojo šviestuvas" #define device2 "miegamojo ventiliatorius" #define device3 "išmanusis lizdas"
Funkcija „ WiFi.mode “ naudojama nustatyti ESP-01 modulį kaip stoties režimą, o funkcija „ WiFi.begin “ naudojama prijungti ESP-01 modulį prie interneto, kurio argumentais laikomas tinklo SSID ir slaptažodis.
„WiFi.mode“ (WIFI_STA); „WiFi.begin“ (ssid, pass);
Kita dalis yra inicijuoti visas „ Fauxmo“ klasės funkcijas, pvz., Sukurti serverį, įjungti „Alexa“ įrenginio prievado numerį, įgalinti įrenginį ir kt. Tada pridėkite visus įrenginius naudodami anksčiau sukurtą fauxmo.addDevice .
fauxmo.createServer (tiesa); fauxmo.setPort (80); fauxmo.galima (tiesa); fauxmo.addDevice (prietaisas1); fauxmo.addDevice (device2); fauxmo.addDevice (device3);
Tada parašykite funkciją, kad palygintume balso komandas su iš anksto nustatytais įrenginių pavadinimais. Jei komanda sutampa, tada nusiųskite simbolį į „Arduino“ serijos terminalus naudodami „ Serial.print“.
fauxmo.onSetState {.print ("2");}}
Be void kilpa () funkcija, fauxmo.handle funkcija tik patikrinti gaunamus duomenis iš Alexa ir jis bus imtis veiksmų naudojant onSetstate () funkciją.
tuštuma kilpa () {fauxmo.handle (); }
Dabar įkelkite visą kodą, pateiktą pabaigoje, į ESP-01 modulį ir užtikrinkite sėkmingą įkėlimą.
„Arduino“ kodas:
Po to atėjo laikas įkelti kodą į „Arduino“. „Arduino“ kodas yra labai paprastas. Jis gauna tik simbolius, siunčiamus iš ESP-01 modulių per savo UART terminalus, ir palygina jį siunčiant įjungimo / išjungimo signalą į relę. Visa „Arduino“ programa rodoma žemiau:
char duomenys; negaliojanti sąranka () {Serial.begin (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 (); Serial.print (duomenys); Serial.print ("\ n"); if (duomenys == '1') digitalWrite (7, HIGH); else if (duomenys == '2') digitalWrite (7, LOW); else if (duomenys == '3') digitalWrite (6, HIGH); else if (duomenys == '4') digitalWrite (6, LOW); else if (duomenys == '5') digitalWrite (5, HIGH); else if (duomenys == '6') digitalWrite (5, LOW); }}
Sėkmingai įkėlus kodą į „Arduino“, „Next“, prijunkite aparatinę įrangą pagal toliau pateiktas schemas.
Grandinės schema
Namų automatikos naudojant „Alexa“ schema parodyta žemiau:
Čia mes sulitavome visus komponentus ant „Perfboard“, kad jis veiktų kaip „Arduino“ skydas.
Panašiai mes taip pat sukūrėme relės modulį ant „Perfboard“:
Nustatykite „Amazon Alexa“ programą namų automatizavimui
Sėkmingai baigus aparatūros sąranką ir kodavimą, atėjo laikas nustatyti „Android“ programą „Alexa“. Pirmiausia per šią programą turime ieškoti bet kokių netoliese esančių išmaniųjų įrenginių. Norėdami tai padaryti, įjunkite „Alexa“ įrenginį, tada atidarykite „Alexa“ programą ir spustelėkite parinktį „ Įrenginiai “, tada spustelėkite „+“ ženklą, kuriame prašoma „ Pridėti įrenginį “. Tada spustelėkite „ Pridėti įrenginį “, įrenginio tipe spustelėkite „ kitas “ ir pasirinkite „Atraskite įrenginius“. Tada „Alexa“ programa turėtų ieškoti įrenginio, kuris gali užtrukti iki 45 sekundžių.
Pastaba: Arba įrenginius galime atrasti ir naudodami balso komandą „ Alexa, löydä įrenginius “
Baigę įrenginio atradimą, turėtumėte gauti 3 naujus įrenginius pagal pavadinimą, kurį nurodėme kode. Mano atveju tai yra miegamojo apšvietimas , miegamojo ventiliatorius ir išmanusis lizdas . Dabar sąranka yra parengta bandymams, tiesiog išbandykite sakydami „ Alexa, įjunkite miegamojo šviesą “ ir ji turėtų grąžinti jūsų atsiliepimą sakant „Gerai“, o lemputė turėtų įsijungti. Panašiai galime išbandyti visas kitas komandas.
Taip atrodys visa „ Amazon Echo“ tašku valdomų buitinių prietaisų sąranka:
Pilnas ESP-01 kodas su demonstraciniu vaizdo įrašu pateiktas žemiau.