wangfq
|
c875cf383b
|
fix: 修复 HeartBeat 大小写不匹配导致交互未被记录的问题
根本原因: 设备发送 Method='HeartBeat'(大写B), 代码匹配'Heartbeat'(小写b),
心跳包被静默忽略, record_interaction 未调用, 导致监控误判为离线。
修复:
- UDP/TCP 方法匹配改为 case-insensitive (method_lower)
- handle_timestamp 增加 record_interaction 调用 (TimeStamp 也是设备交互)
- TCP 连接/断开时写入 tb_device_log 事件日志 (tcp_connect/tcp_disconnect)
|
2026-06-10 10:01:07 +08:00 |
|
wangfq
|
ef890fafc6
|
feat: 设备事件日志 + 在线/离线状态监控
- 新增 tb_device_log 表 (device_serial, device_ip, event_type, event_content, create_time)
- dnt_info.state 扩展为 0=离线 1=在线 2=通信不良
- handle_count_off 收到 Count_Off 后写入 login 事件日志
- 新增 device_status_monitor 后台任务,每 5s 检测设备状态:
- 3次交互间隔均<10s → 在线
- 1分钟内<4次交互 → 通信不良
- >1分钟无交互 → 离线
- 状态变化时同步写入 tb_device_log + dnt_info
- 所有设备交互点 (心跳/TSReport/SerialNet/解析成功) 均记录 interaction 时间戳
|
2026-06-10 09:14:24 +08:00 |
|
wangfq
|
e7c20c69d2
|
feat: 工装配置功能 — 新增 0x4A~0x4E 协议解析、tb_fixture_param/tb_vechicle_base_test 表、SerialNet 响应匹配
- dg430.py: 新增 parse_4a_version, parse_flag_response, parse_4c_params, get_packet_cmd
- handlers.py: parse_loop 增加 0x4C/非B2 指令处理,0x4C 响应自动更新 tb_fixture_param
- handlers.py: 测试指令(B0/B1/BA/BB/BC)Flag 不匹配 serialnet,仅 B2 标记完成
- handlers.py: 新增 serialnet_response_loop 处理 dat_type=9
- models.py: 新增 tb_fixture_param + tb_vechicle_base_test 表 DDL + CRUD
- server.py: 注册 serialnet_response_loop
|
2026-05-29 17:25:54 +08:00 |
|
wangfq
|
df461362f5
|
fix: serialnet_loop 改为直接查 tb_serialnet,不依赖 _registry
|
2026-05-28 12:08:29 +08:00 |
|
wangfq
|
7a6f56339c
|
feat: 新增 tb_serialnet 透传发送表 + serialnet_loop 轮询下发 + B2响应匹配 + 超时检测
|
2026-05-28 09:40:28 +08:00 |
|
wangfq
|
8c5389670d
|
fix: 修正设备接入流程
- Count_Off 改为读取 Data.Device_id (设备返回格式), 不再回复设备
- TimeStamp 改为同步函数 (无异步 IO)
- TCP 改用 JSON 流解析 (raw_decode), 支持紧凑 JSON 和 NDJSON
- TSReport/SerialNet 返回确认消息
|
2026-05-27 14:17:36 +08:00 |
|
wangfq
|
a10d176f68
|
feat: EDC 服务 — Python/uvloop 实现,UDP/TCP 异步网络服务
|
2026-05-27 10:23:15 +08:00 |
|