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

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

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


//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.查看解析后的数据









原文标题:【产品应用】IoT云平台如何识别设备透传的黑盒数据?
文章出处:【微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
致远电子
+关注
关注
13文章
423浏览量
32654
原文标题:【产品应用】IoT云平台如何识别设备透传的黑盒数据?
文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
无线通信模块的作用
:WiFi 模块、4G/5G/NB-IoT 模块,直接上云
信号采集与监测
温湿度、烟雾、水浸、电表、气表等传感器,通过无线模块把数据传到主机或平台。
替代有线连接
代替串口线、
发表于 04-22 15:03
RS485转WiFi串口数据采集透传终端技术架构与实现原理
架构、通信协议栈、数据透传机制及云边端协同工作原理,为工业设备的无线化改造提供理论依据与技术参考。
2. 系统硬件架构设计
2.1 核心处理
发表于 03-20 14:25
LORA无线数传终端:双向高增益透传,5KM无线传输
LoRa无线数传终端(LoRa DTU/数传电台) 是基于LoRa(Long Range)扩频技术的工业级低功耗广域网(LPWAN)通信设备,核心是实现串口设备的远距离、低功耗、抗干扰无线数据
蓝牙透传模组XL2411的产品特点和应用场景
XL2411蓝牙透传模组基于高性能低功耗的 OM6625A 系统级芯片(SoC)设计,允许单片机等设备通过简单的串口(UART)指令,无需了解复杂的蓝牙协议栈,就能实现蓝牙无线通信。旨在为用户提供
WT2605C语音芯片:蓝牙音频播放+BLE透传,引领智能设备语音交互革新
一、双模蓝牙技术:音频与通信的完美融合1.1蓝牙音频播放与BLE透传的协同优势WT2605C作为一款高性能音频蓝牙芯片,创新性地将传统蓝牙音频播放与低功耗蓝牙(BLE)透传技术集成于一
【道生物联TKB-623评估板试用】基于串口透传的手写数字识别
:使用单片机结合 MNIST 库实现手写数字数据解析;
网页显示:网页端设计与数字解析结果显示等。
透传模式
透传模式是相对于 AT 指令
发表于 11-08 11:44
【道生物联TKB-623评估板试用】GPS定位时钟透传
模式
透传模式是相对于 AT 指令的另一种模式。
AT 指令模式是一种通信协议,设备之间通过发送 AT 指令来进行通信和控制;
透传模式的
发表于 11-06 18:48
物联网开发必备:四款低功耗蓝牙透传模块参数全解析与应用实战
物联网开发必备:四款低功耗蓝牙透传模块参数全解析与应用实战 作为物联网设备的“无线神经末梢”,低功耗蓝牙(BLE)透传模块的选择直接关系到
【ESP8266】进入透传模式后,数据间隔怎么调整,
01.TCP客户端用ESP8266透传模式发送数据是10ms发送一次,(连续发送)
02.TCP服务器接收到的数据是200ms左右接收一次,数据
发表于 09-15 10:16
解锁应用场景搭建新方式:IOT 物联网平台的跨设备数据关联与零编程零成本
在物联网技术深度渗透各行各业的今天,IOT云平台已成为连接设备、数据与业务的核心枢纽。而低代码组态开发的融入,更是打破了传统物联网开发的技术
【产品应用】IoT云平台如何识别设备透传的黑盒数据?
评论