Files
mobile_comm/luatos/air780epm/module/Air780EPM/demo/vd960Air/link_info.lua
T
wangfq d994013517 feat(vd960Air): 4G 特有字段 link 注入 + 用户决策落地
用户决策(2026-08-31):
1. 波特率默认 115200,后续再调
2. dev_serial 与有线通道同一序列号;4G 上报附加 IMEI/流量卡ICCID/IMSI/MSISDN/CSQ
3. 4G 适配并入《DLD960_IoT_MQTT协议》主协议,4G 特有部分单独标注

实现:
- link_info.lua: 采集 mobile.imei()/iccid()/imsi()/msisdn()/csq()
- uart_app.lua: 上行 json.decode → 注入顶层 link 对象 → encode(解析失败原样转发)
- config.lua: CFG_LINK_ENABLE 开关
- readme: §2.1 link 字段定义 + 决策记录/待确认清单更新
2026-08-31 11:54:34 +08:00

36 lines
1.3 KiB
Lua

--[[
@module link_info
@summary 4G 链路信息采集: IMEI / 流量卡ICCID / IMSI / 手机号 / CSQ 信号
@date 2026.08.31
@usage
4G 通道特有字段,随上行 JSON 注入(顶层 link 对象,平台可选解析,不破坏主协议结构)。
字段说明(接入《DLD960_IoT_MQTT协议》4G 通道适配章节时一并标注):
- imei: 4G 模块 IMEI(mobile.imei())
- iccid: 流量卡 ICCID(mobile.iccid();卡商未写入返回 nil → 置空串)
- imsi: IMSI(mobile.imsi();部分运营商/测试卡返回 nil)
- msisdn: 手机号(mobile.msisdn();物联网卡通常拿不到 → 置空串)
- csq: 信号强度 0-31(mobile.csq();越大越好,31=最强,99/255=无信号)
- net: 网络制式(当前 4G 通道固定 "4G";后续若支持 5G 或以太网备份可扩展)
]]
local link_info = {}
-- 实时采集(CSQ 每次调用现读;若需降低开销,可改为定时缓存刷新)
function link_info.get()
local csq = mobile.csq() or 0
-- mobile.csq() 在某些固件返回 table(如 {csq=xx, ber=xx});此处兼容
if type(csq) == "table" then
csq = csq.csq or 0
end
return {
imei = mobile.imei() or "",
iccid = mobile.iccid() or "",
imsi = mobile.imsi() or "",
msisdn = mobile.msisdn() or "",
csq = csq,
net = "4G",
}
end
return link_info