AWS IoTBibliothèque Over the Air (OTA) - FreeRTOS

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 pour la dernière mise à jour.

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.

  1. Connect à l'agentAWS IoT CoreMQTT. Pour plus d'informations, veuillez consulter Bibliothèque de l'agent CoreMQTT.

  2. Initialisez l'agent OTA en appelantOTA_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.

  3. Lorsque la mise à jour OTA est terminée, FreeRTOS appelle le rappel de fin de tâche avec l'un des événements suivants :acceptedrejected, ouself test.

  4. 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.

  5. 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