Tartalomjegyzék:
- Kellékek
- 1. lépés: OTA
- 2. lépés: Ameba Flash memória elrendezés
- 3. lépés: Indítási folyamat
- 4. lépés: Példa
Videó: Az Arduino programozása a levegőben (OTA) - Ameba Arduino: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Sok Wi-Fi mikrokontroller létezik a piacon, sok gyártó szívesen programozza Wi-Fi mikrokontrollerét az Arduino IDE használatával. Azonban a Wi-Fi mikrokontroller által kínált egyik legmenőbb funkciót általában figyelmen kívül hagyják, vagyis a kód programozását és feltöltését távolról és vezeték nélkül az OTA (Over-The-Air) funkció segítségével.
Ebben az utasításban megmutatom, hogyan kell beállítani az OTA-t a Wi-Fi mikrokontrollerén az Ameba Arduino Wi-Fi mikrokontroller mindenütt jelenlévő Arduino IDE használatával!
Kellékek
Ameba Arduino x 1
1. lépés: OTA
Az OTA (Over-The-Air) az interneten keresztüli online frissítési mechanizmusra utal.
Az Arduino IDE OTA szolgáltatást kínál, amely a fenti ábrán látható munkafolyamatot követi.
(i) Az Arduino IDE az mDNS -en keresztül keres olyan eszközöket, amelyek Arduino IDEOTA szolgáltatással rendelkeznek a helyi hálózatban.
(ii) Mivel az mDNS szolgáltatás az Ameba rendszeren fut, az Ameba válaszol az mDNS keresésre, és megnyitja az adott TCP portot a csatlakozáshoz.
(iii) A felhasználó programot fejleszt az Arduino IDE -ben. Ha elkészült, válassza a hálózati portot.
(iv) Kattintson a feltöltés gombra. Ezután az Arduino IDE elküldi az OTA -képet az Ameba -nak a TCP -n keresztül, az Ameba egy adott címre menti a képet, és beállítja a rendszerindítási lehetőséget, hogy legközelebb erről a képről induljon.
A munkafolyamat három részből áll: mDNS, TCP és OTA képfeldolgozás. Az mDNS -hez kapcsolódó részleteket az mDNS bemutatója ismerteti. A TCP socket programozást a képek átvitelénél használják, és az OTA API már tartalmazza.
A következő részben az OTA kép feldolgozásának módjáról fogunk beszélni, és bemutatunk néhány alapvető tudást az Ameba flash memória elrendezéséről és a rendszerindítás folyamatáról.
2. lépés: Ameba Flash memória elrendezés
Az Ameba RTL8195A flash memória mérete 2 MB, 0x00000000 és 0x00200000 között. Az Ameba RTL8710 flash memória mérete azonban 1 MB. A különböző kártyák használatának feltételezése érdekében feltételezzük, hogy a flash memória elrendezése 1 MB.
Amint a fenti ábrán látható, az Ameba program a flash memória három részét foglalja el:
- Boot kép?
Vagyis a rendszerbetöltő. Amikor az Ameba elindul, a rendszerindító képet a memóriába helyezi és inicializálja. Ezenkívül meghatározza, hogy a rendszerbetöltő után merre tovább. A Bootloader megnézi az OTA címet és a helyreállítási PIN -kódot a rendszer adatterületén, és meghatározza, hogy melyik kép kerül végrehajtásra. A rendszerbetöltő végén a képet a memóriába helyezi, és végrehajtja.
- Alapértelmezett 2. kép.
Ebben a részben található a fejlesztői kód, a cím 0x0000B000 -től kezdődik. Az első 16 bájt a kép fejléce, a 0x0000B008 ~ 0x0000B00F az aláírást tartalmazza, amely a kép érvényességének ellenőrzésére szolgál. Az aláírás mező két érvényes értékkel rendelkezik, amelyek megkülönböztetik az új képet a régi képtől.
- OTA kép?
Az ebben a részben szereplő adatok szintén fejlesztői kódok. Alapértelmezés szerint a memória ezen része 0x00080000 -tól kezdődik (megváltoztatható). A fő különbségek az OTA kép és az alapértelmezett 2. kép között a flash memória címe és az aláírás értéke.
A kódon kívül van néhány adatblokk:
- Rendszeradatok?
A rendszer adatblokkja 0x00009000 -től kezdődik. Két OTA-val kapcsolatos adat létezik:
1. OTA -cím: 4 bájtos adat 0x00009000 -től. Megmondja az OTA Image címét. Ha az OTA cím értéke érvénytelen (azaz 0xFFFFFFFF), akkor a flash memóriában lévő OTA kép nem tölthető be megfelelően.
2. Helyreállító pin : 4 bájtos adatok 0x00009008 -tól kezdődően. A helyreállítási pin segítségével határozzák meg, hogy melyik képet (alapértelmezett 2. kép vagy OTA -kép) kell végrehajtani, ha mindkét kép érvényes. Ha a helyreállítási pin értéke érvénytelen (azaz 0xFFFFFFFF), akkor az új kép alapértelmezés szerint végrehajtásra kerül.
A rendszer adatait eltávolítjuk, amikor a DAP -on keresztül feltöltjük a programot az Ameba -ba. Vagyis az OTA -cím eltávolításra kerül, és az Ameba megállapítja, hogy nincs OTA -kép.
- Kalibrációs adatok : A perifériás kalibrálási adatok ebbe a mondatba kerülnek. Ezeket az adatokat általában nem szabad törölni.
3. lépés: Indítási folyamat
A fenti kép alapján, A következő forgatókönyveket tárgyaljuk: (i) az OTA nincs használatban, a DAP segítségével töltse fel a programot:
Ebben a helyzetben a rendszerbetöltő ellenőrzi az alapértelmezett 2. kép és az OTA -cím aláírását. Mivel az OTA -cím eltávolításra került, az alapértelmezett 2. kép kerül kiválasztásra a végrehajtáshoz.
(ii) Az OTA -kép átkerül az Ameba -ba, az OTA -cím helyesen van beállítva, a helyreállítási PIN -kód nincs beállítva.
Az Ameba frissített képet kapott OTA -n keresztül, az alapértelmezett 2. kép aláírása régi aláírásra van állítva.
A rendszerbetöltő ellenőrzi az alapértelmezett 2. kép aláírását és az OTA -címet. Megállapítja, hogy az OTA -cím érvényes OTA -képet tartalmaz. Mivel a helyreállítási gomb nincs beállítva, kiválasztja a végrehajtandó új képet (azaz az OTA -képet).
(iii) Az OTA -kép átkerül az Ameba -ba, az OTA -cím helyesen van beállítva, a helyreállítási pin be van állítva :
Az Ameba frissített képet kapott OTA -n keresztül, az alapértelmezett 2. kép aláírása régi aláírásra van állítva.
A rendszerbetöltő ellenőrzi az alapértelmezett 2. kép aláírását és az OTA -címet. Megállapítja, hogy az OTA -cím érvényes OTA -képet tartalmaz. Ezután ellenőrizze a helyreállító tű értékét. Ha a helyreállítási csap LOW -hoz van csatlakoztatva, akkor az új kép (azaz OTA -kép) végrehajtásra kerül. Ha a helyreállítási csap a HIGH -hez van csatlakoztatva, akkor a régi kép (azaz az alapértelmezett 2. kép) kerül végrehajtásra.
4. lépés: Példa
Az OTA szolgáltatás használatához frissítse a DAP firmware -t> 0.7 verzióra (a v0.7 nem tartozék). A gyári alapértelmezett DAP firmware a 0.7 verzió. Kérjük, kövesse az utasításokat a DAP firmware frissítéséhez:
Nyissa meg a példát: "Fájl" -> "Példák" -> "AmebaOTA" -> "ota_basic"
Töltse ki az ssid és a jelszó adatait a hálózati kapcsolat mintakódjában.
Van néhány paraméter az OTA -val kapcsolatban:
§ MY_VERSION_NUMBER : Az első verzióban be kell állítanunk az OTA címet és a helyreállítási PIN -kódot. Mivel ezúttal az USB -n keresztül történő feltöltés az első verzió, nem kell módosítanunk ezt az értéket.
§ OTA_PORT : Az Arduino IDE megtalálja az Amebát az mDNS -en keresztül. Az Ameba közli az Arduino IDE -vel, hogy megnyitja az 5000 -es TCP -portot, hogy megvárja az OTA -képet.
§ RECOVERY_PIN : Állítsa be a helyreállításhoz használt csapot. Itt a 18 -as csapot használjuk.
Ezután USB feltöltő programot használunk az Ameba -hoz. Kattintson az Eszközök -> Portok lehetőségre, ellenőrizze a használni kívánt soros portot :
Kérjük, vegye figyelembe, hogy az Arduino IDE egy portot használ a feltöltési programhoz és a kimeneti naplóhoz. Annak elkerülése érdekében, hogy az OTA használatakor a napló ne kerüljön kimenetre, a soros monitor helyett más soros portterminált (pl. Tera term vagy gitt) használunk a naplóüzenet megtekintésére.
Ezután kattintson a feltöltés gombra, és nyomja meg a visszaállítás gombot.
A naplóüzenetben:
1. A „===== Enter Image 1 ====” és az „Enter Image 2 ====” között megtalálható a „Flash Image 2: Addr 0xb000”. Ez azt jelenti, hogy az Ameba úgy dönt, hogy az alapértelmezett 2. képről indul 0xb000 -en.
2. Az „Enter Image 2 ====” után megtalálható az „This is version 1”. Ezt a naplóüzenetet adjuk hozzá a vázlathoz.
3. Miután az Ameba csatlakozott az AP -hez, és megkapta a „192.168.1.238” IP -címet, aktiválja az mDNS -t, és várja az ügyfelet.
Ezt követően módosítjuk a "MY_VERSION_NUMBER" értéket 2 -re.
Kattintson az "Eszközök" -> "Port" gombra, és megjelenik a "Hálózati portok" listája. Keresse meg a "MyAmeba a 192.168.1.238 (Ameba RTL8195A)" lehetőséget, a MyAmeba az mDNS eszköz neve, amelyet a mintakódban állítottunk be, és a "192.168.1.238" az Ameba IP címe.
Ha nem találja az Ameba hálózati portját, erősítse meg:
- a számítógép és az Ameba ugyanabban a helyi hálózatban vannak -e?
- próbálja meg újraindítani az Arduino IDE -t.
- ellenőrizze a naplóüzenetet a Serial Monitorban, hogy az Ameba sikeresen csatlakozott -e az AP -hez.
Ezután kattintson a feltöltés gombra. A program ezúttal TCP -n keresztül kerül feltöltésre. A naplóterminálban láthatja az ügyfélkapcsolat adatait.
Ha az OTA -kép letöltése sikeres, az Ameba újraindul, és a következő napló megjelenik a naplóterminálban.
- Az „===== Enter Image 1 ====” és az „Enter Image 2 ====” között megjelenik a „Flash Image 2: Addr 0x80000” naplóüzenet. Ez azt jelenti, hogy az Ameba úgy dönt, hogy 0x80000 -as OTA Image -ről indul.
- Az „Enter Image 2 ====” után a „This is version 2” napló az üzenet, amelyet a vázlathoz adunk hozzá.
Ha vissza szeretné állítani az előző képet, miután az OTA -képet letöltötte az Ameba -hoz, kérjük, csatlakoztassa a vázlatban beállított helyreállító csapot (azaz a 18. tüskét) a HIGH (3.3V) -hoz, és nyomja meg a reset gombot.
Ezután az alapértelmezett 2. kép jelenik meg indításkor. Ne feledje, hogy a letöltött OTA -kép nem törlődik, miután a helyreállítási tűt leválasztotta a HIGH -ról, az OTA -kép végrehajtásra kerül.
A fejlesztési folyamatot az OTA segítségével foglaljuk össze a következő ábrán.
Ajánlott:
Arduino programozása másik Arduino használatával görgetett szöveg megjelenítéséhez könyvtár nélkül: 5 lépés
Arduino programozása Egy másik Arduino használatával görgethető szöveg megjelenítéséhez könyvtár nélkül: A Sony Spresense vagy az Arduino Uno nem olyan drága, és nem igényel sok energiát. Ha azonban a projektben korlátozottak a teljesítmény, a hely vagy a költségvetés, érdemes megfontolni az Arduino Pro Mini használatát. Az Arduino Pro Micro -tól eltérően az Arduino Pro Mi
Önálló Arduino 3.3V W / külső 8 MHz -es óra programozása az Arduino Uno -tól az ICSP / ISP -n keresztül (soros megfigyeléssel!): 4 lépés
Önálló Arduino 3.3V W / külső 8 MHz -es óra programozása az Arduino Uno -tól az ICSP / ISP -n keresztül (soros felügyelet mellett!): Célok: Egy önálló Arduino felépítése, amely 3,3 V -on működik 8 MHz -es külső óra mellett. Programozása ISP-n keresztül (más néven ICSP, áramkörön belüli soros programozás) egy Arduino Uno-ról (5 V-on fut) A rendszerbetöltő fájl szerkesztéséhez és az égetéshez
Az Arduino Pro Mini programozása az Arduino Uno programmal: 4 lépés
Az Arduino Pro Mini programozása az Arduino Uno programmal: Ezt egy másik projekt részeként írtam, de aztán úgy döntöttem, hogy egy Pro Micro -t használok, amely közvetlenül a laptopról programozható. Ez azonban egyszer (vagy valakinek) hasznos lehet Itt hagyom
Első lépések az Esp 8266 Esp-01 használatával az Arduino IDE - -vel Esp táblák telepítése Arduino Ide programozásba és Esp programozása: 4 lépés
Első lépések az Esp 8266 Esp-01 használatával az Arduino IDE | -vel Esp táblák telepítése Arduino Ide programozásba és Esp programozása: Ebben az oktatóanyagban megtanuljuk, hogyan kell telepíteni az esp8266 táblákat az Arduino IDE programba, és hogyan kell programozni az esp-01 kódot, és feltölteni a kódot. ez és a legtöbb ember problémával szembesül
Az Arduino Pro Mini programozása az Arduino UNO használatával: 4 lépés
Az Arduino Pro Mini programozása az Arduino UNO használatával: Helló srácok, ma megosztom egy egyszerű módszert az Arduino Pro mini programozására az Arduino UNO használatával. Ez az oktatóanyag azoknak szól, akik most kezdik használni az arduino programot, és szeretnék csökkenteni projektjük méretét egy Arduino Pro mini használatával. Arduino Pro mini