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

基于西门子proneta软件的网络设备台账自动管理软件

网络设备台账自动管理软件

https://gitee.com/weloveut1/proneta_professional_manager

在这里插入图片描述

在这里插入图片描述

1. 软件简介

网络设备台账自动管理软件是一款专门用于自动收集、解析、存储和可视化工业网络设备信息的综合工具。该软件包含两个主要模块:

  • 数据采集模块:通过MQTT协议接收来自网络扫描工具(如Siemens Proneta)的设备数据,自动解析XML格式的设备信息,并将其存储到SQLite数据库中。
  • Web管理模块:基于Flask框架开发的Web界面,提供设备信息的增删改查、数据可视化、搜索筛选等功能,实现网络设备台账的自动化管理与便捷查看。

2. 功能特点

2.1 自动数据采集

  • 通过MQTT协议实时接收网络设备扫描结果
  • 支持Siemens S7-1500等工业设备数据的自动识别和处理

2.2 智能解析处理

  • 自动解析XML格式的设备信息
  • 提取设备名称、IP地址、MAC地址、设备类型等关键信息
  • 识别设备接口和端口配置

2.3 数据库存储

  • 将设备数据自动写入SQLite数据库
  • 支持设备记录的新增和更新
  • 记录时间戳便于追踪设备状态变化

2.4 数据备份与查看

  • 将接收到的原始XML数据保存为文件
  • 提供设备信息的实时打印展示

2.5 Web界面管理

  • Tab选项卡功能:将设备列表和统计信息分为独立的Tab选项卡,优化界面布局和用户体验
  • 设备列表展示:分页显示所有设备信息,支持设备的查看、编辑和删除,每页显示10条记录
  • 数据搜索筛选:通过设备名称、IP地址、设备类型等多条件搜索设备
  • 数据可视化:展示设备类型分布和制造商分布的图表
  • 统计信息展示:显示设备总数、设备类型数、制造商数等统计数据
  • 设备管理操作:支持添加新设备、编辑设备信息、删除设备等功能
  • 西门子风格设计:采用西门子公司风格的配色方案,提升界面专业度
  • 表格列自定义:隐藏了设备标识、制造商ID、设备角色和网关地址等冗余列,简化视图

3. 系统要求

3.1 硬件要求

  • CPU:Intel Core i3或更高配置
  • 内存:4GB或更高
  • 硬盘空间:至少100MB可用空间

3.2 软件要求

  • 操作系统:Windows 7/10/11
  • Python 3.6或更高版本
  • MQTT服务器(如Eclipse Mosquitto)- 仅数据采集模块需要
  • SQLite数据库支持
  • 浏览器:Chrome、Firefox、Safari或Edge(用于访问Web界面)

3.3 依赖库

  • paho-mqtt:MQTT客户端库(数据采集模块)
  • sqlite3:数据库操作库
  • xml.etree.ElementTree:XML解析库
  • dataclasses:数据类支持
  • flask:Web框架(Web管理模块)
  • flask-cors:跨域资源共享支持(Web管理模块)
  • chart.js:数据可视化库(Web前端)

4. 项目结构

proneta_client/
├── README.md              # 项目说明文档
├── backend.html           # Web管理模块主页面
├── backend.py             # Web管理模块后端代码(基于Flask)
├── proneta_client.py      # 数据采集模块主程序
├── sample.xml             # 示例XML数据文件
└── lib/                   # Web前端资源文件夹├── script.js          # JavaScript交互逻辑└── style.css          # CSS样式文件

5. 安装说明

5.1 安装Python环境

  1. 从Python官网下载并安装Python 3.6或更高版本
  2. 确保Python和pip已添加到系统环境变量

5.2 安装依赖库

打开命令提示符,执行以下命令安装必要的依赖库:

# 安装数据采集模块依赖
pip install paho-mqtt# 安装Web管理模块依赖
pip install flask flask-cors

5.3 配置MQTT服务器(数据采集模块)

  1. 安装并启动MQTT服务器(如Mosquitto)
  2. 确保服务器配置正确,能够接收来自Proneta的消息

5.4 准备数据库环境

  • 确保目标数据库路径存在(软件会自动创建所需的数据库和表结构)
  • Web管理模块会自动在软件目录下创建SQLite数据库

6. 使用方法

6.1 启动数据采集模块

  1. 打开命令提示符,导航到软件安装目录
  2. 执行以下命令启动数据采集模块:
python proneta_client.py

6.2 查看数据采集模块运行状态

  • 模块启动后会尝试连接到MQTT服务器
  • 连接成功后会显示"连接成功,开始循环处理消息…"的提示
  • 当收到设备数据时,模块会自动解析并写入数据库

6.3 检查数据存储

  • 查看指定路径下的SQLite数据库文件
  • 检查软件当前目录下的sample.xml文件,确认原始数据已保存

6.4 启动Web管理模块

  1. 确保数据库已正确创建
  2. 打开命令提示符,导航到软件安装目录
  3. 执行以下命令启动Web管理模块:
python backend.py
  1. 服务器启动成功后,会显示类似以下信息:
数据库初始化成功
* Serving Flask app 'backend'
* Debug mode: on
* Running on http://127.0.0.1:5000
* Running on http://192.168.0.114:5000

6.5 访问Web界面

  1. 打开浏览器
  2. 在地址栏输入以下URL之一:
    • http://localhost:5000/backend.html
    • http://192.168.0.114:5000/backend.html(根据实际显示的IP地址调整)
  3. 进入网络设备台账管理系统Web界面

6.6 Web界面功能使用

6.6.1 查看设备列表
  • 进入Web界面后,系统会自动加载所有设备信息
  • 设备列表以表格形式展示,包含设备ID、名称、IP地址、类型等信息
  • 使用分页控件浏览多页数据
6.6.2 搜索设备
  • 在搜索区域输入设备名称、IP地址或设备类型
  • 点击"搜索"按钮进行搜索
  • 点击"重置"按钮清除搜索条件
6.6.3 查看设备详情
  • 在设备列表中找到目标设备
  • 点击设备行右侧的"查看"按钮
  • 在弹出的模态框中查看设备的详细信息
6.6.4 编辑设备信息
  • 在设备列表中找到目标设备
  • 点击设备行右侧的"编辑"按钮
  • 在弹出的编辑模态框中修改设备信息
  • 点击"保存"按钮提交更改
6.6.5 添加新设备
  • 点击页面上方的"添加设备"按钮
  • 在弹出的添加模态框中填写设备信息
  • 点击"保存"按钮添加新设备
6.6.6 删除设备
  • 在设备列表中找到目标设备
  • 点击设备行右侧的"删除"按钮
  • 在确认对话框中点击"确定"删除设备

7. 配置说明

7.1 数据采集模块配置

数据采集模块的主要配置项位于proneta_client.py文件的开头部分:

# MQTT服务器配置
HOST = "127.0.0.1"  # MQTT服务器地址
PORT = 1883         # MQTT服务器端口
KEEP_ALIVE = 60     # 保活时间(秒)
TOPIC = "proneta/device/+"  # 订阅的主题# 数据库路径配置(在on_message函数中)
db_path = "C:\\UnifiedArchive\\TLGDB\\HMI_RT_1-1_TLG408\\HMI_RT_1-1_TLG408_20251010_013245.db3"
7.1.1 修改MQTT连接配置

如需连接到不同的MQTT服务器,修改HOST和PORT参数即可。

7.1.2 修改数据库路径

如需更改数据存储位置,修改on_message函数中的db_path参数,并确保使用双反斜杠表示路径。

7.1.3 配置MQTT认证

如果MQTT服务器需要认证,可以取消注释并修改以下代码:

#client.username_pw_set("admin", "123456")

7.2 Web管理模块配置

Web管理模块的主要配置项位于backend.py文件中:

# 数据库路径配置
DB_PATH = "c:\\proneta_client\\devices.db"# Flask应用配置
app = Flask(__name__, static_folder='.', static_url_path='')
7.2.1 修改数据库路径

如需更改Web管理模块使用的数据库位置,修改DB_PATH参数即可,确保使用双反斜杠表示路径。

7.2.2 修改Flask服务器配置

如需更改Flask服务器的端口或其他配置,可以在backend.py文件末尾的app.run()函数中添加参数:

if __name__ == '__main__':app.run(host='0.0.0.0', port=5000, debug=True)

8. 数据库结构说明

软件会在指定路径自动创建SQLite数据库和device表,表结构如下:

字段名数据类型说明
idINTEGER主键,自增长
name_of_stationTEXT设备名称
ip_addressTEXTIP地址
gateway_ipTEXT网关地址
network_maskTEXT子网掩码
device_idTEXT设备ID
device_typeTEXT设备类型
macTEXTMAC地址
manufacturer_idTEXT制造商ID
manufacturer_nameTEXT制造商名称
roleTEXT设备角色
run_stateTEXT运行状态
order_idTEXT订单ID
serial_numberTEXT序列号
hardware_revisionTEXT硬件版本
software_revisionTEXT软件版本
timestampDATETIME记录时间戳

9. 常见问题与解决方案

9.1 MQTT连接失败

  • 问题现象:显示"连接超时"或"连接被拒绝"错误
  • 解决方案:确认MQTT服务器是否已启动,检查HOST和PORT参数是否正确

9.2 数据库写入错误

  • 问题现象:显示"数据库操作错误"或"写入数据库时发生错误"
  • 解决方案:确认数据库路径是否存在,检查用户是否有写入权限,确保路径中的反斜杠已正确转义(使用双反斜杠)

9.3 消息解析失败

  • 问题现象:显示"XML解析错误"或"处理消息时发生错误"
  • 解决方案:检查收到的XML数据格式是否正确,查看sample.xml文件确认原始数据

9.4 Web页面无法访问

  • 问题现象:浏览器显示"无法访问此网站"或"连接被拒绝"
  • 解决方案:确认Flask服务器是否已启动,检查访问的IP地址和端口是否正确

9.5 图表无法显示

  • 问题现象:统计图表区域为空白或显示错误
  • 解决方案:确认Chart.js库是否已正确加载,检查浏览器控制台是否有相关错误信息

10. 技术支持

如遇无法解决的问题,请联系技术支持:私信我就行

11. 更新日志

版本 1.2 (2025-10-14)

  • 新增Tab选项卡功能:将设备列表和统计信息分为独立的Tab选项卡
  • 优化表格样式:移除了表格的垂直滚动条,采用更直观的页面布局
  • 调整分页设置:每页默认显示10条设备记录
  • 应用西门子风格设计:采用西门子公司风格的配色方案(主色调#003057,辅助色#7AC142和#F47B20)
  • 优化表格显示:隐藏了设备标识、制造商ID、设备角色和网关地址列
  • 提升用户体验:优化了界面交互和视觉设计

版本 1.1 (2023-10-11)

  • 添加了Web管理模块
  • 实现了基于Flask的设备管理API
  • 开发了响应式设备管理Web界面
  • 增加了数据可视化功能(设备类型分布、制造商分布图表)
  • 实现了设备搜索、分页、增删改查等功能

版本 1.0 (2023-10-10)

  • 初始版本发布
  • 支持MQTT消息接收和解析
  • 实现设备数据写入SQLite数据库
  • 提供设备信息打印和XML文件保存功能
http://www.dtcms.com/a/507599.html

相关文章:

  • 深入大模型-12-Python虚拟环境的管理venv和uv和conda
  • DINOv2分类网络onnxruntime和tensorrt部署
  • 医疗网站建设网站wordpress别名时间戳
  • YOLOv3 深度解析:网络架构、核心改进与目标检测实践
  • 数据防泄露(DLP)综合指南:从基础到实践
  • 福鼎网站开发深圳市工程交易服务网
  • 电厂VR安全事故体验系统:让着火体验从 “看见” 变 “亲历”
  • 万网建设网站wordpress伪静态 page
  • 大模型训练显存优化全方案:ZeRO、Offload与重计算技术对比
  • 推客小程序系统开发:从0技术架构与实现细节深度解析
  • YOLOv4 知识点总结
  • 常用的建站工具有哪些体育台球直播
  • 什么网站可以找试卷做备案 个人网站建设方案书
  • okx欧易注册与量化设置
  • 飞牛os上的docker容器安装MySQL
  • 时序数据库选型指南:从大数据视角看Apache IoTDB的核心优势
  • UART串口通讯协议
  • 深入解析 YOLOv4:兼顾速度与精度的目标检测王者
  • 建设网站思维导图wordpress主题grace
  • 提升网站建设品质信息基金会网站开发方案
  • windows显示驱动开发-多监视器管理器(二)
  • chrome浏览器设置为手机模式
  • Charles 抓包实战:手机 App 数据也能爬?
  • 果业局网站建设263企业邮箱注册申请
  • 深度解析英伟达DGX与HGX服务器——从架构差异到场景选择
  • 防爆手机是什么?2025年防爆手机哪个牌子好?
  • 盘锦网站建设流程网站主办单位负责人
  • iOS 混淆工具链实战 多工具组合完成 IPA 混淆与加固(iOS混淆|IPA加固|无源码加固|App 防反编译)
  • 创建一个ios小组件项目
  • STM32配置读取激光测距传感器VL6180X距离数据