- Apa itu Pengaturcaraan OTA?
- ESP8266 NodeMCU
- Komponen Diperlukan
- Menyiapkan NodeMCU untuk menerima Kemas Kini OTA Tanpa Wayar
- Program LED Berkedip ESP8266 untuk Pemindahan OTA
- Berkedip LED pada ESP8266 melalui kemas kini OTA
Apa itu Pengaturcaraan OTA?
Pengaturcaraan OTA (Over the Air) adalah proses yang membolehkan peranti meningkatkan firmware atau perisiannya tanpa wayar tanpa akses fizikal. Ia menggunakan teknologi tanpa wayar seperti Wi-Fi, Bluetooth, GPRS atau 4G / 3G dan bukannya komunikasi bersiri berwayar. OTA digunakan untuk memprogram ulang peranti seperti mikrokontroler, telefon bimbit, komputer, set-top box dan lain-lain. Kemas kini OTA biasanya dihantar untuk mengemas kini perisian, menyelesaikan bug, menambahkan beberapa ciri dan lain-lain. Dengan peningkatan penggunaan peranti IoT, OTA dipindahkan menggunakan jalur frekuensi yang mempunyai kadar penghantaran data yang rendah (868 MHz, 900 MHz, 2400 MHz).
Di sini dalam tutorial ini, kami akan menghantar kemas kini OTA ke ESP8266 NodeMCU untuk mengedipkan LED.
ESP8266 NodeMCU
NodeMCU adalah platform IoT sumber terbuka. Ia termasuk firmware yang menggunakan Wi-Fi kos rendah yang disokong oleh ESP8266 Wi-Fi SoC dari Espressif Systems, dan perkakasan yang berdasarkan modul ESP-12. Ia mempunyai pin GPIO, SPI, I2C, ADC, PWM DAN UART. Ia dapat diprogramkan dengan Arduino IDE. Di atas kapal NodeMCU mempunyai IC CP2102 yang menyediakan fungsi USB ke TTL. Untuk mengetahui lebih lanjut mengenai ESP8266, periksa projek berasaskan ESP8266 yang lain.
Komponen Diperlukan
- NodeMCU ESP8266
- Kabel USB Mikro
- Arduino IDE
Menyiapkan NodeMCU untuk menerima Kemas Kini OTA Tanpa Wayar
Mula-mula sambungkan NodeMCU ESP8266 dengan PC menggunakan kabel USB mikro. Kemudian, untuk memuat naik firmware menggunakan OTA, kita perlu memuat naik lakaran secara bersiri menggunakan mikro USB untuk menghasilkan alamat IP ESP. Ini adalah langkah yang diperlukan untuk memuat naik firmware secara wayarles lain kali. Pilih port bersiri yang dilampirkan kabel dari Tools -> Port .
ESP8266 dilengkapi dengan perpustakaan dan contoh yang boleh diakses secara langsung dari Arduino IDE. Buka Arduino IDE dan kemudian Buka contoh BasicOTA.
Edit sketsa dengan mengganti "your-ssid" dan "your-password" dengan Wi-Fi SSID dan kata laluan anda dan kemudian muat naik sketsa
Buka monitor bersiri setelah berjaya memuat naik program. Tetapkan Baud Rate 115200 pada Serial Monitor dan tekan butang Reset pada NodeMCU ESP8266. Menyambungkan NodeMCU ESP8266 dengan Wi-Fi memerlukan sedikit masa kerana memeriksa kelayakan Wi-Fi. Sekiranya SSID dan kata laluan betul, NodeMCU ESP8266 akan disambungkan ke Wi-Fi dan alamat IP ESP akan dipaparkan pada monitor bersiri.
Program LED Berkedip ESP8266 untuk Pemindahan OTA
Kod lengkap untuk memindahkan program LED yang berkedip melalui OTA diberikan pada akhir, di sini kami menerangkan beberapa bahagian penting kod tersebut.
Mengimport perpustakaan yang diperlukan adalah langkah pertama dalam menulis kod. Perpustakaan ESP8266WiFi.h menyediakan rutin Wi-Fi khusus ESP8266 yang diperlukan untuk menyambung ke rangkaian. Juga menyediakan kaedah dan sifat untuk mengendalikan ESP8266 dalam mod stesen atau mod titik akses lembut. ESP8266mDNS.h membolehkan lakaran untuk bertindak balas terhadap pertanyaan DNS multicast.
#sertakan
Tentukan pemboleh ubah untuk SSID dan kata laluan rangkaian Wi-Fi yang akan dihubungkan oleh ESP. Kita harus menghubungkan PC dan ESP kita ke rangkaian Wi-Fi yang sama.
#ifndef STASSID #define STASSID "your- ssid " #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * kata laluan = STAPSK;
ESP8266 ditetapkan sebagai mod stesen dan sambungan Wi-Fi dimulakan dengan memberikan tauliah. Perlu sedikit masa untuk ESP menyambung ke modul Wi-Fi. Sekiranya SSID dan kata laluan betul, ia disambungkan ke Wi-Fi dan jika SSID dan kata laluan tidak betul, ia akan dimulakan semula dalam setiap 1 saat.
Serial.begin (115200); // Tetapkan Baud Rate ke 115200 Serial.println ("Booting"); // Langkah untuk menghubungkan ESP dengan Wi-Fi WiFi.mode (WIFI_STA); // Tetapkan ESP sebagai mod stesen WiFi.begin (SSID, kata laluan); // Kelayakan Wi-Fi semasa (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Menyambungkan ESP ke wi-fi memerlukan sedikit masa, jadi tunggu sehingga ia tersambung { Serial.println ("Sambungan Gagal! Reboot…"); kelewatan (1000); ESP.mulakan semula (); }
Alamat IP ESP dicetak pada monitor bersiri sebagai menyambung ke modul Wi-Fi. WiFi.localIP () memberikan alamat IP ESP.
Setelah memuat naik kod berjaya buka monitor bersiri pada 115200 Baud Rate. Tekan butang reset dan selepas beberapa saat anda akan dapat melihat alamat IP ESP di Serial Monitor. Kini anda dapat memuat naik firmware tanpa wayar.
Berkedip LED pada ESP8266 melalui kemas kini OTA
Sebelum memuat naik lakaran seterusnya, pergi ke Alat dan ubah PORT ke alamat IP ESP kerana memuat naik firmware secara wayarles ke NodeMCU.
Sekarang muat naik lakaran LED berkedip di NodeMCU yang diberikan di bawah secara nirkabel menggunakan Arduino IDE dan pastikan PC dan ESP anda disambungkan ke rangkaian Wi-Fi yang sama dan ESP dikuasakan oleh beberapa sumber kuasa.
Setelah berjaya memuat naik kod, LED pada NodeMCU ESP8266 akan mula berkelip setiap 1 saat. Anda juga boleh menetapkan nama host dan kata laluan dalam lakaran untuk keselamatan semasa memuat naik firmware pada ESP.