Prerequisiti per l'utilizzo OTA degli aggiornamenti HTTP - 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 l'utilizzo OTA degli aggiornamenti HTTP

Questa sezione descrive i requisiti generali per l'utilizzo HTTP di to perform over-the-air (OTA) updates. A partire dalla versione 201912.00, Free RTOS OTA può utilizzare il MQTT protocollo HTTP or per trasferire le immagini di aggiornamento del firmware dai dispositivi AWS IoT .

Nota
  • Sebbene il HTTP protocollo possa essere utilizzato per trasferire l'immagine del firmware, la libreria principale MQTT Agent è comunque necessaria perché altre interazioni con la libreria principale dell'MQTTAgent, tra cui AWS IoT Core l'invio o la ricezione di notifiche di esecuzione del lavoro, documenti sui lavori e aggiornamenti dello stato di esecuzione.

  • Quando si specificano entrambi MQTT i HTTP protocolli per il processo di OTA aggiornamento, la configurazione del software OTA Agent su ogni singolo dispositivo determina il protocollo utilizzato per trasferire l'immagine del firmware. Per modificare l'OTAagente dal metodo di MQTT protocollo predefinito al HTTP protocollo, è possibile modificare i file di intestazione utilizzati per compilare il codice RTOS sorgente gratuito per il dispositivo.

Requisiti minimi

  • Il firmware del dispositivo deve includere le RTOS librerie gratuite necessarie (core MQTT AgentHTTP, OTA Agent e le relative dipendenze).

  • È necessaria RTOS la versione gratuita 201912.00 o successiva per modificare la configurazione dei OTA protocolli e consentire il trasferimento OTA dei dati. HTTP

Configurazioni

Vedi la seguente configurazione dei OTA protocolli nel \vendors\boards\board\aws_demos\config_files\ota_config.h file.

Per abilitare il trasferimento OTA dei dati tramite HTTP
  1. Passare da configENABLED_DATA_PROTOCOLS a OTA_DATA_OVER_HTTP.

  2. Durante gli OTA aggiornamenti, è possibile specificare entrambi i protocolli in modo da poter utilizzare uno MQTT dei due protocolli., È possibile impostare il protocollo principale utilizzato dal dispositivo su HTTP cambiando configOTA_PRIMARY_DATA_PROTOCOL inOTA_DATA_OVER_HTTP. HTTP

Nota

HTTPè supportato solo per le operazioni sui OTA dati. Per le operazioni di controllo, è necessario utilizzareMQTT.

Configurazioni specifiche del dispositivo

ESP32

A causa del numero limitato diRAM, è necessario disattivarlo BLE quando si abilita HTTP come protocollo OTA dati. Nel file vendors/espressif/boards/esp32/aws_demos/config_files/aws_iot_network_config.h, modificare configENABLED_NETWORKS solo in AWSIOT_NETWORK_TYPE_WIFI.

/** * @brief Configuration flag which is used to enable one or more network interfaces for a board. * * The configuration can be changed any time to keep one or more network enabled or disabled. * More than one network interfaces can be enabled by using 'OR' operation with flags for * each network types supported. Flags for all supported network types can be found * in "aws_iot_network.h" * */ #define configENABLED_NETWORKS ( AWSIOT_NETWORK_TYPE_WIFI )

Utilizzo della memoria

Quando MQTT viene utilizzato per il trasferimento dei dati, non è necessaria alcuna memoria heap aggiuntiva per la MQTT connessione, poiché è condivisa tra le operazioni di controllo e quelle relative ai dati. Tuttavia, l'abilitazione del trasferimento dei dati HTTP richiede memoria heap aggiuntiva. Di seguito sono riportati i dati sull'utilizzo della memoria heap per tutte le piattaforme supportate, calcolati utilizzando Free. RTOS xPortGetFreeHeapSize API Devi assicurarti che ce ne sia abbastanza RAM per usare la OTA libreria.

Texas Instruments CC322 0SF- LAUNCHXL

Operazioni di controllo (MQTT): 12 KB

Operazioni sui dati (HTTP): 10 KB

Nota

TI utilizza molto meno RAM perché lo fa SSL sull'hardware, quindi non utilizza la libreria mbedtls.

Curiosità su Microchip PIC32MZEF

Operazioni di controllo (MQTT): 65 KB

Operazioni sui dati (HTTP): 43 KB

Espresso ESP32

Operazioni di controllo (MQTT): 65 KB

Operazioni sui dati (HTTP): 45 KB

Nota

BLEESP32richiede circa 87 KBRAM. Non è sufficiente RAM per abilitarli tutti, come indicato nelle configurazioni specifiche del dispositivo sopra riportate.

Simulatore Windows

Operazioni di controllo (MQTT): 82 KB

Operazioni sui dati (HTTP): 63 KB

Nordic nrf52840-dk

HTTP non è supportato.

Policy dei dispositivi

Questa politica consente di utilizzare entrambi MQTT o HTTP per OTA gli aggiornamenti.

Ogni dispositivo che riceve un OTA aggiornamento HTTP deve essere registrato come oggetto AWS IoT e deve avere una politica allegata come quella elencata 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}/jobs/*" ] }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:partition:iot:region:account:topic/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] } ] }
Note
  • Le iot:Connect autorizzazioni consentono al dispositivo di connettersi a AWS IoT overMQTT.

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

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