Biblioteca coreMQTT Agent - FreeRTOS

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á.

Biblioteca coreMQTT Agent

nota

O conteúdo desta página pode não estar atualizado. Consulte a página da biblioteca do FreeRTOS.org para obter a atualização mais recente.

Introdução

A biblioteca coreMQTT Agent é uma API de alto nível que adiciona segurança de threads ao Biblioteca coreMQTT. Ela permite criar uma tarefa de agente MQTT dedicada que gerencia uma conexão MQTT em segundo plano e sem precisar de nenhuma intervenção de outras tarefas. A biblioteca fornece equivalentes seguros de threads às APIs do coreMQTT, para que possa ser usada em ambientes com threads múltiplos.

O agente MQTT é uma tarefa independente (ou thread de execução). Ele obtém a segurança do thread ao ser a única tarefa que tem permissão para acessar a API da biblioteca MQTT. Ele serializa o acesso isolando todas as chamadas da API MQTT em uma única tarefa e elimina a necessidade de semáforos ou outras primitivas de sincronização.

A biblioteca usa uma fila de mensagens segura para threads (ou outro mecanismo de comunicação entre processos) para serializar todas as solicitações para chamar as APIs do MQTT. A implementação do sistema de mensagens é desacoplada da biblioteca por meio de uma interface de mensagens, que permite que a biblioteca seja transferida para outros sistemas operacionais. A interface de mensagens é composta por funções para enviar e receber ponteiros para as estruturas de comando do agente e funções para alocar esses objetos de comando, o que permite que o escritor do aplicativo decida a estratégia de alocação de memória apropriada para seu aplicativo.

A biblioteca é escrita em C e criada para ser compatível com ISO C90 e MISRA C:2012. A biblioteca não depende de bibliotecas adicionais além da biblioteca Biblioteca coreMQTT e da C padrão. A biblioteca tem provas que mostram o uso seguro da memória e a ausência de alocação de heap, por isso ela pode ser usada para microcontroladores do IoT, mas também é totalmente portável para outras plataformas.

Essa biblioteca pode ser usada gratuitamente e é distribuída sob a licença de código aberto do MIT.

Tamanho de código da coreMQTT Agent (exemplo gerado com GCC para ARM Cortex-M)
Arquivo Com otimização -O1 Com otimização -Os
core_mqtt_agent.c 1,7 K 1,5 K
core_mqtt_agent_command_functions.c 0,3 K 0,2 K
core_mqtt.c (CoreMQTT) 4,0 K 3,4 K
core_mqtt_state.c (coreMQTT) 1,7 K 1,3 K
core_mqtt_serializer.c (coreMQTT) 2,8 K 2,2 K
Estimativas totais 10,5 K 8,6 K