Anksčiau programinės įrangos atnaujinimai atnaujinami Įterptos sistemos buvo kritinė užduotis. Tačiau dauguma IoT įrenginių ir įterptųjų įrenginių yra sujungti internetu, kad kūrėjai nuotoliniu būdu atnaujintų programinę -aparatinę įrangą. Prietaisai, galintys prisijungti prie interneto, turi naudos atnaujinti save. Taigi tokio tipo programinės įrangos programavimas ESP32 yra vadinamas OTA (oruojančiu etapu), kuris padeda nuolat atnaujinti įterptus įrenginius, atsižvelgiant į minimalią vartotojo intervenciją. Be to, „Over-Air“ siūlo daugybę funkcijų ir yra ekonomiškai efektyvi technika kūrėjams atnaujinti savo įrenginius. Šis straipsnis nagrinėja OTA programinė įranga Atnaujinimo procedūra per ESP32 kūrimo lentą.
Kas yra OTA programavimas ESP32/ ESP32 OTA?
ESP32 OTA yra galimybė įkelti ar atnaujinti naują programą į ESP32 kūrimo lentos procesą internete, neprisijungus prie kompiuterio. Be to, šis procesas taip pat gali sutrumpinti reikiamą laiką atnaujinti kiekvieną ESP modulį. Taigi, tai leidžia belaidžius pranešimus internete ar kitų tipų belaidžiuose tinkluose.
ESP32 plėtros valdyba atkreipia dėmesį į programinės įrangos atnaujinimą, atsisiųsdama ją naudojant protokolai kaip https, mqtt ar http. Po to jis patikrina ir mirksi į paskirstytą skaidinį ESP32 plokštės atmintyje. OTA atnaujinimai yra reikšmingi įterptiems įrenginiams ar IoT įrenginiams, ypač kai įrenginius sunku pasiekti arba atokiose vietose.
ESP32 OTA pagrindinės dalys
ESP32 OTA naudoja įvairius pagrindinius komponentus programinės įrangos atnaujinimams, neprisijungdama prie įrenginio fiziškai. Taigi pagrindinės šios OTA dalys padeda perduoti ir gauti atnaujinimus. Be to, Asyncelegantota (OR) ESP HTTPS OTA bibliotekos ir „Espressif“ sistemos sutrumpina įgyvendinimo procedūrą.
OTA duomenų skaidymas
Šis skaidinys ESP32 lentos „Flash“ atmintyje tiesiog išsaugo atnaujintą OTA informaciją, pavyzdžiui, programinės įrangos vaizdą ir skaitiklį, skirtą sekimui, kuriam lizdas buvo parašytas neseniai.
Ryšio mechanizmas
OTA atnaujinimai daugiausia priklauso nuo belaidžio ryšio protokolų, pavyzdžiui, „Bluetooth“ arba „WiFi“, kur „Bluetooth“ naudojamas labiau lokalizuotoms ir mažesnėms atnaujinimams, o „WiFi“ dažniausiai naudojamas.

Kliento serverio architektūra
Klientas, pavyzdžiui, mobilioji programa ar kompiuteris, inicijuoja atnaujinimą ir siunčia programinę -aparatinę įrangą ESP32 serveriui.
Bibliotekos ir rėmai
„Asyncelegantota“ ir ESP HTTPS OTA bibliotekos suteikia iš anksto sukurtas funkcijas, skirtas tvarkyti OTA procedūrą ir sutrumpinti plėtrą.
Įkrovos kroviklis
Šis įkrovos kroviklis tvarko perėjimą prie naujausios programinės įrangos po sėkmingo OTA atnaujinimo.
Saugi OTA
Saugūs OTA atnaujinimai apima programinės įrangos parašo vaizdo patikrinimą, kad būtų užtikrintas jo vientisumas ir autentiškumas.
Iš esmės ESP32 OTA atnaujinimai apima programinės įrangos (skaidinių, bibliotekų ir programinės įrangos) ir komunikacijos protokolų („Wi-Fi“ ar „Bluetooth“) derinį. Taigi ji sklandžiai atnaujina įrenginio programinę -aparatinę įrangą be fizinės prieigos.
Darbas
ESP32 OTA programavimas leidžia „ESP32“ programinės įrangos/programinės įrangos belaidžiui atnaujinti kompiuterį be fizinio ryšio. Taigi tai galima padaryti nusiųsdami naują programinės įrangos vaizdą per tinklą, pavyzdžiui, „Wi-Fi“, ir po to parašius jį į „ESP32“ atmintį. Taigi ESP32 kūrimo lentos perkrovos ir naujausia programinė įranga veikia.
ESP32 OTA įgyvendinimas
Norint įdiegti ESP32 kūrimo lentos atnaujinimus dėl oro, reikia įkelti pagrindinį OTA eskizą. Po to žiniatinklio serveris naudojamas įkelti naujausią programinę -aparatinę įrangą. Taigi visas šis ESP32 OTA procedūros diegimas apima „Wi-Fi“ ryšio sąranką, bibliotekos diegimą, o po to į ESP32 plokštę įkeliama surinktas dvejetainis failas.
ESP32 OTA įgyvendinimo procedūra žingsnis po žingsnio:
- Pirmiausia reikia įdiegti ESP32 plokštės paketą „Arduino IDE“.
- Po to įtraukite konkrečias ir kitas būtinas ESP32 bibliotekas.
- Turi būti įkeltas pagrindinis OTA eskizas, kuriame paprastai yra žiniatinklio serveris, daugiausia OTA atnaujinimams.
- Atidarykite naršyklę ir leiskite ESP32 žiniatinklio serverio IP adresą.
- Pasirinkite .BIN failą žiniatinklio serverio sąsajoje, kurią norite įkelti.
- Norėdami pradėti OTA atnaujinimą, spustelėkite mygtuką Įkelti.
- Dabar ESP32 yra prijungtas prie jūsų „Wi-Fi“ tinklo.
- Atidaryti AARD iš naujo paleis per naujai įkeltą programinę -aparatinę įrangą.
- „Arduinoota“ biblioteka turi būti naudojama ESP32 šerdyje, kad būtų supaprastinta OTA procedūra.
- Taip pat galite įdarbinti bibliotekos pateiktą „Basicota“ pavyzdį arba padaryti savo OTA programą.
- Dabar „Arduinoota“ biblioteka tiesiog leidžia įkelti naujausią eskizą OTA į savo ESP32.
Naudokite žiniatinklio serverį
- ESP32 „Arduino“ bibliotekoje „Otawebupdater“ pavyzdyje pateikiama žiniatinklio sąsaja, skirta įkelti programinę -aparatinę įrangą.
- Eskizas sudaromas taip, kad būtų sugeneruotas .BIN failas, po to jį galima įkelti per žiniatinklio serverį.
- Ši technika leidžia atlikti paprastus ir labiau prieinamus OTA atnaujinimus.
- Be to, įsitikinkite, kad savo ESP32 plokštėse yra mažiausiai dvi OTA pertvaros.
- Naudokite kitus metodus, tokius kaip „Arduino IoT Cloud“, daugiausia OTA atnaujinimams.
- OTA procedūra perrašo esamą programinę -aparatinę įrangą tam skirtoje OTA skaidinyje, užtikrinant, kad veikianti programinė įranga išliktų stabili.
ESP32 OTA sąsaja su Arduino
Pagrindinė „WiFi“ valdomų mikrovaldiklių (ESP32 ir ESP8266 ) yra OTA programavimas. Šie įrenginiai belaidžiai atnaujina savo programinę -aparatinę įrangą. Naudojant OTA, atnaujinimą galima išsiųsti įvairiems mikrokaldikliams, kurie yra panašiame tinkle. Ši funkcija naudojama norint išspręsti klaidų išsprendimą, įtraukiant kai kurias funkcijas keliems mikrovaldikliams, priedėliams, kompiuteriams, mobiliesiems telefonams ir kt.
Paprastai OTA atnaujinimai vaidina pagrindinį vaidmenį Daiktų internetas Nuotoliniu būdu atnaujinti prie interneto prijungtus įrenginius su naujais nustatymais ir programine įranga. Čia mes naudosime OTA programavimą su ESP32 plokšte „Arduino IDE“ su „OTA Web Updater“.
Reikalingi ESP32 OTA sąsajų su Arduino plokštė komponentai apima ESP32 plokštę ir „Arduino IDE“.

OTA kodas
Žemiau pateiktas ESP32 kūrimo lentos OTA kodas.
#include
#include
const char* host = 'esp32'; SSID = „xxx“; slaptažodis = „xxxx“;
„WebServer Server“ (80);
/* Prisijungimo puslapis*/
const char* loginIndex =
„
„
„
'
„
'
'
'
'
'
'
'
„
„
„
„
„
'
'
'
'
„
„
„
'
'
'
'
„
„
„
„
„“
„“
'
„Funkcijų patikrinimas (forma)“
'{'
'If (forma.userid.value == 'admin' && forma.pwd.value == 'admin')'
'{'
„Window.Open“ („/serverIndex“) “
'}'
„Kiti“
'{'
„Įspėjimas („ Klaidos slaptažodis arba vartotojo vardas “)/*Rodomas klaidos pranešimas*/“
'}'
'}'
„“;
/*
* Serverio rodyklės puslapis
*/
const char* serverIndex =
„
„<Įvesties type =’ failo name = ’update’> “
„<Įvesties type =’ pateikite ’reikšmė =’ Update ’>“
„“
'
'
„$ („ Forma “). Pateikti (funkcija (e) {“
„E.preventDefault ()“;
„Buvo forma = $ ('#upload_form') [0]; '
'Yra duomenys = nauja formaData (forma);'
„$ .Ajax ({“
„URL:„/atnaujinti “,“
„Tipas:„ Post “,“
'Data: data,'
„ContentType: False“, “
'ProcessData: klaidinga'
„XHR: funkcija () {“
„Var xhr = new window.xmlhttPrequest ();“;
'Xhr. Įkelti.addentListen (' PROGRESS ', FUCHUM (galbūt) {'
„If (evt.lengthCompuable) {“
'Var kriaušė = evt.evt.total;'
„$ („#Prg “).
'}'
'}, Klaidinga);'
'Grįžti xhr;'
'},'
„Sėkmė: funkcija (d, s) {“
„Console.log“ („Sėkmė!“) “
'},'
„Klaida: funkcija (a, b, c) {“
'}' '});' '});'
“;
/*
* Sąrankos funkcija
*/
void sąranka (void) {
Serial.begin (115200);
// Prisijunkite prie „WiFi“ tinklo
Wifi.begin (ssid, slaptažodis);
Serial.println („“);
// palaukite ryšio
o (wifi.status ()! = wl_connected) {
vėlavimas (500);
Serial.print („.“);
}
Serial.println („“);
Serial.print („prijungtas su“);
Serial.println (SSID);
Serial.print („IP adresas:“);
Serial.println (wifi.localip ());
/*Naudokite MDNS pagrindinio vardo skiriamąją gebą*/
if (! mdns.begin (host)) {// c2e2f8f35ba56eedbbc296b8125c387d1182e239
Serial.println („Klaida nustatyti MDNS atsakiklį!“);
o (1) {{
vėlavimas (1000);
}
}
Serial.println („MDNS Responder prasidėjo“);
/ *Grąžinimo rodyklės puslapis, saugomas „ServerIndex“ */
serveris.on („/“, http_get, [] () {
server.sendheader („Connection“, „Uždaryti“);
server.send (200, „Text/html“, „LoginIndex“);
});
server.on („/serverIndex“, http_get, [] () {
server.sendheader („Connection“, „Uždaryti“);
server.send (200, „Text/html“, „ServerIndex“);
});
/ *Įkelti programinės aparatinės įrangos failą */
serveris.on („/atnaujinti“, http_post, [] () {
server.sendheader („Connection“, „Uždaryti“);
server.send (200, „Tekstas/paprastas“, (atnaujinimas.haserror ())? „Fail“: „Gerai“);
Esp.restart ();
} {
Httpupload & įkelti = server.upload ();
if (įkelti.status == seakt_file_start) {
„Serial.printf“ („Atnaujinimas: %s \ n“, įkelti.fileName.c_str ());
if (! update.begin (update_size_unknown)) {// Pradėkite nuo maksimalaus turimo dydžio
Atnaujinti.printerror (serial);
}
dar
/* mirksinčios programinės įrangos į ESP*/
if (update.Write (įkelti.buf, įkelti.currentsize)! = įkelti.currentsize) {
Atnaujinti.printerror (serial);
}
} els
if (update.end (tiesa)) {// tiesa, kad nustatytumėte dydį į dabartinę pažangą
Serial.printf („Atnaujinti sėkmę: %u \ nrebooting… \ n“, įkelti.Totalsize);
} else {
Atnaujinti.printerror (serial);
}}}
server.begin ();
}
tuštumos kilpa (void) {
serveris.HandleClient ();
vėlavimas (1);
}
OTA programavimas darbas
Norint naudoti OTA programavimo funkciją, eskizą reikia įkelti per nuoseklųjį prievadą. Šis eskizas apima HTML kodą, kad būtų galima padaryti OTA žiniatinklio atnaujinimą. Vėliau galite lengvai įkelti kodą naudodami naršyklę. Kai kodas bus įkeltas per nuoseklųjį prievadą, bus sukurtas žiniatinklio serveris, kuriame galėsite pasirinkti ir įkelti naują eskizą per žiniatinklio naršyklę.
Prijunkite ESP32 plokštę prie nešiojamojo kompiuterio, kad įkeltumėte pagrindinį kodą, tada atidarykite „Arduino IDE“ ir pasirinkite plokštės tipą kaip ESP32 DEV rinkinį ir pasirinkite tinkamą serijos prievadą.
Originaliame kode modifikuokite „Wi-Fi“ ir slaptažodžio pavadinimą.
OTA kodas turi būti įkeltas į jūsų ESP32 plokštę. Kai kodas bus sėkmingai įkeltas, atidarykite nuoseklųjį monitorių. Po to serijiniame monitoriuje turi būti pakeistas 115200 baudų norma. Paspauskite mygtuką Reset virš ESP32 modulio, ir jis turi atsispausdinti ESP32 plokštės IP adresą.
Atidarykite numatytąją naršyklę, kad įklijuotumėte ESP32 IP adresą. Taigi jis turi atidaryti OTA žiniatinklio serverio puslapį. Čia vartotojo vardas ir slaptažodis pagal numatytuosius nustatymus yra administratorius. Dabar įveskite prisijungimo duomenis, spustelėkite Prisijungimo puslapį, tada atidaromas naujas skirtukas, kad įkeltumėte kodą.
Privalumai
ESP32 OTA pranašumai yra šie.
- Šis centralizuotas metodas leidžia vienam atnaujinimui pasiskirstyti į įvairius ESP32 panašiame tinkle.
- OTA leidžia atnaujinti nuotolinę programinę įrangą, nenaudojant fizinės prieigos prie plėtros plokštės, kad ji būtų tobula IoT diegimui.
- OTA pašalina fizinių jungčių reikalavimą atnaujinti ESP32 plokštę, supaprastindama atnaujinimo procedūrą, ypač neprieinamiems ar nuotoliniams įrenginiams.
- Atnaujinimai gali būti pasiekiami nuotoliniu būdu, o tai sumažina laiką, praleistą apsaugai ir veikimui.
- Vienas šaltinis siunčia atnaujinimus daugybei ESP32, panašiame tinkle, ir supaprastina didžiulio diegimo atnaujinimo procedūrą.
- OTA leidžia tuo pačiu metu atnaujinti kelis įrenginius, todėl jis yra labai efektyvus didelio masto projektams.
- Atnaujinimus galima suplanuoti ir vykdyti ne piko valandomis, o tai sumažina įrenginio veikimo problemas.
- OTA atnaujinimai apima saugos pataisas ir patobulinimus, kurie apsaugo nuo pažeidžiamumų.
- OTA funkcionalumą galima integruoti į ESP32 pagrįstus projektus su „Arduinoota“ bibliotekomis.
- OTA programavimas leidžia atnaujinti naują programą į ESP32 be jokio ryšio su kompiuteriu.
Trūkumai
ESP32 OTA trūkumai Įtraukite šiuos dalykus.
- „ESP32“ plokštės gamykloje nėra OTA galimybių. Taigi, pirmiausia, prieš naudodamiesi OTA atnaujinimais, turite įkelti šią programinę -aparatinę įrangą naudodami nuoseklųjį ryšį.
- Be to, kai kurie senesni ESP32 modeliai turi atminties apribojimus, ypač tuos, kurie turi 1 MB „Flash“ atminties.
- Kiekviename įkeltame eskize į ESP32 plokštę turi būti reikiamas kodas, kad būtų galima leisti OTA funkcionalumą. Įrenginys be šio kodo nebebus prieinamas OTA atnaujinimams per žiniatinklio serverį.
- Daugelis šiuolaikinių ESP32 plokščių turi pakankamai atminties, tačiau mažesni ar senesni ESP32 modeliai gali atitikti apribojimus per OTA, ypač jei įkeltas eskizas yra šalia esamos atminties ribos.
- Jei vartotojai įkelia kodą be slaptažodžio, įrenginys gali būti nepasiekiamas būsimiems OTA atnaujinimams, galbūt reikalauti iš naujo įkelti reikiamą OTA eskizą per seriją.
- Nors vartotojai gali pridėti vartotojo vardą ir slaptą saugos žodį, ši priemonė gali nevisiškai apsaugoti OTA įkėlimo puslapį nuo neteisėtos prieigos, jei kas nors nustato konkretų URL.
- Netinkamas OTA kodo įgyvendinimas gali sukelti galimų problemų, nes jis gali išjungti būsimas OTA funkcijas.
Paraiškos
ESP32 OTA paraiškos apima:
- ESP32 OTA programos leidžia įrenginio programinei įrangai atnaujinti nuotoliniu būdu be jokio fizinio ryšio su įrenginiu. Taigi tai daugiausia naudinga IoT įrenginiams, įdiegtiems neprieinamose vietose, mažinant prastovos ir priežiūros išlaidas. OTA leidžia greitai ir efektyviai įdiegti programinės įrangos atnaujinimus, klaidų pataisymus ir funkcijų patobulinimus.
- ESP32 OTA atnaujinimai yra būtini įvairiose programose, daugiausia įterptosiose sistemose ir interneto diegime ..
- Šie atnaujinimai yra reikšmingi pramoninių automatizavimo sistemų priežiūrai ir atnaujinimui, nejungiant viso proceso.
- OTA leidžia išmaniųjų namų įrenginiams gauti nuotolinius programinės įrangos atnaujinimus, užtikrinant geriausius našumo ir funkcijų patobulinimus.
- OTA atnaujinimai yra reikšmingi, norint atnaujinti nuotolinio jutiklių programinės įrangos ir stebėjimo sistemas, užtikrinant, kad jos išliktų tikslūs ir funkcionalūs.
- OTA atnaujinimas pateikia tinkamą metodą, kaip tvarkyti ir laikyti įrenginius bet kurioje interneto programoje, visur, kur nuotolinė prieiga yra nepraktiška ar ribota.
- Vartotojai atnaujina intelektualias spynos, apsaugos kameras ir apsaugos sistemas, kad užtikrintų, jog jos išliks saugūs ir funkcionalūs.
- Pramonės įmonės naudoja ESP32 OTA, kad atnaujintų mašinų programinę įrangą ir sistemas automatizavimo procesuose.
- Technikai atnaujina įrenginio programinę įrangą orų stotyse, aplinkos stebėsenoje ir nuotolinėse programose.
- Ši OTA atnaujina programinę įrangą intelektualioje ūkio įrangoje, drėkinimo sistemose ir kt.
- Jis valdo ir atnaujina išmaniuosius namų įrenginius nuotoliniu būdu namų automatizavime, pavyzdžiui, spynos, apsaugos sistemos, išmaniosios lemputės ir kt.
Išvada:
Taigi ESP32 OTA atnaujinimai teikia Patogus būdas atnaujinti programinę -aparatinę įrangą ir kitus failus belaidžiu būdu ESP32 įrenginiuose, pašalinant fizinius ryšius. Taigi šis metodas daugiausia naudingas nuotoliniam diegimui ir sumažina techninę priežiūrą, leidžiant klaidų pataisymus ir funkcijų patobulinimus be jokio fizinio ryšio. ESP32 OTA atnaujinimas suteikia vertingą techniką, skirtą palaikyti ir atnaujinti ESP32 įrenginius nuotoliniu būdu, supaprastinti techninę priežiūrą ir sutrumpinti atnaujinimo procesą. Štai jums klausimas: kokia yra ESP32 lenta?