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

相关推荐
沐欣工作室_lvyiyi22 分钟前
基于单片机的智能电表设计(论文+源码)
单片机·嵌入式硬件·电能表·数字电能表
半导体老登1 小时前
新能源汽车核心元件揭秘:二极管、三极管结构与工作原理解析(2/2)
人工智能·单片机·嵌入式硬件·汽车
猿~~~3 小时前
STM32的HAL库开发---多通道ADC采集(DMA读取)实验
stm32·单片机·嵌入式硬件
Freak嵌入式4 小时前
开源一款I2C电机驱动扩展板-FreakStudio多米诺系列
嵌入式硬件·嵌入式·智能硬件·开源硬件·micropython·电机驱动·电子模块
kongba0075 小时前
Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范
c语言·arm开发·单片机
LaoZhangGong1235 小时前
STM32的“Unique device ID“能否修改?
c语言·经验分享·stm32·单片机·嵌入式硬件
1101 11017 小时前
STM32-心知天气项目
stm32·单片机·嵌入式硬件
Ronin-Lotus7 小时前
嵌入式硬件篇---数字电子技术中的触发器
嵌入式硬件·fpga开发·触发器·数字电子技术·上位机知识
Ronin-Lotus7 小时前
嵌入式硬件篇---数字电子技术中的时序逻辑
单片机·嵌入式硬件·蓝桥杯·时序分析·数字电子技术
lllsure17 小时前
Linux 实用指令
linux·物联网