- 学习路线
- RT-Thread 简介
- RT-Thread Nano
- RT-Thread Smart
- RT-Thread Studio
- 快速上手
- 内核
- Env 工具
- 设备和驱动
- 组件
- 软件包
- 物联网
- 工具
- MicroPython用户手册
- 应用开发
- RT-Thread 版本选择
- 开发环境搭建
- 固件尺寸优化
- 在RT-Thread潘多拉开发板上实现电源管理
- 网络协议栈驱动移植
- 在STM32F429上应用网络功能
- 在STM32F429上应用文件系统
- 在潘多拉上使用 SFUD 操作 Flash
- FreeModbus 应用笔记
- 应用AT组件连接ESP8266模块
- 多线程非阻塞网络编程
- 使用QEMU运行动态模块组件
- CmBacktrace应用
- 在 STM32L4 上应用 littlefs 文件系统
- STM32通用Bootloader
- wireshark抓取tls数据包
- 在 STM32 上应用 C++
- STM32 上使用 PWM
- STM32 上使用 USB Host 读写 U 盘
- QEMU 网络视频教程
- Demo 示例
- 其他
- 传感器驱动开发指南
- 软件包开发
- 向RT-Thread贡献代码
- 内核视频教程
- Env 视频教程
- rw007 SPI WiFi 模块使用
- wireshark抓取tls数据包
- Keil MDK 安装
- Rtthread dir
- 支持的传感器列表
- 支持的 Touch 列表
- Builtin functions and exceptions
- Cmath
- Gc
- Math
- Sys
- Uarray
- Ubinascii
- Ucollections
- Uerrno
- Uhashlib
- Uheapq
- Uio
- Ujson
- Uos
- Ure
- Uselect
- Usocket
- ussl – SSL/TLS 模块
- Ustruct
- Utime
- Uzlib
- thread
- micropython – 内部功能访问与控制模块
- Rtthread
- Machine
- Pin
- I2C
- SPI
- UART
- LCD
- RTC
- PWM
- ADC
- WDT
- Timer
- Network
- Wlan
- 传感器驱动框架介绍
- Preparations
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
API 说明
订阅列表
Paho MQTT 中采用订阅列表的形式进行多个 Topic 的订阅,订阅列表存储在 MQTTClient
结构体实例中,在 MQTT 启动前配置,如下所示:
... // 省略代码
MQTTClient client;
... // 省略代码
/* set subscribe table and event callback */
client.messageHandlers[0].topicFilter = MQTT_SUBTOPIC;
client.messageHandlers[0].callback = mqtt_sub_callback;
client.messageHandlers[0].qos = QOS1;
详细的代码讲解请参考 Samples 章节,订阅列表的最大数量可以由 menuconfig
中的 Max pahomqtt subscribe topic handlers
选项进行配置。
callback
paho-mqtt 使用 callback 的方式向用户提供 MQTT 的工作状态以及相关事件的处理,需要在 MQTTClient
结构体实例中注册使用。
callback 名称 | 描述 |
---|---|
connect_callback | MQTT 连接成功的回调 |
online_callback | MQTT 客户端成功上线的回调 |
offline_callback | MQTT 客户端掉线的回调 |
defaultMessageHandler | 默认的订阅消息接收回调 |
messageHandlers[x].callback | 订阅列表中对应的订阅消息接收回调 |
用户可以使用 defaultMessageHandler
回调默认处理接收到的订阅消息,也可以使用 messageHandlers
订阅列表,为 messageHandlers
数组中对应的每一个 Topic 提供一个独立的订阅消息接收回调。
MQTT_URI
paho-mqtt 中提供了 uri 解析功能,可以解析域名地址、ipv4 和 ipv6 地址,可解析 tcp://
和 ssl://
类型的 URI,用户只需要按照要求填写可用的 uri 即可。
- uri 示例:
domain 类型
tcp://iot.eclipse.org:1883
ipv4 类型
tcp://192.168.10.1:1883
ssl://192.168.10.1:1884
ipv6 类型
tcp://[fe80::20c:29ff:fe9a:a07e]:1883
ssl://[fe80::20c:29ff:fe9a:a07e]:1884
paho_mqtt_start 接口
int paho_mqtt_start(MQTTClient *client)
参数 | 描述 |
---|---|
client | MQTT 客户端实例对象 |
return | 0 : 成功; 其他 : 失败 |
该函数启动 MQTT 客户端,根据配置项订阅相应的主题。
MQTT Publish 接口
- 功能:向指定的 Topic 主题发布 MQTT 消息。
int MQTTPublish(MQTTClient *c, const char *topicName, MQTTMessage *message)
参数 | 描述 |
---|---|
c | MQTT 客户端实例对象 |
topicName | MQTT 消息发布主题 |
message | MQTT 消息内容 |
return | 0 : 成功; 其他 : 失败 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论