智能冶钢厂环境监控与设备控制系统(边缘物联网网关)

news/2024/5/19 13:08:56 标签: 物联网, 网络, linux, 数据库, 边缘计算, stm32, iot

目录

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、项目功能介绍

  1. 数据采集和传输模块:该模块负责采集生产过程中的各种参数数据,如温度、湿度、氧气含量、烟气排放等,通过传感器将这些数据上传至云端服务器或本地服务器。

  2. 数据存储和处理模块:该模块负责将采集到的数据进行处理和分析,并将结果存储在数据库中,以便后续的查询和分析。

  3. 远程监测和控制模块:该模块负责远程实时监测和控制生产过程中的各项参数,如温度、压力、流量、钢铁传送带、排气扇等,以及自动化调节和优化生产过程。

  4. 报警和预警模块:该模块负责监测生产过程中的异常情况,并发出相应的报警和预警,以便及时采取措施避免事故发生。

  5. 界面和操作指导模块:该模块主要是提供给用户管理员良好的界面体验,提供美观简洁的操作界面显示数据和控制设备。

3、模块框架 

3.1 架构框图

图3-1 架构框图

3.2 架构介绍

         用户层:主要是网页端、qt客户端、阿里云。实时接收对应模块传输上来的数据,并且以图形化界面的形式显示出来。对于控制硬件设备,下发相应格式的数据帧给对应模块,经过一系列处理完成控制。

        网关层:本层主要是上下两层的中间枢纽,负责上传数据,下达命令等;充当一个中转站,是本架构设计中必不可缺的一层。各个进程间的通信通过套接字、共享内存、消息队列来实现。

        设备层:Modbus Slave 软件模拟的多个设备以及STM32各个外设组成的设备层。模拟实际工厂中设备情况。

 4、系统组成与工作原理

        如图3-1所示,该项目主要分为三层,每层具体的通信以及配合工作的原理如下介绍。

4.1 数据采集

        Modbus Slave 模拟工业设备相关参数。STM32连接各类外设。

图4-1 设备参数配置及数据设置

图4-2 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、成果呈现

图5-1 网页界面预览

图5-2 阿里云界面预览

图5-3 阿里云图形化界面预览

图5-4 阿里云图形化界面预览

 6、问题解决

  • WIFI模块的模式配置,发送AT指令,但是一直连接不上服务器。

        解决:wifi连接的5G,模块不支持5G,更改网络连接。

  • Modbus服务器采集数据错误,有时出现乱码。

       解决:具体的帧格式的起始地址和数量和Modbus Slave设备端不统一,更改地址及数量。

  • 网页端接收数据错误。

       解决:在传JSON格式的时候,发送数据长度没指定好,导致出现乱码,规定长度并且清空缓冲区解决问题。

  • 视频采集模块无法正常传输数据。

        解决:以为是代码的问题,结果更改分辨率即可。

  • 阿里云在获取数据之后就无法再次去控制设备了。

        解决:由于对前端不是很了解,自己查资料F12检查,看到好像自己数据类型的键报错,结果发现表示范围0-100,而我传输数据两千多,导致界面卡死。重新配置设备参数解决问题。

  • 上报QT的数据以及设备信息总是出问题。

        解决:这一块的程序相对复杂且繁琐,数据帧的格式不统一导致接收数据错误,JSON格式数据传输错误,多线程中传参取地址不对。将数据格式全部统一、避免数据的冲突,并且多加几条容错判断,解决上述问题。

7、项目总结 

        智能冶钢厂环境监控与设备控制系统的实施为冶钢厂提供了实时监测、远程控制和智能预警的功能,提高了生产效率、降低了能耗,并确保了冶钢过程的安全稳定运行。在项目实施过程中,我克服了各种挑战,取得了良好的成果和效益。


http://www.niftyadmin.cn/n/5262949.html

相关文章

Balking(犹豫)设计模式

多个线程监控某个共享变量,A线程监控到共享变量发生变化后即将触发某个动作,但此时发现有另外一个线程B已经针对该变量的变化开始了行动,因此A便放弃了准备开始的工作,我们把这样的线程交互称为Balking(犹豫&#xff0…

优先考虑静态成员类

在Java中,静态成员类(static nested class)是一种嵌套在另一个类中的类,且被声明为静态。静态成员类不依赖于外部类的实例,可以直接通过外部类的类名来访问。 优先考虑使用静态成员类的情况通常是当这个类与外部类的实…

前端(一):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 …

想自学黑客(网络安全),我劝你还是算了!

前言 一、什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防…

.[henderson@cock.li].Devos、[myers@airmail.cc].Devos勒索病毒的最新威胁:如何恢复您的数据?

尊敬的读者: .[hendersoncock.li].Devos、[myersairmail.cc].Devos 勒索病毒的威胁无处不在。通过深入了解其特征、有效的数据恢复方法以及全面的预防措施,我们可以更好地保护自己、家人和企业的数字财产。在网络的战场上,谨慎和预防是我们最…

亿华考勤管理系统 任意文件上传漏洞复现

0x01 产品简介 亿华考勤系统是一款专业的人力资源管理软件,旨在帮助企业高效管理员工考勤情况。该系统提供了多种功能和特性,以确保准确记录和管理员工的出勤、请假、加班等情况。 0x02 漏洞概述 亿华考勤系统unloadfile.ashx接口处存在任意文件上传漏洞,未授权的攻击者可以…

MX6ULL学习笔记(十一)I2C设备驱动

前言 I2C 是很常用的一个串行通信接口,用于连接各种外设、传感器等器件,本章我们来学习一下如何在 Linux 下开发 I2C 接口器件驱动。本章以 I.MX6U-ALPHA 开发板上的 AP3216C 这个三合一环境光传感器为例,通过 AP3216C 讲解 一下如何编写 Lin…

关于ctf反序列化题的一些见解([MRCTF2020]Ezpop以及[NISACTF 2022]babyserialize)

这里对php反序列化做简单了解 在PHP中,序列化用于存储或传递 PHP 的值的过程中,同时不丢失其类型和结构。 serialize() 函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变…