- Izmantotie aparatūras komponenti:
- ESP-01 moduļa programmēšana, izmantojot CP2102 USB-TTL pārveidotāju:
- ESP-01 savienojums ar CP2102 moduli:
- ESP-01 moduļa programmēšana Alexa mājas automatizācijai
- Shēmas shēma
- Iestatiet Amazon Alexa lietotni mājas automatizācijai
Mūsdienās viedie skaļruņi, piemēram, Amazon Echo vai Google home, kļūst populāri, un abiem ir iespējas integrēt pielāgotas prasmes vai darbības, lai kontrolētu jebkuru ierīci, izmantojot šos viedos skaļruņus. Iepriekš mēs izveidojām savu viedo skaļruni, izmantojot Raspberry Pi un Alexa, kā arī kontrolējām sadzīves tehniku, izmantojot šo Raspberry Pi viedo skaļruni.
Mājas automatizācija mūsdienās ir kļuvusi ļoti izplatīta, un cilvēki izmanto IoT, lai automatizētu visu, kas atrodas viņu mājās. Šajā apmācībā mēs izmantosim Real Amazon Echo dot skaļruni un izveidosim pielāgotas prasmes, lai vadītu maiņstrāvas sadzīves tehniku, piemēram, gaismas, ventilatorus, televizorus, kontaktligzdas, izmantojot Amazon Echo dot Speaker. Šeit mēs izmantosim Arduino UNO un ESP8266-01 Wi-Fi moduli, lai savienotu Echo dot skaļruni ar maiņstrāvas ierīcēm. Pēc šīs apmācības Alexa varēsiet kontrolēt jebkuru ierīci.
Izmantotie aparatūras komponenti:
- Arduino UNO
- ESP-01 modulis
- Amazon Alexa atbalss punkts
- CP2102 USB-TTL pārveidotājs
- Maizes dēlis
- 5V releja modulis
- Maiņstrāvas ierīces
- Džemperi
ESP-01 moduļa programmēšana, izmantojot CP2102 USB-TTL pārveidotāju:
Šeit ESP-01 tiek ieprogrammēts, izmantojot CP2102 USB-TTL pārveidotāju; to var arī ieprogrammēt, izmantojot Arduino UNO dēli. Šeit manā gadījumā esmu izmantojis CP2102 moduli, un soļi, kā to izdarīt, ir paskaidroti tālāk.
ESP-01 modulis
ESP8266 ESP-01 ir Wi-Fi modulis, kas ir ļoti populārs, izstrādājot IoT lietojumprogrammas, un to izmanto, lai ļautu mikrokontrolleriem, piemēram, Arduino UNO, izveidot savienojumu ar internetu. Šis modulis ir autonoma sistēma mikroshēmā (SOC), kas var darboties kā mazs dators. Tas nāk ar iepriekš instalētu AT programmaparatūru, tāpēc mēs to varam programmēt, izmantojot Arduino IDE. Jūs varat uzzināt vairāk par ESP-01 Wi-Fi uztvērēju un tā programmēšanu, izmantojot Arduino IDE, noklikšķinot uz saites.
Piespraudes apraksts:
VCC: ESP-01 strāvas padeves tapa, kuru var piegādāt ar 3,3 V līdzstrāvu
GND: ESP-01 zemes atskaites tapa
TXD: Izmanto kā UART raidītāja tapu
RXD: tiek izmantots kā UART uztvērēja tapa
ATIESTATĪT: To izmanto, lai atiestatītu moduli, un tā ir aktīva LOW tapa.
CH_PD: Tā ir mikroshēmas iespējošanas tapa, kas ir aktīva HIGH tapa.
GPIO0: šai tapai ir divi mērķi. Viens no tiem ir vispārējas nozīmes ievade / izeja, bet otrs ir iespējot ESP-01 programmēšanas režīmu
GPIO2: Šī ir vispārējas nozīmes ievades / izvades tapa.
ESP-01 savienojums ar CP2102 moduli:
Zemāk redzamajā attēlā parādīta CP2102 USB-TTL pārveidotāja pinout diagramma. Savienojiet ESP-01 moduli ar CP2102 USB-TTL pārveidotāja moduli, kā norādīts zemāk esošajā tabulā.
ESP-01 modulis |
CP2102 modulis |
VCC |
3.3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
ATIESTATĪT |
Nav savienojuma |
GPIO0 |
GND |
GPIO2 |
Nav savienojuma |
Pēc veiksmīgas savienojuma pabeigšanas iepriekš minētajai shēmai vajadzētu izskatīties šādi:
Pēc tam programmēšanai pievienojiet CP2102 moduli pie mūsu datora. Pirms koda augšupielādes ESP-01 vispirms pārbaudiet sakaru portu. Lai to izdarītu, dodieties uz sākumu-> un meklējiet ierīces pārvaldnieku. Pēc tam noklikšķiniet uz COM un Ports. Izmantojot šo opciju, mums vajadzētu iegūt COM portu ar USB-TTL pārveidotāja nosaukumu, piemēram, “ Silicon labs CP21xx USB-UART Bridge ”, kā parādīts zemāk esošajā attēlā:
Pēc veiksmīgas iepriekš minēto darbību veikšanas atveriet Arduino IDE un izvēlnē Rīki izvēlieties tāfeli kā “ Generic ESP8266 Module ” un atlasiet COM portu, kuru ieguvām iepriekšējā posmā.
ESP-01 moduļa programmēšana Alexa mājas automatizācijai
Pilns kods ir norādīts šī projekta beigās. Šeit ir pakāpeniski izskaidrots kods, kas augšupielādējams ESP-01 modulī. Vispirms ir jāiekļauj visas nepieciešamās bibliotēkas. Bibliotēku “fauxmoESP.h” varat lejupielādēt no saites šeit.
# iekļaut # iekļaut
Šajā solī mums ir jādefinē visi akreditācijas dati, kas nepieciešami, lai ESP-01 savienotu ar internetu. Programmā atjauniniet tīkla SSID un paroles datus.
#define SSID "*******" #define pass "*******"
Pēc tam definējiet to ierīču nosaukumus, kas mums jāpārvalda no Alexa. Manā gadījumā savu ierīču nosaukumus esmu pieņēmis kā " guļamistabas gaisma ", " guļamistabas ventilators " un " viedā kontaktligzda ".
#define device1 "guļamistabas gaisma" #define device2 "guļamistabas ventilators" #define device3 "viedā kontaktligzda"
Funkcija WiFi.mode tiek izmantota, lai iestatītu ESP-01 moduli kā stacijas režīmu, un funkcija WiFi.begin tiek izmantota, lai savienotu ESP-01 moduli ar internetu, kas kā argumentu ņem tīkla SSID un paroli.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Nākamā daļa ir inicializēt visas Fauxmo klases funkcijas, piemēram, izveidot serveri, iespējot porta numuru Alexa ierīcei, iespējot ierīci utt. Pēc tam pievienojiet visas ierīces, izmantojot fauxmo.addDevice, kuru esam izveidojuši iepriekš.
fauxmo.createServer (patiess); fauxmo.setPort (80); fauxmo.enable (patiess); fauxmo.addDevice (ierīce1); fauxmo.addDevice (ierīce2); fauxmo.addDevice (ierīce3);
Pēc tam uzrakstiet funkciju, lai salīdzinātu mūsu balss komandas ar iepriekš definētiem ierīču nosaukumiem. Ja komanda sakrīt, tad nosūtiet rakstzīmi uz Arduino sērijas termināliem, izmantojot Serial.print.
fauxmo.onSetState ((neparakstīts char device_id, const char * device_name, bool stāvoklis, neparakstīta char vērtība) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); else Serial.print ("2");}}
Ar tukšumu cilpas () funkciju, fauxmo.handle funkcija tikai pārbaudīt ienākošo datus no Alexa, un tā veiks pasākumus, izmantojot onSetstate () funkciju.
void loop () {fauxmo.handle (); }
Tagad augšupielādējiet pilnu kodu, kas norādīts beigās, ESP-01 modulī un nodrošiniet veiksmīgu augšupielādi.
Arduino kods:
Pēc tam ir pienācis laiks augšupielādēt kodu Arduino. Arduino kods ir ļoti vienkāršs. Tas saņem tikai rakstzīmes, kas nosūtītas no ESP-01 moduļiem, izmantojot savus UART terminālus, un salīdzina to, lai nosūtītu ieslēgšanas / izslēgšanas signālu uz releju. Pilnīga Arduino programma ir parādīta zemāk:
char dati; void setup () {Serial.begin (115200); pinMode (7, OUTPUT); pinMode (6, OUTPUT); pinMode (5, OUTPUT); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {if (Seriāls.pieejams ()> 0) {dati = Seriāls.lasījums (); Serial.print (dati); Serial.print ("\ n"); if (dati == '1') digitalWrite (7, HIGH); else if (dati == '2') digitalWrite (7, LOW); else if (dati == '3') digitalWrite (6, HIGH); else if (dati == '4') digitalWrite (6, LOW); else if (dati == '5') digitalWrite (5, HIGH); else if (dati == '6') digitalWrite (5, LOW); }}
Pēc veiksmīgas augšupielādes kods Arduino, Next savienojiet aparatūru saskaņā ar tālāk sniegtajām shēmām.
Shēmas shēma
Mājas automatizācijas shēma, izmantojot Alexa, ir parādīta zemāk:
Šeit mēs esam pielodējuši visus komponentus uz Perfboard tā, lai tas darbotos kā Arduino vairogs.
Līdzīgi mēs esam uzbūvējuši arī releja moduli uz Perfboard:
Iestatiet Amazon Alexa lietotni mājas automatizācijai
Pēc veiksmīgas aparatūras iestatīšanas un kodēšanas pabeigšanas ir pienācis laiks iestatīt Android lietotni Alexa. Pirmkārt, mums ir jāmeklē tuvumā esošās viedierīces, izmantojot šo lietotni. Lai to izdarītu, ieslēdziet savu Alexa ierīci un pēc tam atveriet savu Alexa lietotni, noklikšķiniet uz opcijas “ Devices ” un pēc tam noklikšķiniet uz “+” zīmes, kurā tiek prasīts pievienot ierīci . Pēc tam noklikšķiniet uz “ Pievienot ierīci ”, ierīces tipā noklikšķiniet uz “ cits ” un pēc tam atlasiet Atklājiet ierīces. Tad Alexa lietotnei vajadzētu meklēt ierīci, kas var ilgt līdz 45 sekundēm.
Piezīme. Alternatīvi mēs varam arī atklāt ierīces, izmantojot balss komandu “ Alexa, löydä ierīces ”
Pēc ierīces atklāšanas jums vajadzētu iegūt 3 jaunas ierīces pēc nosaukuma, kuru esam norādījuši kodā. Manā gadījumā tie ir guļamistabas apgaismojums , guļamistabas ventilators un viedā kontaktligzda . Tagad iestatīšana ir gatava pārbaudei, vienkārši pārbaudiet, sakot “ Alexa, Ieslēdziet guļamistabas apgaismojumu ”, un tai jāatgriež jūsu atsauksmes, sakot “Labi”, un gaismai jāiedegas. Līdzīgi mēs varam pārbaudīt visas citas komandas.
Šādi izskatīsies pilnīga Amazon Echo punktu kontrolētu sadzīves tehnikas iestatīšana:
Pilns ESP-01 kods ar demonstrācijas video ir norādīts zemāk.