WLAN Arduinossa - kytke ESP8266-01 Arduinoon ja hallitse NodeMCU Amica kauko-ohjauksella älypuhelimella
Arduino on yksi tunnetuimmista kehittäjätauluista. Valitettavasti standardimalleissa ei ole asennettuna Wi-Fi-sirua. Tämä käytännöllinen vinkki osoittaa, kuinka ESP8266-01 WLAN-moduuli voidaan kytkeä Arduinoon ja kuinka voit hallita NodeMCU Amica -sovellusta etäyhteydellä älypuhelimella.
Hallitse NodeMCU Amicaa älypuhelimellasi
NodeMCU Amica -laitteessa on monenlaisia nastaa, sisäänrakennettu ESP8266-Wi-Fi-siru ja microUSB-pistoke. Siksi on järkevää käyttää laitetta enemmän itsenäisenä laitteena. "Klassisen" ESP8266-kortin kytkeminen Arduinoon kuvataan myöhemmin artikkelissa.
- ESP-sirujen ohjelmoimiseksi sinun on ensin ladattava ja asennettava kaikkien CP210er-piirien ohjaimet Silicon Labsilta. Onneksi tämä tapahtuu suhteellisen nopeasti.
- Avaa sitten Arduino IDE ja siirry kohtaan Asetukset. Lisää URL "//arduino.esp8266.com/stable/package_esp8266com_index.json" (ilman lainausmerkkejä) lisäkortin järjestelmänvalvojan URL-osoitteisiin. Käynnistä sitten paneelin järjestelmänvalvoja, kirjoita "ESP8266" ja asenna paketti.
- Mene myös kirjastonhoitajalle, kirjoita "Blynk" ja asenna uusin versio. Kaikki tarvittavat komponentit on nyt asennettu.
- Tarvitset Blynk-sovelluksen hallitaksesi NodeMCU älypuhelimellasi. Jos et ole jo tehnyt sitä, luo uusi tili täällä tai kirjaudu sisään olemassa olevan kanssa. Luo sitten uusi projekti ja valitse paneeliksi NodeMCU.
- Arduino IDE: n näytekoodien kanssa sinun pitäisi löytää myös koodi Blynk (→ "Boards_WiFi") NodeMCU: sta. Kirjoita tähän vain projektisi Blynk-tunnus, joka sinulle on lähetetty automaattisesti sähköpostitse. Kirjoita myös SSID-tunnuksesi ja salasanasi.
- Jotta koodi voidaan ladata taululle, sinun on tietysti valittava se Työkalut-välilehdestä. Meidän tapauksessamme oli valittava "NodeMCU 1.0 (ESP12E Module)", taajuus 80 MHz, muistikoko "4M (3M SPIFFS)" ja tiedonsiirtonopeus 115200. Huomaa kuitenkin, että tiedot saattavat vaihdella mallista riippuen.
- Voit sitten vain ladata koodin taululle ja hallita sitä Blynk-sovelluksella. Täällä voit helposti luoda erilaisia widgettejä ja hallita esimerkiksi LED-painiketta painikkeella.
Yhdistä WiFi Arduinolla - ESP8266-01 Arduinoon
Seuraavaksi haluamme yhdistää ja käyttää ESP8266-01-moduulia Arduinon kanssa.
- Jos käännät levyä niin, että se osoittaa alas kultaisen antennin kanssa, löydät vasemman yläkulman VCC-nastatapin, joka on tietysti asetettava KORKEAKSI. Oikealla on RST-nasta, jota sinun ei yleensä tarvitse käyttää. Sen vieressä oleva CH_PD-nasta on myös asetettava uudelleen kohtaan KORKEA. Oikeassa yläreunassa on TXD-nasta, joka lähettää signaaleja, ja vasemmassa alakulmassa on RXD-nasta, joka vastaanottaa signaalit, tietenkin. Meillä on myös GPIO0 ja GPIO2 sekä klassinen maadoitustappi, joka sijaitsee oikeassa alakulmassa.
- Jotta moduulia voidaan käyttää Arduinossa, on järkevää käyttää SoftwareSerialia, koska HardwareSerialia käytetään enimmäkseen Arduinon ja PC: n väliseen viestintään. Meidän tapauksessamme moduuli käyttää tiedonsiirtonopeutena kuitenkin 115200, mikä tarkoittaa, että ESP: n ja Arduinon välinen tiedonsiirto SoftwareSerialin kautta ei ole mahdollista.
- Muuttaa tiedonsiirtonopeutta monet käyttäjät yksinkertaisesti vilkkuvat uuden laiteohjelmiston, joka tarjoaa eri tiedonsiirtonopeuden. Tämä ei kuitenkaan ole ehdottoman välttämätöntä, koska siirtonopeutta voidaan muuttaa myös komennolla. Tämä komento on "AT + UART_DEF". Muita komentoja, kuten "AT + IPR" tai "AT + CIOBAUD", voi löytää myös Internetistä, mutta tämä ei ole suositeltavaa, koska erityisesti "AT + IPR" voi myös kaataa moduulin.
- Komennon lähettämiseksi moduulille on suositeltavaa kytkeä se tietokoneeseen USB-sovittimella, joka toimitetaan yleensä ilmaiseksi tai joka löytyy Internetistä noin euron hintaan. Jos sinulla ei ole USB-sovitinta, voit joko tilata yhden verkon kautta, mikä on erittäin suositeltavaa, tai käyttää yleistä FTDI-sovitinta, joka on melko monimutkainen ja usein ei toimi kunnolla. Vaihtoehtoisesti on olemassa toinen variantti, joka selitetään myöhemmin.
- Jos olet kytkenyt moduulin sovittimen kanssa tietokoneeseen, voit lähettää komennon "AT + UART_DEF = 9600, 8, 1, 0, 0" tiedonsiirtonopeudella 115200 ja CR + LF. Tämän jälkeen voit kytkeä moduulin uudelleen ja lähettää komentoja siirtonopeudella 9600.
- Seuraavaksi sinun on ohjelmoitava Arduino. Koodi on suhteellisen yksinkertainen. Ensin määritetään tyhjä merkkijono komennolla »String s =" ";«, tuoda SoftwareSerial (»#include«) ja luoda uusi SoftwareSerial -objekti (»SoftwareSerial Serial_ESP (2, 3);«). Asennusmenetelmässä yhteys ESP: hen (»Serial_ESP.begin (9600);«) ja yhteys tietokoneeseen (»Serial.begin (9600);«) aloitetaan. Jos ESP lähettää signaalin, tämä lisätään merkkijonoon ja merkkijono tulostetaan sitten sarjamonitorissa (»kun taas (Serial_ESP.availa ()> 0)) {s + = (char) Serial_ESP.read ();}} if (s ! = "") {Serial.println (s); s = "";} «). Sitä vastoin sarjamonitorin, eli PC: n, lähettämät signaalit välitetään myös ESP: lle ("kun (Serial.avable ()> 0) {Serial_ESP.write (Serial.read ());}"). On kuitenkin erittäin tärkeää, että koko asia muutetaan chariksi, koska ESP lähettää numerot takaisin. Voit myös löytää koodin uudelleen artikkelin lopussa olevasta kuvagalleriasta.
- Kun olet ladannut koodin Arduinoon, sinun on kytkettävä ESP. Varoitus! ESP käyttää 3, 3 volttia 5 V: n sijasta. 5 V katkaisee tämän kokonaan. Koska Arduino toimii kuitenkin 5 V: n logiikalla, jännitettä täytyy säätää vastaavasti.
- Teoriassa voit käyttää jännitteenjakajaa vastuksien kanssa, mutta käytännössä koko asia on melko epätarkka ja se voidaan helposti häiritä. Siksi sinun on vaihdettava loogisen tason muunnin Arduinon ja ESP: n välillä.
- Kytke Arduinon 5 V: n napa suurjännitteeseen, ts. Muuntimen korkeajännitteinen nasta, ja muuntimen LV: n napa ESP: n VCC-nastaan. Kytke myös LV-tappi samansuuntaisesti ESP: n CH_PD-tappiin siten, että siru kytketään myös päälle. Lisäksi, jotta saadaan riittävästi virtaa, sinun tulisi kytkeä Arduinon 3, 3 V: n nasta muuntimen LV-nastaan, siten ESP: n VCC: hen ja CH_PD: hen. Kytke nyt TXS-nasta SoftwareSerialista - tässä tapauksessa Arduinon nasta 3 - HV 1, 2, 3 tai 4 ja vastakkainen LV-nasta ESP: n RXD-nastalla. Toista tämä vaihe myös Arduinon RX-nastalle.
- Lopuksi sinun on kytkettävä maa. Yhdistä Arduinon maa maahan muuntimen HV-puolella. Kytke sitten LV-puolella oleva maa ESP: n maahan. Lopuksi sinun on kytkettävä korkeajännite- ja LV-maa.
- Nyt voit lähettää AT-komentoja tietokoneellasi helposti ESP: lle Arduinon kautta. Voit helposti yhdistää Arduinon langattomaan verkkoosi, luoda web-palvelimen ja paljon muuta. Lisää vain vastaavat AT-komennot Arduino-koodiin (asennusmenetelmässä), jotka lähetetään ESP: lle, joka löytyy myös "AT-käskyjoukosta".
- Jos sinulla ei ole USB-sovitinta valmiina, voit lähettää myös komennon siirtonopeuden muuttamiseksi HardwareSerialin kautta samalla piirillä käyttämällä Arduinon TX- ja RX-nastaa, ts. 0 ja 1. Muista kuitenkin säätää koodin siirtonopeutta vastaavasti.
Seuraavassa käytännössä annamme sinulle johdannon Java-ohjelmointikieleen.