feat(vd960Air): 配置同步改用 0x8F 本机侧私有帧;MQTT 凭据外置到非跟踪文件

- readme §2.2/§3:0x7D 帧设计稿 v0.2 作废,改写为「0x7F 业务帧字节流 + 0x8F 本机侧私有帧」
  (权威源规则 / 拉取为主+推送为辅 / 帧长上限 260B / 两侧缓冲需同步扩容),依据协议 §6.9
- readme §3.1:对比表由 0x7D 改为 0x8F,保留 0x7F 帧布局参考
- config.lua / uart_app.lua:注释中的 0x7D 计划改为 0x8F 配置同步;协议版本引用 V1.13 → V1.14
- config.lua:MQTT 账号密码不再明文入库,改从 cred.lua 读取;缺失时降级为空串(匿名连接)
- 新增 .gitignore(忽略 cred.lua)+ cred.lua.example(填写模板)
  ⚠ 原明文凭据已存在于 git 历史,商用前必须更换服务器密码
- 语法:luac5.3 -p config.lua / cred.lua / uart_app.lua 全部通过
This commit is contained in:
wangfq
2026-09-10 21:46:02 +08:00
parent 2f75f5abff
commit 28418dab66
5 changed files with 79 additions and 38 deletions
@@ -6,19 +6,29 @@
vd960Air 是 Air8781P 整板(Air780EPM 核心模组)上的 LuatOS 应用,
作为 vd960DBN 车检器在有线网络失效时的 4G 兜底通道(方案 C: Air780 协议转换)。
协议依据:《DLD960_IoT_MQTT协议》V1.13(4G 通道适配方案 C,标准 JSON 命令面)
协议依据:《DLD960_IoT_MQTT协议》V1.14(4G 通道适配方案 C,标准 JSON 命令面)
]]
-- ==================== MQTT 服务器 ====================
-- 测试服务器(2026-09-10 用户提供): 110.41.131.144:1883, admin/password
-- 注: 后续 vd960DBN 更新版本后,经 BLE 设置的服务器参数会同步下发覆盖此处(配置同步, P1)
-- ⚠ 商用环境须替换为平台实际地址; 密码不应长期写死在代码里(应走 §2.2 配置同步链路)
CFG_MQTT_HOST = "110.41.131.144"
CFG_MQTT_PORT = 1883
-- 测试服务器(2026-09-10 用户提供): host/port 见下(出厂默认值)
-- 注: 后续 vd960DBN 更新版本后,经 BLE 设置的服务器参数会同步下发覆盖此处(配置同步, 协议 §6.9)
-- ⚠ 商用环境须替换为平台实际地址
--
-- 敏感凭据从非跟踪文件 cred.lua 读取(不入版本库; 模板见 cred.lua.example)
-- 缺失时为空串 -> 匿名连接(不崩, 仅 broker 侧鉴权失败后按重连逻辑重试)
-- ⚠ 2026-09-10 之前凭据曾明文写在 config.lua 并已入库(git 历史), 商用前必须更换服务器密码
local _cred_ok, _cred = pcall(require, "cred")
if not _cred_ok or type(_cred) ~= "table" then
_cred = {}
if log then log.warn("config", "cred.lua 缺失或非法 -> 凭据为空(匿名), 请复制 cred.lua.example") end
end
CFG_MQTT_HOST = _cred.mqtt_host or "110.41.131.144"
CFG_MQTT_PORT = _cred.mqtt_port or 1883
-- MQTT 鉴权(mqtt_main 调用 mqtt_client:auth; 空串表示匿名)
CFG_MQTT_USER = "admin"
CFG_MQTT_PASS = "password"
CFG_MQTT_USER = _cred.mqtt_user or ""
CFG_MQTT_PASS = _cred.mqtt_pass or ""
-- ==================== 设备标识 ====================
-- 设备序列码: 6 字节十六进制字符串(与 vd960DBN dev_serial 一致,有线/4G 同一设备)
@@ -45,7 +55,7 @@ CFG_UART_ID = 1
CFG_UART_BAUD = 115200
-- 链路帧: 0x7F 帧字节流(方案 C,数据面透传 Loop 地感协议)
-- 0x7D 帧仅用于 DBN↔Air780 配置同步/握手(P1)
-- 0x8F 本机侧私有帧用于 DBN↔Air780 配置同步(拉取+推送,协议 §6.9)(P1)
-- ==================== 上报节奏 ====================
CFG_HEARTBEAT_INTERVAL = 60 -- 心跳周期(秒,协议 §5.4 默认 60)