wangfq 944870496a fix: 继电器输出状态解析改为完整的 有/无 描述格式
旧格式: '存在信号; 脉冲信号' (仅显示置位的 bit)
新格式: '存在继电器有输出,脉冲继电器有输出' (始终显示两个 bit 的状态)

bit 0 (x & 0x01): 存在继电器有/无输出
bit 1 (x & 0x02): 脉冲继电器有/无输出
2026-06-10 16:25:31 +08:00

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
EDC 边缘数据中心 — 车检器测试工装后端服务 (Python/uvloop)
Readme 301 KiB
Languages
Python 100%