文章目录
- 一、背景
- 二、解决方案
- 三、在线转换工具
- 四、技术资料
一、背景
物联网平台是一种实现设备接入、设备监控、设备管理、数据存储、消息多源转发和数据分析等能力的一体化平台。南向支持连接海量异构(协议多样)设备,实现设备数据云端存储和利用;北向提供多协议(HTTP、MQTT、WEBSOCKET等)的消息转发服务,可实现下发指令至设备端,实现远程控制,亦可实现向其它业务平台的数据分享,满足业务逻辑处理。
其中每个设备厂商数据格式定义各异,成为设备与物联网平台进行交互的瓶颈。市面上大多物联网平台都会内嵌脚本解析功能(JS、Lua),可支持对接入数据的解析,然后对数据存储、分析。脚本解析方案对技术门槛要求比较高,甚至需要掌握多门编程语言,对使用用户不太友好。
二、解决方案
针对以上问题,本文提出了一种新型的解决方案,一套JSON数据格式转换代码库(JS)。在物联网平台集成此库可灵活应对各类JSON数据格式的相互转化,支持将不同设备对接过来的JSON数据转化为平台标准的JSON格式存储,也支持将物联网平台数据编码成设备需要的JSON数据下发,实现远程控制。
目前支持以下映射关系转化:数据源键(Key)->目标键(Key)、数据源键(Key)->目标值(Value)、数据源值(Value)->目标键(Key)、数据源值(Value)->目标值(Value)。
(1)阿里云物联网平台设备接入-数据解析
目前支持脚本解析(JS、PHP、Python)两类数据:
自定义Topic上行数据,即将设备通过自定义Topic上报给云端的自定义格式数据Payload解析为JSON格式。
上、下行物模型Topic的数据,即将设备上报给云端的自定义格式物模型数据解析为Alink JSON格式,和将云端下发的Alink JSON格式数据解析为设备自定义的格式。
物联网平台接收到来自设备的数据时,先运行解析脚本,将透传的数据转换成Alink JSON格式的数据,再进行业务处理;物联网平台下发数据给设备前,也会先通过脚本将数据转换为设备的自定义格式,再下发给设备。
(2)百度云物联网平台设备接入-数据解析
目前仅支持对JSON格式上报的数据进行过滤和转化。
用户通过编写JSON格式查询语句和过滤条件可将符合条件的数据转化为期望的目标格式后流转到其他云产品或服务进行进一步业务处理。
(3)御控物联网云平台设备接入-数据解析
目前仅支持对JSON格式上报的数据进行过滤和转化。
御控平台集成JSON数据格式转化插件,实现源JSON结构和目标JSON结构可视化,用户可通过拖拽方式实现JSON层次结构的互转,快速搭建数据结构转化的映射关系,实现设备接入数据的快速解析、存储。反向支持将平台下发指令通过拖拽方式实现JSON数据格式的转化。
三、在线转换工具
为了让使用者更加方便的配置出映射关系,为此开发了一套在线转换工具,可在工具中通过拖拽即可配置想要的结构转换关系,并可对转换关系所能实现的效果实时进行预览更改。
工具地址:数据转换工具
四、技术资料
- Github:edq-ebara/data-transformation-javascript: 数据转化(javascript) (github.com)
- 技术探讨QQ群:775932762
- 工具连接:数据转换工具
- 御控官网:https://www.yu-con.com/