CH32F208以太网&蓝牙转CAN总线/RS485控制板 - 设备连接MQTT服务器
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/product/CH32F208_DTU/index.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
这节测试一下使用控制板连接MQTT服务器进行通信测试.
1,打开这节的程序
修改为自己的MQTT服务器信息;
下面测试地址是这边远程服务器的, 设备测试的时候需要连接一个可以上网的路由器或者交换机;
用户如果把MQTT软件安装到了自己的电脑上,测试时把下面的地址修改为本地电脑的IP地址;然后保证和本地电脑在一个局域网内就可以;
2,编译程序并下载到控制板
控制板日志将会打印连接MQTT服务器成功和订阅主题成功
提示: 控制板订阅的主题为 user/MAC地址
控制板发布的主题为 device/MAC地址
3,使用MQTT调试助手也连接MQTT服务器
根据自己的MQTT服务器填写,然后点击连接
4,MQTT调试助手上订阅和发布的主题, 根据控制板打印的日志进行修改, 然后点击订阅
5,使用MQTT调试助手发送消息
6.设备串口日志上将会打印
程序上设置了接收到什么就返回什么
程序说明
1,MQTT服务器本身就是TCP服务器,所以连接TCP服务器
2,注册MQTT回调函数
3,连接TCP成功以后发送MQTT连接协议
4,处理MQTT服务器返回连接数据
5,在MQTT连接回调函数里面组合订阅主题,并执行订阅主题, 还有组合发布的主题
提示:只要是成功连接了MQTT服务器,可以在任意地方执行订阅主题函数,多个主题可以多次调用订阅函数
6,接收和发送MQTT消息
8,执行上面的订阅主题函数和发送数据函数实际上只是把MQTT格式的数据存储到了数据队列里面
实际发送数据是下面的函数
.