接入国家能源平台MQTT应用案例

news2024/12/29 13:37:42

一、项目介绍

随着国家对节能环保措施的力度不断加大,基于物联网技术搭建的国家能源平台在国家相关部门的建设下逐渐成熟。致力于利用实际能耗数据建立能效仿真模型,通过实时寻优运算,获得当前的最优化运行策略,并将控制指令下发控制系统,快速帮助能源全面实现自身能源管理的信息化、流程化、可视化和可操作性。

二、项目所面临的问题

1. 常规网关设备支持的协议单一,无法对接多种电力设备,急需一种边缘计算网关,能够支持多种PLC或仪表,同时可对接多台设备,对其发电站、输电线路和用户的电力使用情况进行实时监测

2. 常规网关仅支持上报单个或少数几个主题,无法满足通过主题上报的需求

3. 常规网关仅支持上报固定格式的数据,无法满足上报特定的数据格式的需求,目前市面上同类产品中很难达到该要求。

3. 项目要求数据必须保证稳定,在断网情况下数据不能丢失 

4. 需要网关将一部分采集到的做数据进行处理,比如数值转换,数据对比过滤,传统的网关功能满足需求,只能依赖平台。

以上问题,目前市面上所流行的网关均无法满足项目的需求

三、方案总体设计

为了解决上述问题,我们提出使用 蓝蜂MQTT 网关作为能源监控系统的基础设施,作为边缘侧设备,并在电力节点关键设施中部署,以便将各种设备和传感器的数据转通过网关使用MQTT协议进行数据上报。

蓝蜂MQTT网关支持多种PLC和仪表,可对接不同类型的端设备,采集器等,同时也可通过MQTT 协议将实时数据转发至国家能源平台。

蓝蜂MQTT网关,支持通过脚本编程的方式,将采集到的电力、能源数据进行数据转换,能够匹配国家能源平台的数据格式要求,满足多种不同主题下不同数据上报的需求场景

(架构图)

四、详细方案说明

4.1 硬件部署

1. 在设备现场端通过蓝蜂MQTT网关与PLC等电力系统控制器连接,包括I型集中器,智能空气源热泵,水源热泵机组、热水机组等设备

2. 控制柜中安装蓝蜂 网关,使用专属4G卡进行通信联网。

3. 网关上电并调试好后,网关通过MQTT协议将数据上报给国家能源平台

4.2对接项目设备

项目需求:

边缘计算网关可连接多台项目中设备进行数据采集,能够支持多种不同协议的设备进行连接,比如:I型集中器,智能空气源热泵,水源热泵机组、热水机组等设备,最终将设备采集到的数据通过MQTT协议统一上报给国家能源平台

解决方案:

蓝蜂MQTT网关,支持在边缘侧对主流的PLC协议或Modbus协议解析,支持对接多种传感器,通过网口或RS485端口进行对接,能够自主进行数据解析、数据处理、数据换算,极大减少无效数据上传,降低云端对数据解析的处理压力,

蓝蜂MQTT网关可通过网口和串口同时连接多台设备进行数据采集,最大支持32台设备1000条数据采集

4.2对接国家能源平台

4.2.1 接入MQTT服务器

项目需求:

需要网关能够连接至国家能源平台MQTT服务器中

解决方案:

蓝蜂MQTT网关中,支持对接多种不同的MQTT服务器,包括阿里云,华为云,OneNet,以及自建的MQTT服务器,通过设置MQTT链接参数,能够很方便的支持连接至国家能源平台。且支持SSL/TLS加密,可实现数据传输单向和双向加密认证,最大限度保证数据传输的安全性

通过链接MQTT服务器功能,可填写对接能源平台的相关参数,配置成功后,即可连接至国家能源MQTT服务器。

4.2.2 设置上报数据主题

项目需求:

根据国家能源平台的要求,需要配置15的数据上报topic,便于对于电力能源系统的数据监控

平台作为消息接收方时,已默认订阅了相关 Topic,网关设备只要向对应 Topic 发送消息,物联网平台就可以接收。

解决方案:

蓝蜂MQTT网关支持设置多个数据上报主题,同时,对于数据上报方式可使用三种:定时上报,条件上报,变化上报,能够按照客户的实际需求进行选择,支持定时场景上报数据,满足特定条件上报数据,数据变化上报数三种场景

4.2.3 定制数据上报

项目需求:

根据国家能源平台的要求,需要按照不同的主题,上报不同的数据,对于数据格式也有一定的需求

举例:主题 Topic: /v1/devices/{gatewayId}/datas

Services 结构体说明

字段名

必选/

类型

参数描述

serviceId

必选

String(256)

服务 ID

data

必选

ObjectNode

服务数据

eventTime

必选

String(256)

时间格式: yyyyMMdd’ T’
HHmmss’ Z’ 如:
20151212T121212Z

解决方案:

通过蓝蜂MQTT配置工具,在配置上报主题的功能中,可选择使用脚本功能,实现对上报数据的格式化处理。

脚本变成能够根据约定好的上报数据,定义好服务ID,服务数据,时间格式,最终按照国家能源平台的需求,按照约定好的数据格式进行数据上报

可支持的数据上报格式举例

{    "devices":[
        {
            "services":[
                {
                    "serviceId":"YC",
                    "eventTime":"20191221T154516Z",
                    "data":{
                        "PhV_phsA":"236.019",
                        "PhV_phsB":"0.000",
                        "PhV_phsC":"235.641",
                        "PhV_neut":"234.882",
                        "A_phsA":"0.581",
                        "A_phsB":"0.267",
                        "A_phsC":"0.704",
                        "A_neut":"0.003",
                        "PhW_phsA":"0.135",
                        "PhW_phsB":"0.000",
                        "PhW_phsC":"0.165",
                        "TotW":"0.300",
                        "PhVAr_phsA":"-0.007",
                        "PhVAr_phsB":"0.000",
                        "PhVAr_phsC":"0.007",
                        "TotPF":"1.000",
                        "Hz":"49.970",
                        "Ind1":"0",
                        "Ind2":"0",
                        "Ind3":"0",
                        "Ind4":"0"
                    }
                }
            ],
            "deviceId":"D5414809fPJ3b"
        }
    ]
}

4.3 网关数据安全稳定机制

4.3.1 支持断网续传功能

当蓝蜂MQTT网关的网络出现异常时,网关会将报文缓存到存储中,待网络恢复后补发缓存的报文,并支持数据采集时间的上报,从而保证数据的连续和完整性

4.3.2 支持异常状态上报

蓝蜂MQTT网关对于异常数据或网关异常状态均支持上报机制,开启状态上报后,网关会将运行中的错误信息或状态变化信息(部分型号支持)上报给服务器。

能源平台可通过定于对应主题,及时了解网关异常情况,达到实时预警报警的效果

4.3.3 数据传输安全

蓝蜂MQTT网关支持SSL/TLS加密,可实现数据传输单向和双向加密认证,最大限度保证数据传输的安全性,可以保证数据不被窃听,不会导致数据安全问题。

4.4 网关脚本

4.4.1 网关脚本功能说明

项目需求:

国家能源平台中,部分变量需要做数据过滤处理,举例:针对于电力节点的实时电压值,需要定时读取两个变压器压力的值,比较大小,将实时值比较大的数据进行上报 

在常规网关中,需要人工进行监视和处理,但是无法做到24小时监控,且浪费大量的人力和无力,导致运营成本极大提高。

解决方案:

蓝蜂MQTT网关的支持强大的脚本功能,当某些任务或功能在常规情况下难以实现时,可编写脚本进行解决

通过脚本编写控制程序和处理逻辑,能够极大增强整个网关对于业务的支撑,让网关功能更强大

4.4.1 脚本功能实际应用

业务描述:

国家能源平台中,部分变量需要做数据过滤处理,举例:针对于电力节点的实时电压值,需要定时读取两个变压器压力的值,比较大小,将实时值比较大的数据进行上报 

脚本执行方案:

创建一个脚本,设置运行环境为:周期执行,每隔10分钟执行一次

按照如下逻辑脚本程序:当连个变压器变量的值读取后,通过Math函数进行数值对比,将数值较大的值进行数据上报 

脚本示例代码如下:

function main(){

  //读变量press1的值

  var press1Value = JSON.parse(API.readSignalValue("press1")).value;

  //读变量press2的值

  var press2Value = JSON.parse(API.readSignalValue("press2")).value;

  //获取最大值

  var maxValue = Math.max(press1Value, press2Value);

  

  //通过设定主题进行数据上报

  API.publishTopic("topic11",0, maxValue);

}

脚本执行结果:

创建以上脚本后,当网关采集数据并机型二次预算后,可通过设定的主题将数值进行上报,满足无人值守设备管理的需求。

五、方案总结

5.1 解决的项目问题

1. 使用蓝蜂MQTT 网关能够满足对接电力系统的的监测设备,有效的及解决了由于设备连接方式不统一,造成无法统一数据上报的问题

2.解决了传统网关无法支持上报多个数据主题,上报特定格式数据的要求

3.解决了数据上报的稳定性和安全性的问题,相对比传统的网关,项目数据的整体安全性和稳定性上升了一个台阶

4. 通过蓝蜂MQTT网关比较优秀的边缘能力,解决在上报数据前对数据进行处理,比数据对比过滤的需求

5. 通过与蓝蜂MQTT网关的对接,国家能源项目中对数据采集、数据上报,设备管理等业务均提升了效率,降低了管理和运营成本,做到了能源管理的信息化、流程化、可视化和便捷性。

5.2 本方案的优势和特点

1.统一的协议:使用MQTT网关可以将各个设备之间的通信统一到MQTT协议上,方便管理和维护。

2.高效的数据传输:MQTT协议具有较低的带宽占用和低功耗特点,使得数据传输更加高效。

3.安全可靠:MQTT协议具有较高的安全性,可以通过加密等方式保证数

4.实时监控:通过断网续传、状态上报机制,能够及时发现异常情况并采取应对措施。

5.性能稳定,功能强大:客户端软件操作简单容易上手,方便基层人员操作,在常规功能(比如上报复杂的数据)无法支持的情况下,可通过编写脚本程序进行解决。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从Langchain到ReAct,在大模型时代下全新的应用开发核心

简介: 什么是ReAct框架关于什么是langchain,可以参考:https://ata.alibaba-inc.com/articles/266839?spmata.23639420.0.0.1dea7536uD7yhh在使用langchain的过程中,大模型给人留下最深刻的印象无疑是Agent功能。大模型会自己分析…

@Cacheable 注解(指定缓存位置)

一、Cacheable的作用 1、缓存使用步骤:Cacheable这个注解,用它就是为了使用缓存的。所以我们可以先说一下缓存的使用步骤: 1、开启基于注解的缓存,使用 EnableCaching 标识在 SpringBoot 的主启动类上。 2、标注缓存注解即可 使用…

【Less-CSS】初识Less,使编写 CSS 变得简洁

初识Less,使编写 CSS 变得简洁 1.Less简述2.LESS 原理及使用方式3.示例4.less语法5.Easy Less插件 作为一门标记性语言,CSS 的语法相对简单,对使用者的要求较低,但同时也带来一些问题:CSS 需要书写大量看似没有逻辑的代…

【初阶数据结构】二叉树链式结构的实现和遍历

个人主页 代码仓库 C语言专栏 初阶数据结构专栏 Linux专栏 目录 前言 二叉树链式结构的实现 二叉树的遍历 前序、中序和后序遍历 前序遍历 中序遍历 后序遍历 求结点个数 求总的结点个数 创建变量求结点 创建静态修饰变量 拆分左右子树加根 求叶子节点的个…

LeetCode【65. 有效数字】

没有完美的傀儡,没有完美的人类,却有绝美的离逝。 有效数字(按顺序)可以分成以下几个部分: 一个 小数 或者 整数(可选)一个 e 或 E ,后面跟着一个 整数 小数(按顺序)可以分成以下几…

2023华为杯研究生数学建模竞赛CDEF题思路+模型代码

全程更新华为杯研赛CDEF题思路模型及代码,大家查看文末名片获取 华为杯C题思路分析 问题一 在每个评审阶段,作品通常都是随机分发的,每份作品需要多位评委独立评审。为了增加不同评审专家所给成绩之间的可比性,不同专家评审的作…

【Java毕设项目】基于SpringBoot+Vue校园便利平台的设计与实现

博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题…

3.6+铁死亡+WGCNA+机器学习

今天给同学们分享一篇3.6铁死亡WGCNA机器学习的生信文章“Identification of ferroptosis related biomarkers and immune infiltration in Parkinsons disease by integrated bioinformatic analysis”,这篇文章于2023年3月14日发表在BMC Med Genomics期刊上&#…

【笔记】ubuntu 20.04 + mongodb 4.4.14定时增量备份脚本

环境 ubuntu 20.04mongodb 4.4.14还没实际使用(20230922)后续到10月底如果有问题会修改 原理 只会在有新增数据时生成新的备份日期目录备份恢复时,如果恢复的数据库未删除,则会覆盖数据 准备 准备一个文件夹,用于…

2023华为杯数学建模竞赛E题

一、前言 颅内出血(ICH)是由多种原因引起的颅腔内出血性疾病,既包括自发性出血,又包括创伤导致的继发性出血,诊断与治疗涉及神经外科、神经内科、重症医学科、康复科等多个学科,是临床医师面临的重要挑战。…

Springboot2 Pandas Pyecharts 量子科技专利课程设计大作业

数据集介绍 1.背景 根据《中国科学:信息科学》期刊上的一篇文章,量子通信包括多种协议与应用类型: 基于量子隐形传态与量子存储中继等技术,可实现量子态信息传输,进而构建量子信息网络,已成为当前科研热点&…

成为威胁:网络安全中的动手威胁模拟案例

不断变化的网络威胁形势要求组织为其网络安全团队配备必要的技能来检测、响应和防御恶意攻击。然而,在研究中发现并继续探索的最令人惊讶的事情是,欺骗当前的网络安全防御是多么容易。 防病毒程序建立在庞大的签名数据库之上,只需更改程序内…

聊聊自动化测试路上会遇到的挑战~

一、测试范围 无论是功能测试,还是自动化或者性能测试,第一步要做的,是明确测试范围和需求指标。对于自动化测试来说,特别是UI自动化,并不是所有的功能点都适合做UI自动化。 根据具体的业务情况和项目稳定程度&#…

Unity之Hololens2开发 如何接入的MRTK OpenXR Plugin

一.前言 什么是Hololens? Hololens是由微软开发的一款混合现实头戴式设备,它将虚拟内容与现实世界相结合,为用户提供了沉浸式的AR体验。Hololens通过内置的传感器和摄像头,能够感知用户的环境,并在用户的视野中显示虚拟对象。这使得用户可以与虚拟内容进行互动,将数字信…

conda的安装和使用

参考资料: https://www.bilibili.com/read/cv8956636/?spm_id_from333.999.0.0 https://www.bilibili.com/video/BV1Mv411x775/?spm_id_from333.999.0.0&vd_source98d31d5c9db8c0021988f2c2c25a9620 目录 conda是啥以及作用conda的安装conda的启动conda的配置…

一招解除csdn复制限制

先看这个代码 python读取英文pdf翻译成中文pdf文件导出代码 想要复制代码,csdn有限制怎么办(csdn流氓,无耻) 解除方法 ctrlu 看效果

PIL或Pillow学习1

PIL( Python Imaging Library)是 Python 的第三方图像处理库,由于其功能丰富,API 简洁易用,因此深受好评。 自 2011 年以来,由于 PIL 库更新缓慢,目前仅支持 Python 2.7 版本,这明显…

数据仓库数据库

在当今的数字化时代,数据存储和管理是非常重要的领域。数据仓库和数据库是两个重要的数据存储和管理工具,它们有着不同的特点和用途。 一、数据仓库与数据库的定义 1. 数据仓库 数据仓库,是为企业所有级别的决策制定过程,提供所…

2023华为杯D题——基于Kaya模型的碳排放达峰实证研究

一、前言 化石能源是推动现代经济增长的重要生产要素,经济生产活动与碳排放活动密切相关。充分认识经济增长与碳排放之间的关系对转变生产方式,确定碳达峰、碳中和路径极为必要。本研究在对经济增长与碳排放关系现有研究梳理的基础上,系统地分…

postman发送图片

POSTMAN 如何发送携带图片的请求? 闲话不叙 步骤如下: 新建一个请求,在Headers中添加一对k-v : Content-Type > multipart/form-data 请求的接口: RequestMapping("/fileUploadController")public String fileUpload(MultipartFile fil…