OTA為OverTheAir的縮寫,意思就是空中更新程式碼,個人認為這個IoT產業非常重要的一環,畢竟當你的裝置從實驗室走到實際場域後,一定會遇到很多問題。如果場域分散在很多不同的地方,光程式改版就會讓你疲於奔波,帶著USB線到處更新你的ESP32,想想就很累。如果今天你的裝置支援OTA,那你在家裡就可以直接更新客戶端裝置的程式,是不是很方便。
OTA並非是ESP32的專屬功能,很多Arduino系列也都支援,以目前筆者所觀察到的OTA目前來說主要分成以下四種模式
- Basic OTA:在Arduino IDE中形成一個虛擬的Port,選擇該Port即可上傳新的程式碼
- OTAWebUpload:ESP32會變成一台Webserver,透過ESP32的網頁上傳ArduinoIDE編譯過得bin(binary)檔
- HTTP Update:將編譯好的bin檔放在一個公開的網站上,讓ESP32主動下載
- Stream Update:透過MQTT將編譯好的bin檔直接上傳到ESP32中
除了4之外,目前我都實做過,本篇先從最簡單的1. Basic OTA開始吧。
Basic OTA
Basic OTA是內建的功能,只要檔案/範例ArduinoOTA/BasicOTA就可以找到,範例程式這裡就不列出。
上傳時選擇Partition Scheme為Default 4MB wiht spiffs(1.2MM APP/1.5M SPIFFS)
只需不到短短一分鐘...
輸入您的信箱與ID註冊即可享有一切福利!
會員福利
1
免費電子報
2
會員搶先看
3
主題訂閱
4
好文收藏