NB-IoT 窄带物联网
2026/7/19大约 5 分钟通信协议无线通信NB-IoT蜂窝物联网LPWAN
NB-IoT 窄带物联网
一、概述
NB-IoT(Narrowband Internet of Things,窄带物联网)是 3GPP 定义的蜂窝级 LPWAN 技术,工作在运营商授权频段,具备低速率、低功耗、深覆盖、海量连接特点,广泛用于智能抄表、智慧路灯、环境监测、资产追踪。
一句话核心:NB-IoT 借用蜂窝网络(基站)实现广域覆盖——设备通过 AT 指令在运营商网络上注册、上报数据,无需自建网关,一个基站可接入数万设备。
二、与 LoRa 对比
| 维度 | NB-IoT | LoRa |
|---|---|---|
| 组网 | 运营商蜂窝网络 | 自建网关/私网 |
| 频段 | 授权频段(需 SIM) | 免授权频段 |
| 覆盖 | 运营商网络(深覆盖,室内/地下) | 需自建网关覆盖 |
| 速率 | 上行~200kbps | 0.3~50kbps |
| 功耗 | 低(PSM/eDRX) | 极低 |
| 移动性 | 支持 | 弱 |
| 成本 | SIM/流量费 | 无流量费 |
| 场景 | 公网海量/移动设备 | 私有/园区/偏远 |
关键理解:NB-IoT 和 LoRa 的最大区别是"用不用运营商网络"。NB-IoT 用运营商基站(覆盖广、需流量费),LoRa 自建网关(免流量、覆盖自管)。
三、NB-IoT 三大特性
3.1 低速率
- 上行峰值约 60~200 kbps,下行约 20~100 kbps;
- 适合小数据包(抄表、状态上报),不适合音视频/大数据。
3.2 深覆盖
- 比 GSM 增益高约 20dB(提升约 100 倍);
- 可覆盖地下室、井盖下、偏远地区(信号穿透强)。
3.3 海量连接
- 一个基站可接入约 5 万个设备;
- 通过窄带 + 重传实现大容量。
四、省电机制(核心)
NB-IoT 用 PSM 和 eDRX 两大省电机制:
4.1 PSM(省电模式)
设备完成上报后进入 PSM 睡眠,网络侧暂存下行数据,设备睡眠期间"看似失联":
上报 → 接收确认 → 进入 PSM 睡眠(长达数小时/天)
→ TAU 定时唤醒检查网络 → 有下行则收- 设备睡眠时无法被随时叫醒,下行靠 TAU(跟踪区更新)唤醒后补收;
- 适合"设备主动上报"场景,省电效果最佳。
4.2 eDRX(扩展不连续接收)
设备周期性地短暂监听网络寻呼(比 PSM 更频繁唤醒):
┌─醒─┐ ┌─醒─┐ ┌─醒─┐ 醒→监听寻呼→睡
─────┼────┼────┼────┼──
eDRX周期(几十秒~几分钟)- 设备可被服务器较及时下发(比 PSM 快),功耗比 PSM 高。
数值演算(功耗):设设备 1 天上报 4 次,每次 200ms@50mA 发射,其余时间 PSM 睡眠 5μA:
单次上报耗电 ≈ 200ms × 50mA ≈ 0.0028 mAh
一天上报耗电 ≈ 0.0028 × 4 ≈ 0.011 mAh
睡眠耗电 ≈ 24h × 5μA ≈ 0.12 mAh
一天总耗电 ≈ 0.13 mAh
电池 3000mAh → 可用约 23000 天 ≈ 数年关键理解:NB-IoT 省电核心是PSM(深度睡眠)+ eDRX(周期监听)。需要"服务器随时下发"则用 eDRX,能忍受延迟则用 PSM 更省电。
五、网络注册与数据上报流程
设备用 AT 指令完成入网与数据收发(NB-IoT 模组用 AT 命令控制):
模组(设备) 基站/核心网
1. 上电,AT 初始化 ─────────────►
2. 搜索网络(AT+COPS) ───────────► 附着(Attach)
3. 注册成功(AT+CEREG? 返回已注册)
4. 建立 PDP 上下文(AT+CGACT)
5. 通过 UDP/CoAP 上报数据 ──────► 数据中心核心 AT 指令:
| AT 指令 | 作用 |
|---|---|
AT+CFUN=1 | 射频打开 |
AT+CEREG? | 查网络注册状态(0/1=已注册,5=漫游注册) |
AT+CGATT=1 | PS 附着 |
AT+CGACT=1 | 激活 PDP 上下文 |
AT+CSCON? | 查连接状态 |
AT+CEDRXRDP | 配置 eDRX |
AT+CPSMS | 配置 PSM |
六、数据上报方式(UDP/CoAP)
NB-IoT 通常用 UDP 或 CoAP(小包、低开销),而非 TCP/HTTP:
| 协议 | 特点 |
|---|---|
| UDP | 简单、无连接、开销小 |
| CoAP | 基于 UDP 的 RESTful,带确认,适合 NB-IoT(见网络协议篇) |
| TCP/HTTP | 开销大、连接成本高,NB-IoT 慎用 |
关键理解:NB-IoT 数据包小、连接贵,优先用 UDP/CoAP。一个平台连接(OneNET/CMS 等)通常封装好 UDP/CoAP 上报,设备只需填数据。
七、具体例子
7.1 例 1:NB-IoT 模组入网(AT 指令)
AT → OK
AT+CFUN=1 → OK // 开射频
AT+CEREG? → +CEREG:0,1 // 已注册网络
AT+CGATT=1 → OK // 附着
AT+CGACT=1 → OK // 激活PDP
AT+CSQ → +CSQ:15,99 // 信号强度(15/31)7.2 例 2:UDP 上报数据到平台
/* 通过 UDP 发送温度到服务器 */
udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
server.sin_addr = "120.xx.xx.xx"; // 平台服务器
server.sin_port = 5683;
char payload[] = "{\"temp\":25.5}";
udp_sendto(udp_socket, payload, strlen(payload), &server);
udp_recvfrom(udp_socket, ack, &ack_len, &server); // 收确认7.3 例 3:配置 PSM 深度睡眠
AT+CPSMS=1,"","","00100000","00000100" // 启用PSM,T3324=64s
AT+CFUN=0 // 关射频进睡眠
// 睡眠数小时后 TAU 唤醒,检查下行八、常见坑与排查
| 问题 | 可能原因 | 排查 |
|---|---|---|
| 注册失败 | 无信号/SIM 未激活/频段错 | 查 AT+CEREG?、确认 SIM 开通 NB-IoT |
| 上报超时 | 网络弱、数据包大 | 用 UDP/CoAP、压缩数据 |
| 下发不及时 | 设备处于 PSM 睡眠 | 用 eDRX 或设备定时唤醒 |
| 功耗高 | 未启用 PSM、频繁连发 | 配置 PSM/eDRX,减少上报次数 |
| 附着失败 | 基站拥堵/参数错 | 检查 APN、重试 |
| 连接不稳定 | 信号弱、移动 | 加天线、测 RSSI/RSRP |