Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 31.03.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 10.08.2020 13:08

Over The Air (OTA) je označenie pre metódy distribúcie nového firmvéru a konfigurácie pre bezdrôtové zariadenia. Výhodou je možnosť distribuovať nový softvér prostredníctvom centrálneho bodu, ktorý dokáže odosielať softvér do všetkých zariadení, ktoré podporujú danú metódu. V praxi sa s OTA stretávame predovšetkým z operačných systémov Windows, Android, či iOS, kedy centrálny bod distribuuje aktualizáciu operačného systému a všetky zariadenia dokážu na aktualizáciu upozorniť používateľa.
OTA (Over The Air) - ESP32 - Arduino IDE
Na základe počiatočnej konfigurácie zariadenia je možné aktualizáciu stiahnuť a nainštalovať okamžite, alebo po jej potvrdení od používateľa. Metódy vzdialenej aktualizácie softvéru si našli uplatnenie aj v IoT (Internet of Things) odvetví. Inteligentné zariadenia je taktiež možné vzdialene aktualizovať, napríklad cez LAN sieť, internet s využitím centrálneho bodu, alebo inou implementáciou podporujúcou OTA.
OTA (Over The Air) - ESP32 - Arduino IDE
Platforma ESP32 sa taktiež radí k IoT platformám, ktoré podporujú vzdialenú aktualizáciu softvéru. Nakoľko sa dá programovať v rôznych jazykoch (Wiring [Arduino], ESP-IDF, MicroPython, Lua, Node.Js a ďalších), vyhotovil som krátky prehľad možnosti OTA metód v jazyku Wiring (Arduino) a ESP-IDF (Espressif IoT Development Framework).

ESP32 má k dispozícii flash pamäť, ktorá môže byť prispôsobená podľa potreby pre akúkoľvek aplikáciu. V prípade využívania OTA sa cez Partition tables implementuje do flash pamäte jej rozdelenie podľa pravidiel v tejto tabuľke. Štandardne bez OTA sa využíva pamäť pre program - factory_app o veľkosti 1MB a 3MB sú vyhradené pre SPIFFS sektor (Prípad Arduino IDE).

ESP32 má štandardne 4MB flash pamäť, existujú aj 8MB/16MB verzie. Vo väčšine prípadov s využitím OTA sa do flash pamäte pridajú partície pre OTA_1, OTA_2, OTA_DATA, pričom OTA_1,2 partície majú v ESP-IDF veľkosť 1MB. Pre OTA_DATA je štandardne vyhradený priestor o veľkosti 2kB. Partition table je opísaná jednoduchým .csv súborom. Prípadne existujú aj partition tables pre max app, kedy je takmer celá flash pamäť vyhradená iba pre hlavnú - factory_app.

Partícia OTA_DATA je zodpovedná za to, ktorá partícia bude aktuálne bootovateľná, obsahuje jej názov. Ak je partícia prázdna, nabootuje sa factory app. V prípade, že factory app neexistuje (prípad Arduino core s OTA partíciami), nabootuje sa OTA_0. OTA_DATA partícia je prepísaná pri aktualizácii softvéru pred bootovaním a reštartom ESP32.
OTA (Over The Air) - ESP32 - Arduino IDE
OTA v Arduino IDE
Príklady implementácii v jazyku Wiring obsahujú možnosť aktualizovať softvér cez LAN sieť prostredníctvom OTA sieťového portu priamo z Arduino IDE. Pre príklad aktualizácie softvéru cez LAN sieť - Basic OTA sa vyžaduje, aby používateľ, ktorý program do zariadenia nahráva bol v rovnakej sieti, ako ESP32. Údaje o WiFi sieti sú nastavené v zdrojovom kóde a sú súčasťou príkladu.

Prvý krát musí byť OTA program nahratý do ESP32 fyzicky prostredníctvom USB kábla (alebo programátora). Aby bolo možné následne nahrať aktualizovaný program do ESP32 cez OTA metódu, vyžaduje sa, aby mal používateľ nainštalovaný jazyk Python, ktorý riadi celý proces aktualizácie (nahrávania nového programu cez sieť) do ESP32. Po prvotnom nahratí OTA príkladu sa v Arduino IDE v časti Nástroje → Porty zobrazí okrem COM portov aj sieťový port, prostredníctvom ktorého je možné pristúpiť na ESP32 a nahrávať skrz neho nový program.

Sieťový port je v tvare esp32-MAC_ADRESA at IP_ADRESA, prípadne je možné definovať Hostname prostredníctvom mDNS služby, ktorú je možné taktiež na ESP32 spustiť a sieťový port sa zobrazí v tvare: HOSTNAME at IP_ADRESA.
OTA (Over The Air) - ESP32 - Arduino IDE
Nový program je možné po úspešnej aktualizácii nahrať priamo z vývojového prostredia Arduino IDE. Je nutné dodať, že nový program musí taktiež obsahovať OTA časť predchádzajúceho programu, ak chce používateľ do budúcna program opäť aktualizovať. V prípade nahratia akéhokoľvek programu bez OTA časti sa program nahrá, spustí bez možnosti ďalšej aktualizácie (OTA nie je obsiahnutá v programe).

ESP32 vždy príjme nový program prostredníctvom OTA aktualizácie aj v prípade nahratia duplicitného (rovnakého) programu. V programe je možné spustiť aj ďalšie funkcionality, napríklad zvolenie špecifického OTA portu, overenie aktualizácie od overeného zdroja prostredníctvom vopred známeho hesla, alebo jeho hashu v md5 formáte. Druhým spôsobom možnosti aktualizovať softvér je využitie OTA Web Updater príkladu.

Principiálne funguje tak, že sa ESP32 pripojí do WiFi siete a spustí jednoduché webové rozhranie na webovom serveri na HTTP porte, na ktorý je možné pristúpiť prostredníctvom prehliadača. Pristupovať je možné na IP adresu ESP32, alebo cez doménové meno, ktoré je možné nastaviť cez mDNS službu - na obrázku lokálne doménové meno esp32webupdate.
OTA (Over The Air) - ESP32 - Arduino IDE
Tu však platí, že v prípade HTTP portu je adresa webstránky v tvare domenové_meno.local pre jej správne načítanie v prehliadači. Súčasťou webového rozhrania je formulár, prostredníctvom ktorého je možné nahrať binárny súbor nového programu a tým aktualizovať softvér. Binárny súbor je možné vygenerovať v Arduino IDE a uložiť ho pre jeho neskoršie nahratie prostredníctvom formulára.
OTA (Over The Air) - ESP32 - Arduino IDE
Aj tu platí, že pre budúcu aktualizáciu musí nový súbor okrem novej časti programu obsahovať aj OTA Web Updater. Prvý krát sa program nahráva prostredníctvom USB kábla / programátora. Formulár príjme akýkoľvek binárny súbor, aj duplicitný. Pre vyššiu bezpečnosť je možné využiť login formulár nad pôvodným nahrávacím formulárom. Výhodou je aj možnosť pripojiť sa na ESP32 aj z inej siete, internetu v prípade, že ESP32 funguje na verejnej IP adrese.

Pokročilejšie implementácie OTA sú obsiahnuté vo frameworku ESP-IDF, ku ktorým je možné použiť aj rôzne ďalšie vývojárske nástroje, ktoré umožňujú spustiť hardvérové i softvérové zabezpečovacie mechanizmy pre integritu firmvéru.

Integritu je možné zabezpečiť vloženým digitálnym podpisom do binárky firmvéru, jeho overením na úrovni Bootloadera pri bootovaní, alebo už pri samotnom prebrazí aktualizácie. OTA v ESP-IDF využíva Remote aktualizácie - distribuované vzdialeným serverom, z ktorého si ESP32 dostupný firmvér stiahne.

ESP-IDF obsahuje mechanizmy pre overenie verzie firmvéru a v prípade, že je totožná ako verzia existujúceho - bežiaceho softvéru, nezmení sa boot príznak aj v prípade, že je obsahovo aktualizácia iná.


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 10.08.2020 23:31

Druhej polovici clanku som nerozumel, ja som bol vzdy viac hardverovy tip. Ale ty vyzeras, ze vies o com hovoris. Vedel by si mi naprogramovat OTA aktualizaciu na Galaxy S6? Je mi jedno, ci cez ESP-IDF, alebo
ESP32, len nech nemusim flashovat, vraj sa pri tom moze vela veci pokazit.

Pouzivam to na druhu simku, napr. Ked nieco objednavam z netu, aby obchody a kuriery nemali moje cislo. Ide mi o bezpečnosť.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 31.03.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok Napísal autor témyOffline : 11.08.2020 7:37

Celý článok sa zaujíma iba o mikrokontróler ESP32. Je to čip osadený na rôznych vývojových doskách, napr Devkit V1. V princípe je to ako Arduino, jednoduchý mikrokontróler na obsluhu vstupov, výstupov s WiFi a Bluetooth konekvitiou.
Pre ESP32 využívam v Diplomovke ESP-IDF framework, tam používam aj OTA aktualizácie prostredníctvom remote servera.
Tam si to flashovanie a všetko riadi samotné ESP, ku čomu má uspôsobené aj partície na flashke a ďalšie vývojárske bezpečnostné nástroje, ktoré je možné nezávisle na firmvéri zapínať (Secure Boot, Digitálny podpis atď).

S programovaním pre Android nemám vôbec žiadnu skúsenosť.
Tie Android zariadenia sú tam spomenuté iba vo všeobecnej rovine, že sa s tým aj bežný používateľ stretne.
Potreboval by si skôr niečo priamo pre tvoj Android core...


Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Hladinomer - Arduino, ESP32, ESP8266 + ultrazvuk

v Články

0

1300

22.09.2019 0:01

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladinomer + Zrážkomer - Arduino / ESP8266 / ESP32

v Články

0

932

05.11.2020 13:02

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kurzy (krypto)mien - Arduino / ESP32 / ESP8266

v Články

0

1022

15.11.2019 1:03

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ThingSpeak - IoT platforma pre Arduino / ESP8266 / ESP32

v Články

0

1331

16.01.2020 23:59

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Senzorická sieť v LAN sieti - Arduino + Ethernet / ESP32 / ESP8266

v Články

0

1073

21.02.2020 23:13

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie hlasom pre Arduino/NodeMCU/ESP32/Raspberry/Orange Pi ... projekty

v Mikropočítače

1

2073

16.09.2017 9:16

ado130 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. remote desktop over the internet

v Sieťové a internetové programy

1

459

06.11.2008 16:02

Numline1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Predám PS2 F 1, Need for Speed Pro Street,Over the Hedge

v Predám

0

279

16.05.2014 15:20

M@Xo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Wings over Europe (Wings over Vietnam)

v Počítačové hry

0

545

10.08.2009 12:44

KViki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Error 633 modem ota e51

v Operačné systémy Microsoft

0

339

27.03.2010 15:30

deod Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OTA: Desire HD a Incredible S

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Novinky

30

1502

09.05.2011 21:57

Semp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. "No physical memory is available at the location required for the windows boot manager. The system cannot continue"

v Notebooky a netbooky

2

618

04.11.2016 17:30

Lessik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. iPad Air 2. generácie 2 GB !!! Ďalší iPad Air zrejme dostane väčšiu pamäť RAM

[ Choď na stránku:Choď na stránku: 1, 2, 3, 4 ]

v Novinky

100

3761

26.10.2014 12:33

Daron Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. GRBL, UNO+ ESP32

v Mikropočítače

0

676

15.05.2021 23:23

stevo512 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ESP32 - PHY Ethernet LAN8720

v Články

0

1800

20.10.2022 21:00

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Grand Theft Auto: The Trilogy – The Definitive Edition

v Novinky

3

793

23.10.2021 13:12

KocuR Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra