- Ce este programarea OTA?
- ESP8266 NodeMCU
- Componente necesare
- Pregătirea NodeMCU pentru a primi actualizarea OTA fără fir
- ESP8266 Program LED intermitent pentru transfer OTA
- Clipește LED-ul pe ESP8266 prin actualizarea OTA
Ce este programarea OTA?
Programarea OTA (Over the Air) este un proces care permite dispozitivelor să-și actualizeze fără fir firmware-ul sau software-ul fără acces fizic. Folosește tehnologie wireless, cum ar fi Wi-Fi, Bluetooth, GPRS sau 4G / 3G, mai degrabă decât comunicații seriale prin cablu. OTA este folosit pentru reprogramarea dispozitivelor precum microcontrolere, telefoane mobile, computere, set-top box etc. Actualizările OTA sunt trimise în general pentru actualizarea software-ului, rezolvarea erorilor, adăugarea unor caracteristici etc. Odată cu utilizarea tot mai mare a dispozitivelor IoT, OTA este transferat folosind benzi de frecvență cu o rată de transmisie a datelor redusă (868 MHz, 900 MHz, 2400 MHz).
Aici, în acest tutorial, vom trimite actualizarea OTA către ESP8266 NodeMCU pentru a clipi un LED.
ESP8266 NodeMCU
NodeMCU este o platformă IoT open source. Acesta include firmware care rulează pe SoC Wi-Fi cu cost redus ESP8266 Wi-Fi SoC de la Espressif Systems și hardware care se bazează pe modulul ESP-12. Are pini GPIO, SPI, I2C, ADC, PWM și UART. Poate fi programat cu Arduino IDE. La bord, NodeMCU are CP2102 IC care oferă funcționalitate USB către TTL. Pentru a afla mai multe despre ESP8266, verificați alte proiecte bazate pe ESP8266.
Componente necesare
- NodeMCU ESP8266
- Cablu micro USB
- IDE Arduino
Pregătirea NodeMCU pentru a primi actualizarea OTA fără fir
Mai întâi conectați NodeMCU ESP8266 la computer utilizând un cablu micro USB. Apoi, pentru a încărca firmware-ul utilizând OTA, trebuie să încărcăm schița în serie folosind micro USB pentru a genera adresa IP ESP. Acesta este pasul necesar pentru a încărca firmware-ul fără fir data viitoare. Selectați portul serial la care este atașat cablul din Instrumente -> Port .
ESP8266 vine cu biblioteci și exemple care pot fi accesate direct din Arduino IDE. Deschideți Arduino IDE și apoi Deschideți exemplul BasicOTA.
Editați schița prin înlocuirea „your-ssid” și „your-password” cu SSID și parolă Wi-Fi și apoi încărcați schița
Deschideți monitorul serial după încărcarea cu succes a programului. Setați Baud Rate de 115200 pe Serial Monitor și apăsați butonul Reset pe NodeMCU ESP8266. Conectarea NodeMCU ESP8266 cu Wi-Fi durează ceva timp, deoarece verifică acreditările Wi-Fi. Dacă SSID-ul și parola sunt corecte, atunci NodeMCU ESP8266 se va conecta la Wi-Fi și adresa IP a ESP-ului va fi afișată pe monitorul serial.
ESP8266 Program LED intermitent pentru transfer OTA
Codul complet pentru transferul programului LED intermitent prin OTA este dat la sfârșit, aici explicăm o parte importantă a codului.
Importul bibliotecilor necesare este primul pas în scrierea codului. Biblioteca ESP8266WiFi.h oferă rutine Wi-Fi specifice ESP8266 necesare pentru conectarea la o rețea. De asemenea, oferă metode și proprietăți pentru a opera ESP8266 în modul stație sau în modul de acces ușor. ESP8266mDNS.h permite schiței să răspundă la interogări DNS multicast.
#include
Definiți variabilele pentru SSID și parola rețelei Wi-Fi la care trebuie conectat ESP. Trebuie să ne conectăm computerul și ESP-ul la aceeași rețea Wi-Fi.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * parola = STAPSK;
ESP8266 este setat ca mod de stație și conexiunea Wi-Fi este inițiată prin acordarea de acreditări. Este nevoie de ceva timp până când ESP se conectează la modulul Wi-Fi. Dacă SSID și parola sunt corecte, se conectează la Wi-Fi și dacă SSID și parola nu sunt corecte, atunci se va reporni în fiecare 1 secundă.
Serial.begin (115200); // Setați Baud Rate la 115200 Serial.println ("Pornire"); // Pas pentru a conecta ESP cu modul Wi-Fi WiFi.mode (WIFI_STA); // Setați ESP ca mod de stație WiFi.begin (ssid, parolă); // Date de conectare Wi-Fi în timp ce (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Conectarea ESP la wi-fi durează ceva timp, așa că așteptați până când se conectează { Serial.println ("Conexiunea nu a reușit! Repornirea…"); întârziere (1000); ESP.restart (); }
Adresa IP a ESP-ului este tipărită pe monitorul serial ca conectare la modulul Wi-Fi. WiFi.localIP () oferă adresa IP a ESP.
După încărcarea codului, deschideți cu succes monitorul serial la rata de 115200 Baud. Apăsați butonul de resetare și după câteva secunde veți putea vedea adresa IP ESP pe monitorul serial. Acum veți putea încărca firmware-ul fără fir.
Clipește LED-ul pe ESP8266 prin actualizarea OTA
Înainte de a încărca următoarea schiță, accesați Instrumente și schimbați PORT la adresa IP ESP pentru a încărca firmware-ul fără fir pe NodeMCU.
Acum încărcați schița de mai jos a LED-ului intermitent pe NodeMCU fără fir folosind Arduino IDE și asigurați-vă că PC - ul și ESP - ul dvs. sunt conectate la aceeași rețea Wi-Fi și ESP este alimentat de o sursă de alimentare.
După încărcarea cu succes a codului, LED-ul de pe NodeMCU ESP8266 va începe să clipească la fiecare 1 secundă. De asemenea, puteți seta numele de gazdă și parola în schiță pentru securitate în timp ce încărcați firmware-ul pe ESP.