这里做的是上报阿里云平台
首先需要连接阿里云测试
这里我也是参考别人博客一步步做的...所以还是直接贴出链接:
https://blog.csdn.net/qq997758497/article/details/90757307
按照上面博客成功用MQTT.fx订阅与发布之后,接下来看一下我们得到的东西
订阅和发布的主题,这里用/sys/a1R4lbARNLO/${deviceName}/thing/event/property/post发布主题还有/sys/a1R4lbARNLO/${deviceName}/thing/service/property/set订阅主题这两个来测试,当然也可以用其他的主题
比起刚刚的产品主题Topic类,功能更像是主题
使用在线调试,发布消息MQTT.fx接收到的消息以Json格式打印出来
阿里云的上报会比较严格,还需要用相同的Json格式发布阿里云平台才能收得到,将订阅收到的Json格式消息复制到发布端去发布。
最少也需要以如下格式:
{
"params" : {
"Data" : "Test"
},
}
阿里云平台才接收数据显示对应功能的数据
有了这些东西之后就可以使用mosquitto连接阿里云平台了,用mosquitto_sub订阅。
用mosquitto_pub发布的时候载荷不符合Json格式,上报的数据对应的功能处并没有收到,可能是我还没完全掌握mosquitto_pub的用法吧
接下来就用mosquitto库自己实现mqtt客户端
使用了开源的iniparser库来操作配置文件,对于这些需要很多参数的程序,用一个配置文件来解决就很方便,可以了解一下iniparser库:
https://wenku.baidu.com/view/fba7c147c4da50e2524de518964bcf84b8d52d1a.html
一开始需要修改配置文件,配置文件默认上报到我的阿里云平台