联德胜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

相关推荐
传感器与混合集成电路3 小时前
210℃与175℃高温存储器选型研究:LHM256MB与LDMF4GA-H架构与可靠性对比(上)
嵌入式硬件·能源
时光找茬3 小时前
【瑞萨AI挑战赛-FPB-RA6E2】+ 从零开始:FPB-RA6E2 开箱测评与 e2 studio 环境配置
c++·单片机·边缘计算
17(无规则自律)4 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
@good_good_study4 小时前
FreeRTOS内存管理
单片机
Hello_Embed5 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
qq_397562316 小时前
QT工程 , 生成别的电脑运行的exe程序
嵌入式硬件·qt
qqssss121dfd7 小时前
STM32H750XBH6的ETH模块移植LWIP
网络·stm32·嵌入式硬件
jkyy20148 小时前
健康座舱:健康有益赋能新能源汽车开启移动健康新场景
人工智能·物联网·汽车·健康医疗
想放学的刺客9 小时前
单片机嵌入式试题(第27期)设计可移植、可配置的外设驱动框架的关键要点
c语言·stm32·单片机·嵌入式硬件·物联网
天昊吖9 小时前
stc8H启用DMA发送后 卡住【踩坑日志】
单片机