搭建鸿蒙物联网IOT平台-4-数据传输并控制设备

完成前面几篇后,本项目已经接近尾声了,这一篇为把设备数据上报到可视化平台,并接收平台的控制指令。

1、接收数据

只需一步,把nodered的MQTT接收端的订阅的主题改成设备端发布的主题,nodered发送端的发布主题设置成设备端的订阅主题即可。

设备端的订阅发布宏定义:

然后就上电连接指定wifi,就可以在平台看到数据了。

2、发布数据

此次教程所用到的数据格式均为 Json 格式,所以发布数据也遵循 Json 格式,输入设定的参数后点确定,就会下发数据。

在设备端还需要解析 Json 数据,鸿蒙代码已经移植了 C-Json库,我们直接使用就可以了,代码中包含头文件,然后根据 Json代码中的例子编写自己的解析函数。

然后就可以在主循环中调用了,我这里使用了一个标志位来处理,一旦接收到数,把标志位置1,然后就把数据取出来,给Json 函数解析,得到想要的数据,然后就可以根据阈值来做逻辑判断了。

逻辑处理比较简单

在上报这里加了一点处理,我的处理思路是这样的,在 IOT 平台中,你一旦下发了数据,要收到设备返回报文,才能确定设备正确接收到了你的控制指令,这里我用灯的状态上报来作为报文,我下发了开灯指令,如果设备接收到了指令,把灯开了之后要立即上报灯已经开的状态指令,这样才能认为控制成功。

所以在逻辑处理处可以这样设计,一旦接收到控制指令,响应了控制指令之后,要立即上报当前的状态。如果没有接收到控制指令,则计时到保活时间就自动上报状态。

PS:这里还可以再加一道警报响应,意思是,假如我定时上报的时间为15S,但是在第2秒的时候,温度超过了报警限值,那么由于没有接受到控制指令,所以要等13S之后平台才能接收到数据,如果真正遇到危险,这样是很不可取的,所以可以再加一个标志位,传感器的值超过阈值,就立马上报数据,保证实时性。

好了,基于Hi3861-WIFI-IOT开发属于自己的 IOT 平台并部署智能家居场景教程完结,相信动手能力强的你也能够实现自己的IOT 平台。

同系列文章:

1、基于Hi3861WIFIIOT搭建属于自己的物联网IOT平台

2、基于Hi3861WIFIIOT搭建属于自己的物联网IOT平台2-让设备连上云

3、基于Hi3861WIFIIOT搭建属于自己的物联网IOT平台3-搭建可视化平台

扫码关注我们

HarmonyOS技术社区

电子发烧友和华为官方共建

阅读原文,访问作者主页文章。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值