更新 Readme 的内容,删除不必要的文件

This commit is contained in:
2026-03-02 20:16:22 +08:00
parent 7b540e1ed4
commit 391fae9f0e
3 changed files with 101 additions and 623 deletions

130
README.md
View File

@@ -1,23 +1,49 @@
# DTU-RemoteLCD - 远程显示通信工具
网络调试的远程显示 LCD 模拟软件。与 `HMI/RemoeDisp/RemoDispBus.c` 协议兼容的 Python 客户端,用于远程查看装置 LCD 显存并模拟按键。
**RemoDispBus** 协议兼容的远程 LCD 显示与按键模拟工具。通过网络连接 DTU 装置,实时查看 LCD 显存画面并模拟按键操作,适用于调试、监控等场景
## 协议说明
## 功能特性
- **端口**: 7003
- **报文格式**:
- 工具 → 装置: `[0xAA][功能码][长度高][长度低][数据...][CRC]`
- 装置 → 工具: `[0xBB][功能码][长度高][长度低][数据...][CRC]`
- **CRC**: 数据区异或校验
- **功能码**: KEEPLIVE=0, INIT=1, KEY=2, LCDMEM=3
- **实时屏幕显示**:将装置 LCD 显存以 1bpp 位图形式拉取并渲染
- **按键模拟**:支持方向键、确认、返回、复归等按键
- **多种使用方式**命令行、GUI、Web 浏览器
- **WebSocket 传输**Web 版采用 Socket.IO服务端主动推送低延迟
## 命令行工具 (remo_disp_client.py)
## 环境要求
- Python 3.7+
- 与 DTU 装置网络互通(默认端口 7003
## 快速开始
### 1. 安装依赖
```bash
# 安装可选依赖(用于保存 PNG
pip install -r requirements.txt
```
# 获取初始化信息
### 2. Web 界面(推荐)
```bash
python remo_disp_server.py [装置IP]
```
启动后访问 **http://localhost:8181**,在页面中:
- 点击「连接」→ 输入装置 IP 和端口(默认 7003→ 连接
- 左侧显示装置 LCD 画面(约 100ms 刷新)
- 右侧使用方向键、确认、复归、返回进行按键操作
- 点击「断开」断开与装置的连接
**可选预连接**:启动时传入 IP 可预连接装置,例如:
```bash
python remo_disp_server.py 192.168.253.3
```
### 3. 命令行工具
```bash
# 获取初始化信息(屏幕宽高、显存大小)
python remo_disp_client.py 192.168.1.100 --init
# 拉取显存并保存为 screen.png
@@ -28,9 +54,12 @@ 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
```
## GUI 查看器 (remo_disp_viewer.py)
### 4. GUI 查看器
```bash
python remo_disp_viewer.py 192.168.1.100
@@ -40,27 +69,70 @@ python remo_disp_viewer.py 192.168.1.100
- 点击按键模拟远程按键
- 点击「刷新」重新拉取显存
## Web 界面 (remo_disp_server.py + remo_disp_ui.html)
## 项目结构
```bash
pip install flask
python remo_disp_server.py
```
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 # 网站图标
└── README.md
```
启动后访问 http://localhost:8080 ,界面包含:
- 顶部菜单:连接、设置、退出、关于
- 左侧显示区:装置 LCD 画面(约 500ms 刷新)
- 右侧控制:方向键 + 确认、复归、返回
## 协议说明RemoDispBus
`HMI/RemoeDisp/RemoDispBus.c` 兼容:
| 项目 | 说明 |
|------|------|
| **端口** | 7003 |
| **工具 → 装置** | `[0xAA][功能码][长度高][长度低][数据...][CRC]` |
| **装置 → 工具** | `[0xBB][功能码][长度高][长度低][数据...][CRC]` |
| **CRC** | 数据区逐字节异或,取低 8 位 |
**功能码**
| 码 | 名称 | 说明 |
|----|------|------|
| 0 | KEEPLIVE | 保活 |
| 1 | INIT | 初始化,获取屏幕宽高、显存大小 |
| 2 | KEY | 按键 |
| 3 | LCDMEM | 读取显存(屏幕画面) |
## 按键映射
| 键名 | |
| 键名 | 协议码 | 说明 |
|------|--------|------|
| U | 0x02 | 上 |
| D | 0x40 | 下 |
| L | 0x10 | 左 |
| R | 0x08 | 右 |
| ENT | 0x20 | 确认 |
| ESC | 0x01 | 返回/取消 |
| F1/RESET | 0x04 | 复归 |
| F2 | 0x80 | F2 |
## 依赖说明
| 依赖 | 用途 |
|------|------|
| 上 | 0x02 |
| 下 | 0x40 |
| 左 | 0x10 |
| 右 | 0x08 |
| 确认 | 0x20 |
| 取消 | 0x01 |
| F1 | 0x04 |
| F2 | 0x80 |
| Flask | Web 框架 |
| flask-socketio | WebSocket 支持 |
| python-socketio | Socket.IO 服务端 |
| Pillow | 1bpp 位图转 PNG |
`remo_disp_client.py` 仅需 Python 标准库;`remo_disp_viewer.py` 使用 TkinterPython 自带)。
## 配置说明
- **Web 服务端口**:默认 8181`remo_disp_server.py``main()` 中修改
- **装置端口**:默认 7003连接时可输入自定义端口
- **Favicon**:将 `favicon.ico` 放入 `static/` 目录即可显示网站图标
## 许可证
本项目仅供内部调试使用。