- Cos'è la programmazione OTA?
- ESP8266 NodeMCU
- Componenti richiesti
- Preparazione di NodeMCU per ricevere l'aggiornamento OTA in modalità wireless
- ESP8266 Programma LED lampeggiante per trasferimento OTA
- Lampeggiante LED su ESP8266 tramite aggiornamento OTA
Cos'è la programmazione OTA?
La programmazione OTA (Over the Air) è un processo che consente ai dispositivi di aggiornare il proprio firmware o software in modalità wireless senza alcun accesso fisico. Utilizza la tecnologia wireless come Wi-Fi, Bluetooth, GPRS o 4G / 3G anziché la comunicazione seriale cablata. OTA viene utilizzato per riprogrammare i dispositivi come microcontrollori, cellulari, computer, set-top box ecc. Gli aggiornamenti OTA vengono generalmente inviati per aggiornare il software, risolvere i bug, aggiungere alcune funzionalità ecc. Con il crescente utilizzo di dispositivi IoT, OTA viene trasferito utilizzando bande di frequenza a bassa velocità di trasmissione dati (868 MHz, 900 MHz, 2400 MHz).
Qui in questo tutorial, invieremo l'aggiornamento OTA a ESP8266 NodeMCU per far lampeggiare un LED.
ESP8266 NodeMCU
NodeMCU è una piattaforma IoT open source. Include firmware che funziona sul SoC Wi-Fi ESP8266 abilitato Wi-Fi a basso costo di Espressif Systems e hardware basato sul modulo ESP-12. Ha pin GPIO, SPI, I2C, ADC, PWM e UART. Può essere programmato con Arduino IDE. A bordo NodeMCU ha IC CP2102 che fornisce funzionalità da USB a TTL. Per saperne di più su ESP8266, controlla altri progetti basati su ESP8266.
Componenti richiesti
- NodeMCU ESP8266
- Cavo micro USB
- IDE Arduino
Preparazione di NodeMCU per ricevere l'aggiornamento OTA in modalità wireless
Collegare prima il NodeMCU ESP8266 al PC utilizzando il cavo micro USB. Quindi, per caricare il firmware utilizzando OTA, dobbiamo caricare lo schizzo in serie utilizzando micro USB per generare l'indirizzo IP ESP. Questo è il passaggio necessario per caricare il firmware in modalità wireless la prossima volta. Selezionare la porta seriale a cui è collegato il cavo da Strumenti -> Porta .
ESP8266 viene fornito con librerie ed esempi a cui è possibile accedere direttamente dall'IDE di Arduino. Apri l'IDE di Arduino e quindi Apri l'esempio di BasicOTA.
Modifica lo schizzo sostituendo "your-ssid" e "your-password" con il tuo SSID Wi-Fi e la password, quindi carica lo schizzo
Aprire il monitor seriale dopo aver caricato correttamente il programma. Impostare la velocità di trasmissione di 115200 su Serial Monitor e premere il pulsante Reset su NodeMCU ESP8266. La connessione di NodeMCU ESP8266 con Wi-Fi richiede del tempo poiché controlla le credenziali Wi-Fi. Se l'SSID e la password sono corretti, NodeMCU ESP8266 verrà connesso al Wi-Fi e l'indirizzo IP dell'ESP verrà visualizzato sul monitor seriale.
ESP8266 Programma LED lampeggiante per trasferimento OTA
Alla fine viene fornito il codice completo per il trasferimento del programma LED lampeggiante tramite OTA, qui stiamo spiegando una parte importante del codice.
L'importazione delle librerie richieste è il primo passo nella scrittura del codice. La libreria ESP8266WiFi.h fornisce routine Wi-Fi specifiche per ESP8266 necessarie per connettersi a una rete. Inoltre fornisce metodi e proprietà per azionare ESP8266 in modalità stazione o modalità punto di accesso software. ESP8266mDNS.h consente a sketch di rispondere a query DNS multicast.
#includere
Definire le variabili per SSID e password della rete Wi-Fi a cui deve essere connesso ESP. Dobbiamo connettere il nostro PC e ESP alla stessa rete Wi-Fi.
#ifndef STASSID #define STASSID "tuo-ssid" #define STAPSK "tua-password" #endif const char * ssid = STASSID; const char * password = STAPSK;
ESP8266 è impostato come modalità stazione e la connessione Wi-Fi viene avviata fornendo le credenziali. Ci vuole un po 'di tempo prima che l'ESP si connetta al modulo Wi-Fi. Se SSID e password sono corretti, si connette al Wi-Fi e se SSID e password non sono corretti, si riavvierà ogni 1 secondo.
Serial.begin (115200); // Imposta la velocità di trasmissione su 115200 Serial.println ("Booting"); // Passaggio per connettere ESP con Wi-Fi WiFi.mode (WIFI_STA); // Imposta ESP come modalità stazione WiFi.begin (ssid, password); // Credenziali Wi-Fi durante (WiFi.waitForConnectResult ()! = WL_CONNECTED) // La connessione di ESP al wi-fi richiede un po 'di tempo, quindi attendi che venga connesso { Serial.println ("Connessione fallita! Riavvio…"); ritardo (1000); ESP.restart (); }
L'indirizzo IP dell'ESP è stampato sul monitor seriale come collegamento al modulo Wi-Fi. WiFi.localIP () fornisce l'indirizzo IP di ESP.
Dopo aver caricato il codice, aprire correttamente il monitor seriale a 115200 Baud Rate. Premi il pulsante di ripristino e dopo pochi secondi sarai in grado di vedere l'indirizzo IP ESP sul monitor seriale. Ora sarai in grado di caricare il firmware in modalità wireless.
Lampeggiante LED su ESP8266 tramite aggiornamento OTA
Prima di caricare lo schizzo successivo, andare su Strumenti e cambiare PORTA con l'indirizzo IP ESP per caricare il firmware in modalità wireless sul NodeMCU.
Ora carica lo schizzo di seguito indicato del LED lampeggiante su NodeMCU in modalità wireless utilizzando l'IDE di Arduino e assicurati che il tuo PC e l'ESP siano collegati alla stessa rete Wi-Fi e l'ESP sia alimentato da una fonte di alimentazione.
Dopo aver caricato correttamente il codice, il LED su NodeMCU ESP8266 inizierà a lampeggiare ogni secondo. È inoltre possibile impostare il nome host e la password nello schizzo per la sicurezza durante il caricamento del firmware su ESP.