# warehouse_fire_monitoring **Repository Path**: itinyml/warehouse_fire_monitoring ## Basic Information - **Project Name**: warehouse_fire_monitoring - **Description**: 仓库失火自动报警灭火系统监控大屏 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-19 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 仓库失火自动报警灭火系统监控大屏 这是一个基于Flask和WebSocket的实时监控大屏系统,用于监控仓库的火灾报警和灭火系统状态。 ## 功能特性 - **实时数据监控**: 通过MQTT协议接收传感器数据 - **可视化大屏**: 现代化的监控界面,支持响应式设计 - **实时图表**: 温度趋势和烟雾浓度的实时图表显示 - **报警系统**: 实时报警记录和通知 - **设备状态**: 监控各种设备的运行状态 - **系统操作**: 支持系统自检、紧急停止等操作 ## 系统架构 ``` EMQX MQTT Broker ↓ Python Flask 后端 (MQTT客户端) ↓ (WebSocket) 前端监控大屏 (HTML/CSS/JavaScript) ``` ## 安装和运行 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置MQTT服务器 编辑 `app.py` 文件中的MQTT配置: ```python MQTT_BROKER = "your-emqx-server.com" # 替换为您的EMQX服务器地址 MQTT_PORT = 1883 MQTT_USERNAME = "your_username" # 如果需要认证 MQTT_PASSWORD = "your_password" # 如果需要认证 ``` ### 3. 运行应用 ```bash python app.py ``` 应用将在 `http://localhost:5000` 启动。 ## MQTT主题说明 系统订阅以下MQTT主题: - `warehouse/sensors/temperature` - 温度传感器数据 - `warehouse/sensors/smoke` - 烟雾传感器数据 - `warehouse/alarm` - 报警信息 - `warehouse/devices/status` - 设备状态 - `warehouse/system/status` - 系统状态 ### 数据格式示例 #### 温度数据 ```json { "zone": "A", "value": 25.5, "timestamp": "2024-01-01T12:00:00" } ``` #### 烟雾数据 ```json { "zone": "B", "value": 0.03, "timestamp": "2024-01-01T12:00:00" } ``` #### 报警数据 ```json { "message": "A区域温度异常", "level": "danger", "zone": "A", "timestamp": "2024-01-01T12:00:00" } ``` #### 设备状态数据 ```json { "device_id": "main_controller", "status": "normal", "message": "正常运行", "timestamp": "2024-01-01T12:00:00" } ``` ## 系统特性 ### 监控区域 系统支持4个监控区域(A、B、C、D),每个区域包含: - 烟感器 - 温感器 - 喷淋头/气体灭火装置 ### 报警级别 - `info` - 信息提示(绿色) - `warning` - 警告(橙色) - `danger` - 危险(红色) ### 阈值设置 - 温度报警:> 35°C(警告),> 50°C(危险) - 烟雾报警:> 0.05%(警告),> 0.1%(危险) ## 技术栈 - **后端**: Python Flask + Flask-SocketIO - **前端**: HTML5 + CSS3 + JavaScript - **实时通信**: WebSocket - **数据协议**: MQTT - **图表库**: Chart.js - **图标库**: Font Awesome ## 部署说明 ### 生产环境部署 1. 使用Gunicorn作为WSGI服务器: ```bash pip install gunicorn gunicorn --worker-class eventlet -w 1 --bind 0.0.0.0:5000 app:app ``` 2. 使用Nginx作为反向代理(可选) 3. 配置SSL证书(推荐) ### Docker部署 创建 `Dockerfile`: ```dockerfile FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . EXPOSE 5000 CMD ["python", "app.py"] ``` 构建和运行: ```bash docker build -t warehouse-monitoring . docker run -p 5000:5000 warehouse-monitoring ``` ## 自定义配置 ### 修改区域数量 在 `app.py` 中修改 `sensor_data` 的 `zones` 配置。 ### 修改MQTT主题 在 `app.py` 中修改 `TOPICS` 字典。 ### 修改界面样式 编辑 `static/style.css` 文件来自定义界面外观。 ## 故障排除 ### 常见问题 1. **MQTT连接失败** - 检查MQTT服务器地址和端口 - 确认网络连接 - 验证用户名和密码 2. **WebSocket连接失败** - 检查防火墙设置 - 确认端口5000未被占用 3. **数据不更新** - 检查MQTT消息格式 - 查看控制台日志 ### 日志查看 应用启动后会在控制台输出详细日志,包括: - MQTT连接状态 - 接收到的消息 - WebSocket连接信息 ## 许可证 MIT License ## 联系方式 如有问题或建议,请联系开发团队。