Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: OTA
- Vaihe 2: Ameba Flash Memory Layout
- Vaihe 3: Käynnistysvirta
- Vaihe 4: Esimerkki
Video: Arduinon ohjelmointi langattomasti (OTA) - Ameba Arduino: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Markkinoilla on monia Wi-Fi-mikrokontrollereita, monet valmistajat nauttivat Wi-Fi-mikrokontrollerin ohjelmoinnista Arduino IDE: n avulla. Kuitenkin yksi hienoimmista ominaisuuksista, joita Wi-Fi-mikrokontrolleri tarjoaa, jäävät yleensä huomiotta, eli koodin ohjelmointi ja lataaminen etänä ja langattomasti OTA (Over-The-Air) -toiminnon avulla.
Tässä ohjeessa näytän sinulle, kuinka voit määrittää OTA: n Wi-Fi-mikrokontrolleriisi käyttämällä kaikkialla olevaa Arduino IDE: tä Ameba Arduino Wi-Fi -mikro-ohjaimessa!
Tarvikkeet
Ameba Arduino x 1
Vaihe 1: OTA
OTA (Over-The-Air) viittaa online-päivitysmekanismiin Internetin kautta.
Arduino IDE tarjoaa OTA -ominaisuuden, joka seuraa yllä olevan kuvan työnkulkua.
(i) Arduino IDE etsii mDNS: n kautta laitteita, joissa on Arduino IDEOTA -palvelu paikallisessa verkossa.
(ii) Koska mDNS -palvelu on käynnissä Amebassa, Ameba vastaa mDNS -hakuun ja avaa tietyn TCP -portin yhteyttä varten.
(iii) Käyttäjä kehittää ohjelman Arduino IDE: ssä. Kun olet valmis, valitse verkkoportti.
(iv) Napsauta lataa. Sitten Arduino IDE lähettää OTA -kuvan Ameballe TCP: n kautta, Ameba tallentaa kuvan tiettyyn osoitteeseen ja asettaa käynnistysvaihtoehdon käynnistymään tästä kuvasta seuraavan kerran.
Työnkulku koostuu kolmesta osasta: mDNS, TCP ja OTA -kuvaprosessi. MDNS: ään liittyvät yksityiskohdat on kuvattu mDNS -opetusohjelmassa. TCP -pistorasian ohjelmointia käytetään kuvan siirtämiseen, ja se on jo OTA -sovellusliittymässä.
Seuraavassa osassa keskustelemme OTA -kuvan käsittelystä ja esittelemme joitain perustietoja Ameba -flash -muistin asettelusta ja käynnistysvirrasta.
Vaihe 2: Ameba Flash Memory Layout
Ameba RTL8195A: n flash -muistin koko on 2 Mt ja vaihtelee välillä 0x00000000 - 0x00200000. Ameba RTL8710: n flash -muistin koko on kuitenkin 1 Mt. Erilaisten levyjen käyttöön sopimiseksi oletamme, että flash -muistin asettelu on 1 Mt.
Kuten yllä olevasta kuvasta näkyy, Ameba -ohjelma vie kolme osaa flash -muistista:
- Käynnistyskuva :
Eli bootloader. Kun Ameba käynnistyy, se asettaa käynnistyskuvan muistiin ja suorittaa alustuksen. Lisäksi se määrittää, mihin jatkaa käynnistyslataimen jälkeen. Bootloader tarkastelee OTA -osoitetta ja palautustunnusta järjestelmän tietoalueella ja määrittää, mikä kuva suoritetaan myöhemmin. Käynnistyslataimen lopussa se sijoittaa kuvan muistiin ja jatkaa sen suorittamista.
- Oletuskuva 2 :
Kehittäjäkoodi on sijoitettu tähän osaan, osoite alkaa 0x0000B000. Ensimmäiset 16 tavua ovat kuvan otsikko, 0x0000B008 ~ 0x0000B00F sisältää allekirjoituksen, jota käytetään tarkistamaan, onko kuva kelvollinen. Allekirjoituskentässä on kaksi kelvollista arvoa uuden kuvan erottamiseksi vanhasta kuvasta.
- OTA -kuva :
Tämän osan tiedot ovat myös kehittäjäkoodeja. Oletuksena tämä muistin osa alkaa 0x00080000 (voidaan muuttaa). Suurimmat erot OTA -kuvan ja oletuskuvan 2 välillä ovat flash -muistin osoite ja allekirjoitusarvo.
Koodin lisäksi on joitain tietolohkoja:
- Järjestelmätiedot :
Järjestelmän datalohko alkaa 0x00009000. OTA-tietoja on kaksi:
1. OTA -osoite : 4 tavua dataa alkaen 0x00009000. Se kertoo OTA Image -osoitteen. Jos OTA -osoitteen arvo on virheellinen (eli 0xFFFFFFFF), flash -muistiin tallennettua OTA -kuvaa ei voi ladata oikein.
2. Palautustunniste : 4 tavun tiedot alkaen 0x00009008. Palautustunnistetta käytetään määrittämään, mikä kuva (oletuskuva 2 tai OTA -kuva) suoritetaan, kun molemmat kuvat ovat kelvollisia. Jos palautusnastan arvo on virheellinen (eli 0xFFFFFFFF), uusi kuva suoritetaan oletuksena.
Järjestelmätiedot poistetaan, kun lataamme ohjelman Amebaan DAP: n kautta. Toisin sanoen OTA -osoite poistetaan ja Ameba määrittää, ettei OTA -kuvaa ole.
- Kalibrointitiedot perip Oheislaitteiden kalibrointitiedot sijoitetaan tähän lohkoon. Tavallisesti näitä tietoja ei saa poistaa.
Vaihe 3: Käynnistysvirta
Yllä olevasta kuvasta, Keskustelemme seuraavista skenaarioista: (i) OTA: ta ei käytetä, käytä ohjelman lataamista DAP: lla:
Tässä tilanteessa käynnistyslatain tarkistaa oletuskuvan 2 ja OTA -osoitteen allekirjoituksen. Koska OTA -osoite on poistettu, suoritettavaksi valitaan oletuskuva 2.
(ii) OTA -kuva siirretään Amebaan, OTA -osoite on asetettu oikein, palautusnasta ei ole asetettu :
Ameba on saanut päivitetyn kuvan OTA: n kautta, oletuskuvan 2 allekirjoitus asetetaan vanhaksi allekirjoitukseksi.
Bootloader tarkistaa oletuskuvan 2 allekirjoituksen ja OTA -osoitteen. Se havaitsee, että OTA -osoite sisältää kelvollisen OTA -kuvan. Koska palautusnasta ei ole asetettu, se valitsee suoritettavan uuden kuvan (eli OTA -kuvan).
(iii) OTA -kuva siirretään Amebaan, OTA -osoite on asetettu oikein, palautusnasta on asetettu :
Ameba on saanut päivitetyn kuvan OTA: n kautta, oletuskuvan 2 allekirjoitus asetetaan vanhaksi allekirjoitukseksi.
Bootloader tarkistaa oletuskuvan 2 allekirjoituksen ja OTA -osoitteen. Se havaitsee, että OTA -osoite sisältää kelvollisen OTA -kuvan. Tarkista sitten palautustapin arvo. Jos palautustappi on kytketty LOW -tilaan, uusi kuva (eli OTA -kuva) suoritetaan. Jos palautustappi on kytketty HIGH: iin, vanha kuva (eli oletuskuva 2) suoritetaan.
Vaihe 4: Esimerkki
Jos haluat käyttää OTA -ominaisuutta, päivitä DAP -laiteohjelmisto versioon> 0.7 (v0.7 ei sisälly hintaan). Oletusarvoinen DAP -laiteohjelmisto on versio 0.7. Noudata ohjeita päivittääksesi DAP-laiteohjelmiston:
Avaa esimerkki: "Tiedosto" -> "Esimerkit" -> "AmebaOTA" -> "ota_basic"
Täytä SSID- ja salasanatiedot verkkoyhteyden esimerkkikoodissa.
OTA: han liittyy joitakin parametreja:
§ MY_VERSION_NUMBER first Ensimmäisessä versiossa meidän on asetettava OTA -osoite ja palautusnasta. Koska tällä kertaa lataamme USB: n kautta, se on ensimmäinen versio, meidän ei tarvitse muuttaa tätä arvoa.
§ OTA_PORT : Arduino IDE löytää Ameban mDNS: n kautta. Ameba kertoo Arduino IDE: lle, että se avaa TCP -portin 5000 odottamaan OTA -kuvaa.
§ RECOVERY_PIN : Määritä palautukseen käytettävä tappi. Käytämme tässä nasta 18.
Sitten käytämme USB -latausohjelmaa Amebaan. Napsauta Työkalut -> Portit, tarkista käytettävä sarjaportti :
Huomaa, että Arduino IDE käyttää yhtä porttia latausohjelmaan ja tulostuslogiin. Välttääksemme tilanteen, että lokia ei voida tulostaa, kun käytämme OTA: ta, käytämme logioviestin katsomiseen muuta sarjaliitäntäpäätettä (esim. Tera termiä tai kittiä) sarjamonitorin sijaan.
Napsauta sitten lataa ja paina nollauspainiketta.
Lokiviestissä:
1. Väliltä “===== Enter Image 1 ====” ja “Enter Image 2 ====” löydät”Flash Image 2: Addr 0xb000”. Tämä tarkoittaa, että Ameba päättää käynnistyä oletuskuvasta 2, 0xb000.
2. Kun olet kirjoittanut kuvan 2 ====, löydät "Tämä on versio 1". Tämä on lokiviesti, jonka lisäämme luonnokseen.
3. Kun Ameba on yhdistetty tukiasemaan ja saanut IP -osoitteen”192.168.1.238”, se aktivoi mDNS: n ja odottaa asiakasta.
Seuraavaksi muutamme "MY_VERSION_NUMBER" arvoon 2.
Napsauta "Työkalut" -> "Portti", näet luettelon "Verkkoportit". Etsi "MyAmeba osoitteessa 192.168.1.238 (Ameba RTL8195A)", MyAmeba on mDNS -laitenimi, jonka asetimme näytekoodissa, ja "192.168.1.238" on Ameban IP -osoite.
Jos et löydä Ameban verkkoporttia, vahvista:
- onko tietokoneesi ja Ameba samassa lähiverkossa?
- Yritä käynnistää Arduino IDE uudelleen.
- Tarkista lokiviestistä Serial Monitorista, onko Ameba yhdistetty tukiasemaan.
Napsauta sitten lataa. Tällä kertaa ohjelma ladataan TCP: n kautta. Lokiterminaalissa näet asiakasyhteystiedot.
Kun OTA -kuvan lataaminen onnistui, Ameba käynnistyy uudelleen ja seuraava loki näkyy lokiterminaalissa.
- Välillä "===== Anna kuva 1 ====" ja "Anna kuva 2 ====" näet lokiviestin "Flash -kuva 2: Addr 0x80000". Tämä tarkoittaa, että Ameba päättää käynnistyä OTA -kuvasta 0x80000.
- "Anna kuva 2 ====" jälkeen loki "Tämä on versio 2" on viesti, jonka lisäämme luonnokseen.
Palauttaaksesi edelliseen kuvaan sen jälkeen, kun OTA -kuva on ladattu Amebaan, yhdistä luonnoksessa asettamamme palautustappi (eli nasta 18) HIGH (3,3 V) -tilaan ja paina nollauspainiketta.
Sitten oletuskuva 2 valitaan käynnistyksen yhteydessä. Huomaa, että ladattua OTA -kuvaa ei poisteta, ja kun palautusnasta on irrotettu HIGH: sta, OTA -kuva suoritetaan.
Yhteenveto kehitysvirrasta OTA: n avulla seuraavassa kuvassa.
Suositeltava:
Langattomasti käytettävissä oleva Pi 5 minuutissa: 3 vaihetta
Langaton yhteys Pi 5 minuutissa: Hei kaikille! Näin voit tehdä vadelma Pi: stä langattoman pääsyn puhelimesta tai tabletista Huomaa, että arvioni 5 minuuttia on tarkoitettu henkilölle, jolla on tietotekniikka, ja se voi varmasti kestää kauemmin
ESP8266 AT -laiteohjelmiston flash -ohjelmointi tai ohjelmointi ESP8266 -välähdys- ja ohjelmointilaitteella, IOT Wifi -moduuli: 6 vaihetta
ESP8266 AT -laiteohjelmiston flash-ohjelmointi tai ohjelmointi ESP8266-salama- ja ohjelmoijaohjelmistolla, IOT Wifi -moduuli: Kuvaus: Tämä moduuli on USB-sovitin /ohjelmoija ESP-0166- tai ESP-01S-tyyppisille ESP8266-moduuleille. Se on kätevästi varustettu 2x4P 2,54 mm: n naarasliittimellä ESP01: n liittämiseksi. Lisäksi se katkaisee kaikki ESP-01: n nastat 2x4P 2,54 mm uroksen kautta
Arduinon ohjelmointi Sphero RVR: llä: 4 vaihetta
Arduinon ohjelmointi Sphero RVR: llä: Viime vuonna lokakuussa Sphero RVR ilmestyi. Tämä oli robotti kuin mikään muu robotti. Ensinnäkin voit ohjelmoida sen Micro: bitillä, Vadelma PI: llä ja Arduinolla. Voit myös saada sen suorittamaan useita eri toimintoja. LEDit voivat vaihtaa väriä
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: 5 vaihetta
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: Sony Spresense tai Arduino Uno eivät ole niin kalliita eivätkä vaadi paljon virtaa. Jos projektillasi on kuitenkin virtaa, tilaa tai jopa budjettia, voit harkita Arduino Pro Minin käyttöä. Toisin kuin Arduino Pro Micro, Arduino Pro Mi
Arduinon ohjelmointi Pythonilla: 8 vaihetta
Arduinon ohjelmointi Pythonilla: Tässä artikkelissa aiomme hallita Arduinoa GUI -pythonilla. pythonin kanssa työskentely on erittäin helppoa. Aion jakaa jokaisen vaiheen yksityiskohtaisesti alusta alkaen