Le immagini degli aggiornamenti del firmware OTA devono essere conformi al formato file delle immagini del software OTA Matter, che include:
- Un identificatore file che identifica in modo univoco il file come Matter file di aggiornamento del firmware
- Le dimensioni del file
- Le dimensioni dell'intestazione
- Un'intestazione codificata con un valore di lunghezza tag (TLV) contenente informazioni sull'aggiornamento, tra cui:
- VID
- PID
- versione software
- Il payload
L'SDK Matter fornisce uno strumento per creare e ispezionare le immagini OTA Matter (ota_image_tool.py
). Alcuni sistemi di compilazione possono creare automaticamente immagini OTA Matter, quindi controlla la documentazione del tuo SoC.
Crea un'immagine OTA
Usa 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 l'insieme 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 in 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 l'immagine disponibile per i tuoi dispositivi oppure fai clic su Annulla per annullare l'invio.
L'immagine OTA è disponibile per la distribuzione poco dopo il caricamento.