CH394Q实现MQTT(搭配本地部署的MQTT服务器-EMQX)
1.MQTT详细协议说明:Introduction · MQTT协议中文版
2.本文测试代码链接:测试代码
3.测试硬件:CH32v307开发板+CH394Q开发板(可拨打沁恒官方销售热线申请:销售服务)
4.MQTT服务器:本地服务器EMQX(关于EMQX的下载及使用说明可以参考此链接:CH395+EMQX实现MQTT应用(Windows系统) - Lqqq123 - 博客园)
5.tcp建立连接到MQTT通信抓包截图如下:(抓包文件下载:抓包文件)

测试代码中实现的功能是定时向主题“topic_wch”发布消息
6.疑问:为什么从抓包看,394Q向主题为“topic_wch”发布了一则消息后,mqtt服务器收到后原样回传了一模一样的消息?
答:因为394Q本身既是发布者,同时也是该主题的订阅着。作为发布者,394向主题发布了消息,MQTT服务器(EMQX)收到后,会向所有订阅该主题的客户端下发这一则消息,所以向394回传了消息。这是MQTT的核心机制:发布/订阅
(好比微信群聊,我在群里发了一条消息,我自己能看到吗?答案是肯定的)
7.详细代码说明可以参考此链接:CH395+EMQX实现MQTT应用(Windows系统) - Lqqq123 - 博客园
主要改动,添加了MQTT驱动及CH394_MQTT.c/.h文件,有疑问欢迎评论交流

浙公网安备 33010602011771号