Bibliothèque CoreMQTT - Gratuit RTOS

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 CoreMQTT

Note

Le contenu de cette page n'est peut-être pas up-to-date. Veuillez vous référer aupage de la bibliothèque FreeRTOS.orgpour la dernière mise à jour.

Introduction

La bibliothèque CoreMQTT est une implémentation cliente duMQTT(Transport de télémétrie par file d'attente de messages) standard. La norme MQTT fournit une fonction légère de publication/d'abonnement (ouPubSub) protocole de messagerie qui s'exécute au-dessus du protocole TCP/IP et qui est souvent utilisé dans les cas d'utilisation de machine à machine (M2M) et de l'Internet des objets (IoT).

La bibliothèque CoreMQTT est conforme auxMATT 3.1.1protocole protocole protocole protocole protocole standard. Cette bibliothèque a été optimisée pour un faible encombrement mémoire. La conception de cette bibliothèque englobe différents cas d'utilisation, allant des plateformes aux ressources limitées utilisant uniquement des messages QoS 0 MQTT PUBLISH aux plateformes riches en ressources utilisant des connexions QoS 2 MQTT PUBLISH sur TLS (Transport Layer Security). La bibliothèque fournit un menu de fonctions composables, qui peuvent être choisies et combinées pour répondre précisément aux besoins d'un cas d'utilisation particulier.

La bibliothèque est écrite enCet conçu pour être conforme àISO C90etDATE : C:2012. Cette bibliothèque MQTT ne dépend d'aucune bibliothèque supplémentaire, à l'exception des bibliothèques suivantes :

  • La bibliothèque C standard

  • Interface de transport réseau mise en œuvre par le client

  • (Facultatif) Une fonction de temps de plateforme implémentée par l'utilisateur

La bibliothèque est découplée des pilotes réseau sous-jacents grâce à une spécification d'interface de transport simple d'envoi et de réception. Le rédacteur de l'application peut sélectionner une interface de transport existante ou implémenter la sienne en fonction de son application.

La bibliothèque fournit une API de haut niveau pour se connecter à un courtier MQTT, s'abonner/se désabonner d'un sujet, publier un message sur un sujet et recevoir des messages entrants. Cette API prend l'interface de transport décrite ci-dessus comme paramètre et l'utilise pour envoyer et recevoir des messages depuis et vers le broker MQTT.

La bibliothèque expose également une API de sérialiseur/désérialiseur de bas niveau. Cette API peut être utilisée pour créer une application IoT simple composée uniquement du sous-ensemble requis de fonctionnalités MQTT, sans aucune autre surcharge. L'API de sérialiseur/désérialiseur peut être utilisée conjointement avec n'importe quelle API de couche de transport disponible, comme les sockets, pour envoyer et recevoir des messages vers et depuis le courtier.

Lorsque vous utilisez des connexions MQTT dans des applications IoT, nous vous recommandons d'utiliser une interface de transport sécurisée, telle qu'une interface utilisant le protocole TLS.

Cette bibliothèque MQTT ne comporte aucune dépendance à la plate-forme, telle que le threading ou la synchronisation. Cette bibliothèque possèdepreuvesqui garantissent une utilisation sûre de la mémoire et l'absence d'allocation de mémoire, ce qui le rend adapté aux microcontrôleurs IoT, mais également entièrement portable sur d'autres plateformes. Il peut être utilisé librement et est distribué sous leLicence open source du MIT.

Taille du code de CoreMQTT (exemple généré avec GCC pour ARM Cortex-M)
Fichier Avec optimisation -O1 Avec l'optimisation -Os
core_mqtt.c 4,0 K 3,4 KM
core_mqtt_state.c 1,7 K 1,3 K
core_mqtt_serializer.c 2,8 K 2,2 K
Estimations totales 8,5 K 6,9 K