- Què és la programació OTA?
- ESP8266 NodeMCU
- Components necessaris
- S'està preparant NodeMCU per rebre l'actualització OTA sense fils
- ESP8266 Programa LED intermitent per a la transferència OTA
- Parpelleja el LED de l'ESP8266 mitjançant l'actualització OTA
Què és la programació OTA?
La programació OTA (Over the Air) és un procés que permet als dispositius actualitzar el seu firmware o programari sense fils sense cap accés físic. Utilitza tecnologia sense fils com Wi-Fi, Bluetooth, GPRS o 4G / 3G en lloc de comunicacions serials per cable. OTA s’utilitza per reprogramar dispositius com microcontroladors, telèfons mòbils, ordinadors, set-top box, etc. Les actualitzacions OTA s’envien generalment per actualitzar el programari, resoldre els errors, afegir algunes funcions, etc. Amb l’ús creixent de dispositius IoT, OTA es transfereix mitjançant bandes de freqüència amb una taxa de transmissió de dades baixa (868 MHz, 900 MHz, 2400 MHz).
Aquí, en aquest tutorial, enviarem l’actualització de l’OTA a l’ESP8266 NodeMCU perquè parpellegi un LED.
ESP8266 NodeMCU
NodeMCU és una plataforma IoT de codi obert. Inclou un microprogramari que funciona amb el SoC Wi-Fi ESP8266 habilitat per Wi-Fi d’Espressif Systems, i maquinari basat en el mòdul ESP-12. Té pins GPIO, SPI, I2C, ADC, PWM i UART. Es pot programar amb Arduino IDE. A bord, NodeMCU té un CP2102 IC que proporciona la funcionalitat USB a TTL. Per obtenir més informació sobre ESP8266, consulteu altres projectes basats en ESP8266.

Components necessaris
- NodeMCU ESP8266
- Cable micro USB
- IDE Arduino
S'està preparant NodeMCU per rebre l'actualització OTA sense fils
Primer connecteu el NodeMCU ESP8266 amb l'ordinador mitjançant un cable micro USB. A continuació, per carregar el microprogramari mitjançant OTA, hem de carregar l'esbós en sèrie mitjançant micro USB per generar l'adreça IP ESP. Aquest és el pas necessari per carregar el firmware sense fils la propera vegada. Seleccioneu el port sèrie al qual està connectat el cable des d’ Eines -> Port .
ESP8266 inclou biblioteques i exemples als quals es pot accedir directament des de IDE Arduino. Obriu Arduino IDE i, a continuació, obriu l'exemple BasicOTA.

Editeu l'esbós substituint "your-ssid" i "your-password" pel vostre SSID i contrasenya Wi-Fi i, a continuació, pengeu l'esbós

Obriu el monitor sèrie després de carregar el programa amb èxit. Estableix la velocitat en transmissions de 115200 al monitor sèrie i prem el botó Restableix del NodeMCU ESP8266. La connexió de NodeMCU ESP8266 amb Wi-Fi triga un temps a comprovar les credencials de Wi-Fi. Si el SSID i la contrasenya són correctes, el NodeMCU ESP8266 es connectarà a Wi-Fi i l'adreça IP de l'ESP es mostrarà al monitor sèrie.

ESP8266 Programa LED intermitent per a la transferència OTA
Al final es dóna un codi complet per transferir el programa LED parpellejant a través d’OTA; aquí expliquem algunes parts importants del codi.
La importació de les biblioteques necessàries és el primer pas per escriure el codi. La biblioteca ESP8266WiFi.h proporciona rutines Wi-Fi específiques ESP8266 necessàries per connectar-se a una xarxa. També proporciona mètodes i propietats per operar ESP8266 en mode estació o mode de punt d'accés suau. ESP8266mDNS.h permet que l'esbós respongui a consultes de DNS multidifusió.
#incloure
Definiu les variables per al SSID i la contrasenya de la xarxa Wi-Fi a la qual s’ha de connectar l’ESP. Hem de connectar el nostre PC i ESP a la mateixa xarxa Wi-Fi.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * contrasenya = STAPSK;
L'ESP8266 s'estableix com a mode d'estació i la connexió Wi-Fi s'inicia donant credencials. L’ESP triga un temps a connectar-se al mòdul Wi-Fi. Si l'SSID i la contrasenya són correctes, es connecta a Wi-Fi i, si l'SSID i la contrasenya no són correctes, es reiniciarà cada 1 segon.
Serial.begin (115200); // Estableix la velocitat de transmissió en 115200 Serial.println ("Arrencada"); // Pas per connectar ESP amb el Wi-Fi WiFi.mode (WIFI_STA); // Estableix ESP com a mode d’estació WiFi.begin (ssid, contrasenya); // Credencials de Wi-Fi mentre (WiFi.waitForConnectResult ()! = WL_CONNECTED) // La connexió ESP a wi-fi triga un temps, així que espereu fins que es connecti { Serial.println ("Error de connexió! Reinici…"); retard (1000); ESP.restart (); }
L’adreça IP de l’ESP s’imprimeix al monitor sèrie com a connexió al mòdul Wi-Fi. WiFi.localIP () proporciona l’adreça IP de l’ESP.
Després de carregar el codi, obriu el monitor sèrie amb èxit a la velocitat de transmissió de 115200. Premeu el botó de restabliment i al cap de pocs segons podreu veure l'adreça IP ESP al monitor de sèrie. Ara podreu carregar el firmware sense fils.
Parpelleja el LED de l'ESP8266 mitjançant l'actualització OTA
Abans de carregar el següent esbós, aneu a Eines i canvieu PORT a l'adreça IP ESP per carregar el firmware sense fils al NodeMCU.

Ara carregueu el següent esbós del LED parpellejant a NodeMCU sense fils mitjançant Arduino IDE i assegureu-vos que el vostre PC i ESP estiguin connectats a la mateixa xarxa Wi-Fi i que l'ESP estigui alimentat per una font d'alimentació.
Després de carregar el codi correctament, el LED de NodeMCU ESP8266 començarà a parpellejar cada 1 segon. També podeu definir el nom d’amfitrió i la contrasenya a l’esbós per seguretat mentre pengeu el firmware a l’ESP.

