- Kas yra OTA programavimas?
- ESP8266 „NodeMCU“
- Būtini komponentai
- Pasirengimas „NodeMCU“ gauti OTA atnaujinimą belaidžiu būdu
- ESP8266 mirksi LED programa OTA perdavimui
- Mirksi ESP8266 šviesos diodas per OTA atnaujinimą
Kas yra OTA programavimas?
OTA programavimas (per orą) yra procesas, leidžiantis prietaisams atnaujinti savo programinę-aparatinę ar programinę įrangą belaidžiu būdu be jokios fizinės prieigos. Jis naudoja belaidę technologiją, pvz., „Wi-Fi“, „Bluetooth“, GPRS ar 4G / 3G, o ne laidinį nuoseklųjį ryšį. OTA naudojama perprogramuoti tokius įrenginius kaip mikrovaldikliai, mobilieji telefonai, kompiuteriai, priedėlis ir t. T. OTA atnaujinimai paprastai siunčiami programinei įrangai atnaujinti, klaidoms pašalinti, kai kurioms funkcijoms pridėti ir pan. Vis dažniau naudojant IoT įrenginius, OTA perduodama naudojant dažnių juostos, turinčios mažą duomenų perdavimo greitį (868 MHz, 900 MHz, 2400 MHz).
Šioje pamokoje mes išsiųsime OTA naujinimą į ESP8266 „NodeMCU“, kad mirksėtų šviesos diodas.
ESP8266 „NodeMCU“
„NodeMCU“ yra atvirojo kodo IoT platforma. Tai apima programinę aparatinę įrangą, kuri veikia naudojant „Espressif Systems“ pigiai veikiantį „Wi-Fi“ įgalintą „ESP8266 Wi-Fi SoC“, ir aparatinę įrangą, pagrįstą ESP-12 moduliu. Jis turi GPIO, SPI, I2C, ADC, PWM ir UART kaiščius. Tai galima užprogramuoti naudojant „Arduino IDE“. Laive „NodeMCU“ turi CP2102 IC, kuris teikia USB – TTL funkcijas. Norėdami sužinoti daugiau apie ESP8266, patikrinkite kitus ESP8266 pagrįstus projektus.
Būtini komponentai
- MazgasMCU ESP8266
- Mikro USB laidas
- „Arduino IDE“
Pasirengimas „NodeMCU“ gauti OTA atnaujinimą belaidžiu būdu
Pirmiausia prijunkite „NodeMCU ESP8266“ prie kompiuterio naudodami „micro USB“ kabelį. Tada norėdami įkelti programinę-aparatinę įrangą naudodami OTA, eskizą turime įkelti nuosekliai, naudodami „micro USB“, kad sugeneruotume ESP IP adresą. Tai yra būtinas žingsnis norint kitą kartą įkelti programinę-aparatinę įrangą belaidžiu būdu. Pasirinkite serijos prievadą, prie kurio prijungtas kabelis, iš Įrankiai -> Prievadas .
ESP8266 pateikiamos bibliotekos ir pavyzdžiai, kuriuos galima tiesiogiai pasiekti iš „Arduino IDE“. Atidarykite „Arduino IDE“, tada atidarykite „BasicOTA“ pavyzdį.
Redaguokite eskizą pakeisdami „your-ssid“ ir „your-password“ savo „Wi-Fi SSID“ ir slaptažodžiu, tada įkelkite eskizą
Sėkmingai įkėlę programą, atidarykite nuoseklųjį monitorių. „Serial Monitor“ nustatykite 115200 perdavimo spartą ir paspauskite „Reset“ mygtuką „NodeMCU ESP8266“. NodeMCU ESP8266 prijungimas prie „Wi-Fi“ užtrunka šiek tiek laiko, nes jis tikrina „Wi-Fi“ prisijungimo duomenis. Jei SSID ir slaptažodis yra teisingi, „NodeMCU ESP8266“ bus prijungtas prie „Wi-Fi“ ir ESP IP adresas bus rodomas serijiniame monitoriuje.
ESP8266 mirksi LED programa OTA perdavimui
Pabaigoje pateikiamas pilnas kodas, skirtas perduoti mirksinčią LED programą per OTA, čia mes paaiškiname svarbią kodo dalį.
Reikiamų bibliotekų importavimas yra pirmas žingsnis rašant kodą. ESP8266WiFi.h biblioteka teikia ESP8266 specifines „Wi-Fi“ rutinas, reikalingas prisijungti prie tinklo. Taip pat pateikiami metodai ir savybės, kaip ESP8266 valdyti stoties režimu arba minkšto prieigos taško režimu. ESP8266mDNS.h leidžia eskizui atsakyti į daugiaadresio DNS užklausas.
# įtraukti
Apibrėžkite „Wi-Fi“ tinklo, prie kurio bus prijungtas ESP , SSID ir slaptažodžio kintamuosius. Mes turime prijungti savo kompiuterį ir ESP prie to paties „Wi-Fi“ tinklo.
#ifndef STASSID #define STASSID "tavo-ssid" #define STAPSK "tavo slaptažodis" #endif const char * ssid = STASSID; const char * slaptažodis = STAPSK;
ESP8266 nustatytas kaip stoties režimas, o „Wi-Fi“ ryšys pradedamas suteikiant kredencialus. ESP prisijungti prie „Wi-Fi“ modulio užima šiek tiek laiko. Jei SSID ir slaptažodis teisingi, jis bus prijungtas prie „Wi-Fi“, o jei SSID ir slaptažodis neteisingi, jis bus paleistas iš naujo kas 1 sekundę.
Serijos pradžia (115200); // Nustatykite perdavimo spartą į 115200 Serial.println („Įkėlimas“); // Žingsnis, kaip sujungti ESP su „Wi-Fi WiFi.mode“ (WIFI_STA); // ESP nustatykite kaip stoties režimą „ WiFi.begin“ (ssid, slaptažodis); // „Wi-Fi“ prisijungimo duomenys, kol (WiFi.waitForConnectResult ()! = WL_CONNECTED) // ESP prijungimas prie „Wi-Fi“ užtrunka šiek tiek laiko, todėl palaukite, kol jis bus prijungtas { Serial.println ("Nepavyko prisijungti! Perkraunama…"); vėlavimas (1000); ESP. Paleiskite iš naujo (); }
ESP IP adresas spausdinamas ant nuoseklaus monitoriaus, jungiantis prie „Wi-Fi“ modulio. „WiFi.localIP“ () pateikia ESP IP adresą.
Įkėlus kodą, sėkmingai atidarykite nuoseklųjį monitorių 115200 perdavimo sparta. Paspauskite atstatymo mygtuką ir po kelių sekundžių galėsite pamatyti ESP IP adresą serijiniame monitoriuje. Dabar galėsite belaidžiu būdu įkelti programinę-aparatinę įrangą.
Mirksi ESP8266 šviesos diodas per OTA atnaujinimą
Prieš įkeldami kitą eskizą, eikite į „ Tools“ ir pakeiskite „PORT“ į ESP IP adresą, kad programinę įrangą galėtumėte įkelti belaidžiu būdu į „NodeMCU“.
Dabar įkelkite žemiau pateiktą „NodeMCU“ mirksinčio šviesos diodo eskizą belaidžiu būdu, naudodami „Arduino IDE“, ir įsitikinkite, kad jūsų kompiuteris ir ESP yra prijungti prie to paties „Wi-Fi“ tinklo ir kad ESP maitina koks nors maitinimo šaltinis.
Sėkmingai įkėlus kodą, „NodeMCU ESP8266“ šviesos diodas pradės mirksėti kas 1 sekundę. Įkeliant programinę aparatinę įrangą į ESP, eskize taip pat galite nustatyti pagrindinio kompiuterio pavadinimą ir slaptažodį.