一个优雅的Web界面,用于管理大华VTO设备和巴法云MQTT通信。
- 添加、编辑、删除VTO设备
- 设备分组管理
- 设备状态监控
- 一键开锁功能
- 巴法云MQTT服务集成
- 设备主题绑定
- 远程控制支持
- 实时状态更新
- 用户登录系统
- 密码加密存储
- 会话管理
- 可修改登录密码
- 极简主义美学
- 响应式设计
- 现代化UI界面
- 流畅的交互体验
- 后端: Flask + SQLAlchemy + SQLite
- 前端: Bootstrap 5 + Font Awesome + 原生JavaScript
- 通信: MQTT (paho-mqtt) + HTTP请求
- 数据库: SQLite (轻量级)
- Python 3.7+
- pip包管理器
-
克隆项目
git clone <项目地址> cd vto-web
-
创建虚拟环境
python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows
-
安装依赖
pip install -r requirements.txt
-
启动应用
python app.py
-
访问应用
- 打开浏览器访问:
http://localhost:8998 - 默认账户:
admin/123456
- 打开浏览器访问:
- 使用默认账户登录:
admin/123456 - 登录后可在设置中修改密码
- 点击"添加设备"按钮
- 填写设备信息:
- 设备名称: 便于识别的名称
- 分组: 设备分类
- IP地址: 设备的网络地址
- 用户名/密码: 设备登录凭据(默认admin/admin123)
- MQTT主题: 巴法云主题(可选)
- 进入"系统设置"页面
- 输入巴法云私钥
- 启用MQTT服务
- 为设备设置对应的主题
- Web界面: 点击设备卡片上的"开锁"按钮
- MQTT远程: 向设备主题发送控制命令
打开/open/on- 开锁关闭/close/off- 关闭状态状态/status- 查询状态
- 注册巴法云账户: https://bemfa.com
- 获取私钥并在系统设置中配置
- 为每个设备创建唯一的主题
- 确保VTO设备网络可达
- 检查设备登录凭据
- 验证设备开锁接口可用
vto-web/
├── app.py # Flask应用主文件
├── requirements.txt # Python依赖包
├── README.md # 项目说明
├── static/ # 静态资源
│ ├── css/
│ │ └── style.css # 样式文件
│ └── js/
│ └── main.js # JavaScript文件
├── templates/ # HTML模板
│ ├── base.html # 基础模板
│ ├── login.html # 登录页面
│ ├── dashboard.html # 仪表板
│ ├── devices.html # 设备列表
│ ├── add_device.html # 添加设备
│ ├── edit_device.html # 编辑设备
│ ├── settings.html # 系统设置
│ └── change_password.html # 修改密码
└── vto_management.db # SQLite数据库(运行时创建)
GET /unlock_device/<device_id>- 开锁设备POST /add_device- 添加设备POST /edit_device/<device_id>- 编辑设备GET /delete_device/<device_id>- 删除设备
GET /settings- 获取设置POST /save_settings- 保存设置POST /change_password- 修改密码
A: 删除数据库文件 vto_management.db,重新启动应用会创建默认账户。
A: 检查以下几点:
- 设备IP地址是否正确
- 设备是否在线
- 用户名密码是否正确
- 网络连接是否正常
A: 检查以下几点:
- 巴法云私钥是否正确
- 网络连接是否正常
- 防火墙是否阻挡
A: 复制 vto_management.db 文件即可备份所有数据。
User: 用户表Device: 设备表Config: 配置表
DahuaLogin: 大华设备登录和控制MQTTManager: MQTT连接管理Flask Routes: Web路由处理
- 基础设备管理功能
- MQTT集成
- 用户认证系统
- 响应式Web界面
MIT License
如有问题,请提交Issue或联系开发者。