# Door Control (大门控制工具) 这是一个用于远程控制大门状态并查看实时监控视频的桌面应用程序。 ## 功能特点 * **实时监控**: 查看配置的视频流(支持 RTSP/HTTP 流)。 * **远程开门**: 一键远程开门。 * **模式控制**: * **正常模式 (Normal)**: 恢复自动/正常运行状态。 * **常开模式 (Always Open)**: 保持大门常开。 * **常闭模式 (Always Closed)**: 保持大门常闭。 * **便捷操作**: * 支持最小化到系统托盘。 * 提供悬浮窗按钮,方便快速唤起界面。 * 直观的连接状态显示。 ## 安装与运行 ### 方法一:使用安装包 (推荐) 1. 下载或获取 `installer_output/DoorControl_Setup.exe`。 2. 运行安装程序并按照提示完成安装。 3. 安装完成后,可以通过桌面快捷方式或开始菜单启动程序。 ### 方法二:直接运行可执行文件 1. 下载或构建 `dist/DoorControl.exe`。 2. 确保 `config.yaml` 配置文件与 `DoorControl.exe` 位于同一目录下。 3. 直接双击运行。 ### 方法三:从源码运行 如果您需要修改代码或在非 Windows 环境下运行: 1. **环境要求**: Python 3.8+ 2. **安装依赖**: ```bash pip install -r requirements.txt ``` 3. **运行程序**: ```bash python main.py ``` ## 配置说明 程序运行依赖于 `config.yaml` 文件。如果该文件不存在,程序将加载默认配置。 推荐的 `config.yaml` 格式如下: ```yaml # 视频流地址 (支持 rtsp, http 等 opencv 支持的格式) video_stream_url: "http://222.243.138.146:9002/live/cam890134962b.live.mp4" # 门禁控制器 IP 地址 door_ip: "192.168.188.205" # 门禁控制器端口 door_port: 14460 # 门禁密码 (如无密码可留空) door_password: "" # 门 ID door_id: 1 ``` ## 构建说明 如果您对源码进行了修改并希望重新打包: ### 1. 打包成 EXE 使用 PyInstaller 进行打包: ```bash pyinstaller DoorControl.spec ``` 打包成功后,可执行文件位于 `dist/` 目录下。 ### 2. 生成安装包 1. 确保已安装 [Inno Setup](https://jrsoftware.org/isinfo.php)。 2. 确保 `dist/` 目录下已有 `DoorControl.exe` 和 `config.yaml`。 3. 右键点击 `setup.iss`,选择 "Compile" 或使用 Inno Setup 编译器打开并编译。 4. 生成的安装包位于 `installer_output/` 目录下。 ## 注意事项 * 请确保运行程序的电脑能够访问配置中的 `door_ip` 和 `video_stream_url`。 * 修改配置文件后,需要重启程序才能生效。