WLAN Arduino tinkle - prijunkite ESP8266-01 prie Arduino ir nuotoliniu būdu valdykite „NodeMCU Amica“ išmaniuoju telefonu
„Arduino“ yra viena geriausiai žinomų kūrėjų plokščių. Deja, standartiniuose modeliuose nėra įdiegto „Wi-Fi“ lusto. Šis praktinis patarimas parodo, kaip prijungti ESP8266-01 WLAN modulį prie „Arduino“ ir kaip nuotoliniu būdu valdyti „NodeMCU Amica“ išmaniuoju telefonu.
Valdykite „NodeMCU Amica“ išmaniuoju telefonu
„NodeMCU Amica“ turi įvairių kontaktų, taip pat įmontuotą „ESP8266“ „Wi-Fi“ lustą ir „microUSB“ lizdą. Todėl prasminga naudoti įrenginį labiau kaip atskirą įrenginį. Kaip prijungti „klasikinę“ ESP8266 plokštę prie „Arduino“, aprašyta vėliau straipsnyje.
- Kad galėtumėte programuoti ESP lustus, pirmiausia turite atsisiųsti ir įdiegti visų „Silicon Labs“ CP210er lustų tvarkykles. Laimei, tai atsitinka gana greitai.
- Tada atidarykite „Arduino IDE“ ir eikite į „Nustatymai“. Pridėkite URL „//arduino.esp8266.com/stable/package_esp8266com_index.json“ (be kabučių) prie papildomų plokštės administratoriaus URL. Tada paleiskite plokštės administratorių, įveskite „ESP8266“ ir įdiekite paketą.
- Taip pat eikite į bibliotekos vadybininką, įveskite „Blynk“ ir įdiekite naujausią versiją. Dabar įdiegti visi reikalingi komponentai.
- Norint valdyti „NodeMCU“ išmaniuoju telefonu, jums reikia „Blynk“ programos. Jei dar to nepadarėte, sukurkite naują paskyrą čia arba prisijunkite naudodami jau esančią. Tada sukurkite naują projektą ir pasirinkite „NodeMCU“ kaip plokštę.
- Turėdami „Arduino IDE“ pavyzdžių kodus, „NodeMCU“ taip pat turėtumėte rasti „Blynk“ (→ „Boards_WiFi“) kodą. Tiesiog įveskite čia savo projekto „Blynk“ žetoną, kuris jums buvo automatiškai išsiųstas el. Paštu. Taip pat įveskite savo SSID ir slaptažodį.
- Norėdami įkelti kodą į plokštę, jūs, žinoma, turite jį pasirinkti skirtuke „Įrankiai“. Mūsų atveju reikėjo pasirinkti „NodeMCU 1.0 (ESP12E modulis)“, 80 MHz dažnį, atminties dydį „4M (3M SPIFFS)“ ir duomenų perdavimo spartą 115200. Tačiau atkreipkite dėmesį, kad informacija gali skirtis priklausomai nuo modelio.
- Tada galite tiesiog įkelti kodą į plokštę ir valdyti naudodami „Blynk“ programą. Čia galite lengvai sukurti įvairius valdiklius ir, pavyzdžiui, mygtuku valdyti šviesos diodą.
Prijunkite „Arduino“ „WiFi“ - ESP8266-01 prie „Arduino“
Toliau norime prisijungti ir naudoti „ESP8266-01“ modulį su „Arduino“.
- Jei pasukate plokštę taip, kad ji būtų nukreipta žemyn auksine antena, viršutiniame kairiajame kampe galite rasti VCC kaištį, kuris, be abejo, turi būti nustatytas AUKŠTAI. Dešinėje yra RST kaištis, kurio paprastai nereikia naudoti. Šalia jo esantis „CH_PD“ kaištis taip pat turi būti vėl nustatytas į AUKŠTĄ. Viršuje dešinėje yra TXD kaištis, kuris perduoda signalus, o apačioje kairėje yra RXD smeigtukas, kuris, žinoma, priima signalus. Mes taip pat turime GPIO0 ir GPIO2, taip pat klasikinį įžeminimo kaištį, kuris yra apačioje dešinėje.
- Norint naudotis moduliu Arduino, prasminga naudoti „SoftwareSerial“, nes „HardwareSerial“ dažniausiai naudojama „Arduino“ ir kompiuterio ryšiams palaikyti. Tačiau mūsų atveju modulis naudoja 115200 kaip duomenų perdavimo spartą, o tai reiškia, kad komunikacija tarp ESP ir „Arduino“ per „SoftwareSerial“ neįmanoma.
- Norėdami pakeisti duomenų perdavimo spartą, daugelis vartotojų tiesiog mirksi naująją programinę-aparatinę įrangą, kuri teikia kitokį duomenų perdavimo spartą. Tačiau tai nėra būtina, nes duomenų perdavimo spartą taip pat galima pakeisti naudojant komandą. Ši komanda yra „AT + UART_DEF“. Taip pat internete galima rasti kitų komandų, tokių kaip „AT + IPR“ arba „AT + CIOBAUD“, tačiau tai nepatartina, nes ypač „AT + IPR“ taip pat gali sugadinti modulį.
- Norint nusiųsti komandą į modulį, rekomenduojama ją prijungti prie kompiuterio naudojant USB adapterį, kuris dažniausiai tiekiamas nemokamai arba kurį internete galima rasti už maždaug vieną eurą. Jei neturite USB adapterio, galite jį užsisakyti internetu, o tai labai rekomenduojama, arba naudoti universalųjį FTDI adapterį, kuris yra gana sudėtingas ir dažnai netinkamai veikia. Arba yra kitas variantas, kuris bus paaiškintas vėliau.
- Jei prijungėte modulį su adapteriu prie kompiuterio, galite nusiųsti komandą „AT + UART_DEF = 9600, 8, 1, 0, 0“ su duomenų perdavimo sparta 115200 ir CR + LF. Tada galite iš naujo prijungti modulį ir siųsti komandas naudodamiesi 9600 perdavimo sparta.
- Kitas turite užprogramuoti Arduino. Kodas yra gana paprastas. Pirmiausia mes apibrėžiame tuščią eilutę su komanda »String s =" ";«, importuojame „SoftwareSerial“ (»#include«) ir sukuriame naują „SoftwareSerial“ objektą (»SoftwareSerial Serial_ESP (2, 3);«). Sąrankos metodu pradedamas ryšys su ESP (»Serial_ESP.begin (9600);«) ir prie kompiuterio (»Serial.begin (9600);«). Jei ESP siunčia signalą, tai pridedama prie eilutės, o tada eilutė išvedama į nuoseklųjį monitorių (»o (Serial_ESP.avable ()> 0) {s + = (char) Serial_ESP.read ();}} if (s) ! = "") {Serial.println (s); s = "";} «). Atvirkščiai, serijinio monitoriaus, t. Y. Asmeninio kompiuterio, siunčiami signalai taip pat perduodami ESP („tuo tarpu (Serial.avable ()> 0) {Serial_ESP.write (Serial.read ());}“). Tačiau labai svarbu, kad visa tai būtų paversta char, nes ESP siunčia numerius atgal. Kodą taip pat vėl galite rasti paveikslėlių galerijoje, esančioje straipsnio pabaigoje.
- Įkėlę kodą į „Arduino“, turite prijungti ESP. Dėmesio! ESP naudoja 3, 3 volto, o ne 5 V. 5 V tai visiškai sulaužykite. Kadangi Arduino veikia su 5 V logika, įtampą reikia atitinkamai pakoreguoti.
- Teoriškai galite naudoti įtampos daliklį su rezistoriais, tačiau praktiškai visa tai yra gana netiksli ir gali būti lengvai sutrikdyta. Todėl jums reikia perjungti loginio lygio keitiklį tarp Arduino ir ESP.
- Prijunkite „Arduino“ 5 V kontaktą prie aukštos įtampos, t. Y. Aukštos įtampos kaiščio ant keitiklio, ir keitiklio LV įtampą, prie ESP VCC. Taip pat prijunkite LV kištuką lygiagrečiai su ESP CH_PD kaiščiu, kad lustas taip pat būtų įjungtas. Be to, norėdami gauti pakankamai srovės, turėtumėte prijungti 3, 3 V Arduino kontaktą prie keitiklio LV kontaktą, taigi prie ESP VCC ir CH_PD. Dabar prijunkite TX kontaktą iš „SoftwareSerial“ - mūsų atveju 3 kaištį „Arduino“ - su HV 1, 2, 3 arba 4, o priešingą LV kontaktą su RXD kaiščiu ESP. Pakartokite šį veiksmą ir su Arduino RX kaiščiu.
- Galiausiai turite prijungti žemę. Norėdami tai padaryti, prijunkite Arduino žemę prie žemės, esančios konverterio HV pusėje. Tada žemę LV pusėje prijunkite prie ESP žemės. Galiausiai turite prijungti aukštos įtampos ir LV žemę.
- Dabar galite lengvai siųsti AT komandas naudodamiesi savo kompiuteriu į ESP per „Arduino“. Galite lengvai prijungti „Arduino“ prie savo „WiFi“, susikurti interneto serverį ir dar daugiau. Tiesiog pridėkite atitinkamas AT komandas prie „Arduino“ kodo (nustatymo metode), kurie turi būti siunčiami ESP, kurį taip pat galite rasti „AT instrukcijų rinkinyje“.
- Jei neturite paruošto USB adapterio, taip pat galite nusiųsti komandą pakeisti duomenų perdavimo spartą per „HardwareSerial“, naudodami tą pačią grandinę, naudodami „Arduino“ TX ir RX kaiščius, t. Y. 0 ir 1. Tačiau nepamirškite atitinkamai sureguliuoti duomenų perdavimo spartos.
Kitame praktiniame patarime pateiksime įvadą į „Java“ programavimo kalbą.