diff --git a/README.md b/README.md index 474ecaa..95f1e05 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # DTU-RemoteLCD - 远程显示通信工具 -与 **RemoDispBus** 协议兼容的远程 LCD 显示与按键模拟工具。通过网络连接 DTU 装置,实时查看 LCD 显存画面并模拟按键操作,适用于调试、监控等场景。 +与 **RemoDispBus** 协议兼容的远程 LCD 显示与按键模拟工具。通过网络连接 DTU 装置,在 Web 浏览器中实时查看 LCD 画面并模拟按键操作,适用于调试、监控等场景。 ## 功能特性 -- **实时屏幕显示**:将装置 LCD 显存以 1bpp 位图形式拉取并渲染 +- **实时屏幕显示**:将装置 LCD 显存以 1bpp 位图形式拉取并渲染为 PNG - **按键模拟**:支持方向键、确认、返回、复归等按键 -- **多种使用方式**:命令行、GUI、Web 浏览器 -- **WebSocket 传输**:Web 版采用 Socket.IO,服务端主动推送,低延迟 +- **WebSocket 传输**:采用 Socket.IO,服务端主动推送,约 100ms 刷新 +- **跨平台**:浏览器访问,无需安装客户端 ## 环境要求 @@ -22,13 +22,16 @@ pip install -r requirements.txt ``` -### 2. Web 界面(推荐) +### 2. 启动服务 ```bash python remo_disp_server.py [装置IP] ``` -启动后访问 **http://localhost:8181**,在页面中: +启动后访问 **http://localhost:8181**。 + +### 3. 使用说明 + - 点击「连接」→ 输入装置 IP 和端口(默认 7003)→ 连接 - 左侧显示装置 LCD 画面(约 100ms 刷新) - 右侧使用方向键、确认、复归、返回进行按键操作 @@ -40,46 +43,15 @@ python remo_disp_server.py [装置IP] python remo_disp_server.py 192.168.253.3 ``` -### 3. 命令行工具 - -```bash -# 获取初始化信息(屏幕宽高、显存大小) -python remo_disp_client.py 192.168.1.100 --init - -# 拉取显存并保存为 screen.png -python remo_disp_client.py 192.168.1.100 --screen - -# 发送按键 (U/D/L/R/ENT/ESC/F1/F2) -python remo_disp_client.py 192.168.1.100 --key ENT - -# 发送 KEEPLIVE -python remo_disp_client.py 192.168.1.100 --keepalive - -# 指定端口 -python remo_disp_client.py 192.168.1.100 -p 7003 --screen -``` - -### 4. GUI 查看器 - -```bash -python remo_disp_viewer.py 192.168.1.100 -``` - -- 连接装置并实时显示 LCD 画面 -- 点击按键模拟远程按键 -- 点击「刷新」重新拉取显存 - ## 项目结构 ``` DTU-RemoteLCD/ ├── remo_disp_server.py # Web 服务(Flask + Socket.IO) -├── remo_disp_ui.html # Web 前端页面 -├── remo_disp_client.py # 命令行客户端 -├── remo_disp_viewer.py # Tkinter GUI 查看器 -├── requirements.txt # Python 依赖 -├── static/ # 静态资源(可选) -│ └── favicon.ico # 网站图标 +├── remo_disp_ui.html # Web 前端页面 +├── requirements.txt # Python 依赖 +├── static/ # 静态资源(可选) +│ └── favicon.ico # 网站图标 └── README.md ``` @@ -113,7 +85,7 @@ DTU-RemoteLCD/ | R | 0x08 | 右 | | ENT | 0x20 | 确认 | | ESC | 0x01 | 返回/取消 | -| F1/RESET | 0x04 | 复归 | +| RESET | 0x04 | 复归 | | F2 | 0x80 | F2 | ## 依赖说明 @@ -125,8 +97,6 @@ DTU-RemoteLCD/ | python-socketio | Socket.IO 服务端 | | Pillow | 1bpp 位图转 PNG | -`remo_disp_client.py` 仅需 Python 标准库;`remo_disp_viewer.py` 使用 Tkinter(Python 自带)。 - ## 配置说明 - **Web 服务端口**:默认 8181,在 `remo_disp_server.py` 的 `main()` 中修改 diff --git a/requirements.txt b/requirements.txt index 239e3b9..ed6c7e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,5 @@ -# 远程显示工具依赖 -# 命令行工具 remo_disp_client.py 仅需 Python 标准库 -# Web 服务 remo_disp_server.py 需要 Flask + flask-socketio -# 保存 PNG 需要 Pillow(可选) +# 远程显示 Web 服务依赖 +# remo_disp_server.py 需要 Flask + flask-socketio + Pillow Flask>=2.0.0 Pillow>=9.0.0 flask-socketio>=5.0.0