2d6c9f03ddaab2e985ab701ed02124b7e25e6b71
- dg430.py: 新增 DG430WaveStatus + parse_b4_wave_status() 0xB4解析 - dg430.py: 0x4C 扩展6字段(向后兼容旧版长度) - models.py: tb_fixture_param DDL + upsert 新增6个波动参数 - handlers.py: parse_loop 添加0xB4处理; 0x4C传参扩展 - TestMode=1 模拟过车→波动测试 (注释)
EDC 服务 (Edge Data Center)
测试工装边缘数据中心 — Python 实现,基于 uvloop 的高性能异步网络服务。
系统架构
TCP/UDP ┌─────────────────────────────────────┐
◄─────────────► │ EDC 服务 │
│ │
UDP :5500 ───► │ 设备发现 / 心跳 / 信息查询 │
UDP :5505 ───► │ 消息监听 │
TCP :5550 ───► │ 时间同步 / 数据上报 / 串口透传 │
│ │
│ 后台解析服务 ──► DG430 协议 → MySQL │
└─────────────────────────────────────┘
快速开始
# 创建虚拟环境
python3 -m venv .venv && source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 设置环境变量
export EDC_MYSQL_HOST=127.0.0.1
export EDC_MYSQL_USER=root
export EDC_MYSQL_PASSWORD=your_password
export EDC_MYSQL_DB=edc
# 确保数据库已创建
mysql -u root -e "CREATE DATABASE IF NOT EXISTS edc CHARACTER SET utf8mb4"
# 启动
python run.py
配置
所有配置通过环境变量,见 src/config.py:
| 变量 | 默认值 | 说明 |
|---|---|---|
EDC_UDP_PORT |
5500 | UDP 设备发现端口 |
EDC_UDP_MSG_PORT |
5505 | UDP 消息监听端口 |
EDC_TCP_PORT |
5550 | TCP 数据上报端口 |
EDC_BIND_HOST |
0.0.0.0 | 绑定地址 |
EDC_MYSQL_HOST |
127.0.0.1 | MySQL 地址 |
EDC_MYSQL_PORT |
3306 | MySQL 端口 |
EDC_MYSQL_USER |
root | 数据库用户 |
EDC_MYSQL_PASSWORD |
— | 数据库密码 |
EDC_MYSQL_DB |
edc | 数据库名 |
EDC_PARSE_POLL_INTERVAL |
0.5 | 解析轮询间隔(秒) |
EDC_LOG_LEVEL |
INFO | 日志级别 |
协议参考
目录结构
edc_server/
├── run.py # 入口
├── requirements.txt # uvloop, aiomysql
└── src/
├── config.py # 环境变量配置
├── models.py # MySQL 连接池 + 表结构 + CRUD
├── protocol.py # PGLC JSON 协议解析
├── dg430.py # DG430 二进制协议解析
├── handlers.py # 业务处理 + 后台解析服务
└── server.py # UDP/TCP 异步服务主程序
Description
Languages
Python
100%