IoT平台云端通用数据解析脚本实践

简介: 在物联网平台云端,将设备原始数据转换成结构化的JSON格式,方便云上业务系统存储和展示。

数据解析脚本(云网关)实践

物联网场景中,面对低配置且资源受限或者对网络流量有要求的设备,往往不适合在设备端构造JSON数据与IoT物联网平台通信,这时设备可通过自定义Topic将原始数据直接上报到物联网平台。物联网平台提供数据解析功能,可以根据您提交的脚本,将设备原始数据在云端转换成结构化的JSON格式,方便云上业务系统存储和展示。

1.自定义Topic数据解析


设备通过自定义Topic发布数据,且Topic携带解析标记(?_sn=default)时,物联网平台接收数据后,先调用您在控制台提交的业务数据解析脚本,将设备上报的原始数据解析为JSON结构体,再进行数据流转处理。


云上数据解析能力:

数据解析流程图:

说明

  • 目前仅华东2(上海)地域支持自定义Topic数据解析。
  • 设备上报数据是,在发布消息的自定义Topic后添加数据解析标记(?_sn=default)。

例如,设备发送到Topic /${productKey}/${deviceName}/user/update 的原数据需要解析为JSON格式。在设备上报时,该Topic为:/${productKey}/${deviceName}/user/update?_sn=default。

  • 在物联网平台创建自定义Topic时按正常Topic定义,不添加解析标记。
  • 仅解析设备上报云端的原数据,不解析云端下行数据。
  • 解析前后,消息所在Topic不变。

例如,设备发送到/${productKey}/${deviceName}/user/update?_sn=default的数据,解析后仍在/${productKey}/${deviceName}/user/update的Topic中。

2.脚本解析实践案例


本次实践,我们以水泵运行数据采集为例,在设备端产生的原始数据是一个字符串:   DATA,23,5000 ,通过数据脚本解析引擎在IoT物联网平台云端转换成结构化的JSON格式:   {"temperature":23,"speed":5000} 。

Topic和Payload变化:

3.云端开发

**

3.1 创建产品

登录控制台,创建产品:水泵

**

3.2 添加自定义Topic

进入产品详情,选择Topic类列表的Tab,添加自定义通信Topic : /${productKey}/${deviceName}/user/data


3.3 编写数据解析脚本

根据业务情况编写数据转换的脚本,通过模拟输入验证脚本正确性,然后提交到物联网平台,如下图:



本案例完整脚本如下:

/**
 * 将设备自定义topic数据转换为json格式数据, 设备上报数据到物联网平台时调用
 * 入参:topic   字符串,设备上报消息的topic     
 * 入参:rawData byte[]数组  不能为空
 *
 * 出参:jsonObj JSON对象    不能为空
 */
function transformPayload(topic, rawData) {
    var jsonObj = {}
    var dataSrc = String.fromCharCode.apply(String, rawData);
    var data = dataSrc.split(',');
    jsonObj.temperature = parseInt(data[1]);
    jsonObj.speed = parseInt(data[2]);
    return jsonObj;
}

**

3.4 注册设备

完成水泵产品的定义和数据解析脚本提交后,我们来注册一个设备,获取到身份认证的三元组信息,如下图:

4.设备端开发

我们通过Node.js脚本模拟水泵上报运行数据到IoT物联网平台,完整代码如下:

const mqtt = require('aliyun-iot-mqtt');
//设备身份
const options = {
    productKey: "替换productKey",
    deviceName: "替换deviceName",
    deviceSecret: "替换deviceSecret",
    regionId: "cn-shanghai"
};
//上报的Topic追加?_sn=default
const topic = `/${options.productKey}/${options.deviceName}/user/data?_sn=default`;
//设备端数据
var data = 'DATA,23,5000';
//1.建立连接
const client = mqtt.getAliyunIotMqttClient(options);
console.log('topic= '+topic)
console.log('payload= '+data)
//2.发布数据到topic
client.publish(topic, data);

5.联机运行

在电脑端启动水泵模拟的Node.js脚本后,我们在IoT物联网平台的控制台日志服务里可以观测到上行消息分析日志,消息内容已经在云端转换为了结构化JSON数据,如下图:



物模型数据分析的Tab下,可以看到解析过程的日志,如下图:



【往期回顾】
1.自建MQTT集群迁移阿里云IoT平台
2.IoT时代:WiFi配网技术剖析
3.微信小程序和IoT智能家居实践

image.png

相关文章
|
3天前
|
人工智能 API 语音技术
HarmonyOS Next~鸿蒙AI功能开发:Core Speech Kit与Core Vision Kit的技术解析与实践
本文深入解析鸿蒙操作系统(HarmonyOS)中的Core Speech Kit与Core Vision Kit,探讨其在AI功能开发中的核心能力与实践方法。Core Speech Kit聚焦语音交互,提供语音识别、合成等功能,支持多场景应用;Core Vision Kit专注视觉处理,涵盖人脸检测、OCR等技术。文章还分析了两者的协同应用及生态发展趋势,展望未来AI技术与鸿蒙系统结合带来的智能交互新阶段。
51 31
|
22天前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
73 7
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek 实践应用解析:合力亿捷智能客服迈向 “真智能” 时代
DeepSeek作为人工智能领域的创新翘楚,凭借领先的技术实力,在智能客服领域掀起变革。通过全渠道智能辅助、精准对话管理、多语言交互、智能工单处理、个性化推荐、情绪分析及反馈监控等功能,大幅提升客户服务效率和质量,助力企业实现卓越升级,推动智能化服务发展。
81 1
|
26天前
|
机器学习/深度学习 人工智能 监控
鸿蒙赋能智慧物流:AI类目标签技术深度解析与实践
在数字化浪潮下,物流行业面临变革,传统模式的局限性凸显。AI技术为物流转型升级注入动力。本文聚焦HarmonyOS NEXT API 12及以上版本,探讨如何利用AI类目标签技术提升智慧物流效率、准确性和成本控制。通过高效数据处理、实时监控和动态调整,AI技术显著优于传统方式。鸿蒙系统的分布式软总线技术和隐私保护机制为智慧物流提供了坚实基础。从仓储管理到运输监控再到配送优化,AI类目标签技术助力物流全流程智能化,提高客户满意度并降低成本。开发者可借助深度学习框架和鸿蒙系统特性,开发创新应用,推动物流行业智能化升级。
|
23天前
|
存储 自然语言处理 监控
深度解析淘宝商品评论API接口:技术实现与应用实践
淘宝商品评论API接口是电商数据驱动的核心工具,帮助开发者高效获取用户评价、画像及市场趋势。其核心功能包括多维度信息采集、筛选排序、动态更新、OAuth 2.0认证和兼容多种请求方式。通过该接口,开发者可进行商品优化、竞品分析、舆情监控等。本文详细解析其技术原理、实战应用及挑战应对策略,助力开启数据驱动的电商运营新篇章。
|
2月前
|
Serverless 对象存储 人工智能
智能文件解析:体验阿里云多模态信息提取解决方案
在当今数据驱动的时代,信息的获取和处理效率直接影响着企业决策的速度和质量。然而,面对日益多样化的文件格式(文本、图像、音频、视频),传统的处理方法显然已经无法满足需求。
129 4
智能文件解析:体验阿里云多模态信息提取解决方案
|
3月前
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
263 14
|
27天前
|
物联网 数据挖掘 BI
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
|
4月前
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
4月前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
143 1

推荐镜像

更多