Biblioteca coreMQTT
nota
O conteúdo desta página pode não estar atualizado. Consulte a página da biblioteca do FreeRTOS.org
Introdução
A biblioteca coreMQTT é uma implementação de cliente do padrão MQTT
A biblioteca coreMQTT é compatível com o padrão de protocolo MQTT 3.1.1
A biblioteca é escrita em C e criada para ser compatível com ISO C90
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 uma API de alto nível para conectar-se a um agente MQTT, assinar/cancelar a assinatura de um tópico, publicar uma mensagem em um tópico e receber mensagens de entrada. Essa API usa a interface de transporte descrita acima como um parâmetro e a usa para enviar e receber mensagens de e para o agente MQTT.
A biblioteca também expõe a API do serializador/desserializador de baixo nível. Essa API pode ser usada para criar uma aplicação do IoT simples que consiste apenas no subconjunto necessário da funcionalidade do MQTT, sem outras sobrecargas. A API do serializador/desserializador pode ser usada em conjunto com toda API de camada de transporte disponível, como soquetes, para enviar e receber mensagens de e para o agente.
Ao usar conexões MQTT em aplicações do IoT, recomendamos usar uma interface de transporte segura, como a usada pelo protocolo TLS.
Essa biblioteca MQTT não tem dependências de plataforma, como threading ou sincronização. Essa biblioteca tem provas
| Tamanho de código de coreMQTT (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 |