下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。
FreeRTOS-Plus-TCP 现具有统一的 IPv4 和 IPv6 功能,支持多接口。
为基于 FreeRTOS 的固件实现防砖化 MCU FOTA:
宣布停止支持 FreeRTOS 202012 LTS。
左侧菜单提供了适用于学习使用 MQTT Agent 库的示例项目的链接。 另外,IoT 参考集成部分展示了集成到应用程序中的库。

coreMQTT Agent
适用于小型 IoT 设备( MCU 或小型 MPU)的线程安全 MQTT C 客户端库

简介

coreMQTT Agent 库是一个高级 API,它为 CoreMQTT 库增加了线程安全性。使用该库可创建一个专用的 MQTT Agent 任务,用于在后台管理 MQTT 连接,不需要其他任务的 干预。该库提供了与 coreMQTT 的 API 相同的线程安全性,因此可以在多线程环境中使用。

MQTT Agent 是独立的任务(或执行线程)。它通过成为唯一获准访问 MQTT 库 API 的任务, 从而实现了线程安全。它通过将所有 MQTT API 调用隔离到一个单一的任务中来实现访问的序列化,进而无需信号量或 任何其他同步原语。

该库使用线程安全的消息传递队列(或其他进程间通信机制)来序列化所有调用 MQTT API 的请求。 消息传递实现通过消息传递接口与库解耦,该接口允许将库移植到 其他操作系统。消息传递接口由发送和接收指向代理的命令结构体的函数以及分配这些命令对象的函数组成, 这使得应用程序写入器可以决定适合其应用程序的内存分配策略。

此库以 C 语言编写,设计符合 ISO C90MISRA C:2012 规范。 除 coreMQTT 和标准 C 库之外,该库不依赖于 任何其他库。经证明此库可安全使用内存且不执行堆分配, 适用于 IoT 微控制器,也可完全移植到其他平台。

此库可免费使用,且根据 MIT 开源许可发布。

 

coreMQTT Agent 的代码大小(使用适用于 ARM Cortex-M 的 GCC 生成的示例)
文件使用 -O1 优化使用 -Os 优化
core_mqtt_agent.c1.7K1.5K
core_mqtt_agent_command_functions.c0.3K0.2K
core_mqtt.c (coreMQTT)4.0K3.4K
core_mqtt_state.c (coreMQTT)1.7K1.3K
core_mqtt_serializer.c (coreMQTT)2.8K2.2 K
总估算10.5K8.6K

内存估算包括 coreMQTT
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.