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

相关推荐
点灯小铭2 小时前
基于单片机的电子琴设计与乐曲存储播放实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
hemama_2 小时前
STM32F103VET6开发板例程(一)-LED
stm32·单片机·嵌入式硬件
夜月yeyue2 小时前
Linux 内核驱动加载机制
linux·服务器·stm32·嵌入式硬件
奋斗的牛马2 小时前
FPGA--zynq学习 PS与PL交互(二) HP接口
单片机·嵌入式硬件·学习·fpga开发·信息与通信
ACP广源盛139246256735 小时前
GSV1016/ACP#HDMI2.0 HDCP1.4 发射器(TTL/LVDS 输入 + 音频插入)技术解析
单片机·嵌入式硬件·音视频
d111111111d5 小时前
STM32中为什么会有APB1和APB2两个外设有什么区别
笔记·stm32·单片机·嵌入式硬件·学习
ACP广源盛139246256736 小时前
GSV6505F---1 In to 4 Out HDMI 2.1 Splitter with Embedded MCU
单片机·嵌入式硬件·音视频
ThreeYear_s6 小时前
【FPGA+DSP系列】——CCS联合proteus仿真DSP工程,以TMS320f28027芯片为例,LED闪烁仿真。
单片机·fpga开发·proteus
2501_925317136 小时前
【底层奥秘与性能艺术】让 RTOS 在 48 MHz MCU 上跑出 0.5 µs 上下文切换——一场从零开始的嵌入式“时间革命”
单片机·嵌入式硬件·#嵌入式·#嵌入式开发·#rtos
-凌凌漆-6 小时前
【嵌入式】单片机fft
单片机·嵌入式硬件