- Vad är OTA-programmering?
- ESP8266 NodeMCU
- Komponenter krävs
- Förbereder NodeMCU för att ta emot OTA-uppdatering trådlöst
- ESP8266 Blinkande LED-program för OTA-överföring
- Blinkar LED på ESP8266 genom OTA-uppdatering
Vad är OTA-programmering?
OTA-programmering (Over the Air) är en process som gör det möjligt för enheter att uppgradera sin firmware eller programvara trådlöst utan fysisk åtkomst. Den använder trådlös teknik som Wi-Fi, Bluetooth, GPRS eller 4G / 3G snarare än trådbunden seriell kommunikation. OTA används för att omprogrammera enheter som mikrokontroller, mobiltelefoner, datorer, digitalbox etc. OTA-uppdateringar skickas vanligtvis för att uppdatera programvaran, lösa buggarna, lägga till några funktioner etc. Med den ökande användningen av IoT-enheter överförs OTA med frekvensband med låg dataöverföringshastighet (868 MHz, 900 MHz, 2400 MHz).
Här i denna handledning skickar vi OTA-uppdatering till ESP8266 NodeMCU för att blinka en LED.
ESP8266 NodeMCU
NodeMCU är en IoT-plattform med öppen källkod. Den innehåller firmware som körs på billiga Wi-Fi-aktiverade ESP8266 Wi-Fi SoC från Espressif Systems och hårdvara som baseras på ESP-12-modulen. Den har GPIO-, SPI-, I2C-, ADC-, PWM- och UART-stift. Den kan programmeras med Arduino IDE. Ombord har NodeMCU CP2102 IC som ger USB till TTL-funktionalitet. För att lära dig mer om ESP8266, kolla in andra ESP8266-baserade projekt.
Komponenter krävs
- NodeMCU ESP8266
- Micro USB-kabel
- Arduino IDE
Förbereder NodeMCU för att ta emot OTA-uppdatering trådlöst
Anslut först NodeMCU ESP8266 med datorn med en mikro-USB-kabel. För att sedan ladda upp firmware med OTA måste vi ladda upp skissen seriellt med hjälp av mikro-USB för att generera ESP IP-adressen. Detta är det nödvändiga steget för att ladda upp firmware trådlöst nästa gång. Välj den seriella porten som kabeln är ansluten till från Verktyg -> Port .
ESP8266 levereras med bibliotek och exempel som kan nås direkt från Arduino IDE. Öppna Arduino IDE och sedan Open BasicOTA exempel.
Redigera skissen genom att ersätta "your-ssid" och "your-password" med ditt Wi-Fi SSID och lösenord och ladda sedan upp skissen
Öppna seriell bildskärm efter att programmet har laddats upp. Ställ in överföringshastigheten 115200 på Serial Monitor och tryck på Återställ-knappen på NodeMCU ESP8266. Anslutning av NodeMCU ESP8266 med Wi-Fi tar lite tid eftersom det kontrollerar Wi-Fi-referenserna. Om SSID och lösenord är korrekt kommer NodeMCU ESP8266 att anslutas till Wi-Fi och IP-adressen för ESP kommer att visas på den seriella bildskärmen.
ESP8266 Blinkande LED-program för OTA-överföring
Komplett kod för att överföra det blinkande LED-programmet genom OTA ges i slutet, här förklarar vi några viktiga delar av koden.
Importera de obligatoriska biblioteken är det första steget i att skriva koden. ESP8266WiFi.h- biblioteket ger ESP8266-specifika Wi-Fi-rutiner som behövs för att ansluta till ett nätverk. Det ger också metoder och egenskaper för att använda ESP8266 i stationsläge eller mjukt åtkomstpunktsläge. ESP8266mDNS.h tillåter skiss att svara på multicast-DNS-frågor.
#omfatta
Definiera variabler för SSID och lösenord för det Wi-Fi-nätverk som ESP ska anslutas till. Vi måste ansluta vår dator och ESP till samma Wi-Fi-nätverk.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * lösenord = STAPSK;
ESP8266 är inställt som stationsläge och Wi-Fi-anslutning initieras genom att ge autentiseringsuppgifter. Det tar lite tid för ESP att ansluta till Wi-Fi-modulen. Om SSID och lösenord är korrekt blir det anslutet till Wi-Fi och om SSID och lösenord inte är korrekt startas det om varje 1 sekund.
Serial.begin (115200); // Ställ överföringshastighet till 115200 Serial.println ("Booting"); // Steg för att ansluta ESP till Wi-Fi WiFi.mode (WIFI_STA); // Ställ in ESP som stationsläge WiFi.begin (ssid, lösenord); // Wi-Fi-referenser medan (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Anslutning av ESP till wi-fi tar lite tid, så vänta tills den blir ansluten { Serial.println ("Anslutningen misslyckades! Omstart…"); fördröjning (1000); ESP.start (); }
ESP: s IP-adress skrivs ut på den seriella bildskärmen när den ansluts till Wi-Fi-modulen. WiFi.localIP () ger IP-adressen till ESP.
Efter att ha laddat upp koden öppnas den seriella bildskärmen framgångsrikt till 115200 Baud Rate. Tryck på återställningsknappen och efter några sekunder kan du se ESP IP-adress på den seriella bildskärmen. Nu kommer du att kunna ladda upp firmware trådlöst.
Blinkar LED på ESP8266 genom OTA-uppdatering
Innan du laddar upp nästa skiss, gå till Verktyg och ändra PORT till ESP IP-adress för att ladda upp firmware trådlöst till NodeMCU.
Ladda nu upp nedanstående skiss av blinkande lysdiod på NodeMCU trådlöst med Arduino IDE och se till att din dator och ESP är anslutna till samma Wi-Fi-nätverk och ESP drivs av någon strömkälla.
Efter att ha laddat upp koden med framgång kommer LED på NodeMCU ESP8266 att blinka varannan sekund. Du kan också ställa in värdnamn och lösenord i skissen för säkerhet när du laddar upp firmware till ESP.