0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【产品应用】IoT云平台如何识别设备透传的黑盒数据?

ZLG致远电子 2022-12-20 09:35 次阅读

设备与云平台通信,通常是一串二进制数据,不具备可读性,需要将数据解析成更易读的数据格式。本文将介绍数据解析是什么,以及在ZWS云平台中如何配置解析脚本对设备数据解析。

96997190-7fe6-11ed-b116-dac502259ad0.jpg 应用场景

市面上生产的传统设备,往往不具备联网能力,且外界通信主要通过串口传输二进制数据。在将这些设备接入物联网平台,进行数字化管理过程中,会遇到一个问题“如何将上报的二进制数据变成更易读的JSON数据?”,比如:上报“01040209E8A9”如何变成“温度:25.36℃”,这个将原始数据转换成JSON数据的过程就是数据解析。


96997190-7fe6-11ed-b116-dac502259ad0.jpg 数据解析流程

数据解析简化流程:黑盒二进制数据->解析处理->易读JSON数据。

96a42586-7fe6-11ed-b116-dac502259ad0.png

96997190-7fe6-11ed-b116-dac502259ad0.jpg 数据解析配置

接下来,我们通过温控器+DTU接入ZWS物联网云平台,来看看温控器数据是如何进行数据解析的。

* 说明:温控器不具备入网能力,这里用DTU作为网关透传。

1. 配置数据模型首先,要在云平台中定义设备类型的数据模型,温控器有温度、湿度两个数据点,所以数据模型配置如下: 96b3e98a-7fe6-11ed-b116-dac502259ad0.png

后续的解析脚本会按照模型设置的数据点来返回解析后的数据。

2. 配置数据解析脚本

编写解析脚本前,需要先了解设备上报的数据格式,我们来看下温控器读取温湿度的数据帧。温控器使用自定义协议格式的数据帧,格式如下:96c4ee24-7fe6-11ed-b116-dac502259ad0.png以数据0406E219647FE6为例,解析规则对应:04数据长度(表示数据有4个字节)、06E21964 温湿度值、7FE6 校验码。96d7f294-7fe6-11ed-b116-dac502259ad0.png因此,温控器解析脚本内容如下:

//GroovyUtils为通用解析工具import com.zlgcloud.iotplatform.iotmapping.commons.GroovyUtilsimport java.nio.ByteBuffer;

/** * 将二进制报文解析成物模型的map数据 * * @param rawData 二进制报文 * @return 物模型数据 * @description 方法名必须为rawDataToJson,参数必须是byte[]类型 */static Map rawDataToJson(byte[] rawData) { Map map = new HashMap<>(); Map dataMap = new HashMap<>(); //定义解析数据的map,key固定为data,用于存放对应事件内字段的数据 map.put("data", dataMap); //设置数据模型配置中定义的数据点 map.put("event_name", "MX_TEMP_fn.raw");
//初始温度、湿度为0 float temperature = 0; float humidity = 0;
//开始解析数据 ByteBuffer byteBuffer = ByteBuffer.wrap(rawData); //从第0个字节开始读取 int offset = 0; //读取长度 int dataLen = byteBuffer.get(offset); offset += 1; //如果长度为4,则同时解析温度和湿度数据;否则长度就为2,只解析温度数据 if (dataLen == 4) { // 解析温度 temperature = byteBuffer.getShort(offset); if (temperature >= 4096) { // 负值 temperature = -1 * (temperature - 4096); } temperature = temperature / 100; //解析湿度 offset += 2; humidity = byteBuffer.getShort(offset); humidity = humidity / 100; } else { //解析温度 temperature = byteBuffer.getShort(offset); if (temperature >= 4096) { // 负值 temperature = -1 * (temperature - 4096); } temperature = temperature / 100; }
//将数据按数据模型配置定义的格式放入返回值中 dataMap.put("temperature", temperature); dataMap.put("humidity", humidity);
return map;}

说明:

1. 解析脚本中支持对多个数据点进行解析处理,不仅限于两个数据点。
2. 解析脚本中的数据点要与数据模型中配置的一致,否则会解析保存失败。

将编写好的解析脚本配置到温控器的设备类型上:

96e428ac-7fe6-11ed-b116-dac502259ad0.png

3.查看解析后的数据

将解析脚本配置成功后,温控器再次上报原始数据,在云平台中就可以看到解析后的温湿度数据了。96f76426-7fe6-11ed-b116-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IOT
    IOT
    +关注

    关注

    187

    文章

    4209

    浏览量

    196762
收藏 人收藏

    评论

    相关推荐

    DTU终端CATCOM-100云端转发应用

    本文介绍DTU设备数据转发应用,实现点对点通信。应用场景DTU
    的头像 发表于 10-13 08:05 266次阅读
    DTU终端CATCOM-100云端<b class='flag-5'>透</b><b class='flag-5'>传</b>转发应用

    IOT数据采集平台的功能特点

    的深远影响。 IOT数据采集平台的定义 IOT数据采集平台是一种专门用于物联网
    的头像 发表于 09-25 13:28 513次阅读

    智慧农业IOT平台有什么功能

    随着科技的飞速发展,智慧农业已成为现代农业的重要发展方向。智慧农业IOT平台,作为集数据采集、分析、处理、存储、展示于一体的云端服务平台
    的头像 发表于 09-20 14:44 339次阅读

    工业物联网(IOT平台是什么

    随着信息技术的飞速发展,工业互联网(IoT平台已成为推动制造业数字化转型的重要力量。这一平台基于计算、物联网技术、大
    的头像 发表于 09-19 14:16 467次阅读

    【新品】这样的4G DTU网关,你见过吗?

    、华为等市面上所有DTU平台,并提供网关配置工具进行远配置维护。该网关维护简单,无复杂配置,可大幅节省人力,提高效率。
    的头像 发表于 08-31 08:05 580次阅读
    【新品】这样的4G DTU<b class='flag-5'>透</b><b class='flag-5'>传</b>网关,你见过吗?

    网络和非是什么区别是什么

    :适用简易、立即的数据传输,留意数据的完整性和低延迟。非:适用必须进行
    的头像 发表于 08-07 16:19 769次阅读

    请问AT支持UDP吗?

    做了测试,SDK V1.00 AT文件烧写后,设定为TCP时,是可以了, 但是设定为UDP后,传出现发送不成功,但是接收是可以的,是不是AT不支持UDP
    发表于 07-17 08:28

    蓝牙模块无线世界的传输

    适配客户各种开发项目。 应用场景非常广泛,几乎涵盖了所有需要无线数据传输的领域。在智慧零售领域,蓝牙模块可以用于智能家居,定位追踪、智能教育设备、测量与监控系统、工业传感器与控制、
    发表于 07-03 18:40

    请问ESP32 BLE如何主动发送数据

    我在做ESP32 BLE,通过串口数据。看到的例程都是手机app端读操作时触发ESP_GATTS_READ_EVT事件,然后发送
    发表于 06-21 11:25

    轻松搞懂和非的区别

    和非数据通信中的两种不同模式,各自有其适用场景和优势。
    的头像 发表于 06-05 12:03 9693次阅读
    轻松搞懂<b class='flag-5'>透</b><b class='flag-5'>传</b>和非<b class='flag-5'>透</b><b class='flag-5'>传</b>的区别

    ZWS平台应用(4)-设备数据上报

    智能设备连接到物联网,会产生大量的数据,可以说:物联网最大的价值,其实是数据,那么设备数据是如何上报到
    的头像 发表于 04-12 08:25 640次阅读
    ZWS<b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(4)-<b class='flag-5'>设备</b><b class='flag-5'>数据</b>上报

    产品应用】ZWS平台应用(3)-设备基于DTU接入

    传统设备要接入物联网,选择什么方式比较好?本文将介绍通过DTU智能网联终端CATCOM-100接入ZWS物联网平台的功能。对于一些工业制造、机械设备对温度有特殊的要求,我们就需要控制
    的头像 发表于 03-29 08:23 397次阅读
    【<b class='flag-5'>产品应用</b>】ZWS<b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(3)-<b class='flag-5'>设备</b>基于DTU接入

    关于博达工具新版本升级公告

    感谢您一直以来对博达智联自主研发的远程工具的支持与信任!为提升广大用户的操作体验,博达智联团队经过不懈努力,不断优化产品功能,将工具
    的头像 发表于 03-19 08:33 465次阅读
    关于博达<b class='flag-5'>透</b><b class='flag-5'>传</b>工具新版本升级公告

    ZWS平台应用(2)-设备基于SDK接入

    物联网开发过程中遇到的棘手问题是:如何让设备连接上设备接入主要是开发者要实现设备平台进行
    的头像 发表于 03-05 08:24 434次阅读
    ZWS<b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(2)-<b class='flag-5'>设备</b>基于SDK接入

    PLC设备接入网关实现工厂PLC接入物联网IOT平台

    管理方面存在一些困难。物通博联提供PLC设备接入网关,可以将PLC设备接入物联网IOT平台。 物通博联PLC
    的头像 发表于 01-24 16:43 1024次阅读
    PLC<b class='flag-5'>设备</b>接入网关实现工厂PLC接入物联网<b class='flag-5'>IOT</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>