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.
Bibliothèque de l'agent OTA
Important
Il s'agit d'une version archivée du guide de l'utilisateur de FreeRTOS à utiliser avec la version 202012.00 de FreeRTOS. Pour obtenir la dernière version de ce document, consultez le guide de l'utilisateur de FreeRTOS.
Présentation
Vous Bibliothèque de l'agent OTA permet de gérer la notification, le téléchargement et la vérification des mises à jour du microprogramme pour les appareils FreeRTOS en 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.
Pour plus d'informations sur la configuration des mises à jour OTA avec FreeRTOS, consultez. Mises à jour de FreeRTOS Over-the-Air
Fonctionnalités
Voici l'interface complète de l'agent OTA :
OTA_AgentInit
-
Initialise l'agent OTA. L'appelant fournit un contexte de protocole de messagerie, un rappel facultatif et un délai d'expiration.
OTA_AgentShutdown
-
Efface les ressources après avoir utilisé l'agent OTA.
OTA_GetAgentState
-
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.
Référence d’API
Pour plus d'informations, consultez la référence de l'API de l'agent OTA.
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.
-
Connectez-vous au broker AWS IoT MQTT. Pour de plus amples informations, veuillez consulter bibliothèque CoreMQTT.
-
Initialisez l'agent OTA en appelant
OTA_AgentInit
. Votre application peut définir une fonction de rappel OTA personnalisée ou utiliser le rappel par défaut en spécifiant un pointeur de fonction de rappel NULL. Vous devez également fournir un délai d'expiration de l'initialisation.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. Le délai d'expiration détermine le temps d'attente de la fin de l'initialisation.
-
Si
OTA_AgentInit
a expiré avant que l'agent ne fût prêt, vous pouvez appelerOTA_GetAgentState
pour confirmer que l'agent est initialisé et qu'il fonctionne comme prévu. -
Lorsque la mise à jour OTA est terminée, FreeRTOS appelle le rappel de fin de tâche avec l'un des événements
accepted
suivants :, ou.rejected
self 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 sur votre plateforme, consultez la section Portage de la bibliothèque OTA dans le Guide de portage de FreeRTOS.
Utilisation de la mémoire
Taille du code de l' AWS IoT OTA (exemple généré avec GCC pour ARM Cortex-M) | ||
---|---|---|
Fichier | Avec optimisation -O1 | Avec l'optimisation -Os |
otac. | 8,0 K | 7,2 K |
ota_interface.c | 0,1 K | 0,1 K |
ota_base64c | 0,6 K | 0,6 K |
ota_mqtt.c | 2,3 K | 2,2 K |
ota_cbor.c | 0,8 K | 0,6 K |
ota_http.c | 0,3 K | 0,3 K |
Estimations totales | 12,1 K | 11,0 K |