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.
AWS IoTBibliothèque Over the Air (OTA)
Note
Le contenu de cette page ne l'est peut-être pas up-to-date. Veuillez consulter la page de la bibliothèque FreeRTOS.org
Introduction
La bibliothèque de mise à jourAWS IoT Over-the-air (OTA) vous permet de gérer la notification, le téléchargement et la vérification des mises à jour du microprogramme pour les appareils FreeRTOS utilisant le protocole HTTP ou MQTT. En utilisant la bibliothèque de l'agent OTA, vous pouvez séparer logiquement les mises à jour des microprogrammes de l'application s'exécutant sur vos appareils. L'agent OTA peut partager une connexion réseau avec l'application. En partageant une connexion réseau, vous pouvez éventuellement enregistrer une quantité importante de mémoire RAM. De plus, la bibliothèque de l'agent OTA vous permet de définir une logique spécifique à l'application pour tester, valider ou annuler une mise à jour du microprogramme.
L'Internet des objets (IoT) étend la connectivité Internet aux appareils embarqués qui n'étaient traditionnellement pas connectés. Ces appareils peuvent être programmés pour communiquer des données utilisables sur Internet et peuvent être surveillés et contrôlés à distance. Grâce aux avancées technologiques, ces appareils intégrés traditionnels intègrent rapidement des fonctionnalités Internet dans les espaces grand public, industriel et professionnel.
Les appareils IoT sont généralement déployés en grande quantité et souvent dans des endroits difficiles ou peu pratiques d'accès pour un opérateur humain. Imaginez un scénario dans lequel une faille de sécurité susceptible d'exposer des données est découverte. Dans de tels scénarios, il est important de mettre à jour les appareils concernés avec des correctifs de sécurité rapidement et de manière fiable. Sans la possibilité d'effectuer des mises à jour OTA, il peut également être difficile de mettre à jour des appareils dispersés géographiquement. La mise à jour de ces appareils par un technicien sera coûteuse, longue et souvent peu pratique. Le temps nécessaire à la mise à jour de ces appareils les expose à des failles de sécurité pendant une période plus longue. Le rappel de ces appareils à des fins de mise à jour sera également coûteux et pourrait entraîner des perturbations importantes pour les consommateurs en raison de temps d'arrêt.
Les mises à jour Over the Air (OTA) permettent de mettre à jour le micrologiciel de l'appareil sans devoir recourir à un rappel coûteux ou à une visite d'un technicien. Cette
-
Sécurité : capacité à réagir rapidement aux failles de sécurité et aux bogues logiciels découverts après le déploiement des appareils sur le terrain.
-
Innovation - Les produits peuvent être mis à jour fréquemment à mesure que de nouvelles fonctionnalités sont développées, ce qui stimule le cycle d'innovation. Les mises à jour peuvent prendre effet rapidement avec un temps d'arrêt minimal par rapport aux méthodes de mise à jour traditionnelles.
-
Coût : les mises à jour OTA peuvent réduire considérablement les coûts de maintenance par rapport aux méthodes traditionnellement utilisées pour mettre à jour ces appareils.
La fourniture de la fonctionnalité OTA nécessite les considérations de conception suivantes :
-
Communication sécurisée : les mises à jour doivent utiliser des canaux de communication cryptés pour empêcher toute altération des téléchargements pendant le transport.
-
Restauration : les mises à jour peuvent échouer en raison de facteurs tels que la connectivité réseau intermittente ou la réception d'une mise à jour non valide. Dans ces scénarios, l'appareil doit pouvoir revenir à un état stable et éviter de se bloquer.
-
Vérification de l'auteur : les mises à jour doivent être vérifiées pour provenir d'une source fiable, tout comme d'autres validations, telles que la vérification de la version et de la compatibilité.
Pour de plus amples informations sur la configuration des mises à jour OTA avec FreeRTOS, veuillez consulterMises à jour gratuites de RTOS en direct.
AWS IoTBibliothèque Over the Air (OTA)
La bibliothèqueAWS IoT OTA vous permet de gérer les notifications relatives aux nouvelles mises à jour disponibles, de les télécharger et d'effectuer une vérification cryptographique des mises à jour du microprogramme. À l'aide de la bibliothèque cliente over-the-air (OTA), vous pouvez séparer logiquement les mécanismes de mise à jour du microprogramme de l'application exécutée sur votre appareil. La bibliothèque cliente over-the-air (OTA) peut partager une connexion réseau avec l'application, ce qui permet d'économiser de la mémoire sur les périphériques aux ressources limitées. En outre, la bibliothèque cliente over-the-air (OTA) vous permet de définir une logique spécifique à l'application pour tester, valider ou annuler une mise à jour du microprogramme. La bibliothèque prend en charge différents protocoles d'application tels que Message Queuing Telemetry Transport (MQTT) et Hypertext Transfer Protocol (HTTP) et propose diverses options de configuration que vous pouvez ajuster en fonction du type et des conditions de votre réseau.
Les API de cette bibliothèque fournissent les principales fonctions suivantes :
-
Inscrivez-vous pour recevoir des notifications ou interrogez les nouvelles demandes de mise à jour disponibles.
-
Recevez, analysez et validez la demande de mise à jour.
-
Téléchargez et vérifiez le fichier conformément aux informations de la demande de mise à jour.
-
Exécutez un autotest avant d'activer la mise à jour reçue pour vous assurer de la validité fonctionnelle de la mise à jour.
-
Met à jour l'état de l'appareil.
Cette bibliothèque utilise desAWS services pour gérer diverses fonctions liées au cloud, telles que l'envoi de mises à jour du microprogramme, la surveillance d'un grand nombre d'appareils dans plusieurs régions, la réduction de la portée des déploiements défectueux et la vérification de la sécurité des mises à jour. Cette bibliothèque peut être utilisée avec n'importe quelle bibliothèque MQTT ou HTTP.
Les démos de cette bibliothèque présentent des over-the-air mises à jour complètes à l'aide de la bibliothèque etAWS des services CoreMQTT sur un appareil FreeRTOS.
Fonctions
Voici l'interface complète de l'agent OTA :
OTA_Init
-
Initialise le moteur OTA en démarrant l'agent OTA (« tâche OTA ») dans le système. Il ne peut exister qu'un seul agent OTA.
OTA_Shutdown
-
Signalez à l'agent OTA de s'arrêter. L'agent OTA se désabonnera éventuellement de tous les sujets de notification des tâches MQTT, arrêtera les tâches OTA en cours, le cas échéant, et effacera toutes les ressources.
OTA_GetState
-
Permet d'obtenir l'état actuel de l'agent OTA.
OTA_ActivateNewImage
-
Active l'image la plus récente du microprogramme du microcontrôleur reçue via OTA. (Le statut détaillé de la tâche doit être désormais test automatique.)
OTA_SetImageState
-
Définit l'état de validation de l'image du microprogramme du microcontrôleur actuellement en cours d'exécution (test, acceptée ou rejetée).
OTA_GetImageState
-
Obtient l'état de validation de l'image du microprogramme du microcontrôleur actuellement en cours d'exécution (test, acceptée ou rejetée).
OTA_CheckForUpdate
-
Demande la prochaine mise à jour OTA disponible à partir du service de mise à jour OTA.
OTA_Suspend
-
Suspendez toutes les opérations de l'agent OTA.
OTA_Resume
-
Reprenez les opérations de l'agent OTA.
OTA_SignalEvent
-
Signalez un événement à la tâche de l'agent OTA.
OTA_EventProcessingTask
-
Boucle de traitement des événements de l'agent OTA.
OTA_GetStatistics
-
Obtenez les statistiques des paquets de messages OTA, y compris le nombre de paquets reçus, mis en file d'attente, traités et abandonnés.
OTA_Err_strerror
-
Conversion du code d'erreur en chaîne pour les erreurs OTA.
OTA_JobParse_strerror
-
Convertissez un code d'erreur OTA Job Parsing en chaîne.
OTA_PalStatus_strerror
-
Conversion du code d'état en chaîne pour le statut OTA PAL.
OTA_OsStatus_strerror
-
Conversion du code d'état en chaîne pour l'état du système d'exploitation OTA.
Référence d'API
Pour plus d'informations, consultez AWS IoTOver-the-air Update : Functions
Exemple d'utilisation
Une application de périphérique compatible OTA typique qui utilise le protocole MQTT dirige l'agent OTA à l'aide de la séquence d'appels d'API suivante.
-
Connect à l'agentAWS IoT CoreMQTT. Pour plus d'informations, veuillez consulter Bibliothèque de l'agent CoreMQTT.
-
Initialisez l'agent OTA en appelant
OTA_Init
, en incluant les buffers, les interfaces ota requises, le nom de l'objet et le rappel de l'application. Le rappel implémente une logique spécifique à l'application qui s'exécute après avoir terminé la tâche de mise à jour OTA. -
Lorsque la mise à jour OTA est terminée, FreeRTOS appelle le rappel de fin de tâche avec l'un des événements suivants :
accepted
rejected
, ouself test
. -
Si la nouvelle image du microprogramme a été rejetée (par exemple, en raison d'une erreur de validation), l'application peut généralement ignorer la notification et attendre la prochaine mise à jour.
-
Si la mise à jour est valide et a été marquée comme acceptée, appelez
OTA_ActivateNewImage
pour réinitialiser l'appareil et démarrer la nouvelle image du microprogramme.
Portage
Pour plus d'informations sur le portage des fonctionnalités OTA vers votre plateforme, consultez la section Portage de la bibliothèque OTA dans le guide de portage FreeRTOS.
Utilisation de la mémoire
Taille du codeAWS IoT OTA (exemple généré avec GCC pour ARM Cortex-M) | ||
---|---|---|
Fichier | Avec l'optimisation -O1 | Avec -Os Optimization |
ota.c | 8,3 KM | 7,5 KM |
ota_interface.c | 0,1 K | 0,1 K |
ota_base64.c | 0,6 K | 0,6 K |
ota_mqtt.c | 2,4 K | 2,2 KM |
ota_cbor.c | 0,8 K | 0,6 K |
ota_http.c | 0,3 K | 0,3 K |
Estimations totales | 12,5 K | 11,3 K |