Otázka:
Vylepšení vzduchem?
Johannes Ernst
2014-11-01 09:27:26 UTC
view on stackexchange narkive permalink

Chtěl bych mít možnost upgradovat software na arduinu, aniž bych se fyzicky dotýkal zařízení nebo prováděl kabel. Lze to udělat?

Vyberou bezdrátový protokol, který to usnadní.

Podívejte se na [Moteino] (http://lowpowerlab.com/moteino/).
Vypadá velmi pěkně.
Objednal jsem si pár Moteinos a doufejme, že se v příštích několika dnech pokusím o upgrade.
šest odpovědi:
mwwalk
2014-11-03 10:05:27 UTC
view on stackexchange narkive permalink

Nejlepším a nejjednodušším řešením, které jsem našel, je použití Bluefruit EZ-Link od společnosti Adafruit. Mají modul, který zapojíte do pinů Serial / Power / reset ( odkaz zde) nebo štít pro uno ( odkaz zde). Mají také skvělý popis a průvodce ( odkaz zde), který je docela dobrý. V zásadě se jeví jako sériové bluetooth spojení v arduino IDE a programujete to jako normální. Výhodou je, že se používá nejen k programování, ale také k odesílání a přijímání dat.

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

Implementovali jsme vzdálené aktualizace Arduino Pro Mini (ATMega328P) vložením příkazu „boot“ do normálního firmwaru. Jak to funguje, je:

  • Hostitel odešle příkaz „boot“ do vzdáleného Arduina.
  • Arduino přeskočí na zavaděč (adresa programu 0x3C00 pro Pro Mini )
  • Hostitel odešle nový firmware přes odkaz pomocí avrdude (protokol AVR109)

To nevyžaduje nový zavaděč ani hardware. Pro komerční zařízení to však není dobré řešení, protože pokud dojde k poškození nahraného firmwaru, nebude možné desku uvést do režimu zavaděče bez tvrdého resetu.

Některá bezdrátová komunikační zařízení, například XBee, mají GPIO, které lze vzdáleně přepínat. Připojení k resetovacímu kolíku Arduino umožní místo toho resetovat desku do zavaděče.

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

Arduino Yun lze vzdáleně přepsat (buď pomocí wifi nebo síťového kabelu): budete muset vybrat jeho IP adresu v nabídce „Nástroje> Desky“ IDE Arduino a poté stisknout tlačítko nahrávání jako obvykle.

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

Je možné napsat bootloader běžící v RAM (nebo dokonce ve Flashi, možná ve speciálním bootovacím bloku - záleží na mikrokontroléru).
Tento bootloader musí být schopen navázat bezdrátovou komunikaci, porozumět protokolu a vymazat / zapsat Flash paměť.
V zásadě existují dva přístupy k aktualizaci softwaru:

  1. Zavaděč vyhledává při spuštění příkaz „aktualizace softwaru“. Pokud je přijat, čeká na programovací sekvenci. Pokud není přijat, spustí aplikaci.
  2. Aplikace je schopna takový příkaz přijmout a poté dá kontrolu bootloaderu.

Co zvolený protokol je téměř irelevantní. Jen se ujistěte, že existuje dostatek zdrojů pro jeho udržení v RAM / Flash. Například v Arduino Due je pro takovou implementaci více než dost zdrojů.

Aha! Věděli byste náhodou o nějakém volně dostupném kódu, který takové věci někde implementoval?
Jose Leon
2014-11-03 20:49:56 UTC
view on stackexchange narkive permalink

Ano, je to možné. Lowpowerlab.com má Moteino, které lze naprogramovat OTA.

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

Desky Spark.io jsou také velmi příjemné pro programovatelná zařízení podobná Arduinu jako OTA. Mám jeden a zjistil jsem, že je celkem snadné s ním pracovat.

https://www.spark.io/



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...