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格式,才能直观监测。另外,不同类型的设备上报的数据格式也不一样,具体的解析脚本需要按照业务数据格式来编写,设备解析方式不一样。

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

    关注

    2578

    文章

    55756

    浏览量

    795036
  • 云平台
    +关注

    关注

    1

    文章

    1570

    浏览量

    42402
  • 数据解析
    +关注

    关注

    0

    文章

    14

    浏览量

    3722
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    设备厂商必看!ZWS户用储能平台的五大赋能

    ZWS户用储能平台凭借其强大的功能,为设备厂商、经销商和终端业主提供了全方位的解决方案。今天,我们聚焦于设备厂商,看看ZWS户用储能
    的头像 发表于 09-29 11:38 793次阅读
    设备厂商必看!<b class='flag-5'>ZWS</b>户用储能<b class='flag-5'>云</b><b class='flag-5'>平台</b>的五大赋能

    1分钟了解ZWS平台:储能云端管、控、维全搞定

    想了解如何高效管理工商储能系统?本文将介绍ZWS工商储能管理平台的五大核心功能,助力企业提升运营效率与收益。ZWS工商储能管理
    的头像 发表于 11-21 11:34 513次阅读
    1分钟了解<b class='flag-5'>ZWS</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>:储能云端管、控、维全搞定