DLMS/COSEM 蓝皮书解读(三十五):GSM diagnostic(class_id = 47)—— 蜂窝模组自我体检:注册/信号/小区/邻区(v0/v1 合并)
DLMS/COSEM 蓝皮书解读三十五GSM diagnosticclass_id 47—— 蜂窝模组自我体检注册/信号/小区/邻区v0/v1 合并系列说明本系列基于 DLMS UA《Blue Book蓝皮书第 16 版 · 第 2 部分》一个接口类一篇。第 34 篇讲了SMTP setupclass_id 46它让电表能发邮件。本篇的GSM diagnosticclass_id 47回到通信可观测性回答蜂窝模组GSM/GPRS/UMTS/LTE/CDMA此刻状态如何——注册、信号、小区、邻区。上篇回顾第 34 篇SMTP setup负责把告警/数据通过邮件发出去本篇则是蜂窝模组自身的体检表用来诊断为什么这台表连不上网。原文含 version 0 与 version 1本篇合并讲解并严格标注 v1 相对 v0 的扩展。0. 为什么需要这个类 —— 排查这台表为什么连不上网的第一手数据蜂窝网络时刻在变注册状态、信号强度、邻区切换……。电表或集中器带 GPRS/4G 模块要能把这些参数记下来才能诊断通信故障。蓝皮书对它的定位蓝皮书原文v0 Overview“The GSM/GPRS network is undergoing constant changes in terms of registration status, signal quality etc. It is necessary to monitor and log the relevant parameters in order to obtain diagnostic information that allows identifying communication problems in the network.”蓝皮书原文v0 Overview“A GSM diagnostic – Profile generic object is also available to capture the attributes of the GSM diagnostic object, see , 6.5.”即本类的属性可以被一个Profile genericclass_id 7第 7 篇对象定时捕获形成信号质量历史曲线——这是它最有用的玩法之一。蓝皮书原文v1 Overview扩展网络类型“An instance of the ‘GSM diagnostic’ class stores parameters of the GSM/GPRS, UMTS, CDMA or LTE network necessary for analysing the operation of the network.”1. 类蓝图1.1 属性表version 0 与 version 1两类版本属性名/数量完全一致都是 8 个差异在个别字段的类型与枚举取值见第 2/3 节。下表为 v0 基准v1 差异单独标注。#属性名读写数据类型默认值Short name说明1logical_namestaticoctet-string—x对象实例名OBIS2operatordyn.visible-string—x 0x08运营商名称3statusdyn.enum (0–255)0x 0x10注册状态4cs_attachmentdyn.enum (0–255)0x 0x18电路交换状态5ps_statusdyn.enum (0–255)0x 0x20分组交换状态6cell_infodyn.cell_info_type—x 0x30当前小区信息7adjacent_cellsdyn.array—x 0x38邻区列表8capture_timedyn.date-time—x 0x40采集时刻没有方法Specific methods 栏为空。注除logical_name为 static其余 7 个都是 dyn.动态由模组实时更新。Short name 偏移 v0/v1 相同。2. 属性逐条拆解2.1operator蓝皮书原文“Holds the name of the network operator e.g. ‘YourNetOp’”运营商显示名如China Mobile。纯字符串。2.2status注册状态蓝皮书原文(0) not registered, (1) registered, home network, (2) not registered, but MT is currently searching a new operator to register to, (3) registration denied, (4) unknown, (5) registered, roaming, (6) … (255) reserved值含义0未注册1已注册归属网络home2未注册正在搜索运营商3注册被拒4未知5已注册漫游roaming6–255保留排查口诀status0/2说明没注上网搜网/无卡/信号差status3是被运营商拒绝SIM/签约问题status5漫游注意流量资费。2.3cs_attachment电路交换状态蓝皮书原文(0) inactive, (1) incoming call, (2) active, (3) … (255) reserved值含义0非激活1来电中2活跃通话中3–255保留电表一般用不到语音此字段多为 0但做来电触发回拨见第 25 篇Auto answerclass_id 28时会变 1/2。2.4ps_status分组交换状态v0 vs v1 不同v0蓝皮书原文v0(0) inactive, (1) GPRS, (2) EDGE, (3) UMTS, (4) HSDPA, (5) … (255) reservedv1新增 LTE / CDMA蓝皮书原文v1(0) inactive, (1) GPRS, (2) EDGE, (3) UMTS, (4) HSDPA, (5) LTE, (6) CDMA, (7)…(255) reserved值v0 含义v1 含义0非激活非激活1GPRSGPRS2EDGEEDGE3UMTSUMTS4HSDPAHSDPA5保留LTE6保留CDMA7–255保留保留⚠️ 版本差异重点v0 的 5/6 是保留v1 的 5LTE、6CDMA。读ps_status5时要先看对象版本——v0 下它没意义v1 下它是已附着 LTE。2.5cell_info当前小区信息v0 vs v1 结构不同v0cell_info_type :: structure { cell_ID: long-unsigned, // 2 字节小区 IDhex location_ID: long-unsigned, // 2 字节 LAChex signal_quality: unsigned, ber: unsigned }v1扩展为 7 字段cell_info_type :: structure { cell_ID: double-long-unsigned, // 4 字节小区 IDhex location_ID: long-unsigned, // 2 字节 LAC/GSM 或 TAC/UMTS/CDMA/LTEhex signal_quality: unsigned, ber: unsigned, mcc: long-unsigned, // 新增Mobile Country Code mnc: long-unsigned, // 新增Mobile Network Code channel_number: double-long-unsigned // 新增ARFCN / eaRFCN(LTE) }关键字段语义cell_IDv0 是两字节hexv1 是四字节hex。location_IDv0 称 LACv1 明确GSM 下是 LACUMTS/CDMA/LTE 下是 TAC。蓝皮书原例00C3 195十进制。signal_quality信号质量映射蓝皮书原文(0) –113 dBm or less, (1) –111 dBm, (2…30) –109…–53 dBm, (31) –51 or greater, (99) not known or not detectableber误码率蓝皮书原文(0–7) as RXQUAL_n values specified in ETSI GSM 05.08:1996, 8.2.4. (99) not known or not detectablev1 新增mcc/mnc服务网络的移动国家码/移动网络码。v1 新增channel_number绝对射频信道号ARFCNLTE 下为 eaRFCN。2.6adjacent_cells邻区列表v0adjacent_cells :: array adjacent_cell_info adjacent_cell_info :: structure { cell_ID: long-unsigned, signal_quality: unsigned }v1cell_ID升为double-long-unsigned四字节signal_quality同前。用途看邻区信号判断是否该切到更强的小区——弱覆盖诊断利器。2.7capture_time蓝皮书原文“Holds the date and time when the data have been last captured. date-time is formatted as specified in 4.6.1.”即最近一次采集时刻按第 4.6.1 节的date-time格式12 字节见第 4 篇Extended register的capture_time拆解。3. 方法无Specific methods 栏为空。本类是只读诊断属性由模组自动更新没有 action。4. 实战举例示例 1正常附着 GPRS 的快照属性值v0 设备示例operatorChina Mobilestatus1homecs_attachment0ps_status1GPRScell_info{cell_ID0x0A1B, location_ID0x00C3, signal_quality22, ber1}adjacent_cells[{0x0A1C, 18}, {0x0A1D, 12}]capture_time2026-04-01 10:30:00示例为工程示意非蓝皮书原文signal_quality22 对应约 -67 dBm在 -53…-109 区间按公式 22→-1092*(22-2)-10940-69 附近具体映射依原文分段。示例 2搜网失败的故障快照status2searching、ps_status0inactive、signal_quality0≤-113 dBm、operator—— 典型地下室/无覆盖/SIM 接触不良。依枚举语义工程示意。示例 3v1 设备的 LTE 快照含 mcc/mnc/信道ps_status5LTE、cell_info{cell_ID0x000A1B2C, location_ID0x00C3, signal_quality28, ber2, mcc460, mnc0, channel_number0x0832}—— mcc460 是中国、mnc0 是移动、channel 0x08322098 是某 LTE 频点。依 v1 结构工程示意。示例 4与Profile generic(7) 联动做信号曲线按蓝皮书提示建一个Profile genericcapture_objects选本对象的signal_quality/status/ps_statuscapture_period设 900 秒即可自动记录一天内信号质量变化曲线定位间歇性掉线。联动为工程示意非蓝皮书原文强调蓝皮书原文已明确可用 Profile generic 捕获本对象属性。示例 5SN 短名读取base namexstatusx0x10ps_statusx0x20cell_infox0x30capture_timex0x40。工程示意。示例 6A-XDR 读statusenum (tag [16]0x10) 0x01 // status registered, home工程示意。示例 7v0 vs v1cell_ID字节长度差异v0cell_info.cell_ID是long-unsigned2 字节v1 是double-long-unsigned4 字节。解析代码必须按对象版本分支否则把 v1 的 4 字节当 2 字节读会错位整个结构。依原文类型差异。示例 8注册被拒status3排查清单SIM 是否插好/是否欠费status3 registration denied是否在该运营商覆盖区结合signal_qualityAPN/认证是否在PPP setup(44)/第 24 篇Modem configuration(27) 配对设备是否被加黑结合第 31 篇Auto answer白名单/GAO。排查逻辑为工程示意非蓝皮书原文。示例 9完整诊断排查流程以下为工程示意、非蓝皮书原文依本类枚举语义串成排查树。读 GSM diagnostic(47) ├─ status 0/2 ? 未注册/搜网 → 查 SIM、覆盖(signal_quality)、APN(44/27) ├─ status 3 ? 注册被拒 → 查 SIM 签约、白名单(28/GAO) ├─ status 5 ? 漫游 → 注意资费 ├─ ps_status 0 ? 未附着数据 → 查 PPP/IPCP 认证 ├─ ps_status 5(LTE, 仅 v1) ? 已上 4G ├─ signal_quality 偏低(0~10) ? 弱覆盖 → 看 adjacent_cells 找更强小区 └─ capture_time 过旧 ? 模组未刷新 → 查模组电源/AT 通道示例 10v0 → v1 迁移核对清单以下为工程示意、非蓝皮书原文依据第 2.4/2.5 节的 v1 扩展。项v0v1迁移动作ps_status5/6保留LTE / CDMA解析程序加分支cell_info.cell_ID2 字节4 字节改读double-long-unsignedcell_info字段数47增 mcc/mnc/channel结构体重定义adjacent_cells[].cell_ID2 字节4 字节解析分支网络类型覆盖GSM/GPRS/UMTSCDMA/LTE枚举映射补全5. 工程上容易踩的坑ps_status5的含义看版本v0 是保留v1 是LTE——不确认版本会误判。cell_ID字节数看版本v0 两字节、v1 四字节解析必须分支否则结构错位。location_ID在 v1 可能是 TACGSM 叫 LAC、UMTS/CDMA/LTE 叫 TAC同一字段两种语义。全 dynamic、无方法别找 action值由模组实时写SET 无效。signal_quality是离散等级不是 dBm 连续值0–31 加 99要按原文分段换算近似 dBm别当线性 dBm 用。ber用 RXQUAL 等级0–7 99不是百分比连续值。配Profile generic抓历史要设 capture_period否则只抓到单点蓝皮书已明示本对象可被 Profile generic 捕获。v1 才有的 mcc/mnc/channel老解析程序读 v1 对象会漏这三个字段。cs_attachment多数场景为 0别因为它一直是 0 就以为模组坏了——电表通常不用语音。相邻类LTE monitoring(151) 不在本类原文末尾附带了LTE monitoringclass_id 151, v0含lte_quality_of_serviceT3402/T3412/RSRQ/RSRP/qRxlevMin那是另一个类本篇按一个 class 一篇不展开留作后续篇目。6. 小结 下期预告GSM diagnosticclass_id 47是蜂窝模组的体检表8 个属性operator/status/cs_attachment/ps_status/cell_info/adjacent_cells/capture_time全部 dynamic、无方法。v1 相对 v0 的关键扩展是ps_status增加 LTE(5)/CDMA(6)、cell_info与adjacent_cells的cell_ID从 2 字节升 4 字节、并新增mcc/mnc/channel_number。它可被Profile generic(7) 捕获成信号历史曲线。下一篇第 36 篇IPv6 setupclass_id 48—— 把第 30 篇的 IPv4 补齐为双栈IPv6 地址、前缀、网关、DNS 怎么建模。它和MAC address setup(43) 提到的IPv6 配置由 IPv6 setup 提供正好呼应。

相关新闻

SQL Server 2000离线部署与数据兼容性实战指南

SQL Server 2000离线部署与数据兼容性实战指南

简介:本资源为SQL Server 2000官方安装包完整镜像,面向数据库初学者、历史系统维护人员及企业遗留环境运维工程师,用于本地部署、功能验证、兼容性测试或教学演示。压缩包含1854个文件,总计401.96MB,以exe(…

2026/10/13 14:54:14 阅读更多 →
Streamyfin:基于 Expo 的现代 Jellyfin 视频客户端——核心功能、实验特性与开发环境搭建全指南

Streamyfin:基于 Expo 的现代 Jellyfin 视频客户端——核心功能、实验特性与开发环境搭建全指南

音视频移动开发 【免费下载链接】streamyfin A modern Jellyfin client built with Expo 项目地址: https://gitcode.com/gh_mirrors/st/streamyfin 点击查看 免费下载 Streamyfin 是一个使用 Expo 构建的 Jellyfin 视频流媒体客户端,定位为现有 Jellyf…

2026/10/13 14:54:14 阅读更多 →
激光雷达里面的芯片,到底在处理什么

激光雷达里面的芯片,到底在处理什么

目录 1 引言 2 激光雷达内部芯片完整处理链路 2.1 整机时序与硬件管控 2.2 信号数字化与 ToF 测距解算 2.3 多回波信号解析 2.4 点云预处理与噪声过滤 2.5 点云数据重组、坐标解算 2.6 点云压缩、编码输出 3 两种硬件架构:传统分立 FPGA 架构 VS SPAD‑SoC 数字化架构…

2026/10/13 14:54:14 阅读更多 →

最新新闻

电商盗图风险:搜索引擎下载的图片用于商品主图是否侵权

电商盗图风险:搜索引擎下载的图片用于商品主图是否侵权

在电商运营与内容创作中,许多从业者习惯通过搜索引擎直接保存图片作为商品主图或详情页素材。然而,搜索引擎仅作为信息索引工具,并不拥有图片版权,也未获得转授权许可。将来源不明的网络图片直接用于商业展示、广告投放或产品包装…

2026/10/13 15:37:33 阅读更多 →
5人销售团队用AI智能体每月省600小时:OpenRouter架构与实践

5人销售团队用AI智能体每月省600小时:OpenRouter架构与实践

先看一组我们自己算出来时都愣了一下的数字:5个人的销售团队,靠一套内部代号叫 Rasp 的 AI 智能体,每个月省下约600小时的等效工时。当时这个数字报上去,运营负责人第一反应是“你们是不是把等待时间也算进去了”。我说对&#xf…

2026/10/13 15:37:33 阅读更多 →
LiteLLM:统一LLM API调用的轻量级抽象层实战指南

LiteLLM:统一LLM API调用的轻量级抽象层实战指南

1. 项目概述:LiteLLM 是什么,它解决的到底是什么问题? LiteLLM 这个名字刚出现时,我第一反应是“又一个 LLM 封装库?”——毕竟市面上类似工具已经不少,从 LangChain 到 LlamaIndex,再到各种自研…

2026/10/13 15:37:33 阅读更多 →
Open-Code-Review:一种可落地的开源协作契约范式

Open-Code-Review:一种可落地的开源协作契约范式

1. 这不是代码审查工具,而是一套可落地的开源协作契约“open-code-review”这个标题乍看像某个新出的 GitHub Action 或 CLI 工具,但实际翻遍主流包管理器、GitHub Trending 和 Hacker News 近三个月热帖,都找不到一个叫这个名字的成熟项目。…

2026/10/13 15:37:33 阅读更多 →
artcraft:基于Canvas的轻量级创意工具架构与实现

artcraft:基于Canvas的轻量级创意工具架构与实现

1. 项目缘起与整体设计思路1.1 为什么会有 artcraft 这个想法做创意工具这些年,我越来越强烈地感受到一个矛盾:市面上要么是功能极其复杂、学习曲线陡峭的专业软件,要么是简单到只能做几个固定模板的在线工具。中间地带几乎是空白的——那种你…

2026/10/13 15:37:33 阅读更多 →
Docker备份迁移选型指南:save/load、export/import、commit全解析

Docker备份迁移选型指南:save/load、export/import、commit全解析

接手 Docker 环境迁移,或者在给线上容器做备份方案时,很多人第一反应是“把容器打个包带走”。真正到了目标服务器上才发现,docker export导出来的东西和docker save导出来的东西完全不是一回事,而docker commit又像是另一种玄学。…

2026/10/13 15:36:30 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →