智能冶钢厂环境监控与设备控制系统(边缘物联网网关)
目录
1、项目背景
2、项目功能介绍
3、模块框架
3.1 架构框图
3.2 架构介绍
4、系统组成与工作原理
4.1 数据采集
4.2 指令控制
4.3 其他模块
4.3.1 网页、qt视频流
4.3.2 qt搜索进程
5、成果呈现
6、问题解决
7、项目总结
1、项目背景
这个项目的背景是钢铁行业的数字化转型和智能化升级。随着工业4.0的发展,钢铁生产企业面临着提高生产效率、优化生产流程、降低成本和减少环境污染等挑战。为了应对这些挑战,钢铁企业需要引入先进的数字化技术,实现对生产过程的远程监控和智能化控制。
钢铁生产过程中涉及到诸多复杂的参数和环境因素,如温度、湿度、氧气含量、烟气排放等,传统的人工监控和调节方式已经无法满足生产的需求。因此,引入智能冶钢厂环境监控与设备控制系统,可以实现对生产过程中各项参数的实时监测和智能化控制,从而提高生产效率、优化生产流程,并最终达到降低成本和减少环境污染的目的。
同时,智能冶钢厂环境监控与设备控制系统也符合国家对工业生产过程环境保护和安全生产的要求,有利于提升企业的社会责任形象,促进可持续发展。因此,这个项目的背景是钢铁行业数字化转型的大环境下,钢铁企业迫切需要引入智能化技术来提升生产水平和管理水平,实现高质量、高效率、可持续发展的生产模式。
2、项目功能介绍
-
数据采集和传输模块:该模块负责采集生产过程中的各种参数数据,如温度、湿度、氧气含量、烟气排放等,通过传感器将这些数据上传至云端服务器或本地服务器。
-
数据存储和处理模块:该模块负责将采集到的数据进行处理和分析,并将结果存储在数据库中,以便后续的查询和分析。
-
远程监测和控制模块:该模块负责远程实时监测和控制生产过程中的各项参数,如温度、压力、流量、钢铁传送带、排气扇等,以及自动化调节和优化生产过程。
-
报警和预警模块:该模块负责监测生产过程中的异常情况,并发出相应的报警和预警,以便及时采取措施避免事故发生。
-
界面和操作指导模块:该模块主要是提供给用户管理员良好的界面体验,提供美观简洁的操作界面显示数据和控制设备。
3、模块框架
3.1 架构框图
3.2 架构介绍
用户层:主要是网页端、qt客户端、阿里云。实时接收对应模块传输上来的数据,并且以图形化界面的形式显示出来。对于控制硬件设备,下发相应格式的数据帧给对应模块,经过一系列处理完成控制。
网关层:本层主要是上下两层的中间枢纽,负责上传数据,下达命令等;充当一个中转站,是本架构设计中必不可缺的一层。各个进程间的通信通过套接字、共享内存、消息队列来实现。
设备层:Modbus Slave 软件模拟的多个设备以及STM32各个外设组成的设备层。模拟实际工厂中设备情况。
4、系统组成与工作原理
如图3-1所示,该项目主要分为三层,每层具体的通信以及配合工作的原理如下介绍。
4.1 数据采集
Modbus Slave 模拟工业设备相关参数。STM32连接各类外设。
Modbus服务器通过ModbusTCP协议读寄存器或线圈的数据或状态,具体的帧格式:事务处理标识符|协议标识符|长度标识符|单元标识符|功能码|数据。通过向TCP客户端发送此类帧格式,成功采集到数据或状态。
STM32服务器其实就是一个TCP服务器,32通过ESP8266配置相应的模式具有了联网的功能,两者之间的交互通过TCP进行数据交互。
Modbus服务器和STM32服务器将采集到的数据通过共享内存共享到某一块具体的地址空间以供别的进程获取数据。
- 网页端:网页服务器进程获取特定段的共享内存的地址,服务器再解析相应数据,然后通过HTTP协议上传JSON格式的数据给xxx.html。然后解析节点数据完成数据采集显示。
- QT端:上报进程获取到共享内存的数据,然后该进程解析数据,通过MQTT协议发送JSON格式的数据帧到qt客户端,客户端解析节点数据完成后,在相应组件显示数据。
- 阿里云:阿里云服务器同样获取共享内存内的数据,解析数据封装为JSON格式,然后通过MQTT协议发送给响应进程,进程解析显示数据。
4.2 指令控制
- 网页端:通过点击相应按钮,发出相应指令给网页服务器,过程中使用的协议也是HTTP完成数据通信。网页服务器进程发送数据帧到消息队列中,供给相应服务器(Modbus服务器、STM32服务器)读取消息,然后下发到具体的设备完成控制。
- QT端:通过点击相应按钮,发出相应指令给qt服务器(使用的MQTT协议),然后同样发送到消息队列中,供给相应服务器(Modbus服务器、STM32服务器)读取消息,然后下发到具体的设备完成控制。
- 阿里云:同样如此,使用阿里云提供的LINKSDK压缩包,进行部分处理之后,同样完成类似操作控制具体的硬件设备。
4.3 其他模块
4.3.1 网页、qt视频流
视频流模块都是使用开源的mjpg-stream工具来开发的,mjpg-streamer 提供了一种简单而有效的方式来实现实时视频流的传输和展示,重定向输出流到对应端,一个以HTTP方式传输,一个以UDP方式传输。
视频处理过程可能会出现分辨率不合适导致视频流传输错误,可以通过相应配置解决问题。该模块运行在虚拟机上,将采集到的视频流传输到网页端和QT端,提供监控功能,保证工厂正常运转。
4.3.2 qt搜索进程
qt广播搜索本公司的所有产品,然后建立TCP连接传输设备信息。具体的实现可以参照我的以往的博客http://t.csdnimg.cn/gdbSm
5、成果呈现
6、问题解决
- WIFI模块的模式配置,发送AT指令,但是一直连接不上服务器。
解决:wifi连接的5G,模块不支持5G,更改网络连接。
- Modbus服务器采集数据错误,有时出现乱码。
解决:具体的帧格式的起始地址和数量和Modbus Slave设备端不统一,更改地址及数量。
- 网页端接收数据错误。
解决:在传JSON格式的时候,发送数据长度没指定好,导致出现乱码,规定长度并且清空缓冲区解决问题。
- 视频采集模块无法正常传输数据。
解决:以为是代码的问题,结果更改分辨率即可。
- 阿里云在获取数据之后就无法再次去控制设备了。
解决:由于对前端不是很了解,自己查资料F12检查,看到好像自己数据类型的键报错,结果发现表示范围0-100,而我传输数据两千多,导致界面卡死。重新配置设备参数解决问题。
- 上报QT的数据以及设备信息总是出问题。
解决:这一块的程序相对复杂且繁琐,数据帧的格式不统一导致接收数据错误,JSON格式数据传输错误,多线程中传参取地址不对。将数据格式全部统一、避免数据的冲突,并且多加几条容错判断,解决上述问题。
7、项目总结
智能冶钢厂环境监控与设备控制系统的实施为冶钢厂提供了实时监测、远程控制和智能预警的功能,提高了生产效率、降低了能耗,并确保了冶钢过程的安全稳定运行。在项目实施过程中,我克服了各种挑战,取得了良好的成果和效益。

相关文章:
智能冶钢厂环境监控与设备控制系统(边缘物联网网关)
目录 1、项目背景 2、项目功能介绍 3、模块框架 3.1 架构框图 3.2 架构介绍 4、系统组成与工作原理 4.1 数据采集 4.2 指令控制 4.3 其他模块 4.3.1 网页、qt视频流 4.3.2 qt搜索进程 5、成果呈现 6、问题解决 7、项目总结 1、项目背景 这个项目的背景是钢铁行业的…...
【Python】conda镜像配置,.condarc文件详解,channel镜像
1. conda 环境 安装miniconda即可,Miniconda 安装包可以到 http://mirrors.aliyun.com/anaconda/miniconda/ 下载。 .condarc是conda 应用程序的配置文件,在用户家目录(windows:C:\users\username\),用于…...
实战章节:在Linux上部署各类软件
详细资料见文章的资源绑定 一、前言 1.1 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没…...
铭飞CMS list 接口 SQL注入漏洞复现
0x01 产品简介 铭飞CMS是一款基于java开发的一套轻量级开源内容管理系统,铭飞CMS简洁、安全、开源、免费,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,专注为公司企业、个人站长快速建站提供解决方案 0x02 漏洞概述 铭飞CMS在5.2.10版本以前list 接口处存在sql注入…...
Linux指令初始
1.ls指令 语法 : ls [ 选项 ][ 目录或文件 ] 功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 ls 常用:-a 列出目录下的所有文件,包括以 . 开头的隐含文件。 …...
Nginx命令---启动nginx
介绍 使用命令启动nginx。 命令 nginx目录/bin/nginx...
【UE5】监控摄像头效果(下)
目录 效果 步骤 一、多摄像机视角切换 二、摄像头自动旋转巡视 三、摄像头跟踪拍摄 效果 步骤 一、多摄像机视角切换 1. 打开玩家控制器“MyPlayerController”,添加一个变量,命名为“BP_SecurityCameraArray”,类型为“BP_SecurityCa…...
binkw32.dll丢失怎么办?这5个方法都可以解决binkw32.dll丢失问题
binkw32.dll文件是什么? binkw32.dll是一个动态链接库文件,它是Windows操作系统中的一个重要组件。它包含了许多用于处理多媒体文件的函数和资源,如视频、音频等。当我们在电脑上打开或播放某些多媒体文件时,系统会调用binkw32.d…...
C语言-每日刷题练习
[蓝桥杯 2013 省 B] 翻硬币 题目背景 小明正在玩一个“翻硬币”的游戏。 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果…...
Qt设置类似于qq登录页面(ikun)
头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QWindow> #include <QIcon> #include <QLabel> #include <QMovie> #include <QLineEdit> #include <QPushButton>QT_BEGIN_NAMESPACE namespace Ui { class…...
Qt 如何使用VTK显示点云
开发环境 ubuntu 20.04 VTK 8.2 编译VTK 下载源码 git clone --recursive https://gitlab.kitware.com/vtk/vtk.git 使用版本管理工具,切换版本到8.2 更改编译选项,这里使用cmake-gui进行配置 1、编译类型修改为Release 2、安装路径可以设置…...
Ganache结合内网穿透实现远程或不同局域网进行连接访问
文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络,提供图形化界面,log日志等;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…...
Qt槽函数不响应不执行的一种原因:ui提升导致重名
背景: 一个包含了组件提升的ui,有个按钮的槽函数就是不响应,于是找原因。 分析: 槽函数的对应一是通过connect函数绑定信号,二是on_XXX_signal的命名方式。界面上部件的槽函数通常是第二种。 我反复确认细节&#…...
vuepress路径问题,导致图片不显示
图片不显示,报 Uncaught SyntaxError: Unexpected token <错误 很可能就是:路径配置原因 1.当设置为 / 时,VuePress 会假设你的站点将部署到服务器的根路径, 例如 https://yourdomain.com/。 2.生成的页面链接和资源引用将以…...
QT 重定向qdebug输出到自绘界面
因为在嵌入式中调试qt需要查看输出信息,特意写了一个类用户便捷查看qdebug信息 界面如下: 提供了开始,停止,保存,清空,退出功能,具体代码下文给出 文件如下 #ifndef QDEBUGREDIRECT_H #define QDEBUGREDIRECT_H /**qdebug 重定向类 定向到界面控件*李吉磊 2023.12.7* */#in…...
前端(一):HTML+CSS
参考课程:23最新版web前端开发_哔哩哔哩_bilibili 文档:GitHub - codeNiuMa/HTML-md-file: 学习HTML课程时的资料 目录 1 HTML 1.1 骨架 DOCTYPE html标签 head标签 body标签 title标签 meta标签 1.2 标签标题h1 1.3 段落p 1.4 水平线 1.5 图片img 1.6 …...
如何使用Matlab完成窗口与子窗口
目录 一、前言 二、主窗口与主窗口按钮 三、子窗口 四、调用函数并显示在子窗口中的文本框中 五、关闭子窗口 一、前言 有时候需要借用Matlab完成一个图窗功能,但是我们的程序不仅拥有功能,还拥有一些子功能,那么我们该如何借助Matlab完…...
Threejs之相机基础
参考资料 正投影相机…相机控件MapControls 知识点 注:基于Three.jsv0.155.0 正投影相机正投影相机-Canvas尺寸变化包围盒Box3地图案例(包围盒、正投影)相机动画(.position和.lookAt())不同方向的投影视图旋转渲染结果(.up相机上方向)管道漫游案例OrbitControls…...
2024SIA上海国际轴承工业展览会 ▎参行业盛会 展轴研风采
2024SIA上海国际轴承工业展览会 内容:1、轴承制品展区:2、轴承设备展区:3、轴承零件展区: 国际轴承展丨轴承工业展丨轴承装备展丨上海轴承展丨上海轴承工业展丨上海轴承装备展 2024上海国际轴承工业展览会将会于2024年7月24-26日…...
SQLMap介绍
预计更新SQL注入概述 1.1 SQL注入攻击概述 1.2 SQL注入漏洞分类 1.3 SQL注入攻击的危害 SQLMap介绍 2.1 SQLMap简介 2.2 SQLMap安装与配置 2.3 SQLMap基本用法 SQLMap进阶使用 3.1 SQLMap高级用法 3.2 SQLMap配置文件详解 3.3 SQLMap插件的使用 SQL注入漏洞检测 4.1 SQL注入…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...
在Zenodo下载文件 用到googlecolab googledrive
方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!࿰…...
