STM32学习之NB-IoT(二)——相关部分AT指令

在放相关代码之前再放一篇AT指令目录,从别的地方搬过来的,以备不时之需。

NB-IoT的中文指令集,基于BC95 657 SP2版本翻译的。
——————————————————————
AT 命令 描述 实现的状态
3GPP Commands (27.007)
AT+CGMI 查询制造商 ID B350+
AT+CGMM 查询模块型号 B350+
AT+CGMR 查询固件版本 B350+
AT+CGSN 查询模块序列号 B350+
AT+CEREG 查询网络注册状态 B350+
AT+CSCON 查询信号连接状态 B350+
AT+CLAC 列出可用命令 B350+
AT+CSQ 获取信号强度 B350+
AT+CGPADDR 显示 PDP 地址 B350+
AT+COPS 选择接入的网络 B350+
AT+CGATT PS 连接或分离 B350+
AT+CGACT 激活或停用 PDP 上下文 B657SP1+
AT+CIMI 查询国际移动设备身份码 B350+
AT+CGDCONT 定义一个 PDP 上下文 B350+
AT+CFUN 设置终端功能 B350+
AT+CMEE 报告移动终端错误 B600+
AT+CCLK 返回当前日期和时间 B656+
AT+CPSMS 省电模式设置 B657SP1+
AT+CEDRXS eDRX 设置 B657SP1+
AT+CEER 扩展错误报告 B657SP1+
AT+CEDRXRDP eDRX 阅读动态参数 B657SP1+
AT+CTZR 时区报告 B657SP1+
ETSI Commands(正在开发中)
AT+CSMS 选择短消息服务 B657SP1+
AT+CNMA 模块消息提醒 B657SP1+
AT+CSCA 服务中心地址 B657SP1+
AT+CMGS 发送短消息 B657SP1+
AT+CMGC 发送短信命令 B657SP1+
AT+CSODCP 通过控制层发送原始数据 B657SP1+
AT+CRTDCP 通过控制层传送终端数据 B657SP1+
General Commands 通用命令
AT+NMGS 发送消息到 CDP 服务器 B350+
AT+NMGR 接收 CDP 服务器消息 B350+
AT+NNMI 接收消息标志 B350+
AT+NSMI 发送消息的标志 B350+
AT+NQMGR 查询接收到的消息量 B350+
AT+NQMGS 查询发送的消息量 B350+
AT+NMSTATUS 信息注册状态 B657SP1+
AT+NRB 模块重启 B350+
AT+NCDP 配置和查询 CDP 服务器设置 B350+
AT+NUESTATS 获取的操作统计 B350+
AT+NEARFCN 指定搜素频率 B350+
AT+NSOCR 创建 Socket B350+
AT+NSOST 发送数据 B350+
AT+NSOSTF 发送有标记数据 B656+
AT+NSORF 接收命令 B350+
AT+NSOCL 关闭 Socket B350+
+NSONMI 指示 Socket 消息到达(只响应) B350+
AT+NPING 测试 IP 网络连接到远程主机 B350+
AT+NBAND 设置频段 B600+
AT+NLOGLEVEL 设置日志级别 B600+
AT+NCONFIG 配置模块的功能 B650+
AT+NATSPEED 配置 UART 端口波特率 B656+
AT+NCCID 卡片识别 B657SP1+
AT+NFWUPD 通过 UART 更新固件 B657SP1+
AT+NRDCTRL 控制无线配置 B657SP1+
AT+NCHIPINFO 读取系统信息 B657SP1+
Temporary Commands 临时命令

NB模组UDP数据发送

1)开机/重启,模块已经正常启动;
2)AT+NBAND? 查看当前频段信息,确定是否和模块型号对应;
3)AT+NBAND=5 电信模块,设置频段为850MHZ;
4)AT+NRB 重启模块;
5)AT+NBAND? 再次查询模块频段信息,确认设置成功;
6)AT+NCONFIG? 查询配置信息,主要包括自动连接使能配置信息,默认使能;
7)AT+CFUN? 模块是否处于全工作模式,打开射频电路,搜索信号,如果返回0,请确定AUTOCONNECT值是否为TRUE,以及是否安装NBIOT专用SIM卡;
8)AT+CIMI 查询IMSI信息,如果返回具体数值,说明已经正常识别SIM卡;
9)AT+CSQ 查询信号强度,返回的第一个数值代表信号强度,0-31代表有信号,数值越大信号越强,99代表没有NBIOT网络信号,第二个参数还没有实施,一直为99;
10)AT+NUESTATS 查询模块状态;
11)AT+CGATT? 查询是否模块附着成功,返回1代表成功;
12)AT+CEREG? 查询网络注册状态,第二个数值返回1代表:网络注册成功,返回2代表:正在注册网络,注册时间和信号强度有关;
13)AT+CSCON? 查看模块工作的连接状态,第二个返回数值代表模块的工作状态,1代表CONNECT连接状态,0代表IDLE睡眠状态,如果没有数据交互,在CONNECT状态持续20秒,之后进入IDLE状态;如果仍然没有数据交互,10秒之后从IDLE状态进入PSM深度睡眠状态,此时模块不在接收任何下行数据,如果需要下行传输数据必须在CONNECT 和 IDLE状态下进行;
14)AT+NSOCR=DGRAM,17,5683,1 创建UDP SOCKET 传输信道,DGRAM和17固定,5683代表本地端口号,1代表使能接收下行数据;最多可创建7个SOCKET传输信道,返回数值代表信号ID号,在发送和接收数据时需要指定;
15)AT+NSOST=0,…,####,3,303132 发送UDP数据,0代表UDP SOCKET信道ID,…代表远程服务器的IP地址(公网IP地址),####代表远程服务器端口号,3代表发送的字符个数(发送了3个字符),303132代表“012”3个hex表示的字符;返回值代表成功从0信道发送了3个字节的数据(我这里测试发送了74个字节);
16)+NSONMI:0,67 信息代表模块接收到新的数据,需要读取,如果不及时读取,接收到下一条数据,将不会主动上报该信息;但可以连续读取;0代表 UDP SOKECT信道,67代表有67个字节数据需要读取;
17)AT+NSORF=0,3 读取数据;0代表UDP SOCKET 信道,3代表需要读取数据字节长度;需要从返回值中提取出有效数据303132,代表字符“012”;
18)AT+NSOCL=0 关闭UDP SOCKET 传输信道;

转载链接

https://huaweicloud.youkuaiyun.com/63311210d3efff3090b512bc.html?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-3-81700480-blog-83895259.235^v38^pc_relevant_sort&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-3-81700480-blog-83895259.235^v38^pc_relevant_sort&utm_relevant_index=4

NB-IoT的中文指令集,基于BC95 657 SP2版本翻译的。 —————————————————————— AT 命令 描述 实现的状态 3GPP Commands (27.007) AT+CGMI 查询制造商 ID B350+ AT+CGMM 查询模块型号 B350+ AT+CGMR 查询固件版本 B350+ AT+CGSN 查询模块序列号 B350+ AT+CEREG 查询网络注册状态 B350+ AT+CSCON 查询信号连接状态 B350+ AT+CLAC 列出可用命令 B350+ AT+CSQ 获取信号强度 B350+ AT+CGPADDR 显示 PDP 地址 B350+ AT+COPS 选择接入的网络 B350+ AT+CGATT PS 连接或分离 B350+ AT+CGACT 激活或停用 PDP 上下文 B657SP1+ AT+CIMI 查询国际移动设备身份码 B350+ AT+CGDCONT 定义一个 PDP 上下文 B350+ AT+CFUN 设置终端功能 B350+ AT+CMEE 报告移动终端错误 B600+ AT+CCLK 返回当前日期和时间 B656+ AT+CPSMS 省电模式设置 B657SP1+ AT+CEDRXS eDRX 设置 B657SP1+ AT+CEER 扩展错误报告 B657SP1+ AT+CEDRXRDP eDRX 阅读动态参数 B657SP1+ AT+CTZR 时区报告 B657SP1+ ETSI Commands(正在开发中) AT+CSMS 选择短消息服务 B657SP1+ AT+CNMA 模块消息提醒 B657SP1+ AT+CSCA 服务中心地址 B657SP1+ AT+CMGS 发送短消息 B657SP1+ AT+CMGC 发送短信命令 B657SP1+ AT+CSODCP 通过控制层发送原始数据 B657SP1+ AT+CRTDCP 通过控制层传送终端数据 B657SP1+ General Commands 通用命令 AT+NMGS 发送消息到 CDP 服务器 B350+ AT+NMGR 接收 CDP 服务器消息 B350+ AT+NNMI 接收消息标志 B350+ AT+NSMI 发送消息的标志 B350+ AT+NQMGR 查询接收到的消息量 B350+ AT+NQMGS 查询发送的消息量 B350+ AT+NMSTATUS 信息注册状态 B657SP1+ AT+NRB 模块重启 B350+ AT+NCDP 配置和查询 CDP 服务器设置 B350+ AT+NUESTATS 获取的操作统计 B350+ AT+NEARFCN 指定搜素频率 B350+ AT+NSOCR 创建 Socket B350+ AT+NSOST 发送数据 B350+ AT+NSOSTF 发送有标记数据 B656+ AT+NSORF 接收命令 B350+ AT+NSOCL 关闭 Socket B350+ +NSONMI 指示 Socket 消息到达(只响应) B350+ AT+NPING 测试 IP 网络连接到远程主机 B350+ AT+NBAND 设置频段 B600+ AT+NLOGLEVEL 设置日志级别 B600+ AT+NCONFIG 配置模块的功能 B650+ AT+NATSPEED 配置 UART 端口波特率 B656+ AT+NCCID 卡片识别 B657SP1+ AT+NFWUPD 通过 UART 更新固件 B657SP1+ AT+NRDCTRL 控制无线配置 B657SP1+ AT+NCHIPINFO 读取系统信息 B657SP1+ Temporary Commands 临时命令
### STM32F103RCT6 串口烧录教程 对于STM32F103RCT6来说,通过UART接口进行固件更新是一种常见的方式。为了成功地执行这一操作,需确保硬件连接正确并设置好相应的软件环境。 #### 硬件准备 - **连接NB-IoT模块与STM32**: 将NB-IoT模块的TX引脚连接至STM32的RX引脚;同样地,将NB-IoT模块的RX引脚连接到STM32的TX引脚上[^1]。 #### 软件配置 - **初始化串口通信参数**:调整STM32上的USART波特率、数据位数、停止位以及校验方式等参数来匹配NB-IoT模块的要求。例如,在大多数情况下,默认波特率为9600 bps,8个数据位,无奇偶校验,单个停止位。 #### 发送AT命令测试连通性 一旦完成了上述准备工作,则可以通过向NB-IoT模块发送简单的`AT`指令来进行初步的功能验证。如果一切正常的话,应该能收到OK响应作为反馈。 #### 准备用于IAP升级的项目结构 考虑到可能涉及到在线编程的需求,建议构建一个包含两个主要部分的应用程序框架——一个是负责加载新版本代码的Bootloader(位于boot文件夹),另一个则是待安装的目标应用程序本身(存放在app目录下)。此外,还可以额外提供一款图形界面工具(如winapp下的PC端应用)以便于用户更方便地管理整个过程[^2]。 #### 执行固件上传流程 当所有前期工作都已完成之后,就可以着手实施真正的固件传输环节了: ```c // 示例C语言片段展示如何启动一次完整的IAP更新周期 void start_iap_update(void){ // 此处省略了具体的实现细节... /* Step A: 利用串行链路接收来自主机的新镜像 */ receive_firmware_image_over_uart(); /* Step B: 对接收到的数据包执行必要的完整性检查 */ verify_checksum_of_received_data(); /* Step C: 如果检验合格则继续下一步骤; 否则终止当前事务 */ if (checksum_is_valid()){ write_new_code_to_flash_memory(); /* 更新完成后重启设备使更改生效 */ reset_device_and_launch_updated_app(); }else{ abort_transaction_due_to_invalid_checksum(); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值