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

一、项目介绍

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

二、项目所面临的问题

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.xdnf.cn/news/139568.html

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

相关文章

MDK工程转换Vscode+EIDE方法

MDK工程转换VscodeEIDE方法 1、VscodeEIDE环境搭建方法 请按下方视频完成环境搭建,并编译成功。下载,单步调试如无视频中芯片可暂不执行。 https://www.bilibili.com/video/BV1Zu4y1f72H/?spm_id_from333.337.search-card.all.click&vd_source73…

摩尔信使MThings实用功能盘点

“冗长的用户手册”与“精简的交互设计”之间势必产生一条信息鸿沟,现在就来盘点一下摩尔信使MThings有哪些隐蔽而实用的功能。 01 数据配置类 一键刷新 功能:快速读取所有位数据、寄存器数据的当前数值。 操作:双击“数值”列表头。 一键…

有一个新工具,能让程序员变成高手,优雅撸它!

不知道从什么时候开始,程序员这个职位变得家喻户晓,对程序员的印象也从以前的高深莫测变成如今的加班代名词。对于程序员加班,不懂有话要说。 作为大厂的一枚螺丝钉,接到任务的第一时间需要缕清底层逻辑,并随时关注部门…

AUTOSAR实战篇:手把手带你搞定Watchdog协议栈

AUTOSAR实战篇:手把手带你搞定Watchdog协议栈 前言 小T出品,必是精品! 手把手搞定Watchdog协议栈,你值得拥有! 正文 在进行Watchdog协议栈实战之前,建议先阅读小T之前有关Watchdog协议栈的两篇文章《Watchdog协议栈上》与《Watchdog协议栈下》先了解下在AUTOSAR框架下的W…

SQL模板-用户留存率计算

在这段实习中,我遇到了用户留存率计算的需求,这里做个总结。 首先来讲下,什么是用户留存? 在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户。用户留存一…

【数据分享】2005-2022年全国民航机场客货吞吐量和起降架次数据

机场是一个城市对外联系的重要渠道,机场的旅客吞吐量和货物吞吐量是体现一个城市对外联系程度的重要指标。 本次我们给大家分享的是2005-2022年我国民航机场的旅客吞吐量、货邮吞吐量、起降架次数据。数据格式为Excel和Shp两种格式。数据坐标为WGS1984。原始数据来…

根据条件关闭软件

使用下载工具时,经常出现磁盘空间已满,无法下载的情况。 使用shell写一个监控,每2分钟执行一次。判断当前磁盘的空间,低于2G时,关闭下载软件。 获取空间大小 ➜ ~ df -h …

CTF--攻防世界杂项--第二课

下载题目根据文件类型可知,这是一个流量包 那么接下来就是利用分析流量包常用的工具wireshark来分析 利用关键词进行搜索 http contains shell 在最后一条数据中看到了flag。 以上就结束,非常简单的一道题。

使用Visual Leak Detector排查内存泄漏问题

目录 1、VLD工具概述 2、下载、安装VLD 2.1、下载VLD 2.2、安装VLD 3、VLD安装目录及文件说明 3.1、安装目录及文件说明 3.2、关于32位和64位版本的详细说明 4、在工程中引入VLD 5、内存泄漏检测实例讲解 5.1、程序启动报错 5.2、启动调试,查看内存泄漏报…

redis如何清空当前缓存和所有缓存

Windows环境下使用命令行进行redis缓存清理 redis安装目录下输入cmdredis-cli -p 端口号flushdb 清除当前数据库缓存flushall 清除整个redis所有缓存keys * 查看所有key值del key 删除指定索引的值 注意: 我们清空缓存的时候,需要确保redis-…

Leetcode199. 二叉树的右视图

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 题解:力扣(LeetCode&#xff09…

pdf添加水印

给pdf文件添加水印 引入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version></dependency>添加水印 package com.it2.pdfdemo02.util;import com.itextpdf.tex…

nodeJs+Mongodb+mongoose入门

nodeJsexpressMongodbmongooseNavicat 自我记录 一、简介 1.1 Mongodb 是什么 MongoDB 是一个基于分布式文件存储的数据库&#xff0c;官方地址 https://www.mongodb.com/ 1.2 数据库是什么 数据库&#xff08;DataBase&#xff09;是按照数据结构来组织、存储和管理数据…

EDA(Exploratory Data Analysis)探索性数据分析

EDA(Exploratory Data Analysis)中文名称为探索性数据分析&#xff0c;是为了在特征工程或模型开发之前对数据有个基本的了解。数据类型通常分为两类&#xff1a;连续类型和离散类型&#xff0c;特征类型不同&#xff0c;我们探索的内容也不同。 1. 特征类型 1.1 连续型特征 …

Matlab中 * 与 .* 的区别

* 用于矩阵乘法 示例1&#xff1a; 注&#xff1a; 表示转置&#xff0c;即矩阵a的转置 乘以 矩阵b 根据矩阵乘法&#xff0c;r结果为&#xff1a; 示例2&#xff1a; 矩阵a 乘以 矩阵b的转置 根据矩阵乘法&#xff0c;结果为&#xff1a; .* 用于对应位置单个元素相乘 示例…

代码片段的理解

1.后面的error直接走的是失败的回调 例如:权限不足,可以理解为服务器的一种形式 2.前面走的是成功的回调 但是也可能不对,例如在传过去的参数,在数据库查询不了这个值,传递过来的值不一样&#xff0c;这样它也是走的成功回调。

Spire.OCR for .NET 1.9.0 Crack

Spire.OCR for .NET 是一个专业的 OCR 库&#xff0c;用于从 JPG、PNG、GIF、BMP 和 TIFF 格式的图像中读取文本。开发人员可以轻松地在 C# 和 VB.NET 的 .NET 应用程序中添加 OCR 功能。它支持常用的图像格式&#xff0c;并提供从图像中​​读取多个字符和字体、粗体和斜体样式…

PyTorch实战:卷积神经网络详解+Python实现卷积神经网络Cifar10彩色图片分类

目录 前言 一、卷积神经网络概述 二、卷积神经网络特点 卷积运算 单通道&#xff0c;二维卷积运算示例 单通道&#xff0c;二维&#xff0c;带偏置的卷积示例 带填充的单通道&#xff0c;二维卷积运算示例 Valid卷积 Same卷积 多通道卷积计算 1.局部感知域 2.参数共…

【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码

冒泡排序原理 每次比较两个相邻的元素&#xff0c;将较大的元素交换至右端 冒泡排序执行过程输出效果 冒泡排序实现思路 每次冒泡排序操作都会将相邻的两个元素进行比较&#xff0c;看是否满足大小关系要求&#xff0c;如果不满足&#xff0c;就交换这两个相邻元素的次序&…

【Python Fastapi】js上传文件,fastapi处理,js显示回传信息

python from fastapi import FastAPI, File, UploadFile, HTTPException from fastapi.staticfiles import StaticFiles from fastapi.responses import HTMLResponse from typing import List import requestsapp FastAPI()# 配置静态文件目录 app.mount("/static"…