- Hva er OTA-programmering?
- ESP8266 NodeMCU
- Komponenter kreves
- Forbereder NodeMCU for å motta OTA-oppdatering trådløst
- ESP8266 Blinkende LED-program for OTA-overføring
- Blinker LED på ESP8266 gjennom OTA-oppdatering
Hva er OTA-programmering?
OTA Programming (Over the Air) er en prosess som lar enheter oppgradere firmware eller programvare trådløst uten fysisk tilgang. Den bruker trådløs teknologi som Wi-Fi, Bluetooth, GPRS eller 4G / 3G i stedet for kablet seriell kommunikasjon. OTA brukes til å omprogrammere enheter som mikrokontrollere, mobiltelefoner, datamaskiner, set-top-boks osv. OTA-oppdateringer sendes vanligvis for å oppdatere programvaren, løse feilene, legge til noen funksjoner osv. Med den økende bruken av IoT-enheter overføres OTA ved hjelp av frekvensbånd med lav dataoverføringshastighet (868 MHz, 900 MHz, 2400 MHz).
Her i denne opplæringen vil vi sende OTA-oppdatering til ESP8266 NodeMCU for å blinke en LED.
ESP8266 NodeMCU
NodeMCU er en åpen kildekode-IoT-plattform. Den inkluderer firmware som kjører på billig Wi-Fi-aktivert ESP8266 Wi-Fi SoC fra Espressif Systems, og maskinvare som er basert på ESP-12-modulen. Den har GPIO-, SPI-, I2C-, ADC-, PWM- og UART-pinner. Den kan programmeres med Arduino IDE. Ombord har NodeMCU CP2102 IC som gir USB til TTL-funksjonalitet. For å lære mer om ESP8266, sjekk andre ESP8266-baserte prosjekter.
Komponenter kreves
- NodeMCU ESP8266
- Micro USB-kabel
- Arduino IDE
Forbereder NodeMCU for å motta OTA-oppdatering trådløst
Koble først NodeMCU ESP8266 til PC-en ved hjelp av mikro-USB-kabel. For å laste opp fastvaren ved hjelp av OTA, må vi laste opp skissen serielt ved hjelp av mikro-USB for å generere ESP IP-adressen. Dette er det nødvendige trinnet for å laste opp fastvaren trådløst neste gang. Velg serieporten som kabelen er koblet til fra Verktøy -> Port .
ESP8266 kommer med biblioteker og eksempler som er direkte tilgjengelige fra Arduino IDE. Åpne Arduino IDE og deretter Open BasicOTA eksempel.
Rediger skissen ved å erstatte “your-ssid” og “your-password” med Wi-Fi SSID og passord, og last deretter opp skissen
Åpne seriell skjerm etter at du har lastet opp programmet. Still baudrate på 115200 på Serial Monitor og trykk på Reset-knappen på NodeMCU ESP8266. Å koble NodeMCU ESP8266 med Wi-Fi tar litt tid når det sjekker Wi-Fi-legitimasjonen. Hvis SSID og passord er riktig, blir NodeMCU ESP8266 koblet til Wi-Fi, og IP-adressen til ESP vil vises på den serielle skjermen.
ESP8266 Blinkende LED-program for OTA-overføring
Komplett kode for overføring av det blinkende LED-programmet gjennom OTA er gitt til slutt, her forklarer vi noen viktige deler av koden.
Import av nødvendige biblioteker er det første trinnet i å skrive koden. ESP8266WiFi.h- biblioteket gir ESP8266 spesifikke Wi-Fi-rutiner som trengs for å koble til et nettverk. Det gir også metoder og egenskaper for å betjene ESP8266 i stasjonsmodus eller mykt tilgangspunktmodus. ESP8266mDNS.h tillater skisse å svare på multicast DNS-spørsmål.
#inkludere
Definer variabler for SSID og passord for Wi-Fi-nettverket som ESP skal kobles til. Vi må koble PCen og ESP til det samme Wi-Fi-nettverket.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * passord = STAPSK;
ESP8266 er satt som stasjonsmodus, og Wi-Fi-tilkobling startes ved å gi legitimasjon. Det tar litt tid for ESP å koble til Wi-Fi-modulen. Hvis SSID og passord er riktig, blir det koblet til Wi-Fi, og hvis SSID og passord ikke er riktig, vil det starte på nytt hvert 1 sekund.
Serial.begin (115200); // Still Baud Rate til 115200 Serial.println ("Booting"); // Trinn for å koble ESP til Wi-Fi WiFi.mode (WIFI_STA); // Sett ESP som stasjonsmodus WiFi.begin (ssid, passord); // Wi-Fi-legitimasjon mens (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Koble ESP til wi-fi tar litt tid, så vent til den blir koblet til { Serial.println ("Tilkoblingen mislyktes! Reboot…"); forsinkelse (1000); ESP. Omstart (); }
IP-adressen til ESP skrives ut på den serielle skjermen når den kobles til Wi-Fi-modulen. WiFi.localIP () gir IP-adressen til ESP.
Etter at du har lastet opp koden, åpner du seriell skjerm med 115200 Baud Rate. Trykk på tilbakestillingsknappen, og etter noen sekunder vil du kunne se ESP IP-adresse på den serielle skjermen. Nå vil du kunne laste opp fastvaren trådløst.
Blinker LED på ESP8266 gjennom OTA-oppdatering
Før du laster opp neste skisse, gå til Verktøy og endre PORT til ESP IP-adresse for å laste opp fastvaren trådløst til NodeMCU.
Last nå opp nedenstående skisse av blinkende LED på NodeMCU trådløst ved hjelp av Arduino IDE og sørg for at PCen og ESP er koblet til samme Wi-Fi-nettverk og ESP er drevet av noen strømkilde.
Etter at koden er lastet opp, vil LED på NodeMCU ESP8266 begynne å blinke hvert 1. sekund. Du kan også angi vertsnavn og passord i skissen for sikkerhet når du laster opp firmware på ESP.