- Co je programování OTA?
- ESP8266 NodeMCU
- Požadované komponenty
- Příprava NodeMCU na bezdrátový příjem OTA Update
- Program ESP8266 blikající LED pro přenos OTA
- Bliká LED na ESP8266 prostřednictvím aktualizace OTA
Co je programování OTA?
Programování OTA (Over the Air) je proces, který umožňuje zařízením bezdrátově upgradovat firmware nebo software bez fyzického přístupu. Místo kabelové sériové komunikace využívá bezdrátovou technologii, jako je Wi-Fi, Bluetooth, GPRS nebo 4G / 3G. OTA se používá k přeprogramování zařízení, jako jsou mikrokontroléry, mobilní telefony, počítače, set-top box atd. Aktualizace OTA se obvykle zasílají za účelem aktualizace softwaru, řešení chyb, přidání některých funkcí atd. S rostoucím využitím zařízení IoT se OTA přenáší pomocí frekvenční pásma s nízkou rychlostí přenosu dat (868 MHz, 900 MHz, 2400 MHz).
Tady v tomto tutoriálu pošleme aktualizaci OTA na ESP8266 NodeMCU, abychom blikali LED.
ESP8266 NodeMCU
NodeMCU je open source platforma IoT. Obsahuje firmware, který běží na nízkonákladovém Wi-Fi SoC ESP8266 s Wi-Fi SoC od Espressif Systems, a hardware, který je založen na modulu ESP-12. Má piny GPIO, SPI, I2C, ADC, PWM a UART. Může být naprogramován pomocí Arduino IDE. Na desce má NodeMCU CP2102 IC, který poskytuje funkce USB na TTL. Chcete-li se dozvědět více o ESP8266, podívejte se na další projekty založené na ESP8266.
Požadované komponenty
- NodeMCU ESP8266
- Kabel micro USB
- Arduino IDE
Příprava NodeMCU na bezdrátový příjem OTA Update
Nejprve připojte NodeMCU ESP8266 k počítači pomocí kabelu micro USB. Poté, abychom mohli nahrát firmware pomocí OTA, musíme nahrát náčrt sériově pomocí micro USB pro vygenerování IP adresy ESP. Toto je nezbytný krok k bezdrátovému nahrání firmwaru příště. V nabídce Nástroje -> Port vyberte sériový port, ke kterému je kabel připojen.
ESP8266 přichází s knihovnami a příklady, ke kterým lze přímo přistupovat z Arduino IDE. Otevřete Arduino IDE a poté příklad Open BasicOTA.
Upravte náčrt nahrazením „your-ssid“ a „your-password“ vaším Wi-Fi SSID a heslem a poté nahrajte náčrt
Po úspěšném nahrání programu otevřete sériový monitor. Nastavte přenosovou rychlost 115200 na sériovém monitoru a stiskněte tlačítko Reset na NodeMCU ESP8266. Připojení NodeMCU ESP8266 k Wi-Fi nějakou dobu trvá, než se zkontrolují pověření Wi-Fi. Pokud jsou SSID a heslo správné, NodeMCU ESP8266 se připojí k Wi-Fi a IP adresa ESP se zobrazí na sériovém monitoru.
Program ESP8266 blikající LED pro přenos OTA
Na konci je uveden kompletní kód pro přenos blikajícího LED programu přes OTA, zde vysvětlujeme důležitou část kódu.
Prvním krokem při psaní kódu je import požadovaných knihoven. Knihovna ESP8266WiFi.h poskytuje specifické Wi-Fi rutiny ESP8266 potřebné pro připojení k síti. Poskytuje také metody a vlastnosti pro provoz ESP8266 v režimu stanice nebo v režimu měkkého přístupového bodu. ESP8266mDNS.h umožňuje náčrtu reagovat na dotazy vícesměrového vysílání DNS.
#zahrnout
Definujte proměnné pro SSID a heslo sítě Wi-Fi, ke které se má ESP připojit. Musíme připojit náš počítač a ESP ke stejné síti Wi-Fi.
#ifndef STASSID #define STASSID "your- ssid " #define STAPSK "vaše-heslo" #endif const char * ssid = STASSID; const char * heslo = STAPSK;
ESP8266 je nastaven jako režim stanice a připojení Wi-Fi je zahájeno poskytnutím pověření. Připojení ESP k modulu Wi-Fi nějakou dobu trvá. Pokud jsou SSID a heslo správné, připojí se k Wi-Fi a pokud SSID a heslo nejsou správné, restartuje se každou 1 sekundu.
Serial.begin (115200); // Nastavit přenosovou rychlost na 115200 Serial.println ("bootování"); // Krok k připojení ESP k Wi-Fi WiFi.mode (WIFI_STA); // Nastavit ESP jako režim stanice WiFi.begin (ssid, heslo); // Wi-Fi Credentials while (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Připojení ESP k wi-fi nějakou dobu trvá, takže počkejte, než se připojí { Serial.println ("Připojení se nezdařilo! Restart…"); zpoždění (1000); ESP.restart (); }
IP adresa ESP je vytištěna na sériovém monitoru jako připojení k modulu Wi-Fi. WiFi.localIP () udává IP adresu ESP.
Po nahrání kódu úspěšně otevřete sériový monitor s přenosovou rychlostí 115200 baudů. Stiskněte resetovací tlačítko a po několika sekundách uvidíte IP adresu ESP na sériovém monitoru. Nyní budete moci nahrát firmware bezdrátově.
Bliká LED na ESP8266 prostřednictvím aktualizace OTA
Před nahráním dalšího náčrtu přejděte na Nástroje a změňte PORT na ESP IP adresu pro bezdrátové nahrávání firmwaru do NodeMCU.
Nyní nahrajte níže uvedený náčrt blikající LED na NodeMCU bezdrátově pomocí Arduino IDE a ujistěte se, že váš počítač a ESP jsou připojeny ke stejné síti Wi-Fi a ESP je napájen nějakým zdrojem energie.
Po úspěšném nahrání kódu začne LED na NodeMCU ESP8266 blikat každou 1 sekundu. Můžete také nastavit název hostitele a heslo v náčrtu pro zabezpečení při nahrávání firmwaru na ESP.