【御控物联】JSON结构数据转换在物联业务中应用(场景案例二)

2024-04-02 02:52

本文主要是介绍【御控物联】JSON结构数据转换在物联业务中应用(场景案例二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、物联网业务场景现状
  • 二、物联网业务场景数据交互格式
  • 三、JSON格式数据转换案例
  • 四、JSON数据格式转换DEMO

一、物联网业务场景现状

目前,市场上多数物联网关与物联平台捆绑售卖,网关采集到设备数据只能按照指定的协议和规定的数据格式传输到绑定的物联平台。

一旦用户想把不同厂家网关采集的设备数据上传至现在已经建设的物联平台,或者是想把现在已经使用网关的数据传输到不同厂家平台,都需要定制化开发。

定制化体现在两个方面,第一,协议定制化,市面上大部分网关都支持标准的MQTT协议,可实现快速的开发复制,甚至很多网关都集成了对外转发的各种协议,比如HTTP、WebSocket,只需简单配置即可实现协议的连接通讯。第二,数据格式定制化,这一方面是用户比较困扰的地方,大部分网关或平台与不同厂家的系统进行数据交互需要定制开发,当然现在市面上也有一分部网关或平台内置JS、Lua脚本编辑器,支持通过编写逻辑代码实现各种数据结构的转换,此方案更多面向技术人员,业务人员无法入手,而且执行效率比较低。

二、物联网业务场景数据交互格式

目前物联业务场景常采用二进制、XML、JSON方式进行数据传输。
二进制是一种轻量化的数据格式,结构简洁,占用网络带宽小,传输效率高,也是现在主要推广的数据传输方式,特别对采用SIM卡传输数据的场景,可以大大减少流量消耗,但是结构不够直观,可读性比较差。

XML(Extensible Markup Language,扩展标记语言)是一种“重量级”的数据交换格式,XML格式统一、语法要求严格,标准化程度和可读性都非常高,但占用存储空间大,网络传输慢,不太适合大数据量传输的场景。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,结构简洁,层次分明,解析起来更快,占用的存储空间少,网络传输也较快,是目前物联业务常用的数据交互格式。

本文针对物联业务JSON格式数据转换转化设计了一种面向业务人员的标准JS库,可实现不同厂家网关、不同平台之间任意JSON数据格式无缝转换。网关或物联平台集成JS库可实现JSON格式数据转换:数据源键(Key)->目标键(Key)、数据源键(Key)->目标值(Value)、数据源值(Value)->目标键(Key)、数据源值(Value)->目标值(Value)。
在这里插入图片描述

三、JSON格式数据转换案例

本文结合实际案例对JSON格式数据转换进行如下讲解。
案例概述:
某知名水泥公司现场有PLC、仪表类设备(水表、电表、气表)以及一套成熟的物联网平台,由于部分设备改造升级,采购了一批新的物联网关(御控),要求将改造设备数据通过新网关以原有物联平台要求的JSON数据格式上传,前提是不改动原有物联网平台的任何逻辑功能。

御控网关与PLC采用OPC UA方式进行通信,与仪表采用MODBUS协议进行通信,采集数据通过MQTT协议上传至物联网平台,由物联网平台进行数据存储和展示,逻辑图如下所示:
在这里插入图片描述
御控网关创建PLC和仪表设备监控点表(属性)->配置JSON格式转化->配置MQTT转发信息->物联网平台。

御控网关根据PLC、仪表设备检测点维护点表信息,包含名称、数据类型、点位标识、采集方式、采集周期等。
在这里插入图片描述
御控网关通过界面维护与水泥厂原有物联网云平台进行MQTT连接的信息,包括IP、端口、用户名、密码等信息。

御控网关集成JSON数据格式转化库,实现数据编码和数据解码两种功能。其中数据编码将网关内部采集的数据按照物联网平台要求的JSON数据格式进行转换,上传至平台。数据解码可以将物联网平台下发的JSON格式指令进行反向解析,转换为网关支持的JSON数据,实现物联网平台对网关的反向控制。
在这里插入图片描述
其中御控网关采集PLC点表上传的数据格式为:
在这里插入图片描述
水泥厂物联网平台接受的数据格式为:
在这里插入图片描述
通过数据转换将御控网关上传的“设备编码”、“设备属性值”、“时间戳”分别通过数据源键(Key)->目标值(Value)、数据源值(Value)->目标值(Value)两种映射关系实现了数据转化,转化结果如下所示:
在这里插入图片描述
通过JSON数据格式转化JS库可方便业务人员快速搭建各业务场景的数据映射,特别适用于不同厂家网关和不同厂家物联网平台的解耦和数据交互,减少业务定制,降低开发成本。

四、JSON数据格式转换DEMO

为了更直观体现JSON数据格式转化的功能,特此针对以上场景做了一套转化工具,以下为DEMO展示。

在这里插入图片描述

这篇关于【御控物联】JSON结构数据转换在物联业务中应用(场景案例二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/868778

相关文章

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Java集成Onlyoffice的示例代码及场景分析

《Java集成Onlyoffice的示例代码及场景分析》:本文主要介绍Java集成Onlyoffice的示例代码及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 需求场景:实现文档的在线编辑,团队协作总结:两个接口 + 前端页面 + 配置项接口1:一个接口,将o

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Python Flask 库及应用场景

《PythonFlask库及应用场景》Flask是Python生态中​轻量级且高度灵活的Web开发框架,基于WerkzeugWSGI工具库和Jinja2模板引擎构建,下面给大家介绍PythonFl... 目录一、Flask 库简介二、核心组件与架构三、常用函数与核心操作 ​1. 基础应用搭建​2. 路由与参

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应