MQTTbibliothèque de base - 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.

MQTTbibliothèque de base

Note

Le contenu de cette page ne l'est peut-être pas up-to-date. Reportez-vous à la page de la bibliothèque RTOS .org gratuite pour obtenir la dernière mise à jour.

Introduction

La MQTT bibliothèque principale est une implémentation cliente de la norme MQTT(Message Queue Telemetry Transport). La MQTT norme fournit un protocole de publiation/abonnement (ou PubSub) de messagerie léger qui s'exécute au-dessus de TCP /IP et est souvent utilisé dans les cas d'utilisation de machine à machine (M2M) et de l'Internet des objets (IoT).

La MQTT bibliothèque principale est conforme à la norme de protocole MQTT3.1.1. 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 MQTT PUBLISH messages QoS 0 aux plateformes riches en ressources utilisant des connexions QoS 2 sur (Transport Layer Security). MQTT PUBLISH TLS 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 en C et conçue pour être conforme aux normes ISOC90 et MISRAC:2012. Cette MQTT bibliothèque 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 un haut niveau API pour se connecter à un MQTT courtier, s'abonner/se désabonner d'un sujet, publier un message sur un sujet et recevoir des messages entrants. Cela API prend l'interface de transport décrite ci-dessus comme paramètre et l'utilise pour envoyer et recevoir des messages à destination et en provenance du MQTT courtier.

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

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

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

Taille du code du noyau MQTT (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