自学内容网 自学内容网

联德胜w801开发板(四)实现腾讯云mqtt的订阅和发布

一、开发准备

在设备开发这里我们就能看到物模型的topic,跟之前用stm32+esp8266一样

附上之前的链接:

STM32+ESP8266连接腾讯IOT上传数据(四)_stm32通过esp8266上传数据到云平台-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Try1harder/article/details/134914027?spm=1001.2014.3001.5501这一次我只建立了一个温度和一个灯

订阅和发布的主题:

 二、订阅和发布

1、总任务

上一篇已经说到这个mqtt的task其实很简单明了,我们现在要实现的订阅,只需要在mqtt_demo_loop任务内处理,然后发布的话,我创建了一个generate_json的函数。

2、发布任务:

把获取芯片内部温度的函数修改了一下,然后直接用cJSON库(W801已经移植)

这里还有一个地方要注意,用CJSON的时候,编译报会报一个找不到floor的错误。

CSDN搜索了一下,找到了解决办法,感谢老哥,链接贴上

联盛德W801系列8-编译链接时找不到标准数学库函数的解决方法_w801 cjson-CSDN博客

3、触发发布任务

这里直接跟心跳一样,开启一个定时的任务,主打的就是一个心跳有的发布任务都有就可以了:

定时器的任务就是发送MQTT_DEMO_CMD_PUBSEDD这个消息给任务队列

这样15s就会执行一次我们的发布任务

4、处理订阅

订阅这里直接在原先的订阅任务增加一个解析函数:

这里就是用CJON库解析数据,收到1就全部开灯,0就全部关灯

当然这里我只是做简单的测试处理。后续要完整做的话,mqtt这个框架我认为不需要动,就在此基础上增加要处理的数据,但是这个任务我还没完全跑过,要注意一下资源,看看会不会跑死,然后控制部分,控制之后要再上报灯的状态,这里灯可以切换成开关之类的等等,就可以做成很多个情境的智能采集和控制设备了。后续我有时间也会做成一个项目。

三、实测

1、发布

2、订阅

视频链接贴上:

用w801mqtt连接腾讯云,控制灯的开关视频-CSDN直播用w801mqtt连接腾讯云,控制灯的开关视频https://live.csdn.net/v/460135


原文地址:https://blog.csdn.net/Try1harder/article/details/145092706

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!