การเขียนโปรแกรม OTA (Over the Air) เป็นคุณสมบัติของไมโครคอนโทรลเลอร์ที่เปิดใช้งาน WiFi เช่น ESP32 และ ESP8266 ที่อนุญาตให้อุปกรณ์เหล่านี้อัปเกรดเฟิร์มแวร์หรือซอฟต์แวร์แบบไร้สายโดยไม่ต้องเข้าถึงทางกายภาพ คุณสมบัตินี้สามารถใช้เพื่อตั้งโปรแกรมอุปกรณ์ที่ติดตั้งบนหลังคาหรือที่อื่น ๆ ที่เชื่อมต่อสายเคเบิลได้ยาก เมื่อใช้ OTA คุณสามารถส่งการอัปเดตไปยังไมโครคอนโทรลเลอร์หรืออุปกรณ์หลายตัวที่อยู่ในเครือข่ายเดียวกันได้ ตัวอย่างเช่นคุณลักษณะนี้สามารถใช้เพื่อส่งการอัปเดตสำหรับการแก้ไขข้อบกพร่องการเพิ่มคุณสมบัติบางอย่าง ฯลฯ ไปยังไมโครคอนโทรลเลอร์โทรศัพท์มือถือคอมพิวเตอร์กล่องรับสัญญาณ ฯลฯ การอัปเดต OTA ยังมีบทบาทสำคัญใน IoT ใช้สำหรับอัปเดตอุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ตจากระยะไกลด้วยการตั้งค่าซอฟต์แวร์และเฟิร์มแวร์ใหม่
ก่อนหน้านี้เราได้เรียนรู้การเขียนโปรแกรม ESP8266 NodeMCU โดยใช้ OTA ในบทช่วยสอนนี้เราจะใช้การเขียนโปรแกรมแบบ over-the-air (OTA) กับ ESP32โดยใช้ OTA Web Updater ใน Arduino IDE
ส่วนประกอบที่จำเป็น
- ESP32
- Arduino IDE
OTA Programming ทำงานอย่างไร
ในการใช้คุณสมบัติการเขียนโปรแกรม Over the Air (OTA) ก่อนอื่นคุณต้องอัปโหลดร่างผ่านพอร์ตอนุกรม ร่างนี้มีโค้ด HTML สำหรับสร้าง OTA Web Updater เพื่อให้คุณสามารถอัปโหลดโค้ดในภายหลังโดยใช้เบราว์เซอร์ เมื่ออัปโหลดโค้ดผ่านพอร์ตอนุกรมจะสร้างเว็บเซิร์ฟเวอร์ที่คุณสามารถเลือกและอัปโหลดร่างใหม่ผ่านเว็บเบราว์เซอร์
ในการอัปโหลดรหัสแรกให้เชื่อมต่อ ESP32 กับแล็ปท็อปและเปิด Arduino IDE เลือกประเภทบอร์ดเป็น ESP32 Dev Kit และเลือกพอร์ตอนุกรมที่ถูกต้อง
จากนั้นไปที่ ไฟล์> ตัวอย่าง> ArduinoOTA> OTAWebUpdater
เปลี่ยนชื่อและรหัสผ่าน Wi-Fi ในรหัสเดิม
const char * ssid = "ชื่อ WiFi ของคุณ"; const ถ่าน * รหัสผ่าน = "รหัสผ่าน";
อัปโหลดรหัสไปยังบอร์ด ESP32 ของคุณ หลังจากอัปโหลดโค้ดเรียบร้อยแล้วให้เปิดซีเรียลมอนิเตอร์ เปลี่ยน Baud Rate ของ 115200 บน Serial Monitor และกดปุ่มรีเซ็ตบน ESP32 และควรพิมพ์ที่อยู่ IP ESP32
ตอนนี้เปิดเบราว์เซอร์เริ่มต้นและวางที่อยู่ IP ESP32 ควรเปิดเว็บเซิร์ฟเวอร์สำหรับการเขียนโปรแกรม Over the Air ดังที่แสดงในภาพด้านล่าง:
ชื่อผู้ใช้และรหัสผ่านเริ่มต้นคือผู้ดูแลระบบ
จากนั้นป้อนชื่อผู้ใช้และรหัสผ่านและคลิกที่หน้าเข้าสู่ระบบแท็บใหม่จะเปิดขึ้น นี่คือที่ที่คุณสามารถอัปโหลดโค้ด
ที่นี่เราจะอัปโหลดรหัสไฟ LED กะพริบแบบธรรมดา ทุกรหัสที่คุณอัปโหลดทางอากาศควรมีรหัส OTA อยู่ในนั้น ดังนั้นเพิ่มส่วนกะพริบในรหัส OTA เดิม รหัสที่สมบูรณ์จะได้รับที่ส่วนท้ายของหน้า
ห่วงเป็นโมฆะ (โมฆะ) {server.handleClient (); ล่าช้า (1); digitalWrite (นำสูง); ล่าช้า (600); digitalWrite (led, LOW); ล่าช้า (600); }
บันทึกรหัสของคุณด้วยชื่อใหม่จากนั้นไปที่S ketch> ส่งออกไบนารีที่คอมไพล์ แล้ว เพื่อสร้างไฟล์ . bin ใหม่ในโฟลเดอร์ร่างของคุณ
ไปที่หน้าเว็บ OTA จากนั้นคลิกที่ปุ่ม ' เลือกไฟล์' แล้วเลือกไฟล์ . bin หลังจากนี้คลิกที่ปุ่ม "อัปเดต" เพื่ออัปโหลดร่าง
นี่คือวิธีการตั้งโปรแกรม ESP32 โดยใช้ OTAโดยไม่ต้องใช้การสื่อสารแบบอนุกรม