Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Conditions requises pour les OTA mises à jour à l'aide de HTTP
Cette section décrit les exigences générales relatives HTTP à l'utilisation de to perform over-the-air (OTA) mises à jour. À partir de la version 201912.00, Free RTOS OTA peut utiliser le MQTT protocole HTTP or pour transférer les images de mise à jour du microprogramme depuis AWS IoT les appareils.
Note
-
Bien que le HTTP protocole puisse être utilisé pour transférer l'image du microprogramme, la bibliothèque d'MQTTagents principale est toujours requise car d'autres interactions AWS IoT Core utilisent la bibliothèque d'MQTTagents principale, notamment l'envoi ou la réception de notifications d'exécution de tâches, de documents de tâche et de mises à jour du statut d'exécution.
-
Lorsque vous spécifiez à la fois HTTP des protocoles MQTT et des protocoles pour la tâche de OTA mise à jour, la configuration du logiciel OTA agent sur chaque appareil individuel détermine le protocole utilisé pour transférer l'image du microprogramme. Pour faire passer l'OTAagent de la méthode de MQTT protocole par défaut au HTTP protocole, vous pouvez modifier les fichiers d'en-tête utilisés pour compiler le code RTOS source gratuit de l'appareil.
Configuration requise
-
Le microprogramme de l'appareil doit inclure RTOS les bibliothèques libres nécessaires (MQTTOTAagent principalHTTP, agent et leurs dépendances).
-
RTOSLa version gratuite 201912.00 ou ultérieure est requise pour modifier la configuration des OTA protocoles afin de permettre le transfert de OTA données. HTTP
Configurations
Consultez la configuration suivante des OTA protocoles dans le \vendors\boards\
board
\aws_demos\config_files\ota_config.h
Pour activer le transfert de OTA données via HTTP
-
Remplacez
configENABLED_DATA_PROTOCOLS
parOTA_DATA_OVER_HTTP
-
Lors de la OTA mise à jour, vous pouvez spécifier les deux protocoles afin que l'un MQTT ou HTTP l'autre puisse être utilisé. Vous pouvez définir le protocole principal utilisé par le périphérique HTTP en passant
configOTA_PRIMARY_DATA_PROTOCOL
àOTA_DATA_OVER_HTTP
.
Note
HTTPn'est pris en charge que pour les opérations de OTA données. Pour les opérations de contrôle, vous devez utiliserMQTT.
Configurations spécifiques aux périphériques
- ESP32
-
En raison du nombre limité deRAM, vous devez le désactiver BLE lorsque vous l'activez HTTP en tant que protocole de OTA données. Dans le fichier
vendors/espressif/boards/esp32/aws_demos/config_files/aws_iot_network_config.h
, remplacez configENABLED_NETWORKS
parAWSIOT_NETWORK_TYPE_WIFI
uniquement./** * @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 )
Utilisation de la mémoire
Lorsqu'elle MQTT est utilisée pour le transfert de données, aucune mémoire supplémentaire n'est requise pour la MQTT connexion, car elle est partagée entre le contrôle et les opérations de données. Cependant, l'activation du transfert de données HTTP nécessite de la mémoire supplémentaire. Voici les données d'utilisation de la mémoire par tas pour toutes les plateformes prises en charge, calculées à l'aide de la version gratuite RTOS xPortGetFreeHeapSize
API. Vous devez vous assurer qu'il y en a suffisamment RAM pour utiliser la OTA bibliothèque.
- Texas Instruments CC322 0SF- LAUNCHXL
-
Opérations de contrôle (MQTT) : 12 KB
Opérations sur les données (HTTP) : 10 Ko
Note
TI en consomme beaucoup moins RAM car il en utilise SSL sur le matériel, il n'utilise donc pas la bibliothèque mbedtls.
- Microchip Curiosity PIC32MZEF
-
Opérations de contrôle (MQTT) : 65 KB
Opérations sur les données (HTTP) : 43 Ko
- Espressif ESP32
-
Opérations de contrôle (MQTT) : 65 KB
Opérations sur les données (HTTP) : 45 Ko
Note
BLEESP32cela prend environ 87 KoRAM. Il n'y en a pas assez RAM pour toutes les activer, comme indiqué dans les configurations spécifiques à l'appareil ci-dessus.
- Simulateur Windows
-
Opérations de contrôle (MQTT) : 82 KB
Opérations sur les données (HTTP) : 63 Ko
- Nordic nrf52840-dk
-
HTTP n’est pas pris en charge.
Politique en matière d'appareils
Cette politique vous permet d'utiliser l'une MQTT ou l'autre HTTP des OTA mises à jour.
Chaque appareil qui reçoit une OTA mise à jour HTTP doit être enregistré en tant qu'objet AWS IoT et doit être associé à une politique similaire à celle répertoriée ici. Vous trouverez plus d'informations sur les éléments dans les objets "Action"
et "Resource"
dans Actions de stratégie AWS IoT et Ressources d'action 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/*" ] } ] }
Remarques
-
Les
iot:Connect
autorisations permettent à votre appareil de se connecter à AWS IoT overMQTT. -
Les
iot:Publish
autorisationsiot:Subscribe
et relatives aux sujets des AWS IoT tâches (.../jobs/*
) permettent à l'appareil connecté de recevoir des notifications de tâches et des documents relatifs aux tâches, et de publier l'état d'achèvement de l'exécution d'une tâche. -
Les
iot:Receive
autorisations permettent AWS IoT Core de publier des messages sur ces sujets sur l'appareil actuellement connecté. Cette autorisation est vérifiée à chaque réception d'un MQTT message. Vous pouvez utiliser cette autorisation pour révoquer l'accès aux clients actuellement abonnés à une rubrique.