Prerequisiti per gli aggiornamenti OTA mediante MQTT - Gratuito RTOS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Prerequisiti per gli aggiornamenti OTA mediante MQTT

Questa sezione descrive i requisiti generali per l'utilizzo di MQTT per eseguire over-the-air (aggiornamenti OTA).

Requisiti minimi

  • Il firmware del dispositivo deve includere le librerie FreeRTOS necessarie (CoreMQTT Agent, aggiornamento OTA e relative dipendenze).

  • È richiesta la versione 1.4.0 o successiva di FreeRTOS. Tuttavia, si consiglia di utilizzare la versione più recente quando possibile.

Configurazioni

A partire dalla versione 201912.00, FreeRTOS OTA può utilizzare il protocollo HTTP o MQTT per trasferire le immagini degli aggiornamenti del firmware dai dispositivi ai dispositivi. AWS IoT Se specifichi entrambi i protocolli quando crei un aggiornamento OTA in FreeRTOS, ogni dispositivo determinerà il protocollo utilizzato per trasferire l'immagine. Per ulteriori informazioni, consulta Prerequisiti per gli aggiornamenti OTA mediante HTTP.

Per impostazione predefinita, la configurazione dei protocolli OTA prevede l'utilizzo del protocollo MQTT. ota_config.h

Configurazioni specifiche del dispositivo

Nessuna.

Utilizzo della memoria

Quando MQTT viene utilizzato per il trasferimento dei dati, non è necessaria alcuna memoria aggiuntiva per la connessione MQTT perché è condivisa tra operazioni di controllo e dati.

Policy dei dispositivi

Ogni dispositivo che riceve un aggiornamento OTA utilizzando MQTT deve essere registrato come una cosa in AWS IoT e la cosa deve avere una policy collegata come indicato qui. Ulteriori informazioni sugli elementi degli oggetti "Action" e "Resource" sono disponibili in Operazioni di policy AWS IoT Core e Risorse per operazioni AWS IoT Core.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:partition:iot:region:account:client/${iot:Connection.Thing.ThingName}" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": [ "arn:partition:iot:region:account:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/streams/*", "arn:partition:iot:region:account:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:partition:iot:region:account:topic/$aws/things/${iot:Connection.Thing.ThingName}/streams/*", "arn:partition:iot:region:account:topic/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] } ] }
Note
  • Le autorizzazioni iot:Connect consentono al dispositivo di connettersi a AWS IoT tramite MQTT.

  • Le autorizzazioni iot:Publish e iot:Subscribe sugli argomenti dei processi AWS IoT (.../jobs/*) consentono al dispositivo connesso di ricevere notifiche e documenti relativi ai processi e di pubblicare lo stato di completamento dell'esecuzione di un processo.

  • Le autorizzazioni iot:Publish e iot:Subscribe sugli argomenti dei flussi OTA AWS IoT (.../streams/*) consentono al dispositivo connesso di recuperare i dati di aggiornamento OTA da AWS IoT. Queste autorizzazioni sono necessarie per eseguire gli aggiornamenti del firmware tramite MQTT.

  • Le autorizzazione iot:Receive consentono a AWS IoT Core di pubblicare messaggi su tali argomenti per il dispositivo connesso. Questa autorizzazione viene controllata ad ogni recapito di un messaggio MQTT. È possibile utilizzare questa autorizzazione per revocare l'accesso ai client attualmente sottoscritti a un argomento.