Mohon tunggu...
atista dwi zahra
atista dwi zahra Mohon Tunggu... penulis artikel

suka menulis dan membaca

Selanjutnya

Tutup

Artificial intelligence

OTA Update pada ESP32: Panduan Lengkap dan Praktis

22 September 2025   14:07 Diperbarui: 22 September 2025   14:07 27
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

  

Over-the-Air (OTA) update adalah salah satu fitur canggih yang sangat berguna dalam pengembangan perangkat berbasis mikrokontroler seperti ESP32. Dengan OTA, pengguna dapat memperbarui firmware perangkat tanpa perlu menyambungkannya secara langsung melalui kabel. Artikel ini membahas berbagai pendekatan OTA untuk ESP32, termasuk melalui BLE (Bluetooth Low Energy), Web OTA, dan metode ElegantOTA berbasis antarmuka web, berdasarkan dokumentasi dari AWS, Programming Electronics, dan Random Nerd Tutorials. 

 Apa Itu OTA Update pada ESP32? 

OTA (Over-the-Air) update memungkinkan firmware pada ESP32 diperbarui secara nirkabel. Fitur ini sangat membantu ketika perangkat sudah terpasang di lokasi yang sulit dijangkau atau saat ingin mendistribusikan pembaruan perangkat lunak ke banyak perangkat secara bersamaan. 

Keuntungan utama menggunakan OTA antara lain: 

Tidak perlu koneksi fisik untuk update firmware 

Hemat waktu dan biaya pemeliharaan 

Memungkinkan pembaruan masal ke banyak perangkat 

Dapat digabung dengan sistem cloud atau server lokal 

ESP32 mendukung berbagai metode OTA seperti melalui Wi-Fi, Bluetooth Low Energy (BLE), dan juga protokol HTTP/HTTPS. 

Sumber: https://www.cyient.com/internet-of-medical-things-iomt
Sumber: https://www.cyient.com/internet-of-medical-things-iomt
OTA Melalui BLE dengan FreeRTOS dan AWS 

Salah satu metode OTA yang didukung oleh ESP32 adalah menggunakan BLE, seperti yang dijelaskan dalam dokumentasi AWS FreeRTOS. BLE digunakan untuk transfer data firmware dari perangkat seluler atau gateway ke ESP32. 

Langkah Umum: 

Integrasi FreeRTOS OTA Library: Menggunakan pustaka ota dari AWS FreeRTOS untuk memfasilitasi komunikasi OTA. 

Koneksi BLE: ESP32 akan berperan sebagai peripheral BLE yang menerima data firmware. 

Verifikasi dan Flashing: Setelah file firmware diterima, sistem akan memverifikasi hash SHA256 untuk memastikan integritas, lalu mem-flash firmware ke partisi yang sesuai. 

BLE OTA cocok untuk perangkat dengan konektivitas terbatas atau dalam aplikasi IoT di mana penggunaan Wi-Fi tidak memungkinkan. Namun, kecepatan transfer data BLE lebih lambat dibanding Wi-Fi, sehingga metode ini lebih cocok untuk firmware berukuran kecil. 

Web OTA dengan Server HTTP Lokal 

Metode lain yang lebih umum digunakan oleh pengembang adalah Web OTA menggunakan server HTTP lokal, seperti yang dijelaskan oleh situs Programming Electronics. Teknik ini memungkinkan pengguna memperbarui firmware melalui browser dengan membuka alamat IP perangkat ESP32. 

Cara Kerja Web OTA: 

ESP32 menjalankan server HTTP sederhana. 

Antarmuka web menyediakan tombol untuk mengunggah file .bin. 

Setelah file dikirim, firmware baru ditulis ke partisi memori dan perangkat akan restart. 

Kelebihan: 

Antarmuka web yang mudah digunakan 

Cocok untuk pengujian dan pemeliharaan lokal 

Tidak perlu alat tambahan selain browser 

Metode ini tidak membutuhkan koneksi internet, cukup dengan ESP32 dan perangkat yang terhubung ke jaringan yang sama. Karena itu, sangat cocok untuk penggunaan rumahan atau pengembangan di lab. 

ElegantOTA: Update Firmware Lewat Antarmuka Web Modern 

ElegantOTA adalah pustaka open-source yang mempermudah implementasi Web OTA dengan tampilan antarmuka web yang modern dan elegan. Dibuat dengan Arduino IDE dan pustaka  ESPAsyncWebServer, ElegantOTA memberikan pengalaman pengguna yang jauh lebih ramah. 

Fitur ElegantOTA: 

Tampilan antarmuka pengguna yang menarik dan responsif 

Proses upload dan update yang lebih stabil 

Dukungan untuk pembaruan firmware dan file system (SPIFFS atau LittleFS) 

Implementasi Dasar: 

cpp 

Copy 

Edit 

#include <WiFi.h> 

#include <AsyncTCP.h> 

#include <ESPAsyncWebServer.h> 

#include <ElegantOTA.h> 

AsyncWebServer server(80); 

void setup() { 

WiFi.begin("SSID", "PASSWORD"); 

while (WiFi.status() != WL_CONNECTED) delay(1000); 

server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ 

request->send(200, "text/plain", "Hello from ESP32"); 

}); 

ElegantOTA.begin(&server); 

server.begin(); 

} 

Setelah kode dijalankan dan ESP32 terhubung ke jaringan, cukup buka alamat IP ESP32 di browser untuk mengakses halaman update. ElegantOTA secara otomatis menangani proses verifikasi dan flashing firmware. 

Sumber: https://thingsboard.io/docs/devices-library/esp32-dev-kit-v1
Sumber: https://thingsboard.io/docs/devices-library/esp32-dev-kit-v1

Pertimbangan Keamanan dalam OTA Update 

Melakukan OTA update secara nirkabel membuka risiko keamanan, terutama jika tidak dilengkapi proteksi yang tepat. Berikut adalah langkah-langkah penting untuk meningkatkan keamanan OTA: 

Verifikasi Signature: Gunakan tanda tangan digital (digital signature) untuk memastikan firmware berasal dari sumber terpercaya. 

Enkripsi Data: Jika memungkinkan, gunakan HTTPS atau protokol terenkripsi agar data firmware tidak dapat disadap. 

Autentikasi Pengguna: Tambahkan lapisan login sebelum pengguna dapat mengunggah firmware baru. 

Partisi Aman: Gunakan sistem partisi ganda (dual partition) agar jika proses update gagal, perangkat tetap bisa menjalankan firmware lama (rollback). 

AWS FreeRTOS misalnya, menerapkan sistem SHA-256 dan verifikasi tanda tangan dengan ECDSA untuk menjaga integritas firmware. 

Mana yang Paling Cocok untuk Proyekmu? 

Setiap metode OTA punya kelebihan dan kekurangan. Kalau proyekmu butuh fleksibilitas dan tampilan antarmuka yang nyaman, ElegantOTA bisa jadi pilihan terbaik. Kalau kamu lebih fokus ke perangkat dengan konektivitas terbatas, BLE mungkin lebih cocok. Dan kalau kamu hanya butuh cara cepat dan sederhana untuk update firmware, Web OTA dengan server HTTP lokal sudah lebih dari cukup. 

Tinggal disesuaikan aja sama kebutuhan proyek dan kondisi di lapangan. Yang penting, pastikan semua proses update tetap aman dan nggak mengganggu fungsi utama perangkatmu. Karena sekeren apa pun fiturnya, kalau nggak aman atau bikin error, ya tetap aja bikin pusing di belakang. 

Sumber: 

https://docs.aws.amazon.com/id_id/freertos/latest/userguide/ota-updates-esp32-ble.html 

 https://www.programmingelectronics.com/esp32-webota-updates/ 

https://randomnerdtutorials.com/esp32-ota-elegantota-arduino/

Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana. Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Mohon tunggu...

Lihat Konten Artificial intelligence Selengkapnya
Lihat Artificial intelligence Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun