MQTTbiblioteca principal - Gratuito RTOS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

MQTTbiblioteca principal

nota

O conteúdo desta página pode não ser up-to-date. Consulte a página da biblioteca RTOS Free.org para obter a atualização mais recente.

Introdução

A MQTT biblioteca principal é uma implementação cliente do padrão MQTT(Message Queue Telemetry Transport). O MQTT padrão fornece um protocolo leve de publicação/assinatura (ou PubSub) de mensagens que é executado sobre TCP /IP e é frequentemente usado em casos de uso de máquina a máquina (M2M) e Internet das Coisas (IoT).

A MQTT biblioteca principal é compatível com o padrão de protocolo MQTT3.1.1. Essa biblioteca foi otimizada para ocupar pouco espaço de memória. O design dessa biblioteca abrange diferentes casos de uso, desde plataformas com recursos limitados usando apenas mensagens de QoS MQTT PUBLISH 0 até plataformas ricas em recursos usando conexões de QoS 2 via (Transport Layer Security). MQTT PUBLISH TLS A biblioteca fornece um menu de funções combináveis, que podem ser escolhidas e combinadas para atender exatamente às necessidades de um caso de uso específico.

A biblioteca é escrita em C e projetada para ser compatível com ISOC90 e MISRA C:2012. Essa MQTT biblioteca não depende de nenhuma biblioteca adicional, exceto as seguintes:

  • A biblioteca C padrão

  • Uma interface de transporte de rede implementada pelo cliente

  • (Opcional) Uma função de horário da plataforma implementada pelo usuário

A biblioteca é desvinculada dos drivers de rede subjacentes por meio do fornecimento de uma especificação simples de interface de transporte de envio e recebimento. O autor da aplicação pode selecionar uma interface de transporte existente ou implementar a própria interface, conforme adequado para a sua aplicação.

A biblioteca fornece um alto nível API para se conectar a um MQTT corretor, assinar/cancelar a assinatura de um tópico, publicar uma mensagem em um tópico e receber mensagens recebidas. Isso API usa a interface de transporte descrita acima como um parâmetro e a usa para enviar e receber mensagens de e para o MQTT agente.

A biblioteca também expõe o API serializador/desserializador de baixo nível. Isso API pode ser usado para criar um aplicativo de IoT simples que consiste apenas no subconjunto necessário de MQTT funcionalidades, sem nenhuma outra sobrecarga. O serializador/desserializador API pode ser usado em conjunto com qualquer camada de transporte disponívelAPI, como soquetes, para enviar e receber mensagens de e para o broker.

Ao usar MQTT conexões em aplicativos de IoT, recomendamos que você use uma interface de transporte segura, como aquela que usa o TLS protocolo.

Essa MQTT biblioteca não tem dependências de plataforma, como encadeamento ou sincronização. Essa biblioteca tem provas que demonstram o uso seguro da memória e a ausência de alocação de heap, o que a torna adequada para microcontroladores do IoT, mas também totalmente portável para outras plataformas. Ele pode ser usado livremente e é distribuído sob a licença de código MIT aberto.

Tamanho do código do núcleo MQTT (exemplo gerado com GCC para ARM Cortex-M)
Arquivo Com otimização -O1 Com otimização: 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
Estimativas totais 8,5 K 6,9 K