Le immagini di aggiornamento del firmware OTA devono essere conformi al formato di file immagine software OTA Matter, che include:
- Un identificatore file che identifica in modo univoco il file come file di aggiornamento del firmware Matter
- Le dimensioni del file
- Le dimensioni dell'intestazione
- Un'intestazione con codifica TLV (Tag-length-value) contenente informazioni sull'aggiornamento, tra cui:
- ID virtuale
- PID
- versione software
- Il payload
L'SDK Matter fornisce uno strumento per creare e ispezionare
Matter immagini OTA
(ota_image_tool.py
).
Alcuni sistemi di compilazione possono creare automaticamente Matter immagini OTA, quindi controlla la documentazione del SoC.
Crea un'immagine OTA
Utilizza ota_image_tool.py
per creare l'immagine:
$ ./ota_image_tool.py create \
-v hexVendorId \
-p hexProductId \
-vn versionNumber \
-vs "versionString" \
-da "hash-function \
path_to_binary \
path_to_ota_file
Per verificare il set di metadati e l'intestazione del file, esegui lo script con il comando show
:
$ ./ota_image_tool.py show path_to_ota_file
Output di esempio:
Magic: 1beef11e
Total Size: 90
Header Size: 62
Header TLV:
[0] Vendor Id: XXXX (0xXX)
[1] Product Id: XXX (0xXX)
[2] Version: 101 (0x65)
[3] Version String: 1.0.1
[4] Payload Size: 12 (0xc)
[8] Digest Type: 1 (0x1)
[9] Digest: a948904f2f0f429b8f8197694b30184b0d2ed1c3cd2a1ec0fb85d299a193a447
Carica l'immagine OTA
Per caricare l'immagine su Google Home Developer Console:
Vai a Matter > OTA.
Fai clic su Gestisci accanto al dispositivo nell'elenco Dispositivi.
Nella pagina Configurazione OTA, fai clic sulla scheda Immagini.
Fai clic su Nuova immagine.
Assegna un nome all'immagine e fai clic su Allega immagine per selezionare e caricare il file immagine.
Una volta convalidata l'immagine, fai clic su Salva.
Quando viene visualizzata la finestra di dialogo di conferma, fai clic su Salva per rendere disponibile l'immagine sui tuoi dispositivi oppure fai clic su Annulla per annullare l'invio.
L'immagine OTA è disponibile per la distribuzione poco dopo il caricamento.