发 帖  
原厂入驻New
[问答]

哪位大神可以详细介绍一下MQTT API吗?

1469 RT-Thread MQTT
分享
MQTT API介绍

0
2021-4-2 07:24:53   评论 分享淘帖 邀请回答

相关问题

1个回答
订阅列表

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 结构体实例中注册使用。
[tr]callback 名称描述[/tr]
connect_callbackMQTT 连接成功的回调
online_callbackMQTT 客户端成功上线的回调
offline_callbackMQTT 客户端掉线的回调
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:1883ipv4 类型tcp://192.168.10.1:1883ssl://192.168.10.1:1884ipv6 类型tcp://[fe80::20c:29ff:fe9a:a07e]:1883ssl://[fe80::20c:29ff:fe9a:a07e]:1884paho_mqtt_start 接口

int paho_mqtt_start(MQTTClient *client)[tr]参数描述[/tr]
clientMQTT 客户端实例对象
return0 : 成功; 其他 : 失败
该函数启动 MQTT 客户端,根据配置项订阅相应的主题。
MQTT Publish 接口



  • 功能:向指定的 Topic 主题发布 MQTT 消息。

int MQTTPublish(MQTTClient *c, const char *topicName, MQTTMessage *message)[tr]参数描述[/tr]
cMQTT 客户端实例对象
topicNameMQTT 消息发布主题
messageMQTT 消息内容
return0 : 成功; 其他 : 失败

2021-4-6 09:50:32 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
快速回复 返回顶部 返回列表