Sisällysluettelo:

Arduinon ohjelmointi langattomasti (OTA) - Ameba Arduino: 4 vaihetta
Arduinon ohjelmointi langattomasti (OTA) - Ameba Arduino: 4 vaihetta

Video: Arduinon ohjelmointi langattomasti (OTA) - Ameba Arduino: 4 vaihetta

Video: Arduinon ohjelmointi langattomasti (OTA) - Ameba Arduino: 4 vaihetta
Video: ESP8266 Беспроводной ЧМИ Nextion || Внешний ПЛК Arduino 2024, Heinäkuu
Anonim
Arduino Over the Air (OTA) -ohjelmointi - Ameba Arduino
Arduino Over the Air (OTA) -ohjelmointi - Ameba Arduino

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
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 Flash Memory Layout
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

Käynnistysvirta
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

Esimerkki
Esimerkki
Esimerkki
Esimerkki
Esimerkki
Esimerkki
Esimerkki
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: