WLAN Arduinos - ühendage ESP8266-01 Arduinoga ja kontrollige NodeMCU Amica kaugjuhtimisega nutitelefoniga
Arduino on üks tuntumaid arendajaplaate. Kahjuks pole standardmudelites WiFi-kiipi installitud. See praktiline näpunäide näitab teile, kuidas ühendada ESP8266-01 WLAN-moodul Arduinoga ja kuidas saate NodeMCU Amica kaugjuhtimisega oma nutitelefoniga.
Juhtige oma nutitelefoniga NodeMCU Amica
NodeMCU Amica-l on mitmesuguseid tihvte, samuti sisseehitatud ESP8266 WiFi-kiip ja microUSB-pesa. Seetõttu on mõistlik seadet rohkem kasutada iseseisva seadmena. "Klassikalise" ESP8266 tahvli ühendamiseks Arduinoga kirjeldatakse artiklis hiljem.
- ESP-kiipide programmeerimiseks peate kõigepealt alla laadima ja installima kõigi Silicon Labsi CP210eri kiipide draiverid. Õnneks juhtub see suhteliselt kiiresti.
- Seejärel avage Arduino IDE ja minge seadetesse. Lisage tahvli administraatori täiendavatele URL-idele URL "//arduino.esp8266.com/stable/package_esp8266com_index.json" (ilma jutumärkideta). Seejärel alustage tahvli administraatorit, sisestage "ESP8266" ja installige pakett.
- Minge ka raamatukoguhalduri juurde, sisestage "Blynk" ja installige uusim versioon. Kõik vajalikud komponendid on nüüd installitud.
- NodeMCU juhtimiseks oma nutitelefoniga vajate rakendust Blynk. Kui seda pole veel tehtud, looge siin uus konto või logige sisse olemasolevaga. Seejärel looge uus projekt ja valige juhatuseks NodeMCU.
- Arduino IDE näidiskoodidega peaksite NodeMCU-st leidma ka Blynk (→ "Boards_WiFi") koodi. Sisestage siia lihtsalt oma projekti Blynk-tunnus, mis saadeti teile automaatselt e-postiga. Sisestage ka oma SSID ja parool.
- Koodi tahvlile laadimiseks peate selle muidugi vahekaardilt "Tööriistad" valima. Meie puhul tuli valida "NodeMCU 1.0 (ESP12E moodul)", sagedus 80 MHz, mälu suurus "4M (3M SPIFFS)" ja andmeedastuskiirus 115200. Pange aga tähele, et teave võib mudelist olenevalt erineda.
- Seejärel saate koodi lihtsalt tahvlile laadida ja Blynk-rakendusega seda juhtida. Siin saate hõlpsalt erinevaid vidinaid luua ja näiteks nupuga LED-i juhtida.
Ühendage Arduino telefonil ESP8266-01 WiFi ja Arduino
Järgmisena tahame ühendada ja kasutada ESP8266-01 moodulit Arduinoga.
- Kui keerate tahvli nii, et see osutab kuldse antenniga allapoole, võite vasakus ülanurgas leida VCC-tihvti, mis muidugi tuleb seada HIGH-i. Paremal on RST-tihvt, mida te tavaliselt ei pea kasutama. Selle kõrval asuv CH_PD-tihvt tuleb uuesti seada ka kõrgele. Paremas ülanurgas on signaale väljastav TXD-tihvt ja all vasakul RXD-nööpnõel, mis signaale vastu võtab, muidugi. Samuti on meil GPIO0 ja GPIO2, aga ka klassikaline maandusnõel, mis asub paremas alanurgas.
- Mooduli kasutamiseks Arduinos on mõistlik kasutada tarkvaraSerial, kuna HardwareSerialit kasutatakse enamasti Arduino ja arvuti vaheliseks suhtluseks. Meie puhul aga kasutab moodul andmeedastuskiiruseks 115200, mis tähendab, et ESP ja Arduino vaheline suhtlus tarkvaraSeriali kaudu pole võimalik.
- Edastuskiiruse muutmiseks vilguvad paljud kasutajad lihtsalt uut püsivara, mis pakub erinevat edastuskiirust. See pole aga tingimata vajalik, kuna andmeedastuskiirust saab muuta ka käsu abil. See käsk on "AT + UART_DEF". Internetist võib leida ka muid käske, näiteks "AT + IPR" või "AT + CIOBAUD", kuid see pole soovitatav, kuna eriti "AT + IPR" võib moodulit ka krahhida.
- Käskluse saatmiseks moodulile on soovitatav ühendada see arvutiga USB-adapteriga, mida tavaliselt tarnitakse tasuta või mida võib Internetist leida umbes ühe euro eest. Kui teil pole USB-adapterit, võite selle tellida Internetist, mis on väga soovitatav, või kasutada universaalset FTDI-adapterit, mis on üsna keeruline ja sageli ei tööta korralikult. Teise võimalusena on veel üks variant, mida selgitatakse hiljem.
- Kui olete mooduli adapteriga arvutiga ühendanud, võite saata käsu "AT + UART_DEF = 9600, 8, 1, 0, 0" andmeedastuskiirusega 115200 ja CR + LF. Seejärel saate mooduli uuesti ühendada ja saata käske andmeedastuskiirusega 9600.
- Järgmisena peate programmeerima Arduino. Kood on suhteliselt lihtne. Esmalt määratleme tühja stringi käsuga »String s =" ";«, impordi tarkvaraSerial (»#include«) ja loome uue tarkvaraSeriali objekti (»SoftwareSerial Serial_ESP (2, 3);«). Seadistusmeetodi korral luuakse ühendus ESP-ga (»Serial_ESP.begin (9600);«) ja ühendus arvutiga (»Serial.begin (9600);«). Kui ESP saadab signaali, lisatakse see stringile ja string väljastatakse seejärel jadamonitoris (»samal ajal (Serial_ESP.avable ()> 0) {s + = (char) Serial_ESP.read ();} if) ( ! = "") {Serial.println (s); s = "";} «). Vastupidiselt jadamonitori, s.o personaalarvuti saadetud signaalid edastatakse ka ESP-le ("samal ajal (Serial.avable ()> 0) {Serial_ESP.write (Serial.read ())})"). Siiski on väga oluline, et kogu asi muudetaks char'iks, kuna ESP saadab numbrid tagasi. Koodi leiate uuesti ka artikli lõpus olevast pildigaleriist.
- Kui olete koodi Arduinosse laadinud, peate ESP-i ühendama. Ettevaatust! ESP kasutab 5 V asemel 3, 3 volti. 5 V murrab selle täielikult. Kuna Arduino töötab 5 V loogikaga, tuleb pinget vastavalt reguleerida.
- Teoreetiliselt võite kasutada takistitega pingejagurit, kuid praktikas on kogu asi üsna ebatäpne ja seda saab kergesti häirida. Seetõttu peate vahetama loogika taseme muunduri Arduino ja ESP vahel.
- Ühendage Arduino 5 V pin pingega, st muunduri kõrgepinge pin ja konverteri LV pin, ESP VCC pingaga. Ühendage ka LV pin paralleelselt ESP CH_PD pin-ga, nii et kiip oleks ka sisse lülitatud. Samuti peaksite piisava voolu saamiseks ühendama Arduino 3, 3 V pinge muunduri LV pingaga, järelikult ESP VCC ja CH_PD. Ühendage nüüd TXS-pistik tarkvaraSerial kaudu - meie puhul Arduino 3. pistik - HV 1, 2, 3 või 4-ga ja vastassuunaline LV-pistik RXD-pistikuga ESP-l. Korrake seda sammu ka Arduino RX-tihvti korral.
- Lõpuks peate maa ühendama. Selleks ühendage Arduino maapind muunduri kõrgepinge küljel asuva maapinnaga. Seejärel ühendage madal LV-küljel maapind ESP-ga. Lõpuks peate ühendama kõrgepinge ja madalpinge maapinna.
- Nüüd saate Arduino kaudu oma arvutiga AT-käske hõlpsalt ESP-le saata. Saate Arduino hõlpsalt oma WiFi-ga ühendada, luua veebiserveri ja palju muud. Lihtsalt lisage vastavad ES-käsud Arduino koodile (seadistusmeetodis), mis tuleb saata ESP-le, mille leiate ka jaotisest "AT-juhiste komplekt".
- Kui teil pole USB-adapterit valmis, võite ka sama vooluahela abil saata käsu ribalaiuse muutmiseks läbi HardwareSeriali, kasutades Arduino TX- ja RX-tihvte, st 0 ja 1. Kuid ärge unustage vastavalt muuta ka andmeedastuskiirust koodis.
Järgmises praktilises näpunäites tutvustame teile Java programmeerimiskeelt.