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

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

3天内不再提示

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

AGk5_ZLG_zhiyua 来源:未知 2022-12-19 11:45 次阅读
设备与云平台通信,通常是一串二进制数据,不具备可读性,需要将数据解析成更易读的数据格式。本文将介绍数据解析是什么,以及在ZWS云平台中如何配置解析脚本对设备数据解析。


应用场景

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


数据解析流程

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


数据解析配置

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

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

1. 配置数据模型
首先,要在云平台中定义设备类型的数据模型,温控器有温度、湿度两个数据点,所以数据模型配置如下:

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

2. 配置数据解析脚本

编写解析脚本前,需要先了解设备上报的数据格式,我们来看下温控器读取温湿度的数据帧。温控器使用自定义协议格式的数据帧,格式如下:
以数据0406E219647FE6为例,解析规则对应:04数据长度(表示数据有4个字节)、06E21964 温湿度值、7FE6 校验码。
因此,温控器解析脚本内容如下:
//GroovyUtils为通用解析工具
import com.zlgcloud.iotplatform.iotmapping.commons.GroovyUtils
import 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. 解析脚本中的数据点要与数据模型中配置的一致,否则会解析保存失败。

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

3.查看解析后的数据

将解析脚本配置成功后,温控器再次上报原始数据,在云平台中就可以看到解析后的温湿度数据了。
感兴趣的用户,如果想了解更多ZLG物联网云平台相关内容,可以点击“阅读原文”跳转到云官网。



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

文章出处:【微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

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

    关注

    13

    文章

    398

    浏览量

    31096

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

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

    全志XR806蓝牙(单向)测试

    评测三 蓝牙(单向) 有时无线在无法布线时有很方便的效用,不妨试试蓝牙,效果如下:
    发表于 12-07 15:53

    esp8266怎么让串口

    esp8266可以开机不配置直接当串口,直接接在一台设备的串口上,设备波特率固定,上位机通过udp直接接受,esp826可以做到吗,以前用的是串口转wifi模块
    发表于 11-08 07:43

    通过两个esp8266实现单片机之间通信时,数据能否存入寄存器?

    通过两个esp8266实现单片机之间通信时,数据能否存入寄存器,其原理是什么?
    发表于 11-06 06:15

    设备互联(IOT数据采集)平台有什么功能

    设备互联(IOT数据采集)平台是一种用于物联网数据采集和处理的平台。它通过连接各种工业
    的头像 发表于 10-24 16:59 558次阅读

    WiFi扩展板shiled ESP-13失败怎么解决?

    WiFi扩展板shiled ESP-13失败怎么办?
    发表于 10-19 08:26

    esp8266tcp如何防止丢包?

    esp8266tcp如何防止丢包
    发表于 09-25 08:09

    STM32通过NB-IoT连接阿里IOT平台

    NB-IoT技术介绍 整体框架结构 • 硬件连接注意事项 • DEMO运行效果 • 在阿里物联网平台创建并配置产品 • 在
    发表于 09-11 07:04

    物通博联设备联网智能网关设备数据采集上传百度云IOT平台

    在当今的数字化时代,物联网(IoT)技术正以其无可比拟的便利性和效率,设备需要通过互联网进行数据采集和分析对各行各业产生深远影响。随着物联网技术的不断发展,越来越多的设备被连接到互联网
    的头像 发表于 08-22 16:29 339次阅读
    物通博联<b class='flag-5'>设备</b>联网智能网关<b class='flag-5'>设备</b><b class='flag-5'>数据</b>采集上传百度云<b class='flag-5'>IOT</b><b class='flag-5'>平台</b>

    STM32F429通过at指令将esp32c3设置为模式,esp32c3发给STM32F429的数据at client没有正常接收是为什么?

    STM32F429的数据,at client没有正常接收, 比如+IPD,0,3:123, at client 只接收了 +IPD,0,3: ,将
    发表于 08-20 16:59

    IoT毕设】机智平台+STM32+树莓派的草莓采摘机器人控制系统

    模块实现连接机智服务器,实现采摘机器人本机信息以及采摘数量上报到手机或电脑客户端,另外上报信息的种类可以根据需要进行扩展。 ​ 开发机智平台的物联网功能首先在机智网站新建
    发表于 08-16 17:35

    产品应用】如何通过ZWS-IoT低代码开发平台搭建一个环保系统

    使用ZWS-IoT低代码开发平台,可以快速搭建不同web应用页面,以及多个页面的物联网应用系统。本文将介绍通过ZWS-IoT低代码开发平台如何自主搭建一个智慧环保系统。简介ZWS-
    的头像 发表于 07-31 16:59 349次阅读
    【<b class='flag-5'>产品应用</b>】如何通过ZWS-<b class='flag-5'>IoT</b>低代码开发<b class='flag-5'>平台</b>搭建一个环保系统

    【福利活动】深度体验OpenHarmony对接华为IoT

    ),第二次设备重启之后可以正常对接华为。 登录平台可以看见数据上报的具体信息,也可以进行命令下发等操作控制设备,具体如下图11-13。
    发表于 07-28 10:55

    ESP32-C2模组 例程

    最新版本的串口固件可完成设备TTL 端口到WiFi/数据实时
    发表于 06-07 13:46

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

    。应用场景上一篇的《如何利用IoT平台统计设备数据?—进阶篇》介绍了如何在ZWS云平台中创建自定义统计算法来实现项目的业务
    的头像 发表于 06-07 10:28 334次阅读
    【<b class='flag-5'>产品应用</b>】如何利用<b class='flag-5'>IoT</b>云<b class='flag-5'>平台</b>统计<b class='flag-5'>设备</b><b class='flag-5'>数据</b>?— 下载篇