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

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

3天内不再提示

ZWS云平台应用(5)-raw数据解析

ZLG致远电子 2024-06-19 08:25 次阅读

设备透传上报的原始raw数据,如何解析成更易读JSON数据格式?

传感器数据输出是二进制,这种方式的数据量小,传输速度快。但二进制数据不够直观,需要将数据解析成更易读的JSON数据格式。本文以温控器为例,在设备端采集的原始raw数据是:040B5417D49B99,通过数据解析脚本在ZWS云端转换成结构化的JSON格式:{“temperature”:29,”humidity”:61}。
5d9334d0-2dd2-11ef-a655-92fbcf53809c.png1. 建立设备模型

登录ZWS物联网云平台,创建设备类型:温控器。

5da6ee12-2dd2-11ef-a655-92fbcf53809c.png2. 添加数据字段

进入设备类型的功能块编辑页面,添加温度、湿度数据字段。

5db36fac-2dd2-11ef-a655-92fbcf53809c.png3. 编写数据解析脚本

根据业务情况编写数据解析的脚本,提交到物联网云平台。

5db7435c-2dd2-11ef-a655-92fbcf53809c.png

比如,温控器的数据格式如下:

5dc6316e-2dd2-11ef-a655-92fbcf53809c.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", "thermostat_fn.Temp_data");
//初始温度、湿度为0 float temperature = 0; int 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;}

4. 查看解析后的数据

云端添加温控器设备,通过DTU设备将温控器上线并上报raw数据,在设备详情的实时数据页面,就能查看解析后的温湿度数据。

5dca98ee-2dd2-11ef-a655-92fbcf53809c.png
5de36964-2dd2-11ef-a655-92fbcf53809c.jpg  小结

设备上报的原始raw数据,需要云端解析处理成JSON格式,才能直观监测。另外,不同类型的设备上报的数据格式也不一样,具体的解析脚本需要按照业务数据格式来编写,设备解析方式不一样。

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

    关注

    2548

    文章

    50660

    浏览量

    751837
  • 云平台
    +关注

    关注

    1

    文章

    1280

    浏览量

    38870
  • 数据解析
    +关注

    关注

    0

    文章

    13

    浏览量

    3498
收藏 人收藏

    评论

    相关推荐

    ZWS-CAN智慧如何赋能工程机械?

    ZWS-CAN智慧如何赋能工程机械?ZWS-CAN智慧云系统演示
    发表于 03-01 07:49

    一文教你读懂ZWS的可视化开发

    ZWS 平台,全称为:ZLG Web Service 计算服务平台,是一个标准通用的物联网云端
    的头像 发表于 11-09 15:20 504次阅读

    ZWS平台是如何支持OPC UA通信的?

    ,具有远程监控和管理设备、数据解析数据分析、告警触发、数据推送等功能。 本文将简要介绍OPC UA以及ZWS
    的头像 发表于 11-09 11:01 2920次阅读
    <b class='flag-5'>ZWS</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>是如何支持OPC UA通信的?

    【解决方案】设备如何上报数据ZWS平台

    在物联网中,监测设备数据已是一个基础必备功能,可那些不同种类的物联设备究竟是如何上报数据平台呢?本文将介绍设备上报数据
    的头像 发表于 03-10 21:40 429次阅读

    【产品应用】如何通过IoT平台对CAN数据进行实时DBC解析

    DBC文件是用来描述CAN总线通讯信息数据的一种文件,其中包含了CAN总线中协议数据及其所代表的具体意义。在汽车路试中,对于车辆错误故障信息,需对CAN报文数据进行实时DBC解析,定
    的头像 发表于 03-20 23:10 566次阅读

    【产品应用】如何利用IoT平台统计设备数据?— 基础篇

    上报到 ZWS平台数据经过解析后可以直观地看到某一时刻设备的数据状态,而想观察设备
    的头像 发表于 05-18 13:05 450次阅读
    【产品应用】如何利用IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b>统计设备<b class='flag-5'>数据</b>?— 基础篇

    【EsDA应用】串口转zws物联网平台

    物联网逐渐成为各种行业的一个标配,如何让设备快速接入物联网平台,将是产品在行业竞争中制胜的关键。简介在实际项目中,我们经常会用到串口服务器,以提供串口与网络服务器之间的双向数据透明传输为核心业务
    的头像 发表于 01-14 10:45 708次阅读
    【EsDA应用】串口转<b class='flag-5'>zws</b>物联网<b class='flag-5'>云</b><b class='flag-5'>平台</b>

    【解决方案】设备如何上报数据ZWS平台

    在物联网中,监测设备数据已是一个基础必备功能,可那些不同种类的物联设备究竟是如何上报数据平台呢?本文将介绍设备上报数据
    的头像 发表于 03-18 10:12 600次阅读
    【解决方案】设备如何上报<b class='flag-5'>数据</b>到<b class='flag-5'>ZWS</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>?

    【产品应用】ZWS物联网平台如何下发命令给设备?

    对于一些位于偏远环境的设备,可以远程配置或控制设备显得尤为重要。ZWS从设计之初就充分考虑了这一需求,支持云端远程下发命令给设备。介绍ZWS平台
    的头像 发表于 05-08 09:47 799次阅读
    【产品应用】<b class='flag-5'>ZWS</b>物联网<b class='flag-5'>云</b><b class='flag-5'>平台</b>如何下发命令给设备?

    【产品应用】如何利用IoT平台统计设备数据?— 基础篇

    ZWS平台数据经过解析后可以直观地看到某一时刻设备的数据状态,而想观察设备
    的头像 发表于 05-19 10:40 487次阅读
    【产品应用】如何利用IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b>统计设备<b class='flag-5'>数据</b>?— 基础篇

    【产品应用】如何利用IoT平台统计设备数据?— 进阶篇

    设备数据解析后的设备数据一般是时序存储,但纯粹的设备时序数据无法给用户带来更大的业务价值,需要根据业务需求进行额外的
    的头像 发表于 05-30 17:18 448次阅读
    【产品应用】如何利用IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b>统计设备<b class='flag-5'>数据</b>?— 进阶篇

    【EsDA应用】串口转zws物联网平台

     为核心业务。其能在不用修改原有产品系统的情况下,为串口设备提供了便捷的联网通道,即扩展了物联网功能,又保障了原有系统的稳定性。 本文以实现 串口转ZWS(即提供串口与ZWS平台之间
    的头像 发表于 07-04 11:45 308次阅读
    【EsDA应用】串口转<b class='flag-5'>zws</b>物联网<b class='flag-5'>云</b><b class='flag-5'>平台</b>

    【解决方案】设备如何上报数据ZWS平台

    在物联网中,监测设备数据已是一个基础必备功能,可那些不同种类的物联设备究竟是如何上报数据平台呢?本文将介绍设备上报数据
    的头像 发表于 07-19 11:55 418次阅读
    【解决方案】设备如何上报<b class='flag-5'>数据</b>到<b class='flag-5'>ZWS</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>?

    ZWS平台应用(1)-设备建模

    本文以温控器为例,介绍使用ZWS物联网平台的第一步“设备建模”流程。不同类型的设备拥有不同的能力和属性,比如,空调设备是控制温度、风速,关注当前的温度值等。储能设备关心的是充放电、电池量、电压
    的头像 发表于 02-23 08:23 589次阅读
    <b class='flag-5'>ZWS</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(1)-设备建模

    ZWS平台应用(6)-设备命令

    本文讲述使用ZWS物联网平台远程下发设备命令的过程。在生产生活中,很多设备自身有一些控制指令,比如,路灯的开关灯命令、电机的调整转速命令、空调的调温命令等等。当这些设备变成智能设备,连接物联网
    的头像 发表于 06-26 08:25 245次阅读
    <b class='flag-5'>ZWS</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(6)-设备命令