--[[ @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