Sen descrición

liuq f3c34c7f79 更新LED hai 4 meses
api 701f46f294 播放产品视频不需要权限 hai 4 meses
application de5474cd29 新增控制时间范围启动 hai 4 meses
hardware 7dc52c7729 新增灯座和灯光等控制 hai 4 meses
templates de5474cd29 新增控制时间范围启动 hai 4 meses
utils 217dc0664c 初始化 hai 5 meses
.gitignore 130098698d 更新 hai 5 meses
API_DOCUMENTATION.md de5474cd29 新增控制时间范围启动 hai 4 meses
README.md de5474cd29 新增控制时间范围启动 hai 4 meses
app_test.py 1575b1a24b 修改bug hai 5 meses
door_config.yaml 9e4115b3c0 更新门控 hai 4 meses
flask_api.py 7dc52c7729 新增灯座和灯光等控制 hai 4 meses
ha_config_prod.yaml 7dc52c7729 新增灯座和灯光等控制 hai 4 meses
kodi_config_prod.yaml 7dc52c7729 新增灯座和灯光等控制 hai 4 meses
kodi_config_test.yaml 217dc0664c 初始化 hai 5 meses
led_config.yaml f3c34c7f79 更新LED hai 4 meses
requirements-lock.txt 217dc0664c 初始化 hai 5 meses
requirements.txt 217dc0664c 初始化 hai 5 meses
run_flask_api.bat 73aed5e4a0 更新运行脚本 hai 5 meses
run_flask_api.sh b49875b4c6 新增README hai 4 meses
video_config_prod.yaml 217dc0664c 初始化 hai 5 meses
video_config_test.yaml 217dc0664c 初始化 hai 5 meses

README.md

TV Show Control System V1

本项目是一个基于 Flask 的综合展控系统,用于控制展厅内的多媒体播放和硬件设备。

功能特性

系统主要包含以下控制模块:

  • Kodi 媒体控制: 控制 Kodi 播放器进行视频播放、暂停、停止等操作,支持心跳检测和空闲时自动播放(支持定时段自动启停及手动临时干预)。
  • LED 灯效控制: 集成 WLED 控制器,实现灯光效果的切换和管理。
  • Home Assistant (HA) 集成: 接入 Home Assistant 平台,控制接入 HA 的各类智能家居设备。
  • 门禁控制: 控制门禁设备的开关状态。
  • 小米电视 (MiTV) 控制: 控制小米电视的开关机及状态查询。
  • Web 管理界面: 提供直观的网页后台,方便管理和操作上述设备。

环境配置

本项目推荐使用 uv 进行 Python 环境管理和依赖安装,以获得更快的安装速度。

1. 安装 uv

如果你还没有安装 uv,请参考官方文档进行安装。

Windows (PowerShell):

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS / Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

2. 创建虚拟环境

在项目根目录下运行以下命令创建虚拟环境:

uv venv

此命令会在项目目录下创建一个 .venv 文件夹。

3. 激活虚拟环境

Windows:

.venv\Scripts\activate

macOS / Linux:

source .venv/bin/activate

4. 安装依赖

使用 uv 安装项目所需依赖:

uv pip install -r requirements.txt

配置文件说明

项目依赖以下配置文件,请根据实际部署环境修改(通常有 _prod_test 两个版本,生产环境请使用 _prod):

  • ha_config_prod.yaml: Home Assistant 连接配置(地址、Token、实体ID等)。
  • kodi_config_prod.yaml: Kodi 播放器连接配置(地址、端口、账号密码等)。
  • led_config.yaml: LED 灯效配置。
  • door_config.yaml: 门禁设备配置。
  • video_config_prod.yaml: 视频播放列表及对应的灯效配置。

运行项目

启动 Flask API 服务

确保虚拟环境已激活,然后运行:

python flask_api.py

或者使用便捷脚本:

Windows: 直接运行 run_flask_api.bat

Ubuntu / Linux: 先赋予执行权限,然后运行:

chmod +x run_flask_api.sh
./run_flask_api.sh

访问管理界面

服务启动后,默认监听 5050 端口。请在浏览器中访问:

http://localhost:5050

目录结构

  • api/: Flask Blueprint 路由接口定义。
  • application/: 核心业务逻辑线程(Kodi 监控、LED 控制等)。
  • hardware/: 底层硬件控制模块实现。
  • templates/: Web 前端页面模板。
  • utils/: 工具类(日志配置等)。
  • logs/: 系统运行日志。

API 文档

详细的 API 接口说明请参考 README_API.md