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
Per abilitare il trasferimento OTA dei dati tramite HTTP
-
Passare da
configENABLED_DATA_PROTOCOLS
aOTA_DATA_OVER_HTTP
. -
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 inAWSIOT_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
autorizzazioniiot: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.