Cara mengemas kini firmware ESP32 ke -Air (OTA) menggunakan Arduino IDE & Web Server

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Pada masa lalu, kemas kini firmware di Sistem tertanam adalah tugas kritikal. Tetapi kebanyakan peranti IoT dan peranti tertanam disambungkan melalui Internet untuk mengemas kini firmware dari jauh oleh pemaju. Peranti dapat menyambung ke Internet mempunyai manfaat mengemas kini diri mereka. Oleh itu, pengaturcaraan firmware seperti ini di ESP32 dirujuk sebagai OTA (Over-the-Air), yang membantu mengekalkan peranti tertanam sehingga kini dengan campur tangan pengguna minimum.  Di samping itu, Over-the-Air menawarkan banyak ciri dan merupakan teknik kos efektif bagi pemaju untuk membuat kemas kini peranti mereka. Artikel ini meneroka Firmware OTA Prosedur kemas kini ke atas Lembaga Pembangunan ESP32.


Apakah pengaturcaraan OTA dalam ESP32/ ESP32 OTA?

ESP32 OTA adalah keupayaan untuk memuat naik atau mengemas kini program baru ke dalam proses papan pembangunan ESP32 melalui Internet tanpa menyambung ke komputer. Di samping itu, proses ini juga boleh mengurangkan masa yang diperlukan untuk mengemas kini setiap modul ESP dalam penyelenggaraan. Oleh itu, ia membolehkan kemas kini tanpa wayar melalui internet atau jenis rangkaian tanpa wayar lain.



Lembaga Pembangunan ESP32 memberi perhatian kepada kemas kini firmware dengan memuat turunnya menggunakan Protokol Seperti HTTPS, MQTT, atau HTTP. Selepas itu, ia mengesahkan dan memancarkannya ke dalam partition yang diperuntukkan dalam ingatan papan ESP32.  Kemas kini OTA adalah penting untuk peranti tertanam atau peranti IoT, terutamanya apabila peranti sukar diakses atau di lokasi terpencil.

Bahagian teras ESP32 OTA

ESP32 OTA menggunakan pelbagai komponen utama untuk kemas kini firmware tanpa menyambungkan peranti secara fizikal. Oleh itu, bahagian teras OTA ini membantu dalam menghantar dan menerima kemas kini. Di samping itu, Asyncelegantota (OR) ESP HTTPS OTA Perpustakaan & Rangka Kerja dari Espressif memendekkan prosedur pelaksanaan.



Pemisahan data OTA

Partition ini dalam memori flash papan ESP32 hanya menyimpan maklumat terkini OTA, seperti imej firmware & kaunter untuk menjejaki slot yang ditulis lebih baru -baru ini.

Mekanisme komunikasi

Kemas kini OTA terutamanya bergantung kepada protokol komunikasi tanpa wayar seperti Bluetooth atau WiFi, di mana Bluetooth digunakan untuk kemas kini yang lebih setempat dan lebih kecil, dan WiFi biasanya digunakan.

  Pcbway

Senibina pelanggan-pelayan

Pelanggan, seperti aplikasi mudah alih atau PC, memulakan kemas kini dan menghantar firmware ke pelayan ESP32.

Perpustakaan & Rangka Kerja

Asyncelegantota & perpustakaan ESP HTTPS OTA menyediakan fungsi pra-dibina untuk mengendalikan prosedur OTA dan memendekkan pembangunan.

Bootloader

Bootloader ini mengendalikan peralihan ke firmware terkini selepas kemas kini OTA yang berjaya.

Selamat Ota

Kemas kini OTA selamat melibatkan pengesahan imej tandatangan firmware untuk memastikan integriti & keasliannya.

Pada dasarnya, kemas kini ESP32 OTA melibatkan gabungan perisian (partition, perpustakaan, dan firmware) dan protokol komunikasi (Wi-Fi atau Bluetooth). Oleh itu, ia dengan lancar mengemas kini firmware peranti tanpa akses fizikal.

Bekerja

Pengaturcaraan OTA ESP32 membolehkan firmware/perisian ESP32 untuk mengemas kini secara wayarles ke komputer tanpa sambungan fizikal. Jadi ini boleh dilakukan dengan menghantar imej firmware baru melalui rangkaian seperti Wi-Fi, dan selepas itu menulisnya ke dalam memori Flash ESP32. Oleh itu, lembaga pembangunan ESP32 reboot & firmware terkini sedang berjalan.

Pelaksanaan ESP32 OTA

Untuk melaksanakan kemas kini over-the-udara untuk Lembaga Pembangunan ESP32, lakaran OTA asas mesti dimuat naik. Selepas itu, pelayan web digunakan untuk memuat naik firmware terkini. Oleh itu, keseluruhan pemasangan prosedur OTA ESP32 melibatkan persediaan sambungan Wi-Fi, pemasangan perpustakaan, dan selepas itu, fail binari yang disusun dimuat naik ke papan ESP32.

Prosedur langkah demi langkah ESP32 OTA Pelaksanaan:

  • Pertama, perlu memasang pakej papan ESP32 dalam IDE Arduino.
  • Selepas itu, sertakan perpustakaan khusus & lain -lain yang diperlukan ESP32.
  • Lakaran OTA asas mesti dimuat naik, yang biasanya mengandungi pelayan web terutamanya untuk kemas kini OTA.
  • Buka penyemak imbas dan biarkan alamat IP pelayan web ESP32.
  • Pilih fail .bin dalam antara muka pelayan web yang anda ingin muat naik.
  • Klik butang muat naik untuk memulakan kemas kini OTA.
  • Sekarang ESP32 disambungkan ke rangkaian Wi-Fi anda.
  • Buka AARD akan reboot melalui firmware yang baru dimuat naik.
  • Perpustakaan Arduinoota mesti digunakan dalam teras ESP32 untuk memudahkan prosedur OTA.
  • Anda juga boleh menggunakan contoh Basicota yang diberikan oleh perpustakaan atau membuat aplikasi OTA anda sendiri.
  • Sekarang, Perpustakaan Arduinoota hanya membolehkan anda memuat naik lakaran terkini OTA ke ESP32 anda.

Gunakan pelayan web

  • Dalam perpustakaan ESP32 Arduino, contoh Otawebupdater menyediakan antara muka web untuk memuat naik firmware.
  • Lakaran ini disusun untuk menghasilkan fail .bin, selepas itu ia boleh dimuat naik melalui pelayan web.
  • Teknik ini membolehkan kemas kini OTA mudah dan lebih mudah diakses.
  • Di samping itu, pastikan anda mempunyai sekurang -kurangnya dua partisi OTA dalam papan ESP32 anda.
  • Gunakan teknik lain seperti awan Arduino IoT, terutamanya untuk kemas kini OTA.
  • Prosedur OTA menimpa firmware yang sedia ada dalam partition OTA yang berdedikasi dengan memastikan bahawa firmware berjalan tetap stabil.

ESP32 OTA Interfacing dengan Arduino

Ciri utama mikrokontroler yang dibolehkan WiFi (ESP32 & ESP8266 ) adalah pengaturcaraan OTA. Peranti ini menaik taraf firmware mereka secara wayarles. Menggunakan OTA, kemas kini boleh dihantar ke pelbagai mikrokontroler yang berada di rangkaian yang sama. Ciri ini digunakan untuk menghantar kemas kini untuk menyelesaikan pepijat dengan memasukkan beberapa ciri kepada beberapa mikrokontroler, kotak set-top, komputer, telefon bimbit, dll.

Umumnya, kemas kini OTA memainkan peranan utama dalam Internet perkara Untuk mengemas kini peranti yang disambungkan Internet dari jauh dengan tetapan dan perisian baru. Di sini kita akan menggunakan pengaturcaraan OTA dengan papan ESP32 di Arduino IDE dengan pengemaskinian web OTA.

Komponen yang diperlukan untuk ESP32 OTA interfacing dengan papan Arduino termasuk lembaga ESP32 dan IDE Arduino.

  ESP32 OTA Interfacing dengan Arduino
 ESP32 OTA Interfacing dengan Arduino

Kod OTA

Kod OTA untuk Lembaga Pembangunan ESP32 diberikan di bawah.

#include

#include

const char* host = 'esp32';  SSID = 'XXX'; kata laluan = 'xxxx';

Webserver Server (80);

/* halaman log masuk*/

Const char* logIndex =

'

' '

'

'

'

'

'

'

'
'

'
'

'

'

'

'

'

'

'

'

'

'

'
'

'
'

'

'

'

'

'

'

'
'

'
'

'

'

'

'

'

'

'

'

''

''

'';

/*

* Halaman indeks pelayan

*/

const char* serverIndex =

'';

/*

* Fungsi persediaan

*/

void setup (void) {

Serial.Begin (115200);

// Sambungkan ke rangkaian WiFi

Wifi.begin (SSID, kata laluan);

Serial.println ('');

// tunggu sambungan

sementara (wifi.status ()! = wl_connected) {

kelewatan (500);

Serial.print ('.');

}

Serial.println ('');

Serial.print ('Disambungkan ke');

Serial.println (SSID);

Serial.print ('Alamat IP:');

Serial.println (wifi.localip ());

/*Gunakan MDNS untuk resolusi nama tuan rumah*/

jika (! mdns.begin (host)) {// c2e2f8f35ba56eedbbc296b8125c387d1182e239

Serial.println ('Ralat Menyediakan MDNS Responder!');

sementara (1) {

kelewatan (1000);

}

}

Serial.println ('MDNS Responder bermula');

/ *halaman indeks kembali yang disimpan di ServerIndex */

server.on ('/', http_get, [] () {

server.sendHeader ('Sambungan', 'Tutup');

server.send (200, 'teks/html', loginindex);

});

server.on ('/serverIndex', http_get, [] () {

server.sendHeader ('Sambungan', 'Tutup');

server.send (200, 'Teks/HTML', ServerIndex);

});

/ *mengendalikan fail firmware memuat naik */

server.on ('/update', http_post, [] () {

server.sendHeader ('Sambungan', 'Tutup');

server.send (200, 'teks/kosong', (update.hasError ())? 'gagal': 'ok');

Esp.restart ();

} {

Httpupload & upload = server.upload ();

jika (upload.status == upload_file_start) {

Serial.printf ('UPDATE: %s \ n', upload.filename.c_str ());

jika (! update.begin (update_size_unknown)) {// start with max saiz yang tersedia

Update.PrintError (Serial);

}

} else if (upload.status == upload_file_write) {

/* firmware berkelip ke esp*/

jika (update.write (upload.buf, upload.currentsize)! = upload.currentsize) {

Update.PrintError (Serial);

}

} else if (upload.status == upload_file_end) {

jika (update.end (true)) {// benar untuk menetapkan saiz ke kemajuan semasa

Serial.printf ('Kemas Kini Kejayaan: %U \ Nrebooting ... \ N', Upload.Totalssize);

} else {

Update.PrintError (Serial);

}}}

server.begin ();

}

void loop (tidak sah) {

server.handLeClient ();

kelewatan (1);

}

Pengaturcaraan OTA bekerja

Untuk menggunakan ciri pengaturcaraan OTA, lakaran perlu dimuat naik melalui port siri. Lakaran ini termasuk kod HTML untuk membuat pengemaskinian web OTA. Kemudian, anda boleh memuat naik kod dengan penyemak imbas dengan mudah. Sebaik sahaja kod dimuat naik melalui port bersiri, pelayan web akan dibuat di mana anda boleh memilih & memuat naik lakaran baru melalui pelayar web.

Sambungkan papan ESP32 ke komputer riba untuk memuat naik kod utama, kemudian buka Arduino IDE dan pilih jenis papan sebagai ESP32 Dev Kit & pilih port bersiri yang betul.

Ubah suai nama Wi-Fi & Kata Laluan dalam kod asal.

Kod OTA mesti dimuat naik ke papan ESP32 anda. Sebaik sahaja kod itu berjaya dimuat naik, buka monitor siri. Selepas itu, kadar baud 115200 mesti diubah pada monitor siri. Tekan butang Reset di atas modul ESP32, dan ia mesti mencetak alamat IP papan ESP32.

Buka penyemak imbas lalai untuk menampal alamat IP ESP32. Jadi ia mesti membuka halaman pelayan web untuk OTA. Di sini nama pengguna & kata laluan secara lalai adalah admin. Sekarang, masukkan butiran log masuk, klik pada halaman log masuk, dan kemudian tab baru akan dibuka untuk memuat naik kod.

Kelebihan

Kelebihan ESP32 OTA termasuk yang berikut.

  • Pendekatan berpusat ini membolehkan satu kemas kini untuk menyebarkan ke dalam pelbagai ESP32s pada rangkaian yang sama.
  • OTA membolehkan peningkatan firmware jauh tanpa menggunakan akses fizikal ke papan pembangunan untuk menjadikannya sempurna untuk penyebaran IoT.
  • OTA menghilangkan keperluan sambungan fizikal untuk mengemas kini papan ESP32 dengan memudahkan prosedur kemas kini, terutamanya untuk peranti yang tidak boleh diakses atau jauh.
  • Kemas kini boleh dicapai dari jauh, yang mengurangkan masa yang dihabiskan untuk perlindungan dan operasi.
  • Sumber tunggal menghantar kemas kini kepada banyak ESP32s pada rangkaian yang sama dan menyelaraskan prosedur kemas kini untuk penyebaran besar.
  • OTA membolehkan kemas kini serentak ke beberapa peranti dengan menjadikannya sangat berkesan untuk projek berskala besar.
  • Kemas kini boleh dirancang dan dilaksanakan dalam jam luar puncak, yang mengurangkan masalah kepada operasi peranti.
  • Kemas kini OTA termasuk patch keselamatan & penambahbaikan yang melindungi daripada kelemahan.
  • Fungsi OTA boleh diintegrasikan ke dalam projek berasaskan ESP32 dengan perpustakaan Arduinoota.
  • Pengaturcaraan OTA membolehkan anda mengemas kini program baru ke ESP32 tanpa sebarang sambungan ke komputer.

Kekurangan

The Kekurangan ESP32 OTA termasuk yang berikut.

  • Imej kilang papan ESP32 tidak mengandungi keupayaan OTA. Oleh itu, pertama, anda perlu memuat naik firmware ini melalui sambungan siri sebelum anda menggunakan kemas kini OTA.
  • Di samping itu, beberapa model ESP32 yang lebih tua mempunyai batasan memori, terutamanya yang mempunyai memori flash 1MB.
  • Setiap lakaran yang dimuat naik ke papan ESP32 mesti mengandungi kod yang diperlukan untuk membolehkan fungsi OTA. Peranti tanpa kod ini tidak lagi tersedia untuk kemas kini OTA melalui pelayan web.
  • Banyak papan ESP32 moden mempunyai memori yang cukup, tetapi model ESP32 yang lebih kecil atau lebih tua mungkin memenuhi batasan melalui OTA, terutamanya jika lakaran yang dimuat naik berhampiran dengan had memori yang sedia ada.
  • Jika pengguna memuat naik kod tanpa kata laluan, peranti mungkin tidak dapat dicapai untuk kemas kini OTA masa depan, mungkin memerlukan muat naik semula lakaran OTA yang diperlukan melalui Serial.
  • Walaupun pengguna boleh menambah nama pengguna dan perkataan rahsia untuk keselamatan, langkah ini mungkin tidak sepenuhnya melindungi halaman muat naik OTA dari akses yang tidak dibenarkan jika seseorang mengenal pasti URL tertentu.
  • Pelaksanaan Kod OTA yang tidak betul boleh membawa kepada isu -isu yang berpotensi, kerana ia mungkin melumpuhkan fungsi OTA masa depan.

Aplikasi

Aplikasi ESP32 OTA termasuk yang berikut.

  • Aplikasi ESP32 OTA membenarkan firmware peranti untuk mengemas kini dari jauh tanpa sebarang sambungan fizikal ke peranti. Oleh itu, ini amat berguna untuk peranti IoT yang dipasang di lokasi yang tidak dapat diakses, mengurangkan kos downtime & penyelenggaraan. OTA membolehkan kemas kini perisian, pembetulan pepijat, dan peningkatan ciri yang akan digunakan dengan cepat dan cekap.
  • Kemas kini ESP32 OTA adalah penting dalam pelbagai aplikasi, terutamanya dalam sistem tertanam dan penyebaran IoT ..
  • Kemas kini ini penting untuk penyelenggaraan dan peningkatan sistem automasi industri tanpa menutup keseluruhan proses.
  • OTA membolehkan peranti rumah pintar menerima peningkatan firmware jauh dengan memastikan prestasi terbaik & penambahbaikan ciri.
  • Kemas kini OTA adalah penting untuk mengemas kini sistem firmware & pemantauan sensor jauh, dengan memastikan mereka tetap tepat & berfungsi.
  • Kemas kini OTA menyediakan kaedah yang sesuai untuk mengendalikan dan menyimpan peranti dalam mana -mana aplikasi IoT, di mana sahaja akses jauh tidak praktikal atau terhad.
  • Pengguna mengemas kini kunci pintar, kamera keselamatan, dan sistem keselamatan untuk memastikan mereka tetap selamat dan berfungsi.
  • Industri menggunakan ESP32 OTA untuk mengemas kini perisian dan sistem mesin dalam proses automasi.
  • Juruteknik mengemas kini perisian peranti di stesen cuaca, pemantauan alam sekitar, dan aplikasi jauh.
  • OTA ini mengemas kini perisian dalam peralatan ladang pintar, sistem pengairan, dll.
  • Ia menguruskan & mengemas kini peranti rumah pintar jauh dari automasi rumah seperti kunci, sistem keselamatan, lampu pintar, dll.

Kesimpulan:

Oleh itu, Kemas kini ESP32 OTA Menyediakan Kaedah yang mudah untuk mengemas kini firmware & fail lain secara wayarles pada peranti ESP32 dengan mengeluarkan sambungan fizikal. Oleh itu, kaedah ini amat berguna untuk penyebaran jauh & mengurangkan penyelenggaraan dengan membenarkan pembetulan pepijat & peningkatan ciri tanpa sebarang sambungan fizikal. ESP32 OTA Update menyediakan teknik yang berharga untuk mengekalkan & mengemas kini peranti ESP32 dari jauh, memudahkan penyelenggaraan, dan memendekkan proses kemas kini. Berikut adalah soalan untuk anda: Apakah papan ESP32?

'

' halaman log masuk esp32 '

'
'

'

Nama pengguna:
kata laluan: