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

一、开发准备

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

附上之前的链接:

STM32+ESP8266连接腾讯IOT上传数据(四)_stm32通过esp8266上传数据到云平台-CSDN博客https://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

相关推荐
崇山峻岭之间11 小时前
单片机LCD实验
单片机·嵌入式硬件
m0_3771081411 小时前
STM32-adc
stm32·单片机·嵌入式硬件
【云轩】13 小时前
如何设计一台能模拟电机的电子负载:一个硬件工程师的实战笔记
笔记·嵌入式硬件
SmartRadio13 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma
上海合宙LuatOS13 小时前
Air8000多网通信- Netdrv
物联网·luatos·多网融合
Jason_zhao_MR15 小时前
纳秒级抖动×24小时零丢帧:RK3576工业级EtherCAT主站全拆解
大数据·人工智能·单片机·嵌入式
TDengine (老段)16 小时前
TDengine WAL 预写日志机制 — 持久性保障与崩溃恢复
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Geometry Fu16 小时前
《物联网安全》第3.1章 RFID安全
物联网·安全·rfid
平安的平安17 小时前
从“数据孤岛“到“数据融合“:DolphinDB 多模引擎如何打通工业物联网的“任督二脉“
物联网
Deitymoon17 小时前
FreeRTOS——中断实验
stm32·单片机