- Apa itu Pemrograman OTA?
- ESP8266 NodeMCU
- Komponen Diperlukan
- Mempersiapkan NodeMCU untuk menerima Pembaruan OTA Secara Nirkabel
- ESP8266 Program LED Berkedip untuk OTA Transfer
- Mengedipkan LED pada ESP8266 melalui pembaruan OTA
Apa itu Pemrograman OTA?
Pemrograman OTA (Over the Air) adalah proses yang memungkinkan perangkat meningkatkan firmware atau perangkat lunaknya secara nirkabel tanpa akses fisik apa pun. Ini menggunakan teknologi nirkabel seperti Wi-Fi, Bluetooth, GPRS atau 4G / 3G daripada komunikasi serial kabel. OTA digunakan untuk memprogram ulang perangkat seperti mikrokontroler, ponsel, komputer, set-top box dll. Pembaruan OTA umumnya dikirim untuk memperbarui perangkat lunak, menyelesaikan bug, menambahkan beberapa fitur, dll. Dengan meningkatnya penggunaan perangkat IoT, OTA ditransfer menggunakan pita frekuensi memiliki tingkat transmisi data yang rendah (868 MHz, 900 MHz, 2400 MHz).
Di sini, di tutorial ini, kami akan mengirim pembaruan OTA ke ESP8266 NodeMCU untuk mengedipkan LED.
ESP8266 NodeMCU
NodeMCU adalah platform IoT open source. Ini termasuk firmware yang berjalan pada SoC Wi-Fi ESP8266 berkemampuan Wi-Fi berbiaya rendah dari Espressif Systems, dan perangkat keras yang didasarkan pada modul ESP-12. Ini memiliki pin GPIO, SPI, I2C, ADC, PWM DAN UART. Itu dapat diprogram dengan Arduino IDE. On board NodeMCU memiliki IC CP2102 yang menyediakan fungsionalitas USB ke TTL. Untuk mempelajari lebih lanjut tentang ESP8266, periksa proyek berbasis ESP8266 lainnya.
Komponen Diperlukan
- NodeMCU ESP8266
- Kabel Mikro USB
- IDE Arduino
Mempersiapkan NodeMCU untuk menerima Pembaruan OTA Secara Nirkabel
Pertama sambungkan NodeMCU ESP8266 dengan PC menggunakan kabel micro USB. Kemudian, untuk mengupload firmware menggunakan OTA, kita perlu mengupload sketsa secara serial menggunakan micro USB untuk menghasilkan alamat IP ESP. Ini adalah langkah yang diperlukan untuk mengunggah firmware secara nirkabel di lain waktu. Pilih port serial yang akan disambungkan kabel dari Tools -> Port .
ESP8266 hadir dengan pustaka dan contoh yang dapat diakses langsung dari Arduino IDE. Buka Arduino IDE lalu Buka contoh BasicOTA.
Edit sketsa dengan mengganti "your-ssid" dan "your-password" dengan Wi-Fi SSID dan kata sandi Anda lalu unggah sketsa
Buka monitor serial setelah berhasil mengupload program. Atur Baud Rate 115200 pada Serial Monitor dan tekan tombol Reset pada NodeMCU ESP8266. Menghubungkan NodeMCU ESP8266 dengan Wi-Fi membutuhkan waktu karena memeriksa kredensial Wi-Fi. Jika SSID dan kata sandi benar maka NodeMCU ESP8266 akan terhubung ke Wi-Fi dan alamat IP ESP akan ditampilkan di monitor serial.
ESP8266 Program LED Berkedip untuk OTA Transfer
Kode lengkap untuk mentransfer program LED berkedip melalui OTA diberikan di bagian akhir, di sini kami menjelaskan beberapa bagian penting dari kode tersebut.
Mengimpor pustaka yang diperlukan adalah langkah pertama dalam menulis kode. Perpustakaan ESP8266WiFi.h menyediakan rutinitas Wi-Fi khusus ESP8266 yang diperlukan untuk menyambung ke jaringan. Juga menyediakan metode dan properti untuk mengoperasikan ESP8266 dalam mode stasiun atau mode titik akses lunak. ESP8266mDNS.h memungkinkan sketsa untuk menanggapi permintaan DNS multicast.
#include
Tentukan variabel untuk SSID dan kata sandi jaringan Wi-Fi yang akan dihubungkan dengan ESP. Kami harus menghubungkan PC dan ESP kami ke jaringan Wi-Fi yang sama.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * password = STAPSK;
ESP8266 diatur sebagai mode stasiun dan koneksi Wi-Fi dimulai dengan memberikan kredensial. ESP memerlukan waktu untuk terhubung ke modul Wi-Fi. Jika SSID dan kata sandi benar, itu akan terhubung ke Wi-Fi dan jika SSID dan kata sandi tidak benar maka itu akan reboot setiap 1 detik.
Serial.begin (115200); // Setel Baud Rate ke 115200 Serial.println ("Booting"); // Langkah untuk menghubungkan ESP dengan Wi-Fi WiFi.mode (WIFI_STA); // Setel ESP sebagai mode stasiun WiFi.begin (ssid, password); // Kredensial Wi-Fi sementara (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Menghubungkan ESP ke wi-fi membutuhkan waktu, jadi tunggu hingga terhubung { Serial.println ("Koneksi Gagal! Reboot…"); penundaan (1000); ESP.restart (); }
Alamat IP ESP dicetak pada monitor serial sebagai koneksi ke modul Wi-Fi. WiFi.localIP () memberikan alamat IP ESP.
Setelah mengunggah kode berhasil membuka monitor serial pada 115200 Baud Rate. Tekan tombol reset dan setelah beberapa detik Anda akan dapat melihat alamat IP ESP di Serial Monitor. Sekarang Anda dapat mengunggah firmware secara nirkabel.
Mengedipkan LED pada ESP8266 melalui pembaruan OTA
Sebelum mengunggah sketsa berikutnya pergi ke Alat dan ubah PORT ke alamat IP ESP untuk mengunggah firmware secara nirkabel ke NodeMCU.
Sekarang unggah sketsa LED berkedip yang diberikan di bawah ini pada NodeMCU secara nirkabel menggunakan Arduino IDE dan pastikan bahwa PC dan ESP Anda terhubung ke jaringan Wi-Fi yang sama dan ESP didukung oleh beberapa sumber daya.
Setelah berhasil mengupload kode, LED pada NodeMCU ESP8266 akan mulai berkedip setiap 1 detik. Anda juga dapat mengatur nama host dan kata sandi dalam sketsa untuk keamanan saat mengunggah firmware di ESP.