当前位置: 首页 > news >正文

水质分析仪MQTT应用案例

水质分析仪MQTT应用案例

一、公司介绍

仪器股份有限公司,集研发,生产,销售于一体的水质分析仪器公司。产品主要包括PH/ORP分析仪,电导度分析仪,溶氧分析仪,离子浓度分析仪,浊度分析仪及重金属分析仪等。

公司的核心产品水质分析仪是一款集PH,水温,TOC,电导率,余氯,浊度,溶解氧,色度等多种参数测量的集成化裝置,广泛应用于于泳池,自来水,小区二次供水,地表水,市政管网等场所的自动化水质检测

二、企业所面临的问题

1. 企业生产的水质分析仪,目前仅支持现场查看监测的水质数据,无法实现远程监控,无法实现数据上云。

2. 由于需要与第三方厂商进行项目集成,厂商要求将水质分析数据进行数据上报,实现远端监测。

3. 项目预算卡的比较紧,急需一款价格低廉性能优秀的网关,通过Modbus协议对接水质分析仪,并将采集到的数据上报给云端平台,实现远程监测

4. 由于企业对云端平台技术并不了解,因此希望网关厂商能够提供专业的对接方案,咨询我方使用什么协议与云端平台进行对接,能够在短时间内实现低成本高效率的数据上报。

三、方案总体设计

了解客户的诉求后,为了解决上述问题,我们推荐使用蓝蜂LF210网关与明柏的水质分析仪进行设备对接, LF210系列网关价格低廉,性价比高,作为一款边缘计算网关,南向支持多种PLC和仪表,北向支持标准MQTT协议,能够完全满足客户的需求

对接云平台协议方面,我方建议使用MQTT协议作为与云平台与网关的通讯协议,MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,优点可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

目前MQTT技术比较成熟,开源项目比较多,平台方能够快速搭建基于MQTT协议的服务器和云平台,能够在短时间内实现低成本高效率的数据对接。我方建议通过MQTT协议将水质分析仪的数据通上报给云端平台

四、详细方案说明

(系统架构图)

4.1 硬件部署

1. 水质分析仪控制柜中安装蓝蜂 网关,使用4G卡进行联网通信

2. 在通过蓝蜂网关RS485端口与水质分析仪进行连接,通过Modbus协议进行通讯

3. 网关上电并调试好后,网关通过MQTT协议将数据上报

4.2云端平台对接方案

1.根据沟通,我方建议平台方使用自行搭建MQTT云服务器,目前MQTT技术比较成熟,开源项目比较多,平台方能够快速搭建基于MQTT协议的云端服务器和平台。

2.我方与平台方约定好MQTT服务器的对接的服务器地址,账号,用户名密码,以及报文传输协议,经过测试,顺利通过MQTT协议进行数据上报

3.我方提供蓝蜂MQTT网关配置工具,通过蓝蜂MQTT配置工具,能够快速调试网关的相关MQTT参数,包括服务器用户名,地址,账号,上报数据主题,系统设置等,支持远程进行控制

4.2 方案实际应用落地

4.2.1 接入客户自建MQTT服务器

打开蓝蜂MQTT网关配置工具,点击MQTT链接配置选项,可进行MQTT服务器链接配置

通过设置MQTT链接参数,可填写客户端ID,服务器IP/域名,用户名,密码,端口号等参数,支持SSL/TLS加密,可实现数据传输单向和双向加密认证,最大限度保证数据传输的安全性

配置成功后,即可连接至客户搭建的MQTT服务器

      1. 平台方与网关约定报文协议

根据与平台方的沟通,平台方最终选择了根据蓝蜂LF210网关提供的默认的报文格式进行数据对接,使用JSON格式数据进行上报,蓝蜂提供的报文协议具备如下优点:

1.可上报设备设备标识,msgId, 时间, 采集数据value,以及自定义的系统变量,比如型号,版本,位置等,能最大限度的满足客户对于数据的需求

2.上报主题支持使用通配符${} 代替设备表示,能否方便平台方进行数据对接

2.报文为JSON格式,跨平台通用

约定的报文协议具体如下:

实时数据上报主题:

data/report/${sn}

上报主题示例:

data/report/200121011004

上报json示例:

{

"code": "200",

"data": {

"msgId": "976",

"sn": "200121011045",

"time": 1655185922470,

"value": {

"ci": "0",

"ph": "0",

"temp": "0",

"turbidity": "0",

"cod": "0",

}

}

}

上报json参数说明

参数名称

类型

说明

code

String

功能码:200-采集正常

data

object

采集数据

time

long

采集时间,标准时间戳,1970-1-1到现在的毫秒数

sn

string

默认系统变量-网关SN

msgId

string

默认系统变量-报文ID

value

object

采集值:变量key和变量值的键值对

Value数据说明

序号

参数名称

说明

1

ci

余氯值

2

ph

PH值

3

temp

温度值

4

turbidity

低浊值

5

cod

COD值

      1. 配置驱动和变量

驱动管理用来配置网关与下位机的驱动管理,支持创建/编辑,删除驱动,设置通讯口配置信息等

如图。首次配置,需要进行添加驱动的操作,企业的水质分析仪支持Modbus协议,选择Modbus通用协议即可

创建好驱动后,即可添加变量,变量管理可用来配置网关数据变量,支持新增、编辑、导入、导出、复制等功能,按照企业提供的地址表,可创建余氯,PH,温度,低浊,COD 

4.2.4 配置上报主题

点击数据传输配置惨淡,可配置MQTT网关上报数据的主题,通过约定好的主题名称,设置好上报的周期,点击保存按钮,即可按照约定好的报文协议进行数据上报。

针对于该客户的需求,LF210网关,仅需一个主题,即可将客户要求的:余氯,PH,温度,低浊,COD 等数值进行上报

配置好后,通过第三方MQTT工具可以看到,数据已上报至MQTT平台

4.3 网关数据安全稳定机制

4.3.1 支持异常状态上报

蓝蜂MQTT网关对于异常数据或网关异常状态均支持上报机制,开启状态上报后,通过设置的主题将网关会将运行中的错误信息或状态变化信息,比如(网关离线)上报给服务器。

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

4.3.2 数据传输安全

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

五、方案总结

5.2 本方案的优势和特点

1.MQTT协议具有较低的带宽占用和低功耗特点,数据传输高效,省流量,节约成本,蓝蜂LF210网关支持标准MQTT协议,可快速实现对接平台

2.MQTT技术比较成熟,开源项目比较多,平台方能够快速搭建基于MQTT协议的云端服务器和平台。

3.LF210系列网关支持多种协议PLC和仪表,包括Modbus, 三菱FX系列,西门子PPI协议,能够完全满足水质分析仪的接入需求

4.  LF210为边缘侧计算网关,相比传统的透传网关,能够实现自主采集,自主上报,数据格式自动转换,能够极大减少云端的开发工作,轻松实现与云端对接,进行数据上报

5.  LF210网关价格低廉,性价比极高,极大降低节约项目成本。

5.  性能稳定,功能强大:客户端软件操作简单容易上手,方便基层人员操作

六、客户现场图片

蓝蜂MQTT网关安装现场1

蓝蜂MQTT网关安装现场2

相关文章:

水质分析仪MQTT应用案例

水质分析仪MQTT应用案例 一、公司介绍 某仪器股份有限公司,集研发,生产,销售于一体的水质分析仪器公司。产品主要包括PH/ORP分析仪,电导度分析仪,溶氧分析仪,离子浓度分析仪,浊度分析仪及重金…...

网络代理技术的护航与网络安全

在数字化时代,网络代理技术日益重要,不仅可维护网络安全,还能促进数据获取。本文深入探讨Socks5代理、IP代理以及它们在网络安全、爬虫、HTTP协议中的应用,助您深刻了解这些技术。 1. Socks5代理:网络安全与多协议支持…...

大模型LLM相关面试题整理-PEFT

Prefix/Prompt-Tuning:在模型的输入或隐层添加 个额外可训练的前缀 tokens(这些前缀是连续的伪 tokens,不对应真实的 tokens),只训练这些前缀参数; Adapter-Tuning:将较小的神经网络层或模块插入…...

65_Pandas显示设置(小数位数、有效数字、最大行/列数等)

65_Pandas显示设置(小数位数、有效数字、最大行/列数等) 本文介绍了使用 print() 函数显示 pandas.DataFrame、pandas.Series 等时如何更改设置(小数点后位数、有效数字、最大行/列数等)。 有关如何检查、更改和重置设置值的详细…...

一个失败架构升级案例

架构师的核心能力-抽象能力 在做架构升级的时候, 升级开始: 升级过程: 结束: 虽然升级完了能很好的满足未来的需求,但是在升级的过程中一个需求可能要同时在新老链路里同时实现,风险和工作量加倍。 架构…...

VM虚拟机运行的Ubuntu连入同一局域网,并实现双机方法

环境: Windows 10 VMware Workstation Pro 16 Ubuntu 20.4 在虚拟机设置桥接模式 确保虚拟机处于关闭状态,在Vm中设置: 编辑->虚拟网络编辑器 如果你以前设置过,可以重置之。 重置之后,添加桥接模式: …...

MySQL启动错误总结

centos7中出现mysql启动失败排查方法:首先找到/var/log/mysqd.log 第一种启动失败: 查看包含最后几行包含error的行; [ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock.[ERROR] Unable to setup unix socket lock file.[ERROR] …...

Linux软件包名称含AMD,ARM,x64的详解

下载clickhouse-backup时看到不同软件包,有的是x86,有的是amd64,有的是arm64,这些有啥区别呢? clickhouse-backup-2.4.2-1.x86_64.rpm clickhouse-backup_2.4.2_amd64.deb clickhouse-backup_2.4.2_arm64.deb x86 和 …...

光伏生产机器视觉系统应用场景全解析

​ 光伏产品的核心追求即为光电转化率,降本增效是光伏企业发展的永久动力。而光电转化率的提升、生产的降本增效,则来自于光伏硅片、电池片、组件、辅料等多个环节生产技术的提升和创新。光伏产品作为高产能、高精度的制造业产品,各段产业链上…...

ChatGPT DALL-E 3的系统提示词大全

每当给出图像的描述时,使用dalle来创建图像,然后用纯文本总结用于生成图像的提示。如果用户没有要求创建特定数量的图像,默认创建四个标题,这些标题应尽可能多样化。发送给Dalle的所有标题都必须遵循以下策略:1.如果描…...

Linux性能优化--补充

14.1. 性能工具的位置 本书描述的性能工具来源于Internet上许多不同的位置。幸运的是,大多数主要发行版都把它们放在一起,包含在了其发行版的当前版本中。表A-1描述了全部工具,提供了指向其原始源位置的地址,并注明它们是否包含在…...

用PHP爬取视频代码示例详细教程

以下是一个使用Symfony Panther和PHP进行爬虫的示例程序&#xff0c;用于爬虫企鹅上的视频。请注意&#xff0c;这个示例需要使用https://www.duoip.cn/get_proxy这段代码获取爬虫IP。 <?php // 引入所需的库 require vendor/autoload.php;use Symfony\Component\Panther\P…...

【笔记】centos7 python2.7.5安装paramiko

更直接的方式&#xff0c;参考: 离线安装_离线安装paramiko 这个更简单。 准备 资源链接: https://download.csdn.net/download/qq_26834611/88445708https://download.csdn.net/download/qq_26834611/88445708 或者选择自己下载 1. 下载python-devel 在一台能联网的cent…...

Neo4j入门教程2(看不懂评论区随便骂)

1. ORDER BY create (s4:student{age:21,num:98}),(s5:student{age:22,num:86}),(s6:student{age:23,num:99})承接上文&#xff0c;创建三个学生节点&#xff0c;标签为student1、student2、student3&#xff0c;分别拥有age属性和num属性 match(s:student) return s查看我们…...

Vue3.0的设计目标是什么?做了哪些优化

一、设计目标 不以解决实际业务痛点的更新都是耍流氓&#xff0c;下面我们来列举一下Vue3之前我们或许会面临的问题 随着功能的增长&#xff0c;复杂组件的代码变得越来越难以维护缺少一种比较「干净」的在多个组件之间提取和复用逻辑的机制类型推断不够友好bundle的时间太久…...

Linux介绍 (什么是Linux)

Linux介绍 &#xff08;什么是Linux&#xff09; 目录 &#x1f34e;一.Linux历史&#x1f34e; 1.UNIX发展的历史 2.Linux发展历史 &#x1f34f;二.开源&#x1f34f; &#x1f351;三.官网&#x1f351; &#x1f34a;四.企业应用现状&#x1f34a; 1.Linux在服务器…...

Android中使用Java操作List集合的方法合集,包括判读是否有重复元素等

1、判断是否有重复元素 List<String> mList new ArrayList<>();//将List转为Set&#xff0c;通过比较大小是否一样&#xff0c;判断是否有重复元素 Set<String> stringSet new HashSet<>(mList); boolean isHasRepeat false; if (mTipBeanList.siz…...

Rabbitmq 的管理配置

1、Rabbitmq管理 1.1、多租户与权限 每一个RabbitMQ 服务器都能创建虚拟的消息服务器&#xff0c;我们称之为虚拟主机(virtual host) ,简称为vhost 。每一个vhost 本质上是一个独立的小型RabbitMQ 服务器&#xff0c;拥有自己独立的队列、交换器及绑定关系等&#xff0c;井且它…...

Linux性能优化--性能追踪2:延迟敏感的应用程序

11.0 概述 本章包含了一个例子&#xff1a;如何用Linux性能工具在延迟敏感的应用程序中寻找并修复性能问题。 阅读本章后&#xff0c;你将能够&#xff1a; 在延迟敏感的应用程序中用ltrace和oprofile弄清楚哪里产生了延迟。对“热点”函数的每个调用&#xff0c;用gdb生成栈…...

分类网络-类别不均衡问题之FocalLoss

有训练和测代码如下&#xff1a;(完整代码来自CNN从搭建到部署实战) train.py import torch import torchvision import time import argparse import importlib from loss import FocalLossdef parse_args():parser argparse.ArgumentParser(training)parser.add_argument(-…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...