Files
edc_server/README.md
2026-05-27 10:34:15 +08:00

2.6 KiB
Raw Blame History

EDC 服务 (Edge Data Center)

测试工装边缘数据中心 — Python 实现,基于 uvloop 的高性能异步网络服务。

系统架构

 TCP/UDP         ┌─────────────────────────────────────┐
◄─────────────►  │              EDC 服务                │
                 │                                     │
 UDP :5500  ───► │  设备发现 / 心跳 / 信息查询           │
 UDP :5505  ───► │  消息监听                            │
 TCP :5550  ───► │  时间同步 / 数据上报 / 串口透传       │
                 │                                     │
                 │  后台解析服务 ──► DG430 协议 → MySQL  │
                 └─────────────────────────────────────┘

快速开始

# 安装依赖
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 异步服务主程序