- Čo je programovanie OTA?
- ESP8266 NodeMCU
- Súčasti sú povinné
- Príprava NodeMCU na bezdrôtový príjem aktualizácie OTA
- Program ESP8266 blikajúci LED pre prenos OTA
- Blikanie LED na ESP8266 prostredníctvom aktualizácie OTA
Čo je programovanie OTA?
Programovanie OTA (Over the Air) je proces, ktorý umožňuje zariadeniam aktualizovať firmvér alebo softvér bezdrôtovo bez fyzického prístupu. Namiesto káblovej sériovej komunikácie využíva bezdrôtové technológie ako Wi-Fi, Bluetooth, GPRS alebo 4G / 3G. OTA sa používa na preprogramovanie zariadení, ako sú mikrokontroléry, mobilné telefóny, počítače, set-top box atď. OTA aktualizácie sa zvyčajne zasielajú na aktualizáciu softvéru, riešenie chýb, pridanie niektorých funkcií atď. S rastúcim využívaním zariadení IoT sa OTA prenáša pomocou frekvenčné pásma s nízkou rýchlosťou prenosu dát (868 MHz, 900 MHz, 2400 MHz).
Tu v tomto tutoriále pošleme aktualizáciu OTA na ESP8266 NodeMCU, aby sme blikali LED.
ESP8266 NodeMCU
NodeMCU je open source platforma IoT. Zahŕňa firmvér, ktorý beží na lacnom Wi-Fi s podporou Wi-Fi ESP8266 Wi-Fi SoC od spoločnosti Espressif Systems, a hardvér založený na module ESP-12. Má piny GPIO, SPI, I2C, ADC, PWM A UART. Môže byť programovaný pomocou Arduino IDE. Na palube má NodeMCU CP2102 IC, ktorá poskytuje funkcie USB na TTL. Ak sa chcete dozvedieť viac informácií o ESP8266, pozrite si ďalšie projekty založené na ESP8266.
Súčasti sú povinné
- NodeMCU ESP8266
- Kábel micro USB
- Arduino IDE
Príprava NodeMCU na bezdrôtový príjem aktualizácie OTA
Najskôr pripojte NodeMCU ESP8266 k počítaču pomocou kábla micro USB. Potom, aby sme mohli nahrať firmvér pomocou OTA, musíme náčrt nahrať sériovo pomocou micro USB na vygenerovanie adresy IP ESP. Toto je nevyhnutný krok na bezdrôtové nahranie firmvéru. V ponuke Nástroje -> Port vyberte sériový port, ku ktorému je pripojený kábel.
ESP8266 je dodávaný s knižnicami a príkladmi, ku ktorým je priamy prístup z Arduino IDE. Otvorte Arduino IDE a potom príklad Open BasicOTA.
Upravte náčrt nahradením výrazov „your-ssid“ a „your-password“ vaším identifikátorom SSID a heslom Wi-Fi a potom náčrt nahrajte
Po úspešnom načítaní programu otvorte sériový monitor. Nastavte prenosovú rýchlosť 115200 na sériovom monitore a stlačte tlačidlo Reset na NodeMCU ESP8266. Pripojenie NodeMCU ESP8266 k sieti Wi-Fi chvíľu trvá, kým sa skontrolujú poverenia siete Wi-Fi. Ak sú SSID a heslo správne, NodeMCU ESP8266 sa pripojí k Wi-Fi a na sériovom monitore sa zobrazí IP adresa ESP.
Program ESP8266 blikajúci LED pre prenos OTA
Celý kód na prenos blikajúceho LED programu cez OTA je uvedený na konci, tu vysvetľujeme dôležitú časť kódu.
Import potrebných knižníc je prvým krokom pri písaní kódu. Knižnica ESP8266WiFi.h poskytuje špecifické Wi-Fi rutiny potrebné pre pripojenie k sieti pre ESP8266. Poskytuje tiež metódy a vlastnosti na obsluhu ESP8266 v staničnom režime alebo v režime mäkkého prístupového bodu. ESP8266mDNS.h umožňuje aplikácii Sketch odpovedať na dotazy DNS s multicastovým vysielaním.
#include
Definujte premenné pre SSID a heslo siete Wi-Fi, ku ktorej sa má pripojiť ESP. Musíme pripojiť náš počítač a systém ESP k rovnakej sieti Wi-Fi.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * heslo = STAPSK;
ESP8266 je nastavený ako režim stanice a pripojenie Wi-Fi sa iniciuje zadaním poverení. Pripojenie ESP k modulu Wi-Fi trvá nejaký čas. Ak sú SSID a heslo správne, pripojí sa k sieti Wi-Fi a ak SSID a heslo nie sú správne, reštartuje sa každú 1 sekundu.
Serial.begin (115200); // Nastavit prenosovu rychlost na 115200 Serial.println ("bootovanie"); // Krok k spojeniu ESP s Wi-Fi WiFi.mode (WIFI_STA); // Nastaviť ESP ako režim stanice WiFi.begin (ssid, heslo); // Wi-Fi Credentials while (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Pripojenie ESP k wi-fi trvá nejaký čas, takže počkajte, kým sa nepripojí { Serial.println ("Pripojenie zlyhalo! Reštartuje…"); oneskorenie (1 000); ESP.restart (); }
IP adresa ESP je vytlačená na sériovom monitore ako pripojený k Wi-Fi modulu. WiFi.localIP () udáva IP adresu ESP.
Po nahraní kódu úspešne otvorte sériový monitor na prenosovú rýchlosť 115200 baudov. Stlačte tlačidlo reset a po niekoľkých sekundách uvidíte na serveri Serial Monitor adresu IP ESP. Teraz budete môcť nahrať firmvér bezdrôtovo.
Blikanie LED na ESP8266 prostredníctvom aktualizácie OTA
Pred nahraním ďalšieho náčrtu choďte na Nástroje a zmeňte PORT na ESP IP adresu pre bezdrôtové nahranie firmvéru do NodeMCU.
Teraz nahrajte nižšie uvedený náčrt blikajúcej LED na NodeMCU bezdrôtovo pomocou Arduino IDE a uistite sa, že váš počítač a ESP sú pripojené k rovnakej sieti Wi-Fi a ESP je napájaný z nejakého zdroja energie.
Po úspešnom nahraní kódu začne LED na NodeMCU ESP8266 blikať každú 1 sekundu. Môžete tiež nastaviť meno hostiteľa a heslo v náčrte kvôli zabezpečeniu pri nahrávaní firmvéru na ESP.