WLAN na Arduinu - připojte ESP8266-01 k Arduinu a ovládejte NodeMCU Amica vzdáleně pomocí smartphonu
Arduino je jednou z nejznámějších vývojových desek. Standardní modely bohužel nemají nainstalovaný čip Wi-Fi. Tento praktický tip vám ukáže, jak připojit modul ESP8266-01 WLAN k Arduino a jak můžete dálkově ovládat NodeMCU Amica pomocí smartphonu.
Ovládání NodeMCU Amica pomocí smartphonu
NodeMCU Amica má řadu pinů, vestavěný čip Wi-Fi ESP8266 a zásuvku microUSB. Proto má smysl používat zařízení více jako samostatné zařízení. Jak připojit „klasickou“ desku ESP8266 k Arduinu je popsáno dále v článku.
- Abyste mohli programovat ESP čipy, musíte si nejprve stáhnout a nainstalovat ovladače pro všechny čipy CP210er od Silicon Labs. Naštěstí se to stává relativně rychle.
- Poté otevřete Arduino IDE a přejděte do Nastavení. Přidejte URL "//arduino.esp8266.com/stable/package_esp8266com_index.json" (bez uvozovek) na další adresy URL administrátora. Poté spusťte správce desky, zadejte "ESP8266" a nainstalujte balíček.
- Také přejděte do správce knihovny, zadejte "Blynk" a nainstalujte nejnovější verzi. Nyní jsou nainstalovány všechny potřebné komponenty.
- K ovládání NodeMCU pomocí smartphonu potřebujete aplikaci Blynk. Pokud jste tak již neučinili, vytvořte si zde nový účet nebo se přihlaste pomocí stávajícího účtu. Poté vytvořte nový projekt a jako desku vyberte NodeMCU.
- S ukázkovými kódy v Arduino IDE byste také měli najít kód pro Blynk (→ „Boards_WiFi“) na NodeMCU. Jednoduše zadejte token Blynk vašeho projektu, který vám byl automaticky zaslán e-mailem. Zadejte také SSID a heslo.
- Aby bylo možné načíst kód na tabuli, musíte ho samozřejmě vybrat na kartě "Nástroje". V našem případě muselo být vybráno „NodeMCU 1.0 (modul ESP12E)“, frekvence 80 MHz, velikost paměti „4M (3M SPIFFS)“ a přenosová rychlost 115200. Mějte však na paměti, že informace se mohou lišit v závislosti na modelu.
- Poté můžete jednoduše načíst kód na tabuli a ovládat jej pomocí aplikace Blynk. Zde můžete snadno vytvářet různé widgety a například ovládat LED pomocí tlačítka.
Připojte WiFi na Arduino - ESP8266-01 k Arduino
Dále chceme připojit a používat modul ESP8266-01 s Arduino.
- Pokud otočíte desku tak, aby směřovala dolů se zlatou anténou, najdete vlevo nahoře kolík VCC, který musí být samozřejmě nastaven na VYSOKÝ. Napravo je RST pin, který obvykle nepotřebujete. Kolík CH_PD vedle něj musí být také znovu nastaven na VYSOKÝ. V pravém horním rohu je pin TXD, který vydává signály, a vlevo dole máme pin RXD, který přijímá signály, samozřejmě. Máme také GPIO0 a GPIO2 a také klasický zemnící kolík, který je umístěn vpravo dole.
- Aby bylo možné modul používat na Arduinu, má smysl používat SoftwareSerial, protože HardwareSerial se většinou používá pro komunikaci mezi Arduino a PC. V našem případě však modul používá jako přenosovou rychlost 115200, což znamená, že komunikace mezi ESP a Arduino přes SoftwareSerial není možná.
- Pro změnu přenosové rychlosti, mnoho uživatelů jednoduše flash nový firmware, který poskytuje jinou přenosovou rychlost. To však není nezbytně nutné, protože přenosovou rychlost lze také změnit pomocí příkazu. Tento příkaz je „AT + UART_DEF“. Na Internetu lze najít i další příkazy, například „AT + IPR“ nebo „AT + CIOBAUD“, což se však nedoporučuje, protože zejména modul „AT + IPR“ může také havarovat.
- Chcete-li příkaz odeslat do modulu, doporučujeme jej připojit k počítači pomocí adaptéru USB, který je obvykle dodáván zdarma nebo jej lze najít na internetu za přibližně jedno euro. Pokud nemáte adaptér USB, můžete si jej objednat online, což je vysoce doporučeno, nebo použít univerzální adaptér FTDI, který je poměrně složitý a často nefunguje správně. Alternativně existuje další varianta, která bude vysvětlena později.
- Pokud jste připojili modul s adaptérem k PC, můžete poslat příkaz "AT + UART_DEF = 9600, 8, 1, 0, 0" s přenosovou rychlostí 115200 a CR + LF. Poté můžete modul znovu připojit a posílat příkazy při přenosové rychlosti 9600.
- Dále musíte naprogramovat Arduino. Kód je relativně jednoduchý. Nejprve definujeme prázdný řetězec příkazem »String s =" ";«, importujeme SoftwareSerial (»#include«) a vytvoříme nový objekt SoftwareSerial (»SoftwareSerial Serial_ESP (2, 3);«). Ve způsobu nastavení je zahájeno připojení k ESP (»Serial_ESP.begin (9600);«) a připojení k PC (»Serial.begin (9600);«). Pokud ESP odešle signál, přidá se to k řetězci a řetězec se pak vydá na sériový monitor (»while (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s ! = "") {Serial.println (s); s = "";} «). Naopak signály vysílané sériovým monitorem, tj. PC, jsou také předávány do ESP ("while (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}"). Je však velmi důležité, aby byla celá věc převedena na znak, protože ESP odesílá čísla zpět. Kód můžete také najít v galerii obrázků na konci článku.
- Po načtení kódu do Arduina musíte připojit ESP. Pozor! ESP používá 3, 3 V místo 5 V. 5V to úplně přerušte. Protože však Arduino pracuje s 5V logikou, musí být napětí odpovídajícím způsobem upraveno.
- Teoreticky můžete použít dělič napětí s rezistory, ale v praxi je celá věc docela nepřesná a může být snadno narušena. Proto musíte přepnout převodník logické úrovně mezi Arduino a ESP.
- Připojte 5V pin Arduino k HV, tj. Vysokonapěťový pin na převodníku, a LV pin převodníku na VCC pin ESP. Připojte také LV pin paralelně s CH_PD pinem ESP tak, aby byl čip také zapnutý. Také, abyste získali dostatek proudu, měli byste připojit 3.3V pin Arduino k LV pin převodníku, tedy následně k VCC a CH_PD ESP. Nyní připojte kolík TX ze softwaru SoftwareSerial - v našem případě kolík 3 na Arduino - s HV 1, 2, 3 nebo 4 a protější LV kolík s kolíkem RXD na ESP. Tento krok opakujte také pro RX pin Arduino.
- Nakonec musíte připojit zem. Chcete-li to provést, připojte zem Arduino k zemi na straně HV převodníku. Poté připojte zem na straně NN k zemi ESP. Nakonec musíte propojit VN a VN zem.
- Nyní můžete snadno odesílat AT příkazy z vašeho PC do ESP prostřednictvím Arduino. Arduino můžete snadno připojit k WiFi, vytvořit webový server a mnohem více. Jednoduše přidejte příslušné AT příkazy do Arduino kódu (v metodě nastavení), které mají být zaslány do ESP, které najdete také v "AT Instruction Set".
- Pokud nemáte USB adaptér připravený, můžete také poslat příkaz změnit přenosovou rychlost přes HardwareSerial pomocí stejného obvodu, pomocí Arduino TX a RX pinů, tj. 0 a 1. Nezapomeňte odpovídajícím způsobem upravit přenosovou rychlost v kódu.
V dalším praktickém tipu vám představíme programovací jazyk Java.