Kā atjaunināt ESP32 programmaparatūru, izmantojot - -air (OTA), izmantojot Arduino IDE un Web serveri

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Agrāk programmaparatūras atjauninājumi Iegultās sistēmas bija kritisks uzdevums. Bet lielākā daļa IoT ierīču un iegultās ierīces ir savienotas caur internetu, lai izstrādātāji attālināti atjauninātu programmaparatūru. Ierīcēm, kas var izveidot savienojumu ar internetu, ir ieguvums no sevis atjaunināšanas. Tātad šāda veida programmaparatūras programmēšana Esp32 tiek saukts par OTA (bezgaismu), kas palīdz iegūt iegultās ierīces atjauninātas ar minimālu lietotāja iejaukšanos.  Turklāt Over-the-That piedāvā daudz funkciju un ir rentabls paņēmiens izstrādātājiem, lai atjauninātu savas ierīces. Šajā rakstā ir izpētīts OTA programmaparatūra Atjaunināšanas procedūra virs ESP32 attīstības padomes.


Kas ir OTA programmēšana ESP32/ ESP32 OTA?

ESP32 OTA ir spēja augšupielādēt vai atjaunināt jaunu programmu ESP32 izstrādes paneļa procesā internetā, nepievienojoties datoram. Turklāt šis process var arī samazināt nepieciešamo laiku, lai atjauninātu katru ESP moduli apkopē. Tādējādi tas ļauj bezvadu atjauninājumiem internetā vai cita veida bezvadu tīklos.



ESP32 attīstības dēlis pievērš uzmanību programmaparatūras atjauninājumam, lejupielādējot to, izmantojot protokoli piemēram, https, mqtt vai http. Pēc tam tas pārbauda un mirgo piešķirtā nodalījumā ESP32 paneļa atmiņā.  OTA atjauninājumi ir nozīmīgi iegultām ierīcēm vai IoT ierīcēm, it īpaši, ja ierīces ir grūti piekļūt vai attālās vietās.

ESP32 OTA pamatdaļas

ESP32 OTA izmanto dažādus galvenos komponentus programmaparatūras atjauninājumiem, fiziski nepievienojot ierīci. Tādējādi šīs OTA galvenās daļas palīdz atjaunināt un saņemt atjauninājumus. Turklāt Asyncelegantota (vai) ESP HTTPS OTA bibliotēkas un ietvari no Espressif saīsina ieviešanas procedūru.



OTA datu nodalījums

Šis nodalījums ESP32 paneļa zibatmiņā vienkārši saglabā atjaunināto OTA informāciju, piemēram, programmaparatūras attēlu un skaitītāju, lai izsekotu, kurš slots tika uzrakstīts nesen.

Sakaru mehānisms

OTA atjauninājumi galvenokārt ir atkarīgi no bezvadu sakaru protokoliem, piemēram, Bluetooth vai wifi, kur Bluetooth tiek izmantots lokalizētākiem un mazākiem atjauninājumiem, un parasti tiek izmantots wifi.

  Pcbway

Klienta-servera arhitektūra

Klients, piemēram, mobilā lietotne vai datora, iniciē atjauninājumu un nosūta programmaparatūru uz ESP32 serveri.

Bibliotēkas un ietvari

Asyncelegantota un ESP HTTPS OTA bibliotēkas nodrošina iepriekš izveidotas funkcijas, lai apstrādātu OTA procedūru un saīsinātu attīstību.

Zābaku ielādētājs

Šis sāknēšanas ielādētājs veic pāreju uz jaunāko programmaparatūru pēc veiksmīgas OTA atjaunināšanas.

Drošs OTA

Droši OTA atjauninājumi ietver programmaparatūras paraksta attēla verifikāciju, lai nodrošinātu tā integritāti un autentiskumu.

Būtībā ESP32 OTA atjauninājumi ir saistīti ar programmatūras (nodalījumu, bibliotēku un programmaparatūras) un sakaru protokolu (Wi-Fi vai Bluetooth) kombināciju. Tādējādi tas nemanāmi atjaunina ierīces programmaparatūru bez fiziskas piekļuves.

Strādājošs

ESP32 OTA programmēšana ļauj ESP32 programmaparatūrai/programmatūrai bezvadu režīmā atjaunināt datoru bez fiziska savienojuma. Tātad to var izdarīt, nosūtot jaunu programmaparatūras attēlu pa tīklu, piemēram, Wi-Fi, un pēc tam to ierakstot ESP32 zibatmiņā. Tādējādi darbojas ESP32 attīstības padome un darbojas jaunākā programmaparatūra.

ESP32 OTA ieviešana

Lai ieviestu ESP32 attīstības padomes brīvdabas atjauninājumus, ir jāaugšupielādē pamata OTA skice. Pēc tam jaunākās programmaparatūras augšupielādei tiek izmantots tīmekļa serveris. Tātad visa šī ESP32 OTA procedūras instalēšana ietver Wi-Fi savienojuma iestatīšanu, bibliotēkas instalēšanu, un pēc tam ESP32 panelī tiek augšupielādēts apkopots binārais fails.

ESP32 OTA ieviešanas soli pa solim:

  • Vispirms jāinstalē ESP32 plates pakete Arduino IDE.
  • Pēc tam iekļaujiet ESP32 īpašās un citas nepieciešamās bibliotēkas.
  • Jāaug augšupielādēts pamata OTA skice, kurā parasti ir Web serveris galvenokārt OTA atjauninājumiem.
  • Atveriet pārlūkprogrammu un ļaujiet ESP32 tīmekļa servera IP adresei.
  • Izvēlieties .bin failu tīmekļa servera saskarnē, kuru vēlaties augšupielādēt.
  • Noklikšķiniet uz pogas Augšupielādēt, lai sāktu OTA atjauninājumu.
  • Tagad ESP32 ir savienots ar jūsu Wi-Fi tīklu.
  • Atveriet Aard atsāknēšanu, izmantojot nesen augšupielādēto programmaparatūru.
  • Arduinoota bibliotēka jāizmanto ESP32 kodolā, lai vienkāršotu OTA procedūru.
  • Varat arī izmantot bibliotēkas sniegto Basicota piemēru vai izveidot savu OTA lietojumprogrammu.
  • Tagad Arduinoota bibliotēka vienkārši ļauj augšupielādēt jaunāko skici OTA savā ESP32.

Izmantojiet tīmekļa serveri

  • ESP32 Arduino bibliotēkā OTAWEBUPDATER piemērs nodrošina tīmekļa saskarni programmaparatūras augšupielādei.
  • Skice ir apkopota, lai ģenerētu .bin failu, pēc tam to var augšupielādēt caur tīmekļa serveri.
  • Šis paņēmiens ļauj veikt vienkāršus un pieejamākus OTA atjauninājumus.
  • Turklāt pārliecinieties, vai ESP32 padomē jums ir vismaz divi OTA nodalījumi.
  • Izmantojiet citas metodes, piemēram, Arduino IoT mākoni, galvenokārt OTA atjauninājumiem.
  • OTA procedūra pārraksta esošo programmaparatūru īpašā OTA nodalījumā, nodrošinot, ka darbināmā programmaparatūra paliek stabila.

ESP32 OTA saskarne ar Arduino

Mikrokontrolleru (ESP32 & ESP32 & Esp8266 ) ir OTA programmēšana. Šīs ierīces bezvadu laikā uzlabo savu programmaparatūru. Izmantojot OTA, atjauninājumu var nosūtīt uz dažādiem mikrokontrolleriem, kas atrodas līdzīgā tīklā. Šī funkcija tiek izmantota, lai nosūtītu atjauninājumus kļūdu atrisināšanai, iekļaujot dažas funkcijas vairākiem mikrokontrolleriem, komplekta augšdaļas, datoriem, mobilajiem tālruņiem utt.

Parasti OTA atjauninājumiem ir galvenā loma Lietu internets Lai attālināti atjauninātu ar internetu savienotās ierīces ar jauniem iestatījumiem un programmatūru. Šeit mēs izmantosim OTA programmēšanu ar ESP32 dēli Arduino IDE ar OTA tīmekļa atjauninātāju.

Nepieciešamie komponenti ESP32 OTA saskarnē ar Arduino paneli ietver ESP32 dēli un Arduino IDE.

  ESP32 OTA saskarne ar Arduino
 ESP32 OTA saskarne ar Arduino

OTA kods

Tālāk ir norādīts ESP32 attīstības padomes OTA kods.

#include

#include

const char* resursdators = “Esp32”;  ssid = “xxx”; parole = “xxxx”;

Tīmekļa servera serveris (80);

/* Pieteikšanās lapa*/

Const char* logindex =

'

'

“”

“”

Esp32 pieteikšanās lapa

'
'

“”

'
'

'
'

“”

“”

“ lietotājvārds: ”


'

“”

'
'

'
'

“”

“ parole: ”


'

'
'

'
'

“”

“”

''

“”

“”

“”

”;

/*

* Servera indeksa lapa

*/

const char* serverindex =

”;

/*

* Iestatīšanas funkcija

*/

void iestatīšana (void) {

Serial.begin (115200);

// Pievienojieties WiFi tīklam

Wifi.begin (ssid, parole);

Serial.println (“”);

// Pagaidiet savienojumu

kamēr (wifi.status ()! = wl_connected) {

kavēšanās (500);

Serial.print (“.”);

}

Serial.println (“”);

Serial.print (“savienots ar“);

Serial.println (SSID);

Serial.print (“IP adrese:“);

Serial.println (wifi.localip ());

/*Izmantojiet MDNS resursdatora nosaukuma izšķirtspējai*/

if (!

Serial.println (“kļūda MDNS reaģētāja iestatīšana!”);

kamēr (1) {

kavēšanās (1000);

}

}

Serial.println (“MDNS reaģētājs sākās”);

/ *atgriezt indeksa lapu, kas tiek saglabāta serveraIndex */

server.on (“/”, http_get, [] () {

Server.sendheader (“savienojums”, “aizvērt”);

Server.send (200, “teksts/HTML”, loginindex);

});

Server.on (“/serverindex”, http_get, [] () {

Server.sendheader (“savienojums”, “aizvērt”);

Server.send (200, “Teksts/HTML”, ServerIndex);

});

/ *Augšupielādes programmaparatūras fails */

Server.on (“/atjauninājums”, http_post, [] () {

Server.sendheader (“savienojums”, “aizvērt”);

Server.send (200, “teksts/vienkāršs”, (update.haserror ())? “Neveiksme”: “ok”);

Esp.restart ();

} {

HttpUpload & augšupielādēt = server.upload ();

if (augšupielādēt.status == upload_file_start) {

Serial.printf (“atjauninājums: %s \ n”, augšupielādē.filename.c_str ());

if (! update.begin (update_size_unknown)) {// sāciet ar maksimālo pieejamo izmēru

Update.printerror (serial);

}

} cits, ja (augšupielādēt.status == upload_file_write) {

/* mirgojoša programmaparatūra uz esp*/

if (update.write (upload.buf, upload.currentsize)! = augšupielādēt.Currentsize) {

Update.printerror (serial);

}

} cits, ja (augšupielādēt.status == augšupielādēt_file_end) {

if (update.end (true)) {// patiess, lai iestatītu lielumu uz pašreizējo progresu

Serial.printf (“Atjaunināt panākumus: %u \ nrebooting… \ n”, augšupielādēt.totalSize);

} cits {

Update.printerror (serial);

}}}

server.begin ();

}

void cilpa (void) {

server.HandLeclient ();

kavēšanās (1);

}

OTA programmēšana darbojas

Lai izmantotu OTA programmēšanas funkciju, caur seriālo portu jāaug augšupielādē skice. Šajā skicē ir iekļauts HTML kods, lai izveidotu OTA tīmekļa atjauninātāju. Vēlāk jūs varat viegli augšupielādēt kodu ar pārlūku. Kad kods ir augšupielādēts, izmantojot seriālo portu, tiks izveidots tīmekļa serveris, kur jūs varat atlasīt un augšupielādēt jaunu skici, izmantojot tīmekļa pārlūku.

Pievienojiet ESP32 plati klēpjdatoram, lai augšupielādētu primāro kodu, pēc tam atveriet Arduino IDE un izvēlieties dēlis kā ESP32 Dev komplektu un izvēlieties pareizo seriālo portu.

Mainiet Wi-Fi un paroles nosaukumu oriģinālajā kodā.

OTA kods ir jāaugšupielādē jūsu ESP32 padomē. Kad kods ir veiksmīgi augšupielādēts, atveriet seriālo monitoru. Pēc tam sērijveida monitā ir jāmaina 115200 Baud likme. Nospiediet atiestatīšanas pogu virs ESP32 moduļa, un tai ir jāizdrukā ESP32 plates IP adrese.

Atveriet noklusējuma pārlūku, lai ielīmētu ESP32 IP adresi. Tātad tai ir jāatver OTA tīmekļa servera lapa. Šeit lietotājvārds un parole pēc noklusējuma ir administrators. Tagad ievadiet pieteikšanās informāciju, noklikšķiniet uz pieteikšanās lapas, un pēc tam tiks atvērta jauna cilne, lai augšupielādētu kodu.

Priekšrocības

ESP32 OTA priekšrocības ir šādas.

  • Šī centralizētā pieeja ļauj vienam atjauninājumam izplatīties dažādos ESP32 līdzīgā tīklā.
  • OTA ļauj uzlabot attālo programmaparatūru, neizmantojot fizisku piekļuvi attīstības padomei, lai tas būtu ideāls IoT izvietošanai.
  • OTA novērš fizisko savienojumu prasību atjaunināt ESP32 paneli, vienkāršojot atjaunināšanas procedūru, jo īpaši nepieejamām vai attālinātām ierīcēm.
  • Atjauninājumus var panākt attālināti, kas samazina aizsardzības un darbību pavadīto laiku.
  • Viens avots nosūta atjauninājumus uz daudziem ESP32S līdzīgā tīklā un pilnveido atjaunināšanas procedūru milzīgām izvietošanai.
  • OTA ļauj vienlaicīgi atjaunināt vairākas ierīces, padarot to ļoti efektīvu liela mēroga projektiem.
  • Atjauninājumus var plānot un izpildīt ārpusstundu laikā, kas samazina nepatikšanas līdz ierīces darbībai.
  • OTA atjauninājumi ietver drošības ielāpus un uzlabojumus, kas aizsargā no ievainojamībām.
  • OTA funkcionalitāti var integrēt ESP32 balstītos projektos ar Arduinoota bibliotēkām.
  • OTA programmēšana ļauj atjaunināt jaunu programmu ESP32 bez jebkāda savienojuma ar datoru.

Trūkumi

Līdz ESP32 OTA trūkumi Iekļaujiet sekojošo.

  • ESP32 paneļa rūpnīcas attēls nesatur OTA iespējas. Tādējādi, pirmkārt, pirms OTA atjauninājumu izmantošanas jums ir jāaugšupielādē šī programmaparatūra, izmantojot seriālo savienojumu.
  • Turklāt dažiem vecākiem ESP32 modeļiem ir atmiņas ierobežojumi, jo īpaši tie, kuriem ir 1 MB zibatmiņas.
  • Katrā augšupielādētā skicē ESP32 panelī jāietver nepieciešamais kods, lai ļautu OTA funkcionalitātei. Ierīce bez šī koda vairs nebūs pieejama OTA atjauninājumiem, izmantojot tīmekļa serveri.
  • Daudziem moderniem ESP32 dēļiem ir pietiekami daudz atmiņas, bet mazāki vai vecāki ESP32 modeļi var saskarties ar ierobežojumiem caur OTA, it īpaši, ja augšupielādētā skice ir tuvu esošajam atmiņas ierobežojumam.
  • Ja lietotāji augšupielādē kodu bez paroles, ierīce var kļūt nepieejama turpmākajiem OTA atjauninājumiem, iespējams, pieprasot atkārtotu nepieciešamo OTA skici, izmantojot seriālu.
  • Lai gan lietotāji var pievienot lietotājvārdu un slepenu vārdu drošībai, šis pasākums, iespējams, pilnībā neaizsargā OTA augšupielādes lapu no neatļautas piekļuves, ja kāds identificē konkrēto URL.
  • Nepareiza OTA koda ieviešana var izraisīt iespējamās problēmas, jo tā var atspējot OTA nākotnes funkcionalitāti.

Pieteikumi

ESP32 OTA lietojumprogrammās ietilpst šādi.

  • ESP32 OTA lietojumprogrammas ļauj ierīces programmaparatūrai atjaunināt attālināti bez fiziska savienojuma ar ierīci. Tātad tas galvenokārt ir noderīgs IoT ierīcēm, kas uzstādītas nepieejamās vietās, samazinot dīkstāves un uzturēšanas izmaksas. OTA ļauj ātri un efektīvi ieviest programmatūras atjauninājumus, kļūdu labojumus un funkciju uzlabojumus.
  • ESP32 OTA atjauninājumi ir nepieciešami dažādās lietojumprogrammās, galvenokārt iegultās sistēmās un IoT izvietošanā.
  • Šie atjauninājumi ir nozīmīgi rūpniecības automatizācijas sistēmu uzturēšanai un jaunināšanai, neizslēdzot visu procesu.
  • OTA ļauj viedās mājas ierīcēm saņemt attālās programmaparatūras jauninājumus, nodrošinot labākos veiktspējas un funkciju uzlabojumus.
  • OTA atjauninājumi ir nozīmīgi, lai atjauninātu attālo sensoru programmaparatūras un uzraudzības sistēmas, nodrošinot, ka tie paliek precīzi un funkcionāli.
  • OTA atjauninājums nodrošina piemērotu metodi, lai apstrādātu un uzturētu ierīces jebkurā IoT lietojumprogrammā, lai kur attālināta piekļuve būtu nepraktiska vai ierobežota.
  • Lietotāji atjaunina viedās slēdzenes, drošības kameras un drošības sistēmas, lai nodrošinātu, ka tās paliek drošas un funkcionālas.
  • Nozares izmanto ESP32 OTA, lai atjauninātu mašīnu programmatūru un sistēmas automatizācijas procesos.
  • Tehniķi atjaunina ierīces programmatūru laika stacijās, vides uzraudzībā un attālās lietojumprogrammās.
  • Šī OTA atjaunina programmatūru viedajā saimniecības aprīkojumā, apūdeņošanas sistēmās utt.
  • Tas pārvalda un atjaunina viedās mājas ierīces attālināti mājas automatizācijā, piemēram, slēdzenes, drošības sistēmas, viedās gaismas utt.

Secinājums:

Tādējādi ESP32 OTA atjauninājumi nodrošina Ērta metode programmaparatūras un citu failu atjaunināšanai bezvadu laikā ESP32 ierīcēs, noņemot fiziskos savienojumus. Tātad šī metode galvenokārt ir noderīga attālinātai izvietošanai un samazina uzturēšanu, ļaujot kļūdu labot un uzlabot funkcijas bez fiziska savienojuma. ESP32 OTA atjauninājums nodrošina vērtīgu paņēmienu, kā attāli uzturēt un atjaunināt ESP32 ierīces, vienkāršot apkopi un saīsināt atjaunināšanas procesu. Šeit jums ir jautājums: kāda ir ESP32 padome?