【转】NB-IoT移远BC95使用小结

总结得很不错的一篇文章,转来分享一下:

原文链接:https://www.cnblogs.com/libra13179/p/9284591.html

NB-IoT移远BC95使用小结

移远-BC95-测试前准备

1、  设备连接主串口,串口调试助手波特率使用9600,选择对应的端口号。在串口调试助手上输入AT发送,查看是否有OK返回。

如果想修改波特可以通过下面的AT来修改

AT+NATSPEED   Configure UART Port Baud Rate 

 (主串口进行AT命令通信和数据传输时,波特率为9600bps;

  主串口也可用于软件升级,此时波特率为115200bps。

  调试串口输出日志,波特率为 921600bps。 )

需要注意

BC95 模组主串口波特率在 9600bps 和 4800bps 时,上下限范围如下图所示。外部 MCU 选型时,请
注意 MCU 的串口波特率不能超出模组主串口波特率的允许范围,否则会引起通讯异常。使用时请参考
Quectel_BC95_AT_Commands_Manual 文档中的AT+NATSPEED 指令,选择串口合适的<sync_mode>
及<stopbits>参数值。 



2、  AT+CSQ查询到是99,99:

复制代码

查询当前信号质量CSQ

对应AT指令是:AT+CSQ,返回结果为+CSQ:16,99。前面这个16就是信号质量,
这个取值范围是0-31的一个数值,当这个数位99的时候,就说明没有获取到信号,
这个时候我们可能需要多等一会儿,根据不同的地点,所等待时间在1-60s内,
如果超过这个时间依旧返回的结果是+CSQ:99,99的话,
这个时候就要看一下卡是否是NB卡了,
还有就是你的模组固件版本是否在657以下(之前版本没有开启扰码功能,不能成功接入基站)。

复制代码

Ø  确认模块、SIM卡与运营商相对应, 

电信:BC95-B20 支持800MHz,BC95-B5 850MHz  [电信支持 800MHz(实际上该频段处于 BC95-B5 的 850MHz 频段范围内)]。

移动:BC95-B8 900MHz。

联通:BC95-B8 900MHz 和 BC95-B3 1800MHz

找网 
模块找网前需确认模块型号与频段是否对应(AT+NBAND?查询模块频段信息)。 

所有模块出厂频段默认为900MHz,可通过AT+NBAND=n 来设置,AT+NRB 重启模块后生效

模块型号和对应频段如下: 

从B650版本开始,默认开机自动找网(由 AT+NCONFIG=AUTOCONNECT,TRUE 这个命令控制),
模块会自动注册网络,不需要再发送找网的AT 命令,只需发送查询命令,查询是否注册上网即可。

复制代码

AT+NBAND?          //查询Band 
AT+CFUN?          //值为 1 
AT+CIMI            //查询 IMSI号 
AT+CSQ              //查询信号强度 
AT+NUESTATS        //查询模块状态 
AT+CGATT?          //返回+CGATT:1 表示附着成功,有时延约 30s 
AT+CEREG?       //查寻注网状态,1为注册上网络,2为正在找网 
AT+CSCON?        //查询连接状态,1为Connected,0为 Idle

复制代码

 
若需要手动找网,请执行AT+NCONFIG=AUTOCONNECT,FALSE 后重启模块,开始手动找网。此设
置会自动保存。 

手动找网流程有指定PLMN 和不指定PLMN两种方式,参考如下:

复制代码

方式一:不指定 PLMN 
AT+CFUN?                       //对于 B657SP1 之前版本,值为0时才可以设置CDP 服务器。  
AT+NCDP=10.41.129.115,8653       //设置地址和端口,设置后会保存(如不需要配置,可跳过此操作)。 
AT+CFUN=1 
AT+CIMI                          //执行 AT+CFUN=1,等待 4 秒后查询 IMSI,如果能查到表示卡已识
别;若查不到,请检查卡是否插好并确认是否是USIM卡。 
AT+NBAND?                     //查询频段信息。 
AT+CEREG=1                   //设置自动上报网络注册状态,当模块注册上网络,会上报 URC。 
AT+CGDCONT=1,″IP","APN"    //APN 为本地入网方式,需自行配置,也可不配置。 
AT+CGATT=1 (或者AT+COPS=0) 
AT+CSQ                       //查询信号强度。 
AT+NUESTATS                 //查询模块状态。 
AT+CGATT?                    //返回+CGATT:1 表示附着成功,有时会有约30s的延迟。 
AT+CEREG?                   //查寻注网状态,1为注册上网络,2为正在找网。 
AT+CSCON?                   //查询连接状态,1为Connected,0为 Idle。 

复制代码

View Code


Ø  使用AT+NCONFIG?查看AUTOCONNECT,TRUE(参数为TRUE说明模块开启自动注网模式)CR_0354_0338_SCRAMBLING,TRUE、CR_0859_SI_AVOID,TRUE查看扰码功能是不是和基站对应上(参数为TRUE说明模块开启开启了扰码功能,基站侧也需要开启,若为FLASH则说明关闭扰码功能)扰码开关模组与基站需要对应上。

网络侧质量:AT+NUESTATS

网络侧质量较差直接影响数据发送和接收,如果RSRP和SNR数值较低,先排查天线和电路发射功率和接收灵敏度,如果没问题建议找基站侧的网优来优化基站参数。


3、  AT+NABND?查询band是否和SIM卡、模块对应上。

4、  AT+NCONFIG?查看模块是否为自动注网模式,扰码功能是否与基站匹配上。

5、  AT+CEREG? (EPS 网络注册状态)查看是否为0,1(注册上)若为0,2(正在注册)。

工作模式之间关系

三种连接状态下,均可发送上行数据( CoAP/UDP); IDLE 下发送数据, 模块会进入 CONNECT 状态; PSM 下发送是数据会唤醒模块, 进入 CONNECT,或者当 TAU(TAU 的时长是指从进入 IDLE 开始一直到 PSM 模式结束) 超时,模块唤醒, 进入 CONNECT。

1、CONNECT态:只要有数据发送,模块都会处于该状态下。模块注网后即处于该状态。该状态下没有数据交互不活动定时器到时间后,模块会进入IDLE态(这个时间是有核心网确定的,范围为 1-3600s)可通过AT+CSCON=1打开状态自动上报,+CSCON=1表示模块处于该状态。

2、IDLE态:可接收下行数据,该状态持续的时间由核心网配置,由 Active timer( T3324)来控制,范围为 0-11160s。可通过AT+CSCON=1打开状态自动上报,+CSCON=0表示模块处于该状态。若开启小区重选功能,是在IDLE态下完成自动重选的。

3、PSM态:该状态下不接受下行数据,处于PSM模式时将与服务器断开连接,网络侧不能寻呼到设备,必须等待设备主动发起连接。该状态持续的时间由核心网配置, TAU(扩展)定时器 T3412 来控制,范围为 0h-320h。T3412 扩展值最大可取 320h。若两个值同时存在,模组以 T3412 扩展值为准。可通过AT+NPSMR=1打开自动上报(B657SP2及以后版本),+NPSMR=1表示模组进入PSM状态。+NPSMR=0表示模组从PSM状态唤醒进入CONNECT状态。

 

备注 
1.  三种连接状态下,均可发送上行数据(CoAP/UDP);Idle下发送数据,模块会进入Connected 状态;
PSM下发送是数据会唤醒模块,进入 Connected,或者当TAU超时,模块唤醒,进入Connected。  
2.  Idle下,可接收下行数据,模块进入 Connected状态,PSM下不接收下行数据。 
3.  TAU 的时长是指从进入 Idle 开始一直到PSM模式结束。 

 

 

模块时间的获取

BC95模块发送AT+CCLK?即可返回系统时间(格林威治时间)

+CCLK:[<yy/MM/dd,hh:mm:ss>[<±zz>]]
OK
即年/月/日,时:分:秒,时区


 模块软件版本与基站版本匹配说明
BC95 模块从 B656 版本开始增加了扰码(Scrambling)控制功能,此功能可通过 AT 命令进行控制。
模块出厂默认开启此功能,此时基站(Base Transceiver Station)也需要开启扰码功能,否则模块搜不到
信号,无法连接基站。若关闭扰码功能,此时基站也需要关闭扰码功能,模块才可连接基站。如下举例说
明了如何通过AT 命令关闭和开启模块扰码功能。

扰码开关指令

扰码的开启及关闭对应的AT指令如下:
关闭扰码功能:
1.AT+CFUN=0 
2.AT+NCONFIG? //查询扰码功能是否开启
3. AT+NCONFIG=CR_0354_0338_SCRAMBLING,FALSE //关闭扰码功能
4. AT+NCONFIG=CR_0859_SI_AVOID,FALSE
5. AT+NRB //重启模块

复制代码

开启扰码功能:
1. AT+CFUN=0
2. AT+NCONFIG? //查询扰码功能是否关闭
3. AT+NCONFIG=CR_0354_0338_SCRAMBLING,TRUE //开启扰码功能
4. AT+NCONFIG=CR_0859_SI_AVOID,TRUE
5. AT+NRB //重启模块

开启自动配置模式

复制代码

本次测试使用的是自动配置模式,查询模块是否开启的自动配置模式使用
AT+NCONFIG?查询。指令开启关闭自动配置模式的

AT指令如下:

开启自动配置模式:

AT+NCONFIG=AUTOCONNECT,TRUE

关闭自动配置模式:

AT+NCONFIG=AUTOCONNECT,FALSE

复制代码

复制代码

ERROR 513问题解决方案 
 
MCU通过AT+NMGS命令发送数据后,返回OK即表示UE已成功注册IoT平台并且数据已发送成功,
若返回+CME ERROR: 513(前提是已设置 AT+CMEE=1)错误,建议尝试以下两种解决方案: 
 
1. MCU 收到+CME ERROR: 513 报错后,延迟10s~20s 后再尝试重新发送。 
2.  通过 AT+NMSTATUS? 查询 IoT 平台注册状态,返回+NMSTATUS:MO_DATA_ENABLED 表示成功
注册,然后再尝试重新发送。

复制代码

小区重选 
 
BC95 模块从 B657SP1 版本开始支持小区重选。此功能默认为关闭状态,使用 AT+NCONFIG?查询
CELL_RESELECTION 参数为 FALSE,即表示关闭,可通 AT+NCONFIG=CELL_RESELECTION,TRUE
开启小区重选,执行AT+NRB命令重启模块后生效。
AT+CFUN命令 
 
从 B650SP8 版本开始,区分有 USIM 卡和无 USIM 卡,无卡时执行 AT+CFUN=1 会报错。当模块处
于搜网状态或者入网等业务时,不能执行 AT+CFUN=0、  AT+CFUN=1,或者进行Attach/detach操作,否
则会报错。

复制代码

 设置 CDP服务器 
 
设置CDP服务器前请先确保模块已写 IMEI号,否则会报错。对于 B657SP1之前版本,设置CDP服
务器之前要先执行 AT+CFUN=0 命令。 
 
确认有 IMEI 号后,再设置 CDP 服务器;如果仍报错,可能之前已经设置过一次 CDP 服务器,CDP
的 IP地址设置保存到了NV 里,由于执行AT+CFUN=1时,IP 地址必须跟NV 里存储的一致,因此报错;
执行 AT+CFUN=0可重新设置,更改 IP地址,然后执行AT+NRB命令重启模块后生效。 
 
从 B650SP8 版本开始,区分有 USIM 卡和无 USIM 卡,请先查询模块是否插卡。对于
B650SP8~B655SP2版本,若没插卡,请执行 AT+NCONFIG?查询 AUTOCONNECT 是不是默认为TRUE,
如果是,执行 AT+NCONFIG=AUTOCONNECT,FALSE命令后重启模块再设置 CDP 服务器。

复制代码

发布了14 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wxchbhd/article/details/101099972