当前位置:   article > 正文

搭建鸿蒙物联网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技术社区

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/249622
推荐阅读
相关标签
  

闽ICP备14008679号