題:
無線升級?
Johannes Ernst
2014-11-01 09:27:26 UTC
view on stackexchange narkive permalink

我希望能夠在arduino上升級軟件,而無需實際觸摸設備或連接電纜。可以做到嗎?

會選擇最簡單的無線協議。

看看[Moteino](http://lowpowerlab.com/moteino/)。
看起來很好。
我已經訂購了幾輛Moteinos,希望在接下來的幾天內能夠嘗試升級。
六 答案:
mwwalk
2014-11-03 10:05:27 UTC
view on stackexchange narkive permalink

我發現最好,最簡單的解決方案是使用Adafruit的Bluefruit EZ-Link。他們有一個模塊,您可以將其插入“串行/電源/重置”引腳(鏈接此處)或uno屏蔽(鏈接此處)。他們還提供了很好的說明和操作指南(此處鏈接),效果很好。基本上,它在arduino IDE中顯示為串行藍牙鏈接,您可以像平常一樣對它進行編程。它的另一個好處是不僅可以用於編程,還可以用於發送和接收數據。

geometrikal
2014-11-10 11:09:03 UTC
view on stackexchange narkive permalink

我們通過在普通固件中添加“啟動”命令在Arduino Pro Mini(ATMega328P)上實現了遠程更新。它的工作方式是:

  • 主機將命令“ boot”發送到遠程Arduino。
  • Arduino跳至引導加載程序(Pro Mini的程序地址為0x3C00 )
  • 主機使用avrdude(AVR109協議)通過鏈接發送新固件。

這不需要新的引導加載程序或硬件。不過,對於商用設備而言,這不是一個好的解決方案,因為如果上載的固件已損壞,則在不進行硬重置的情況下,主板將無法進入引導加載程序模式。

某些無線通訊設備,例如XBees,具有可以遠程切換的GPIO。將其連接到Arduino重置引腳將允許將板重置為引導加載程序。

Federico Fissore
2014-11-03 14:04:58 UTC
view on stackexchange narkive permalink

Arduino Yun可以遠程刷新(通過wifi或網絡電纜):您必須在Arduino IDE的“工具>主板”菜單下選擇其IP地址,然後按像往常一樣上傳按鈕。

mic
2014-11-01 10:53:01 UTC
view on stackexchange narkive permalink

有可能編寫在RAM中運行的引導加載程序(甚至在Flash中,也許在特殊的引導塊中運行-取決於微控制器)。
此引導程序必須能夠建立無線通信,了解協議並擦除/寫入閃存。
基本上有兩種軟件升級方法:

  1. 引導加載程序會在啟動時查看“軟件升級”命令。如果收到,它將等待編程序列。如果沒有收到,它將啟動應用程序。
  2. 應用程序能夠接收到這樣的命令,然後將控制權交給引導加載程序。
  3. ol>

    您選擇的協議幾乎無關緊要。只需確保有足夠的資源將其保存在RAM / Flash中即可。例如,在Arduino Due上-有足夠的資源可用於任何此類實現。

啊!您是否會偶然知道一些在某處實現了這種功能的免費代碼?
Jose Leon
2014-11-03 20:49:56 UTC
view on stackexchange narkive permalink

是的,可以做到。 Lowpowerlab.com具有可編程為OTA的Moteino。

sdcharle
2014-11-10 06:08:26 UTC
view on stackexchange narkive permalink

Spark.io闆對於OTA可編程的類似Arduino的設備也非常好。我有一個,並且發現使用起來非常容易。

https://www.spark.io/



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...