Libreria CoreMQTT Agent - FreeRTOS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Libreria CoreMQTT Agent

Nota

Il contenuto di questa pagina potrebbe non esserlo. up-to-date Consulta la pagina della libreria di Freertos.org per l'ultimo aggiornamento.

Introduzione

La libreria CoreMQTT Agent è un'API di alto livello che aggiunge la sicurezza dei thread a. libreria CoreMQTT Consente di creare un'attività di agente MQTT dedicata che gestisce una connessione MQTT in background e non richiede l'intervento di altre attività. La libreria fornisce equivalenti threadsafe a CoreMQTT APIs, quindi può essere utilizzata in ambienti multithread.

L'agente MQTT è un task indipendente (o thread di esecuzione). Garantisce la sicurezza dei thread essendo l'unica attività autorizzata ad accedere all'API della libreria MQTT. Serializza l'accesso isolando tutte le chiamate API MQTT in una singola attività ed elimina la necessità di semafori o altre primitive di sincronizzazione.

La libreria utilizza una coda di messaggistica thread-safe (o altro meccanismo di comunicazione tra processi) per serializzare tutte le richieste di chiamata a MQTT. APIs L'implementazione della messaggistica è disaccoppiata dalla libreria tramite un'interfaccia di messaggistica, che consente il trasferimento della libreria su altri sistemi operativi. L'interfaccia di messaggistica è composta da funzioni per inviare e ricevere puntatori alle strutture di comando dell'agente e da funzioni per allocare questi oggetti di comando, il che consente all'autore dell'applicazione di decidere la strategia di allocazione della memoria appropriata per la propria applicazione.

La libreria è scritta in C e progettata per essere conforme a ISO C90 e MISRA C:2012. La libreria non ha dipendenze da altre librerie diverse dalla libreria C standard. libreria CoreMQTT La libreria dispone di prove che dimostrano l'uso sicuro della memoria e l'assenza di allocazione di heap, quindi può essere utilizzata per i microcontrollori IoT, ma è anche completamente portabile su altre piattaforme.

Questa libreria può essere utilizzata liberamente ed è distribuita con la licenza open source MIT.

Dimensione del codice dell'agente CoreMQTT (esempio generato con GCC per ARM Cortex-M)
File Con ottimizzazione -O1 Con ottimizzazione -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,0K 3,4K
core_mqtt_state.c (CoreMQTT) 1,7 K 1,3 K
core_mqtt_serializer.c (CoreMQTT) 2,8K 2,2 K
Stime totali 10,5 K 8,6K