我們通過在普通固件中添加“啟動”命令在Arduino Pro Mini(ATMega328P)上實現了遠程更新。它的工作方式是:
這不需要新的引導加載程序或硬件。不過,對於商用設備而言,這不是一個好的解決方案,因為如果上載的固件已損壞,則在不進行硬重置的情況下,主板將無法進入引導加載程序模式。
某些無線通訊設備,例如XBees,具有可以遠程切換的GPIO。將其連接到Arduino重置引腳將允許將板重置為引導加載程序。
Arduino Yun可以遠程刷新(通過wifi或網絡電纜):您必須在Arduino IDE的“工具>主板”菜單下選擇其IP地址,然後按像往常一樣上傳按鈕。
有可能編寫在RAM中運行的引導加載程序(甚至在Flash中,也許在特殊的引導塊中運行-取決於微控制器)。
此引導程序必須能夠建立無線通信,了解協議並擦除/寫入閃存。
基本上有兩種軟件升級方法:
您選擇的協議幾乎無關緊要。只需確保有足夠的資源將其保存在RAM / Flash中即可。例如,在Arduino Due上-有足夠的資源可用於任何此類實現。
是的,可以做到。 Lowpowerlab.com具有可編程為OTA的Moteino。
Spark.io闆對於OTA可編程的類似Arduino的設備也非常好。我有一個,並且發現使用起來非常容易。