Turinys:
- Prekės
- 1 žingsnis: OTA
- 2 žingsnis: „Ameba Flash“atminties išdėstymas
- 3 žingsnis: įkrovos srautas
- 4 žingsnis: pavyzdys
Video: „Arduino over the Air“(OTA) programavimas - Ameba Arduino: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Rinkoje yra daug „Wi-Fi“mikrovaldiklių, daugeliui gamintojų patinka programuoti „Wi-Fi“mikrovaldiklį naudojant „Arduino IDE“. Tačiau viena iš nuostabiausių „Wi-Fi“mikrovaldiklio siūlomų funkcijų yra linkusi nepastebėti, tai yra programavimas ir kodo įkėlimas nuotoliniu būdu ir belaidžiu būdu naudojant OTA (belaidžio ryšio) funkciją.
Šioje instrukcijoje aš jums parodysiu, kaip nustatyti „OTA“„Wi-Fi“mikrovaldiklyje naudojant visur esantį „Arduino IDE“naudojant „Ameba Arduino Wi-Fi“mikrovaldiklį!
Prekės
Ameba Arduino x 1
1 žingsnis: OTA
OTA (Over-The-Air) reiškia internetinį atnaujinimo mechanizmą internetu.
„Arduino IDE“siūlo OTA funkciją, kuri seka aukščiau esančio paveikslo darbo eigą.
i) „Arduino IDE“per mDNS ieško įrenginių su „Arduino IDEOTA“paslauga vietiniame tinkle.
(ii) Kadangi „mDNS“paslauga veikia „Ameba“, „Ameba“reaguoja į „mDNS“paiešką ir atidaro konkretų TCP prievadą prisijungimui.
(iii) Vartotojas kuria programą „Arduino IDE“. Baigę pasirinkite tinklo prievadą.
(iv) Spustelėkite įkelti. Tada „Arduino IDE“siunčia OTA atvaizdą „Ameba“per TCP, „Ameba“išsaugo vaizdą konkrečiu adresu ir nustato įkrovos parinktį, kad kitą kartą būtų paleista iš šio vaizdo.
Darbo eiga susideda iš trijų dalių: mDNS, TCP ir OTA vaizdo proceso. Išsami informacija, susijusi su mDNS, aprašyta mDNS vadovėlyje. TCP lizdo programavimas naudojamas perduodant vaizdą ir jau pateiktas OTA API.
Kitame skyriuje aptarsime, kaip apdoroti OTA atvaizdą, ir pristatysime keletą pagrindinių žinių apie „Ameba“atminties išdėstymą ir įkrovos srautą.
2 žingsnis: „Ameba Flash“atminties išdėstymas
„Ameba RTL8195A“atminties dydis yra 2 MB, svyruoja nuo 0x00000000 iki 0x00200000. Tačiau „Ameba RTL8710“„flash“atminties dydis yra 1 MB. Kad būtų galima naudoti skirtingas plokštes, darome prielaidą, kad „flash“atminties išdėstymas yra 1 MB.
Kaip parodyta aukščiau esančiame paveikslėlyje, „Ameba“programa užima tris „flash“atminties dalis:
- įkrovos vaizdas
Tai yra, įkrovos tvarkyklė. Kai „Ameba“įsijungia, jis įkelia įkrovos vaizdą į atmintį ir atlieka inicijavimą. Be to, jis nustato, kur tęsti po įkrovos įkėlimo. „Bootloader“peržiūri OTA adresą ir atkūrimo kaištį sistemos duomenų srityje ir nustato, kuris vaizdas bus vykdomas vėliau. Įkrovos įkėlimo programos pabaigoje vaizdas įdedamas į atmintį ir pradedamas vykdyti.
- Numatytasis vaizdas 2.
Šioje dalyje patalpintas kūrėjo kodas, adresas prasideda nuo 0x0000B000. Pirmieji 16 baitų yra vaizdo antraštė, 0x0000B008 ~ 0x0000B00F apima parašą, kuris naudojamas patikrinti, ar vaizdas yra tinkamas. Parašo lauke yra dvi galiojančios reikšmės, leidžiančios atskirti naują vaizdą nuo seno.
- OTA vaizdas?
Šios dalies duomenys taip pat yra kūrėjo kodas. Pagal numatytuosius nustatymus ši atminties dalis prasideda nuo 0x00080000 (gali būti pakeista). Pagrindiniai skirtumai tarp OTA vaizdo ir numatytojo 2 vaizdo yra „flash“atminties adresas ir parašo reikšmė.
Be kodo, yra keletas duomenų blokų:
- Sistemos duomenys.
Sistemos duomenų blokas prasideda nuo 0x00009000. Yra du su OTA susiję duomenys:
1. OTA adresas : 4 baitų duomenys, pradedant nuo 0x00009000. Jis nurodo OTA vaizdo adresą. Jei OTA adreso vertė neteisinga (t. Y. 0xFFFFFFFF), OTA atvaizdo į „flash“atmintį negalima įkelti tinkamai.
2. Atkūrimo kaištis : 4 baitų duomenys, pradedant nuo 0x00009008, atkūrimo smeigtukas naudojamas nustatyti, kurį vaizdą (numatytasis vaizdas 2 arba OTA vaizdas) vykdyti, kai abu vaizdai galioja. Jei atkūrimo kaiščio vertė neteisinga (t. Y. 0xFFFFFFFF), naujas vaizdas bus vykdomas pagal numatytuosius nustatymus.
Sistemos duomenys bus pašalinti, kai įkelsime programą į „Ameba“per DAP. Tai reiškia, kad OTA adresas bus pašalintas ir „Ameba“nustatys, kad nėra OTA vaizdo.
- Kalibravimo duomenys this Periferiniai kalibravimo duomenys pateikiami šiame bloke. Paprastai šie duomenys neturėtų būti ištrinti.
3 žingsnis: įkrovos srautas
Iš aukščiau esančio vaizdo, Aptariame šiuos scenarijus: (i) OTA nenaudojama, programai įkelti naudokite DAP:
Esant tokiai situacijai, įkrovos tvarkyklė patikrina numatytojo vaizdo 2 parašą ir OTA adresą. Kadangi OTA adresas pašalinamas, vykdymui bus pasirinktas numatytasis 2 vaizdas.
(ii) OTA vaizdas perkeliamas į „Ameba“, OTA adresas nustatytas teisingai, atkūrimo kaištis nenustatytas.
„Ameba“gavo atnaujintą vaizdą per OTA, numatytojo 2 vaizdo parašas bus nustatytas kaip senas parašas.
„Bootloader“patikrina numatytojo 2 vaizdo parašą ir OTA adresą. Jis ras, kad OTA adrese yra galiojantis OTA vaizdas. Kadangi atkūrimo kaištis nenustatytas, jis pasirenka naują vaizdą (t. Y. OTA atvaizdą), kurį vykdyti.
(iii) OTA vaizdas perkeliamas į „Ameba“, OTA adresas nustatytas teisingai, nustatytas atkūrimo kaištis :
„Ameba“gavo atnaujintą vaizdą per OTA, numatytojo 2 vaizdo parašas bus nustatytas kaip senas parašas.
„Bootloader“patikrina numatytojo 2 vaizdo parašą ir OTA adresą. Jis ras, kad OTA adrese yra galiojantis OTA vaizdas. Tada patikrinkite atkūrimo kaiščio vertę. Jei atkūrimo kaištis prijungtas prie LOW, naujas vaizdas (t. Y. OTA vaizdas) bus vykdomas. Jei atkūrimo kaištis prijungtas prie HIGH, bus vykdomas senas vaizdas (t. Y. Numatytasis 2 vaizdas).
4 žingsnis: pavyzdys
Jei norite naudoti OTA funkciją, atnaujinkite DAP programinę įrangą į> 0.7 versiją (v0.7 neįtraukta). Gamykloje numatytoji DAP programinė įranga yra 0.7 versija. Vadovaukitės instrukcija atnaujinti DAP programinę įrangą:
Atidarykite pavyzdį: „Failas“-> „Pavyzdžiai“-> „AmebaOTA“-> „ota_basic“
Tinklo ryšio pavyzdiniame kode įveskite ssid ir slaptažodžio informaciją.
Yra keletas parametrų, susijusių su OTA:
§ MY_VERSION_NUMBER : Pirmoje versijoje turime nustatyti OTA adresą ir atkūrimo PIN kodą. Kadangi šį kartą įkėlėme per USB, tai yra pirmoji versija, mums nereikia šios vertės keisti.
§ OTA_PORT : „Arduino IDE“suras „Ameba“per mDNS. „Ameba“pasakys „Arduino IDE“, kad atidaro TCP prievadą 5000 ir laukia OTA vaizdo.
§ RECOVERY_PIN : Konfigūruokite atkūrimui naudojamą kaištį. Čia mes naudojame 18 kaištį.
Tada mes naudojame USB įkėlimo programą į „Ameba“. Spustelėkite Įrankiai -> Prievadai, patikrinkite, kokį serijinį prievadą naudoti :
Atminkite, kad „Arduino IDE“naudoja vieną prievadą įkėlimo programai ir išvesties žurnalui. Kad išvengtume situacijos, kad žurnalo negalima išvesti, kai naudojame OTA, mes naudojame kitą nuoseklaus prievado terminalą (pvz., „Tera term“arba „glaistas“), o ne serijinį monitorių, kad stebėtume žurnalo pranešimą.
Tada spustelėkite įkelti ir paspauskite atstatymo mygtuką.
Žurnalo pranešime:
1. Tarp „===== Enter Image 1 ====“ir „Enter Image 2 ====“rasite „Flash Image 2: Addr 0xb000“. Tai reiškia, kad „Ameba“nusprendžia paleisti iš numatytojo 2 vaizdo esant 0xb000.
2. Po „Enter Image 2 ====“galite rasti „This is version 1“. Tai žurnalo pranešimas, kurį pridedame prie eskizo.
3. Kai „Ameba“prisijungia prie AP ir gauna IP adresą „192.168.1.238“, ji suaktyvina mDNS ir laukia kliento.
Tada pakeisime „MY_VERSION_NUMBER“į 2.
Spustelėkite „Įrankiai“-> „Uostas“, galite pamatyti „Tinklo prievadų“sąrašą. Raskite „MyAmeba 192.168.1.238 (Ameba RTL8195A)“, „MyAmeba“yra mDNS įrenginio pavadinimas, kurį nustatėme pavyzdiniame kode, o „192.168.1.238“yra „Ameba“IP adresas.
Jei nerandate „Ameba“tinklo prievado, patvirtinkite:
- ar jūsų kompiuteris ir „Ameba“yra tame pačiame vietiniame tinkle?
- pabandykite iš naujo paleisti „Arduino IDE“.
- patikrinkite žurnalo pranešimą „Serial Monitor“, kad pamatytumėte, ar „Ameba“sėkmingai prijungtas prie AP.
Tada spustelėkite įkelti. Šį kartą programa bus įkelta per TCP. Žurnalo terminale galite matyti kliento prisijungimo informaciją.
Kai OTA vaizdas bus sėkmingai atsisiųstas, „Ameba“bus paleista iš naujo ir sekantis žurnalas bus rodomas žurnalo terminale.
- Tarp „===== Enter Image 1 ====“ir „Enter Image 2 ====“galite matyti žurnalo pranešimą „Flash Image 2: Addr 0x80000“. Tai reiškia, kad „Ameba“nusprendžia paleisti iš OTA vaizdo esant 0x80000.
- Po „Enter Image 2 ====“, žurnalas „This is version 2“yra pranešimas, kurį pridedame prie eskizo.
Jei norite atkurti ankstesnį vaizdą po to, kai OTA vaizdas yra atsisiųstas į „Ameba“, prijunkite eskizo nustatytą atkūrimo kaištį (t. Y. 18 kaištį) prie HIGH (3.3V) ir paspauskite reset.
Tada paleidžiant bus pasirinktas numatytasis 2 vaizdas. Atminkite, kad atsisiųstas OTA vaizdas nėra ištrinamas, kai atkūrimo kaištis bus atjungtas nuo HIGH, OTA vaizdas bus vykdomas.
Toliau pateiktame paveikslėlyje apibendriname kūrimo srautą naudojant OTA.
Rekomenduojamas:
ATmega328 programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: 4 žingsniai
„ATmega328“programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: šioje Instrukcinėje medžiagoje aprašysiu žingsnis po žingsnio programavimo ATmega328P IC (tas pats mikrovaldiklis, esantis „Arudino UNO“) programavimą, naudojant „Arduino IDE“ir „Arduino UNO“kaip programuotoją, kad padarytumėte save pasirinktinis „Arduino“, kad galėtumėte kurti savo projektus
„ATtiny85“nešiojamas vibruojančios veiklos stebėjimo laikrodis ir programavimas „ATtiny85“su „Arduino Uno“: 4 žingsniai (su nuotraukomis)
„ATtiny85“nešiojamas vibruojančios veiklos stebėjimo laikrodis ir programavimas ATtiny85 su „Arduino Uno“: kaip padaryti nešiojamą veiklos stebėjimo laikrodį? Tai nešiojama programėlė, sukurta vibruoti aptikus sąstingį. Ar daug laiko praleidžiate prie kompiuterio kaip aš? Ar tu sėdi valandas to nesuvokdamas? Tada šis įrenginys yra
„ATtiny“programavimas naudojant „Arduino“: 7 žingsniai (su paveikslėliais)
Programuokite „ATtiny“naudodami „Arduino“: Toliau pateikiamos ATtiny mikrovaldiklių programavimo instrukcijos naudojant „Arduino IDE“. Paprasta anglų kalba taip užprogramuoti 8 kontaktų „Atmel“lustus, kaip paprastai „Arduino“. Tai šaunu, nes „ATtiny“yra mažas, ir tai leidžia
„Arduino“programavimas per mobilųjį telefoną -- Arduinodroid -- „Arduino Ide for Android“-- Mirksi: 4 žingsniai
„Arduino“programavimas per mobilųjį telefoną || Arduinodroid || „Arduino Ide for Android“|| Mirksėti: užsiprenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau vaizdo įrašų …… „Arduino“yra lenta, kurią galima programuoti tiesiogiai per USB. Tai labai paprasta ir pigu kolegijų ir mokyklų projektams ar net gaminių prototipams. Daugelis produktų pirmiausia remiasi ja
Pigiausias „Arduino“-- Mažiausias „Arduino“-- „Arduino Pro Mini“-- Programavimas -- „Arduino Neno“: 6 žingsniai (su nuotraukomis)
Pigiausias „Arduino“|| Mažiausias „Arduino“|| „Arduino Pro Mini“|| Programavimas || Arduino Neno: …………………………. Prenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau vaizdo įrašų ……. .Šis projektas yra apie tai, kaip sujungti mažiausią ir pigiausią arduino. Mažiausias ir pigiausias arduino yra arduino pro mini. Tai panašu į arduino