Мазмұны:

Arduino Over the Air (OTA) бағдарламалау - Амеба Ардуино: 4 қадам
Arduino Over the Air (OTA) бағдарламалау - Амеба Ардуино: 4 қадам

Бейне: Arduino Over the Air (OTA) бағдарламалау - Амеба Ардуино: 4 қадам

Бейне: Arduino Over the Air (OTA) бағдарламалау - Амеба Ардуино: 4 қадам
Бейне: How to Perform the OTA Upload to an ESP32 Board Using Arduino Cloud 2024, Қараша
Anonim
Arduino Over Air бағдарламалау (OTA) - Амеба Ардуино
Arduino Over Air бағдарламалау (OTA) - Амеба Ардуино

Нарықта көптеген Wi-Fi микроконтроллері бар, көптеген өндірушілер өздерінің Wi-Fi микроконтроллерлерін Arduino IDE көмегімен бағдарламалауды ұнатады. Алайда, Wi-Fi микроконтроллері ұсынатын ең керемет мүмкіндіктердің бірі-кодты қашықтан және сымсыз OTA (Over-The-Air) функциясын қолдана отырып бағдарламалау және жүктеу.

Бұл нұсқаулықта мен сізге Ameba Arduino Wi-Fi микроконтроллерінде барлық жерде Arduino IDE көмегімен Wi-Fi микроконтроллерінде OTA қалай орнатылатынын көрсетемін!

Жабдықтар

Амеба Ардуино x 1

1 -қадам: OTA

ОТА
ОТА

OTA (Over-The-Air) Интернет арқылы онлайн жаңарту механизмін білдіреді.

Arduino IDE жоғарыда көрсетілген суреттегі жұмыс үрдісіне сәйкес келетін OTA мүмкіндігін ұсынады.

(i) Arduino IDE жергілікті желіде Arduino IDEOTA қызметі бар құрылғыларды mDNS арқылы іздейді.

(ii) mDNS қызметі Ameba -да жұмыс істейтіндіктен, Ameba mDNS іздеуге жауап береді және қосылу үшін арнайы TCP портын ашады.

(iii) Пайдаланушы Arduino IDE бағдарламасын жасайды. Аяқтағаннан кейін желі портын таңдаңыз.

(iv) Жүктеу түймесін басыңыз. Содан кейін Arduino IDE OTA бейнесін Ameba -ға TCP арқылы жібереді, Ameba кескінді белгілі бір мекен -жайға сақтайды және келесі жолы осы кескіннен жүктеу үшін жүктеу опциясын орнатады.

Жұмыс процесі үш бөліктен тұрады: mDNS, TCP және OTA сурет процесі. MDNS қатысты мәліметтер mDNS оқулығында сипатталған. TCP ұясын бағдарламалау кескінді тасымалдауда қолданылады және OTA API -де бұрыннан берілген.

Келесі бөлімде біз OTA кескінін қалай өңдеу керектігін талқылаймыз және Ameba флэш -жадының орналасуы мен жүктеу ағыны туралы кейбір негізгі білімдерді енгіземіз.

2 -қадам: Ameba флэш -жадының орналасуы

Ameba Flash жадының орналасуы
Ameba Flash жадының орналасуы

Ameba RTL8195A флэш -жадының көлемі 2 Мб, 0x00000000 мен 0x00200000 аралығында болады. Алайда, Ameba RTL8710 флэш -жадының көлемі - 1МБ. Әр түрлі тақталарды пайдалану үшін біз флэш -жадтың орналасуын 1МБ деп есептейміз.

Жоғарыдағы суретте көрсетілгендей, Ameba бағдарламасы флэш -жадының үш бөлігін алады:

- Жүктеу суреті:

Яғни жүктеуші. Амеба жүктелген кезде, ол жүктеу кескінін жадқа орналастырады және инициализацияны орындайды. Сонымен қатар, ол жүктеушіден кейін қайда бару керектігін анықтайды. Жүктеуші жүйелік деректер аймағындағы OTA адресі мен қалпына келтіру түйреуішін қарап, содан кейін қандай кескін орындалатынын анықтайды. Жүктеушінің соңында ол суретті жадқа орналастырады және оны орындауға кіріседі.

- Әдепкі сурет 2:

Әзірлеуші коды осы бөлімге орналастырылған, мекенжай 0x0000B000 басталады. Алғашқы 16 байт - бұл сурет тақырыбы, 0x0000B008 ~ 0x0000B00F қолтаңбаны қамтиды, ол суреттің жарамдылығын тексеру үшін қолданылады. Қолтаңба өрісі жаңа суретті ескі кескіннен ажырату үшін екі жарамды мәнге ие.

- OTA суреті:

Бұл бөлімдегі деректер де әзірлеуші коды болып табылады. Әдепкі бойынша, жадтың бұл бөлігі 0x00080000 -ден басталады (өзгертуге болады). OTA кескіні мен Әдепкі сурет 2 арасындағы негізгі айырмашылықтар флэш -жад мекенжайы мен қолтаңба мәні болып табылады.

Кодтан басқа бірнеше деректер блоктары бар:

- Жүйелік мәліметтер:

Жүйелік мәліметтер блогы 0x00009000 басталады. OTA байланысты екі деректер бар:

1. OTA мекенжайы: 0x00009000 бастап 4 байтты деректер. Ол OTA Image мекенжайын көрсетеді. Егер OTA мекенжайының мәні жарамсыз болса (яғни, 0xFFFFFFFF), флэш жадыдағы OTA кескінін дұрыс жүктеу мүмкін емес.

2. Қалпына келтіру түйреуіші: 0x00009008 -ден басталатын 4 байтты деректер, қалпына келтіру түйреуіші кескіннің екеуі де жарамды болған кезде орындалатын кескінді (әдепкі 2 -сурет немесе OTA кескіні) анықтау үшін қолданылады. Егер қалпына келтіру түйреуішінің мәні жарамсыз болса (яғни 0xFFFFFFFF), жаңа кескін әдепкі бойынша орындалады.

Бағдарламаны Ameba -ға DAP арқылы жүктегенде жүйе деректері жойылады. Яғни, OTA мекенжайы жойылады және Ameba OTA бейнесі жоқ екенін анықтайды.

- Калибрлеу деректері: перифериялық калибрлеу деректері осы блокқа орналастырылады. Әдетте бұл деректерді жоюға болмайды.

3 -қадам: жүктеу ағыны

Жүктеу ағыны
Жүктеу ағыны

Жоғарыдағы суреттен, Біз келесі сценарийлерді талқылаймыз: (i) OTA қолданылмайды, бағдарламаны жүктеу үшін DAP пайдаланыңыз:

Бұл жағдайда жүктеуші әдепкі сурет 2 мен OTA адресінің қолтаңбасын тексереді. OTA мекенжайы жойылғандықтан, орындау үшін әдепкі 2 -сурет таңдалады.

(ii) OTA кескіні Ameba -ға көшірілді, OTA мекенжайы дұрыс орнатылды, қалпына келтіру түйреуі орнатылмаған:

Ameba OTA арқылы жаңартылған суретті алды, әдепкі 2 -суреттің қолтаңбасы ескі қолтаңбаға орнатылады.

Жүктеуші әдепкі сурет 2 мен OTA адресінің қолтаңбасын тексереді. Ол OTA мекенжайы жарамды OTA кескінін табады. Қалпына келтіру түйреуі орнатылмағандықтан, ол орындалатын жаңа кескінді (яғни, OTA кескінін) таңдайды.

(iii) OTA кескіні Ameba -ға көшірілді, OTA мекенжайы дұрыс орнатылды, қалпына келтіру түйреуі орнатылды:

Ameba OTA арқылы жаңартылған суретті алды, әдепкі 2 -суреттің қолтаңбасы ескі қолтаңбаға орнатылады.

Жүктеуші әдепкі сурет 2 мен OTA адресінің қолтаңбасын тексереді. Ол OTA мекенжайында жарамды OTA кескіні бар екенін табады. Содан кейін қалпына келтіру түйреуішінің мәнін тексеріңіз. Егер қалпына келтіру түйреуіші LOW қосылған болса, жаңа кескін (яғни, OTA кескіні) орындалады. Егер қалпына келтіру түйреуіші HIGH -ға қосылған болса, ескі сурет (яғни, әдепкі 2 -сурет) орындалады.

4 -қадам: Мысал

Мысал
Мысал
Мысал
Мысал
Мысал
Мысал
Мысал
Мысал

OTA мүмкіндігін пайдалану үшін DAP микробағдарламасын> 0.7 нұсқасына дейін жаңартыңыз (v0.7 қосылмаған). Зауыттық DAP микробағдарламасы 0.7 нұсқасы болып табылады. DAP микробағдарламасын жаңарту нұсқаулығын орындаңыз:

Мысалды ашыңыз: «Файл» -> «Мысалдар» -> «AmebaOTA» -> «ota_basic»

Желіге қосылу үшін үлгі кодына ssid және пароль туралы ақпаратты енгізіңіз.

OTA қатысты кейбір параметрлер бар:

§ MY_VERSION_NUMBER: Бірінші нұсқада бізге OTA мекенжайы мен қалпына келтіру түйреуішін орнату қажет. Бұл жолы біз USB арқылы жүктейміз - бұл бірінші нұсқа, сондықтан бұл мәнді өзгертудің қажеті жоқ.

§ OTA_PORT: Arduino IDE амебаны mDNS арқылы табады. Ameba Arduino IDE -ге OTA кескінін күту үшін TCP 5000 портын ашатынын хабарлайды.

§ RECOVERY_PIN: қалпына келтіру үшін қолданылатын түйреуішті конфигурациялаңыз. Біз мұнда 18 түйреуішті қолданамыз.

Содан кейін біз Ameba -ға USB жүктеу бағдарламасын қолданамыз. Құралдар -> Порттар түймесін басыңыз, пайдалану үшін сериялық портты тексеріңіз:

Назар аударыңыз, Arduino IDE бағдарламасы жүктеу бағдарламасы мен шығару журналы үшін бір портты пайдаланады. OTA қолданған кезде журналды шығару мүмкін болмайтын жағдайды болдырмау үшін, біз журнал хабарламасын қарау үшін сериялық монитордың орнына басқа сериялық порт терминалын (мысалы, Tera термині немесе замазка) қолданамыз.

Содан кейін жүктеу түймесін басып, қалпына келтіру түймесін басыңыз.

Журнал хабарламасында:

1. “===== Суретті енгізу 1 ====” мен “Суретті енгізу 2 ====” арасында сіз “Flash Image 2: Addr 0xb000” таба аласыз. Бұл Ameba әдепкі сурет 2 -ден 0xb000 жүктеуді шешетінін білдіреді.

2. «Кескін 2 енгізіңіз ====» кейін сіз «Бұл 1 нұсқа» дегенді таба аласыз. Бұл біз эскизге қосатын журнал хабарламасы.

3. Ameba AP -ге қосылып, «192.168.1.238» IP -адресін алғаннан кейін, ол mDNS -ті қосады және клиентті күтеді.

Әрі қарай, «MY_VERSION_NUMBER» мәнін 2 -ге өзгертеміз.

«Құралдар» -> «Порт» түймесін басыңыз, сіз «Желілік порттардың» тізімін көре аласыз. «MyAmeba 192.168.1.238 (Ameba RTL8195A) бойынша» табыңыз, MyAmeba - бұл біз үлгі кодында орнатқан mDNS құрылғысының атауы, ал «192.168.1.238» - Ameba IP.

Егер сіз Ameba желілік портын таба алмасаңыз, растаңыз:

- сіздің компьютер мен Ameba бір жергілікті желіде ме?

- Arduino IDE қайта іске қосып көріңіз.

- Ameba AP -ге сәтті қосылғанын білу үшін сериялық монитордағы журнал хабарын тексеріңіз.

Содан кейін жүктеуді басыңыз. Бұл жолы бағдарлама TCP арқылы жүктеледі. Журнал терминалында клиенттің қосылу ақпаратын көруге болады.

OTA кескіні сәтті жүктелген кезде, Ameba қайта жүктеледі және келесі журнал журнал терминалында көрсетіледі.

- “===== Суретті енгізу 1 ====” мен “Кескінді енгізу 2 ====” арасында сіз “Flash Image 2: Addr 0x80000” журнал хабарын көре аласыз. Бұл Ameba OTA Image -тен 0x80000 жүктеуді шешетінін білдіреді.

- «2 -суретті енгізіңіз ====» кейін «Бұл 2 -нұсқа» журналы - біз эскизге қосатын хабар.

OTA кескіні Ameba -ға жүктелгеннен кейін алдыңғы кескінді қалпына келтіру үшін, біз эскизде орнатылған қалпына келтіру түйреуішін (яғни, 18 -істікшені) HIGH (3.3V) -ға жалғап, қалпына келтіру түймесін басыңыз.

Содан кейін жүктеу кезінде Әдепкі 2 сурет пайда болады. Назар аударыңыз, жүктелген OTA кескіні жойылмайды, қалпына келтіру түйреуіші HIGH -дан ажыратылғаннан кейін, OTA кескіні орындалады.

Біз келесі суретте OTA көмегімен даму ағымын қорытындылаймыз.

Ұсынылған: