MQTT网关对接水务二次供水管理平台案例

news2024/12/23 7:31:06

一、客户介绍

随着城市发展和人口增长,对水务行业的监测和管理要求也越来越高。然而,传统的水务行业监测方式存在很多不足,如数据传输的缓慢和不可靠,数据安全风险大等,为了更有效地监测和管理这些信息,供水公司需要一个能够实时收集、传输和存储这些信息的系统,便于供水数据能快速便捷接入总公司二次供水管理平台,以实现泵房的远程监控,最终保障安全供水“最后一公里”

二、客户所面临的问题

1.现有的监控方式低效如手工抄表、人工巡检等,导致信息收集不及时、不准确,难以及时发现并解决问题,无法实现设备数据实时上云。

2.数据不可靠:普通的透传网关在数据传输过程中易受干扰,导致数据丢失或错误。

3.数据安全风险大:普通的透传网关数据传输方式没有采用加密技术,数据容易被窃取或篡改

4.缺乏远程监控功能在水务管理系统中,依旧使用传统的触摸屏管理,仅支持现场进行控制,难以实现远程管理和控制。 

5.无法远程维护设备程序:传统触摸屏、透传网关,无法做到PLC程序的远程上下载控制,导致程序无法及时更新。

6.普通平台功能受限:在使用过程中碰到额外的场景或需求时,普通平台无法及时升级或进行解决。

三、方案总体设计

为了解决上述问题,我们提出使用 蓝蜂MQTT 网关作为二次供水系统的核心监控设施,并在二次供水设施中部署传感器,通过蓝蜂MQTT网关对接供水设备进行数据采集, 再通过MQTT协议将实时数据发送到云端服务器,通过云端服务器进行数据存储、分析、展示。

(架构图)

四、详细方案设计

4.1现场硬件部署

现场设备/仪表-> PLC -> MQTT网关 -> 平台

1、部署传感器:在二次供水设施中部署水质传感器、水量传感器、水压传感器等,实时监测水质、水量、水压

2.连接 MQTT 网关:将传感器PLC 与MQTT 网关连接,并使用 MQTT 协议将实时数据发送到网关上。

3.网关通过MQTT协议将数据上报给水务应用平台或监管平台

4.2 功能设计概要

  1. 连接MQTT云服务器,做好数据上报准备
  2. 对接二次供水相关设备,做好设备连接准备 
  3. 网关进行数据采集、上报:通过蓝蜂MQTT网关,实现边缘数据采集,边缘上报,能够实现按照需求进行,周期,定时,条件化数据上报

4.  数据读取查询:通过蓝蜂MQTT网关,能够读取和查询实时采集的数据,了解网关采集数值的实际情况

5 .远程水务开关的开启和关闭:通过蓝蜂MQTT网关,可对PLC进行远程写值操作,能够实现远程下发指令开启对应水务开关的开启和关闭的功能

6. PLC程序远程上下载:通过蓝蜂MQTT网关,可实现对于PLC进行远程调试,实现远程上下载功能

7. 脚本功能:能够通过脚本处理新增的业务逻辑或场景,增加网关的功能扩展性。

4.3 具体功能实现步骤

4.3.1连接MQTT服务器

蓝蜂MQTT网关支持连接阿里云、华为云、oneNet,腾讯云,以及自建MQTT服务器,能够很方便对接不同类型的MQTT云服务器 

同时支持SSL/TLS加密,可实现数据传输单向和双向加密认证,最大限度保证数据传输的安全性

使用蓝蜂MQTT配置工具,可配置网关连接MQTT服务器的具体参数,包括服务器地址、端口号、用户名和密码等。配置成功即可通过数据上报主题向MQTT服务器上报数据

4.3.2创建驱动、变量

蓝蜂MQTT网关,支持多种PLC协议和仪表传感器,能够连接多种下位机设备,包括西门子,三菱,信捷,台达,Modbus,可根据需要进行下位设备连接,支持RS232,RS485,以及LAN口进行通讯。 

通过蓝蜂MQTT网关配置页面中驱动管理功能,可进行驱动配置管理,支持创建/编辑,删除驱动,设置通讯口配置信息等,如图

变量管理可用来配置要上报给水务平台的具体的变量,支持新增、编辑、导入、导出、复制等功能,能够快速方便的定义好要上报数据基础信息配置。

4.3.3上报数据

蓝蜂网关在边缘侧实现协议解析、数据处理、数据换算、数据上报等工作。极大减少无效数据上传云端。

通过蓝蜂MQTT配置工具,可进行数据上报配置,支持将网关采集到的数据通过主题发上报MQTT服务器,并且可以通过脚本编辑上报数据的格式。

一个网关可以设置多个数据上报主题,支持通过不同的主题上报不同的数据

举例:

主题名称:Topic/<${Gateway}>/<${Company}>/<${clientID}>/system/

支持使用通配符,对网关,公司等节点进行划分,实现不同网关,不同组织的数据上报

数据上报方式可使用三种:定时上报,条件上报,变化上报,能够按照客户的实际需求进行选择,支持定时场景上报数据,满足特定条件上报数据,数据变化上报数三种场景

同时,针对于上报数据的格式,可通过自定义脚本实现定制化,实现灵活多样的数据格式进行上传

上报数据JSON举例:

{

"time":"2019-7-1619:21:44",

"Data":[

{"name":"mqtt_connect","value":"1"},

{"name":"${SN}_${ADS}","value":"0.456280"}

]

}

4.3.4 读取设备数据

蓝蜂MQTT网关,支持通过MQTT协议对设备变量数值读取功能。

使用蓝蜂MQTT配置工具,在读变量配置中可实现主动读取网关中某一个或多个变量的数值

4.3.5远程控制设备

蓝蜂MQTT网关,支持通过MQTT协议进行数写变量功能,可对设备进行写值操作,通过请求主题向设备写入变量的值,通过响应主题发送写入结果,在大棚管理系统中,下发对应设备数值后,即可通过网关远程项设备写入数值,达到远程控制设备目的

功能应用举例:

比如发现某一个供水机组需要及时开闸放水,则可通过配置写变量主题,向PLC写入开闸参数,实现远程开闸功能

4.4.PLC远程上下载

蓝蜂MQTT网关可以进行远程上下载操作,选择开启远程上下载功能后,可以通过网关建立与PLC的虚拟网络通道,实现对PLC程序远程上下载功能。

目前支持主流PLC设备的程序进行远程上下载和在线监测,即使设备远在国外,也可以实现远程管理。

4.5脚本功能

4.5.1 脚本功能说明

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

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

4.5.2 脚本功能应用

客户业务场景介绍:

PLC需要根据数值变化修改寄存器的值,比如温度过高(>85)需要关闭阀门。

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

解决方案:

创建一个脚本,设置运行环境为:条件执行,表达式为:$(温度)>85

按照如下逻辑脚本程序:当温度超出85摄氏度后,网关对阀门所代表的变量自动进行写值执行关闭操作

脚本示例代码如下:

function main( ){

//通过脚本进行写值操作

   API.writeSignalValue("on-off",0);

}

脚本执行结果:

创建以上脚本后,当网关检测到对应的变量满足设置的条件表达式后,会自动执行脚本,进行写值操作,关闭阀门,满足无人值守进行设备管理的需求。

4.6断点续传

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

五、方案总结

5.1 本方案的优势

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

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

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

4.实时监控:通过实时数据采集和读取,能够及时发现异常情况并采取应对措施。

5.远程管理:通过蓝蜂MQTT网关,能够对设备实现远程上下载和实时监测,提高管理效率。

6.性能稳定,功能强大:客户端软件操作简单容易上手,方便基层人员操作,在常规功能无法支持的情况下,可通过编写脚本程序实现比较复杂的业务逻辑和功能。

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

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

相关文章

电子科大软件系统架构设计——系统规划

文章目录 系统规划定义意义目标任务路径规划规划步骤规划方法业务系统规划法业务流程重组法价值链分析法战略目标集转移法关键成功因素法 项目计划定义要素工作分解活动排序工期预算三点估计法德尔菲法 成本估算与计算进度安排甘特图法PERT图方法 可行性分析技术可行性分析进度…

固定资产电脑怎么编号管理

科技的发展已经深入到了我们的生活中的每一个角落&#xff0c;尤其是在办公室环境中&#xff0c;电脑已经成为了必不可少的工具。然而&#xff0c;随着电脑数量的增加和管理复杂性的提升&#xff0c;如何有效地管理和追踪这些固定资产变得越来越重要。本文将探讨一种创新的方式…

Scrum敏捷开发如何实施

​在当今高度变化的时代&#xff0c;软件开发的环境和要求也在不断变化。传统的开发方法往往难以适应这种快速变化&#xff0c;因此&#xff0c;一种新的软件开发方法——敏捷开发逐渐得到了广泛的关注和应用。 敏捷开发的实施可以按照以下步骤进行&#xff1a; 1、明确产品愿…

WebDAV之π-Disk派盘 + 飞傲音乐

飞傲音乐是一款专为手机解码耳放设计的本地播放器,旨在提供更符合发烧友使用习惯的音乐播放体验。它具备以下功能和特性: 1. DSD源码输出:支持DSD音频格式的输出,即使是普通手机也能够进行DSD硬解码播放。 2. Hi-Res高清音乐格式源码输出:支持高清音乐格式,可以播放高达…

led护眼灯真的能护眼吗?Led护眼灯的好处

随着人们对家庭环境艺术的重视&#xff0c;台灯因其摆设在桌案台几上的特殊地位&#xff0c;也要进求特有的装饰效果。家居用台灯开始逐新分流为工艺台灯和书写台灯两类。前者追求外观效果&#xff0c;将发展思路放在材质的创新、造型的求异上&#xff0c;以配合风格多样的家居…

字符串类型

目录 一、字符与字符串 二、字符串对象与自变量 三、正则表达式 1.普通字符 2.特殊字符 3.非打印字符 4.限定符 5.定位符 四、正则表达式的处理 1.Pattern.compile(String regex) 2.Matcher.matches() 3.Matcher.find() 4.Matcher.replaceAll(String replacement)…

CRM客户管理系统是什么?

CRM的含义我们都知道&#xff0c;是客户关系管理的缩写&#xff0c;更多地用来代表CRM系统。所以CRM管理又可以理解为通过CRM系统进行管理。那么下面我们就来详细说说&#xff0c;什么是crm管理&#xff1f; CRM管理功能主要包括&#xff1a; 营销管理&#xff1a; CRM系统可…

【规范】Apifox就应该这么玩

前言 &#x1f34a;缘由 好的工具就要配好的玩法 起因是最近在回顾项目时&#xff0c;看到了年事已高并且长时间不用的Postman&#xff0c;发现之前自己整理的接口文档十分混乱且没有规律。遂打开现在使用的Apifox&#xff0c;将本狗目前项目中使用Apifox的整理规范和使用方…

【数据结构前置知识】初识集合框架和时间,空间复杂度

文章目录 1. 什么是集合框架2. 集合框架的重要性 3. 背后所涉及的数据结构以及算法3.1 什么是数据结构3.2 容器背后对应的数据结构3.3 相关java知识3.4 什么是算法 4.时间复杂度1. 如何衡量一个算法的好坏2. 算法效率3. 时间复杂度3.1 时间复杂度的概念3.2 大O的渐进表示法3.3 …

【ESP32】以蓝牙网关为例,记录队列的使用

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是喜欢记录零碎知识点的菜鸟打工人。&#x1f60e;&#x1f4dd; 个人主页&#xff1a;欢迎访问我的 Ethernet_Comm 博客主页&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收…

geek完全卸载sqlserver2012

前言 有时候sqlserver2012 出现问题&#xff0c;需要卸载安装 会出现卸载不干净的问题 需要用到geek去卸载 卸载 双击exe打开软件 输入sql查询相关的软件 依次一个一个的去删除

Zynq7020 纯VHDL解码 MIPI 视频,4路图像缩放拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图OV5640摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存RGB转HDMI模块MIPI D-PHY 硬件方案 5、vivad…

如何短期通过PMP考试?(含pmp干货)

一般PMP的准备考试时间都是一个月到三个月之间&#xff0c;一般都不会花超过半年的时间去准备考试的&#xff0c;毕竟想要学习项目管理的人一般应该都还是讲究高效率的&#xff0c;对待考试肯定也是在短时间内去高效学习备考的。 但对于怎样在短期内能够极好的去迎战PMP考试&a…

回溯算法 —— 子集问题

如果说组合问题可以说是思考如何使用回溯算法收割叶子节点的结果、 那么子集问题就是思考如何使用回溯算法收割每一个节点的结果 回溯算法的解题三部曲&#xff1a;1.确定传入的参数 2.确定终止条件 3.确定单层遍历逻辑 ​​​​​​78. 子集 本题就是经典的子集问题了&…

【SpringMvc 丨跨域】

Spring MVC 支持跨域处理&#xff08;CORS&#xff09;。 CORS 简介处理CORS 过滤器CrossOrigin注解java配置xml配置 主页传送门&#xff1a;&#x1f4c0; 传送 简介 跨域是指在浏览器的同源策略下&#xff0c;不能执行其他网站的脚本。它是由浏览器的安全限制造成的&#xf…

C++程序入门(helloworld.cpp编写)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

辅助驾驶功能开发-控制篇(01)-基于PID的横向控制算法

1 文档概述 本文档主要描述Lateral Control(横向控制)设计的功能要求、性能要求、算法推导。 2 功能要求 横向控制(Lateral Control)系统根据上层运动规划输出的期望路径、曲率等信息进行跟踪控制,以减少跟踪误差,同时保证车辆行驶平稳性和舒适性。 3 性能要求 控制系统应…

类和对象【基础概念】

全文目录 类的定义定义方式 类的访问限定符封装&#xff08;面向对象的三大特性之一&#xff09; 类对象模型类对象的存储方式类对象的大小计算 this指针this指针的特性**this指针可以为空吗&#xff1f;** 类的定义 在C中&#xff0c;C语言中的结构体struct中除了定义变量外还…

深度学习中softmax激活函数的用法

在深度学习中&#xff0c;“softmax” 是一种常用的激活函数&#xff0c;它主要用于多类别分类任务中的输出层。“Softmax” 是 “soft maximum” 的缩写&#xff0c;它通过将输入的实数向量转换为概率分布&#xff0c;用于表示相应类别的概率。

Tomcat多实例部署和动静分离

一、多实例部署&#xff1a; 多实例&#xff1a;多实例就是在一台服务器上同时开启多个不同的服务端口&#xff0c;同时运行多个服务进程&#xff0c;这些服务进程通过不同的socket监听不同的服务端口来提供服务。 1.前期准备&#xff1a; 1.关闭防火墙&#xff1a;systemctl …