MQTTbiblioteca básica - Gratis RTOS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

MQTTbiblioteca básica

nota

Es posible que el contenido de esta página no lo sea up-to-date. Consulte la página de la biblioteca RTOS Free.org para obtener la última actualización.

Introducción

La MQTT biblioteca principal es una implementación de cliente del estándar MQTT(Message Queue Telemetry Transport). El MQTT estándar proporciona un protocolo ligero de publicación/suscripción (o PubSub) mensajería que se ejecuta sobre TCP /IP y se utiliza a menudo en casos de uso de máquina a máquina (M2M) e Internet de las cosas (IoT).

La MQTT biblioteca principal cumple con el estándar de protocolo 3.1.1. MQTT Esta biblioteca se ha optimizado para reducir el consumo de memoria. El diseño de esta biblioteca abarca diferentes casos de uso, que van desde plataformas con recursos limitados que utilizan solo MQTT PUBLISH mensajes de QoS 0 hasta plataformas con muchos recursos que utilizan conexiones de QoS 2 a través de (Transport Layer Security). MQTT PUBLISH TLS La biblioteca proporciona un menú de funciones componibles, que se pueden elegir y combinar para adaptarse con precisión a las necesidades de un caso de uso concreto.

La biblioteca está escrita en C y diseñada para cumplir con las normas C90 y C:2012. ISO MISRA Esta MQTT biblioteca no depende de ninguna biblioteca adicional, excepto las siguientes:

  • La biblioteca C estándar

  • Una interfaz de transporte de red implementada por el cliente

  • (Opcional) Una función horaria de plataforma implementada por el usuario

La biblioteca está desacoplada de los controladores de red subyacentes mediante una especificación sencilla de interfaz de transporte de envío y recepción. El autor de la aplicación puede seleccionar una interfaz de transporte existente o implementar la suya propia según convenga para su aplicación.

La biblioteca proporciona un alto nivel API para conectarse con un MQTT intermediario, suscribirse o cancelar la suscripción a un tema, publicar un mensaje en un tema y recibir los mensajes entrantes. APIToma la interfaz de transporte descrita anteriormente como parámetro y la utiliza para enviar y recibir mensajes desde y hacia el intermediario. MQTT

La biblioteca también expone un API serializador/deserializador de bajo nivel. Esto se API puede usar para crear una aplicación de IoT simple que consista solo en el subconjunto de MQTT funcionalidades requerido, sin ningún otro tipo de sobrecarga. El serializador/deserializador se API puede utilizar junto con cualquier capa de transporte disponibleAPI, como los sockets, para enviar y recibir mensajes desde y hacia el intermediario.

Cuando utilice MQTT conexiones en aplicaciones de IoT, le recomendamos que utilice una interfaz de transporte segura, como una que utilice el TLS protocolo.

Esta MQTT biblioteca no tiene dependencias de plataforma, como los subprocesos o la sincronización. La biblioteca tiene pruebas que muestran un uso seguro de la memoria y la ausencia de asignación de pilas, lo que la hace adecuada para microcontroladores de IoT, pero también es totalmente portátil a otras plataformas. Se puede usar libremente y se distribuye bajo una licencia de código MIT abierto.

Tamaño del código del núcleo MQTT (ejemplo generado con GCC ARM Cortex-M)
Archivos Con optimización -O1 Con optimización -Os
core_mqtt.c 4,0 K 3,4 K
core_mqtt_state.c 1,7 K 1,3 K
core_mqtt_serializer.c 2,8 K 2,2 K
Estimaciones totales 8,5 K 6,9 K