NB-IoT 串口·日志调试
📘 30章
🧪 风格 · 硬核实战
1
NB-IoT技术概述
定义·对比
广覆盖、大连接、低功耗、低成本,与LTE-M/eMTC对比,智能抄表等场景
2
NB-IoT网络架构
层级·数据流
UE、eNodeB、EPC、IoT平台 (华为/阿里) 层级关系与数据走向
3
终端硬件选型
芯片·模组
海思Boudica、高通MDM9206、移芯EC616;移远BC95/BC26、中移M5310
4
开发环境搭建
IDE·驱动
Keil/IAR安装、交叉编译链、J-Link/ST-Link、CH340/CP2102验证
5
STM32CubeMX配置
时钟·外设
选型STM32L431、时钟树、GPIO/USART/RTC/LPTIM配置
6
串口通信基础 UART
协议·波特率
起始位/数据位/校验/停止位,波特率计算,USART初始化代码
7
串口收发·轮询模式
阻塞通信
HAL_UART_Transmit/Receive,实战发送"Hello NB-IoT"
8
串口收发·中断模式
环形缓冲区
IT函数、回调函数、环形缓冲区设计,高效接收
9
串口收发·DMA模式
双缓冲
DMA传输、双缓冲机制、内存与外设数据搬运效率对比
10
AT指令基础
格式·响应
AT+CMD=val,常用指令AT/CGMI/CGSN,OK/ERROR解析
11
AT指令实战·BC26
模组开机
CFUN=1、CGATT?、CSQ信号强度查询
12
网络注册与附着
CEREG
CGATT=1附着、CEREG状态含义、注册失败原因
13
PDP上下文激活
APN·IP
CGDCONT、CGACT、CGPADDR,实战获取终端IP
14
UDP通信原理与实现
Socket
NSOCR/NSOST/NSORF,向测试服务器发送"Hello"
15
CoAP协议基础
RESTful
基于UDP、GET/POST/DELETE,CON/NON/ACK/RST
16
CoAP实战·华为云
OceanConnect
NCOAPCLIENT、SEND/RECV,JSON/Hex数据格式
17
MQTT协议基础
发布/订阅
QoS等级、遗嘱消息、Topic设计,与CoAP对比
18
MQTT实战·阿里云IoT
连接·发布
QMTCFG/QMTOPEN/QMTCONN/QMTPUB/QMTSUB
19
日志系统设计原则
级别·格式
DEBUG/INFO/WARN/ERROR/FATAL,时间戳+模块,存储策略
20
串口日志输出实现
彩色日志
重定向printf、SEGGER RTT、颜色编码(红/黄/绿)
21
日志存储到Flash
W25Q64·FatFS
SPI Flash驱动、文件系统移植、循环覆盖、掉电保护
22
日志上传到云平台
MQTT/CoAP
定时打包上传,阿里云日志服务/华为云LTS
23
低功耗设计策略
PSM/eDRX
功耗模型、STM32L4低功耗模式、串口唤醒
24
功耗测量与优化
Joulescope
测量曲线、优化T3412/T3324,平均功耗100uA→10uA
25
调试工具链
逻辑分析·Wireshark
Saleae抓UART波形、Wireshark抓NB-IoT包、SSCOM/MobaXterm
26
常见问题排查(上)
无输出·无响应
串口无输出、AT无响应、网络附着失败
27
常见问题排查(下)
发送失败·日志丢失
数据发送失败、云平台收不到数据、Flash写入速度
28
实战项目一:温湿度采集上报
DHT22+华为云
DHT22驱动、JSON格式化、CoAP上报、AppCube大屏
29
实战项目二:智能路灯控制
MQTT+PWM
GPIO控制LED、订阅指令、PWM调光、日志记录、FOTA
30
课程总结与进阶方向
5G mMTC
LwM2M、DTLS、RT-Thread Nano移植、CCC/CE/SRRC认证