feat(vd960Air): 方案 C MVP — 0x7F 帧解析 + 标准 JSON 上报(2026-08-31)
协议依据:《DLD960_IoT_MQTT协议》V1.13(4G 通道适配方案 C) 新增模块: - frame_parser.lua: 0x7F 帧解析状态机(Lua 版 lup_feed_byte, XOR+SUM 校验) - proto_conv.lua: 0xC0 传感帧 → loop_data + car_state/loop_state 沿检测(4 类线圈事件) - evt_queue.lua: event_report 队列 + ACK 状态机(16深/5s×3/跨重连同 msg_id,对齐 DBN) - clock.lua: report_config 时钟校准(协议 §2.3) - app_iot.lua: initialize(extra_info imei/iccid + link)/ heartbeat / poll 驱动 - tools/sim_frame_test.py: 帧协议参考验证(56B 帧/4 路解析/沿检测/JSON 格式,全过) 改造: - uart_app.lua: 0x7D 帧 → 0x7F 帧驱动;loop_data/event_report 组包 + link 注入 - mqtt_receiver.lua: 下行分发(ACK 路由 + 时钟校准) - mqtt_main.lua: 连接成功 → initialize + 未决事件重发 - config.lua/main.lua: 方案 C 配置与入口 MVP 范围: 上行(initialize/loop_data/event_report/heartbeat)+ report_config; 下行命令转换与 0x7D 配置同步列入 P1。
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
--[[
|
||||
@module main
|
||||
@summary vd960Air — Air8781P(Air780EPM) 4G 模块 LuatOS 应用入口
|
||||
@version 0.1
|
||||
@summary vd960Air — Air8781P(Air780EPM) 4G 模块 LuatOS 应用入口(方案 C MVP)
|
||||
@version 0.3
|
||||
@date 2026.08.31
|
||||
@usage
|
||||
vd960DBN 车检器在有线网络无效时的 4G 兜底通道(UART <-> MQTT 桥):
|
||||
vd960DBN 车检器在有线网络失效时的 4G 兜底通道(方案 C: Air780 协议转换):
|
||||
|
||||
1、UART1 对接 vd960DBN(CH32V208 串口1 PB6/PB7),帧协议见 uart_app.lua;
|
||||
2、上行: vd960DBN JSON 帧 → 4G → MQTT publish 到 dld960/{sn}/dev
|
||||
(JSON 命令面与《DLD960_IoT_MQTT协议》V1.10 完全一致,平台侧无感);
|
||||
3、下行: MQTT 订阅 dld960/{sn}/srv → 4G → 组帧 → UART1 下发 vd960DBN;
|
||||
4、网络看门狗: 长时间无网络业务则重启系统(官方 network_watchdog);
|
||||
5、网卡: 仅 4G(netdrv_4g)。
|
||||
1、UART1 对接 vd960DBN(CH32V208 串口1 PB6/PB7),0x7F 帧字节流透传;
|
||||
2、0x7F 帧解析 → 0xC0 传感 → loop_data JSON(标准,注入 link)→ MQTT dld960/{sn}/dev;
|
||||
3、car_state/loop_state 沿检测 → event_report(ACK + 5s×3 重发,对齐 DBN 语义);
|
||||
4、下行: report_config 时钟校准 + event_report ACK;业务命令转换 P1;
|
||||
5、initialize(extra_info imei/iccid + link)/ heartbeat 周期上报;
|
||||
6、网络看门狗 + 4G 网卡(官方组件)。
|
||||
]]
|
||||
PROJECT = "vd960Air"
|
||||
VERSION = "001.999.000"
|
||||
@@ -28,9 +28,13 @@ require "network_watchdog"
|
||||
-- ==================== 网卡驱动(仅 4G) ====================
|
||||
require "netdrv_device"
|
||||
|
||||
-- ==================== 串口应用(UART1 <-> vd960DBN) ====================
|
||||
-- ==================== 串口应用(UART1 <-> vd960DBN,0x7F 帧) ====================
|
||||
require "uart_app"
|
||||
|
||||
-- ==================== 设备业务(initialize/heartbeat/poll) ====================
|
||||
local app_iot = require "app_iot"
|
||||
app_iot.init()
|
||||
|
||||
-- ==================== MQTT 客户端(单路, 主题 dld960/{sn}/srv + dev) ====================
|
||||
require "mqtt_main"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user