- Hvad er OTA-programmering?
- ESP8266 NodeMCU
- Komponenter, der kræves
- Forbereder NodeMCU til at modtage OTA-opdatering trådløst
- ESP8266 Blinkende LED-program til OTA-overførsel
- Blinker LED på ESP8266 gennem OTA-opdatering
Hvad er OTA-programmering?
OTA-programmering (over luften) er en proces, der gør det muligt for enheder at opgradere deres firmware eller software trådløst uden fysisk adgang. Det bruger trådløs teknologi som Wi-Fi, Bluetooth, GPRS eller 4G / 3G snarere end kabelforbundet seriel kommunikation. OTA bruges til at omprogrammere enhederne som mikrocontrollere, mobiltelefoner, computere, set-top-boks osv. OTA-opdateringer sendes generelt til opdatering af softwaren, løsning af fejl, tilføjelse af nogle funktioner osv. Med den stigende brug af IoT-enheder overføres OTA ved hjælp af frekvensbånd med lav datatransmissionshastighed (868 MHz, 900 MHz, 2400 MHz).
Her i denne vejledning sender vi OTA-opdatering til ESP8266 NodeMCU for at blinke en LED.
ESP8266 NodeMCU
NodeMCU er en open source IoT-platform. Det inkluderer firmware, der kører på billig Wi-Fi-aktiveret ESP8266 Wi-Fi SoC fra Espressif Systems, og hardware, der er baseret på ESP-12-modulet. Den har GPIO-, SPI-, I2C-, ADC-, PWM- og UART-ben. Det kan programmeres med Arduino IDE. Ombord har NodeMCU CP2102 IC, der leverer USB til TTL-funktionalitet. For at lære mere om ESP8266, se andre ESP8266-baserede projekter.
Komponenter, der kræves
- NodeMCU ESP8266
- Micro USB-kabel
- Arduino IDE
Forbereder NodeMCU til at modtage OTA-opdatering trådløst
Forbind først NodeMCU ESP8266 med pc'en ved hjælp af mikro-USB-kabel. Derefter, for at uploade firmwaren ved hjælp af OTA, skal vi uploade skitsen serielt ved hjælp af mikro-USB for at generere ESP IP-adressen. Dette er det nødvendige trin for at uploade firmwaren trådløst næste gang. Vælg den serielle port, som kablet er tilsluttet, fra Værktøjer -> Port .
ESP8266 leveres med biblioteker og eksempler, der er direkte tilgængelige fra Arduino IDE. Åbn Arduino IDE og derefter Open BasicOTA-eksemplet.
Rediger skitsen ved at erstatte “din-ssid” og “din-adgangskode” med dit Wi-Fi SSID og adgangskode, og upload derefter skitsen
Åbn seriel skærm efter upload af programmet med succes. Indstil baudrate på 115200 på Serial Monitor, og tryk på Reset-knappen på NodeMCU ESP8266. Forbindelse af NodeMCU ESP8266 med Wi-Fi tager noget tid, da det kontrollerer Wi-Fi-legitimationsoplysningerne. Hvis SSID og adgangskode er korrekte, får NodeMCU ESP8266 forbindelse til Wi-Fi, og ESP's IP-adresse vises på den serielle skærm.
ESP8266 Blinkende LED-program til OTA-overførsel
Komplet kode til overførsel af det blinkende LED-program gennem OTA er givet i slutningen, her forklarer vi nogle vigtige dele af koden.
Import af de påkrævede biblioteker er det første skridt i at skrive koden. ESP8266WiFi.h- biblioteket giver ESP8266-specifikke Wi-Fi-rutiner, der er nødvendige for at oprette forbindelse til et netværk. Det giver også metoder og egenskaber til at betjene ESP8266 i stationstilstand eller blød adgangspunkttilstand. ESP8266mDNS.h tillader skitse at svare på multicast DNS-forespørgsler.
#omfatte
Definer variabler til SSID og adgangskode til det Wi-Fi-netværk, som ESP skal tilsluttes. Vi er nødt til at forbinde vores pc og ESP til det samme Wi-Fi-netværk.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * password = STAPSK;
ESP8266 er indstillet som stationstilstand, og Wi-Fi-forbindelse startes ved at give legitimationsoplysninger. Det tager lidt tid for ESP at oprette forbindelse til Wi-Fi-modulet. Hvis SSID og adgangskode er korrekte, oprettes der forbindelse til Wi-Fi, og hvis SSID og adgangskode ikke er korrekte, genstarter den hvert 1. sekund.
Serial.begin (115200); // Indstil overførselshastighed til 115200 Serial.println ("Booting"); // Trin for at forbinde ESP med Wi-Fi WiFi.mode (WIFI_STA); // Indstil ESP som stationstilstand WiFi.begin (ssid, password); // Wi-Fi-legitimationsoplysninger, mens (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Tilslutning af ESP til wi-fi tager noget tid, så vent til det bliver forbundet { Serial.println ("Forbindelse mislykkedes! Genstart…"); forsinkelse (1000); ESP. Genstart (); }
ESP's IP-adresse er trykt på den serielle skærm som forbindelse til Wi-Fi-modulet. WiFi.localIP () giver IP-adressen til ESP.
Efter at have uploadet koden, skal du åbne seriel skærm ved 115200 Baud Rate. Tryk på reset-knappen, og efter få sekunder vil du kunne se ESP IP-adresse på den serielle skærm. Nu kan du uploade firmwaren trådløst.
Blinker LED på ESP8266 gennem OTA-opdatering
Inden du uploader den næste skitse, skal du gå til Værktøjer og ændre PORT til ESP IP-adresse for at uploade firmwaren trådløst til NodeMCU.
Upload nu nedenstående skitse af blinkende LED på NodeMCU trådløst ved hjælp af Arduino IDE og sørg for, at din pc og ESP er tilsluttet det samme Wi-Fi-netværk, og ESP er drevet af en eller anden strømkilde.
Efter upload af koden med succes vil LED på NodeMCU ESP8266 begynde at blinke hvert 1. sekund. Du kan også indstille værtsnavn og adgangskode i skitsen af sikkerhedshensyn, mens du uploader firmware til ESP.