WLAN az Arduino-n - csatlakoztassa az ESP8266-01-et az Arduino-hoz, és távolról vezérelje a NodeMCU Amica-t okostelefonjával
Az Arduino az egyik legismertebb fejlesztői testület. Sajnos a szokásos modellekben nincs telepítve Wi-Fi chip. Ez a gyakorlati tipp megmutatja, hogyan lehet az ESP8266-01 WLAN modult csatlakoztatni az Arduino-hoz, és hogyan távolról vezérelheti a NodeMCU Amica készüléket okostelefonjával.
Irányítsd a NodeMCU Amica készüléket okostelefonoddal
A NodeMCU Amica különféle érintkezőkkel rendelkezik, valamint beépített ESP8266 Wi-Fi chipet és microUSB aljzatot tartalmaz. Ezért van értelme az eszközt inkább önálló eszközként használni. A "klasszikus" ESP8266 tábla csatlakoztatása az Arduino-hoz a cikk későbbi részében olvasható.
- Az ESP-chipek programozásához először le kell töltenie és telepítenie kell az összes CP210er-chip illesztőprogramját a Silicon Labs-tól. Szerencsére ez viszonylag gyorsan történik.
- Ezután nyissa meg az Arduino IDE-t és lépjen a Beállítások menübe. Adja hozzá a "//arduino.esp8266.com/stable/package_esp8266com_index.json" URL-t (idézőjel nélkül) a további fórum adminisztrátor URL-ekhez. Ezután indítsa el a fórum adminisztrátorát, írja be az "ESP8266" kódot, és telepítse a csomagot.
- Emellett lépjen a könyvtárkezelőhöz, írja be a "Blynk" elemet, és telepítse a legújabb verziót. Az összes szükséges alkatrész telepítve van.
- Szüksége van a Blynk alkalmazásra a NodeMCU vezérléséhez okostelefonjával. Ha még nem tette meg, hozzon létre itt egy új fiókot, vagy jelentkezzen be egy meglévővel. Ezután hozzon létre egy új projektet, és válassza a NodeMCU táblát.
- Az Arduino IDE-ben található mintakódokkal a NodeMCU-n is megtalálnia kell a Blynk (→ "Boards_WiFi") kódját. Egyszerűen írja ide a projekt Blynk-tokent, amelyet automatikusan e-mailben küldött el. Írja be az SSID-jét és a jelszavát is.
- Annak érdekében, hogy betöltse a kódot a táblára, természetesen ki kell választania azt az "Eszközök" fülről. Esetünkben a "NodeMCU 1.0 (ESP12E Module)" -et kell kiválasztani, a 80 MHz-es frekvenciát, a "4M (3M SPIFFS)" memória méretét és az 115200 adatátviteli sebességet. Felhívjuk azonban figyelmét, hogy az információ a modelltől függően eltérő lehet.
- Ezután egyszerűen betölti a kódot a táblára, és vezérelheti a Blynk alkalmazás segítségével. Itt könnyen készíthet különféle kütyüket, és például egy LED-et egy gombnyomással vezérelhet.
Csatlakoztassa a WiFi-t az Arduino-n - ESP8266-01 az Arduino-hoz
Ezután csatlakozni szeretnénk az ESP8266-01 modulhoz az Arduino-val.
- Ha elfordítja a táblát úgy, hogy az az arany antennával lefelé mutatjon, a bal felső sarokban található a VCC-tű, amelyet természetesen HIGH-ra kell állítani. Jobbra van az RST tű, amelyet általában nem kell használni. A mellette lévő CH_PD tűt ismét HIGH értékre kell állítani. Jobb felső sarokban van a jeleket kiadó TXD tű, a bal alsó részben természetesen egy RXD tű, amely a jeleket veszi. Rendelkezésünkre áll a GPIO0 és a GPIO2, valamint a klasszikus földtüske is, amely a jobb alsó sarokban található.
- Annak érdekében, hogy a modult az Arduinón használhassuk, érdemes használni a SoftwareSerial-t, mivel a HardwareSerial-t leginkább az Arduino és a PC közötti kommunikációra használják. Esetünkben azonban a modul adatátviteli sebességként 115200-at használ, ami azt jelenti, hogy az ESP és az Arduino közötti kommunikáció a SoftwareSerialon keresztül nem lehetséges.
- Az átviteli sebesség megváltoztatásához sok felhasználó egyszerűen villog az új firmware-ről, amely eltérő átviteli sebességet biztosít. Ez azonban nem feltétlenül szükséges, mivel az adatátviteli sebesség parancs segítségével is megváltoztatható. Ez a parancs "AT + UART_DEF". Más parancsok, mint például az "AT + IPR" vagy az "AT + CIOBAUD", szintén megtalálhatók az interneten, de ez nem ajánlott, mivel különösen az "AT + IPR" is összeomolhat a modulon.
- A parancsnak a modulhoz történő elküldéséhez javasoljuk, hogy csatlakoztassa a számítógéphez egy USB adapterrel, amelyet általában ingyen kapnak, vagy kb. Egy euróban megtalálhatók az interneten. Ha nincs USB-adapter, akkor online is megrendelhet, ami rendkívül ajánlott, vagy használhat egy univerzális FTDI-adaptert, amely meglehetősen bonyolult és gyakran nem működik megfelelően. Alternatív megoldásként létezik egy másik változat, amelyet később ismertetünk.
- Ha a modult az adapterrel csatlakoztatta a számítógéphez, akkor elküldheti az "AT + UART_DEF = 9600, 8, 1, 0, 0" parancsot 115200 és CR + LF adatátviteli sebességgel. Ezután újracsatlakoztathatja a modult, és parancsokat küldhet a 9600 adatátviteli sebességgel.
- Ezután be kell programoznia az Arduino-t. A kód viszonylag egyszerű. Először egy üres karakterláncot határozunk meg a »String s =" ";« paranccsal, importáljuk a SoftwareSerial-t (»#include«), és létrehozunk egy új SoftwareSerial objektumot (»SoftwareSerial Serial_ESP (2, 3);«). A beállítási módszernél elindul a kapcsolat az ESP-vel (»Serial_ESP.begin (9600);«) és a PC-vel (»Serial.begin (9600);«). Ha az ESP jelet küld, akkor hozzáadódik a karakterlánchoz, majd a karakterlánc kimenetre kerül a soros monitoron (»míg (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();}} if (s) ! = "") {Serial.println (s); s = "";} «). Ezzel szemben a soros monitor, azaz a PC által küldött jelek továbbadódnak az ESP-re ("míg (Serial.avable ()> 0) {Serial_ESP.write (Serial.read ());}"). Nagyon fontos azonban, hogy az egészet átalakítsuk charré, mivel az ESP számokat küld vissza. A kódot a cikk végén található képtárban is megtalálja.
- Miután betöltötte a kódot az Arduino-ba, csatlakoztatnia kell az ESP-t. Vigyázat! Az ESP 5, 3 helyett 3, 3 voltot használ. Az 5 V-ot ez teljesen megszakítja. Mivel az Arduino 5 V logikával működik, a feszültséget ennek megfelelően kell beállítani.
- Elméletileg használhat feszültségválasztót ellenállásokkal, de a gyakorlatban az egész elég pontatlan és könnyen megzavarható. Ezért ki kell váltania egy logikai szint konvertert az Arduino és az ESP között.
- Csatlakoztassa az Arduino 5 V-os csapját a HV-hez, azaz a konverter nagyfeszültségű érintkezőjét és a konverter LV feszültségét az ESP VCC érintkezőjéhez. Csatlakoztassa az LV-érintkezőt párhuzamosan az ESP CH_PD-tűjével, hogy a chip szintén be legyen kapcsolva. Ezenkívül ahhoz, hogy elegendő áramot kapjon, csatlakoztassa az Arduino 3, 3 V-os érintkezőjét a konverter LV-érintkezőjéhez, következésképpen az ESP VCC-jéhez és CH_PD-jéhez. Csatlakoztassa a TXS-t a SoftwareSerial-tól - esetünkben az Arduino-nál a 3. tűt - a HV 1, 2, 3 vagy 4-rel és az ellenkező LV-érintkezőt az ESP RXD-csatlakozójával. Ismételje meg ezt a lépést az Arduino RX érintkezőjével is.
- Végül össze kell kötni a földet. Ehhez csatlakoztassa az Arduino talaját a konverter nagyfeszültségű oldalán lévő földdel. Ezután csatlakoztassa az LV oldalán lévő földet az ESP földjéhez. Végül össze kell kötni a nagyfeszültségű földelést és az LV földelést.
- Most már könnyedén küldhet AT parancsokat a számítógépével az ESP-hez az Arduino-n keresztül. Könnyen csatlakoztathatja az Arduino készüléket a WiFi-hez, létrehozhat webszervert és még sok minden mást. Egyszerűen add hozzá a megfelelő AT parancsokat az ESP-hez elküldendő Arduino kódhoz (a beállítási módszerben), amelyeket az "AT utasításkészlet" -ben is megtalálhat.
- Ha még nincs kész USB-adapterére, akkor küldje el az adatátviteli sebesség megváltoztatásának parancsát a HardwareSerialon keresztül ugyanazon áramkör segítségével, az Arduino TX és RX érintkezőivel, azaz 0 és 1. Ne felejtse el azonban ennek megfelelően beállítani az átviteli sebességet a kódban.
A következő gyakorlati tippben bevezetünk a Java programozási nyelvbe.