移远-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就是信号质量,
这个取值范围是0-31的一个数值,当这个数位99的时候,就说明没有获取到信号,
这个时候我们可能需要多等一会儿,根据不同的地点,所等待时间在1-60s内,
如果超过这个时间依旧返回的结果是+CSQ:,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, //设置地址和端口,设置后会保存(如不需要配置,可跳过此操作)。
AT+CFUN=
AT+CIMI //执行 AT+CFUN=1,等待 4 秒后查询 IMSI,如果能查到表示卡已识
别;若查不到,请检查卡是否插好并确认是否是USIM卡。
AT+NBAND? //查询频段信息。
AT+CEREG= //设置自动上报网络注册状态,当模块注册上网络,会上报 URC。
AT+CGDCONT=,″IP","APN" //APN 为本地入网方式,需自行配置,也可不配置。
AT+CGATT= (或者AT+COPS=)
AT+CSQ //查询信号强度。
AT+NUESTATS //查询模块状态。
AT+CGATT? //返回+CGATT:1 表示附着成功,有时会有约30s的延迟。
AT+CEREG? //查寻注网状态,1为注册上网络,2为正在找网。
AT+CSCON? //查询连接状态,1为Connected,0为 Idle。
方式二:指定PLMN
AT+CFUN=
AT+CIMI //执行 AT+CFUN=1,等待 4 秒后查询 IMSI,如果能查到表示卡已识
别;若查不到,请检查卡是否插好并确认是否是USIM卡。
AT+NBAND? //查询频段信息。
AT+CEREG= //设置自动上报网络注册状态,当模块注册上网络,会上报 URC。
AT+CGDCONT=,"IP","APN" //APN 为本地入网方式,自行配置,也可不配置。
AT+COPS=,,"" //指定PLMN搜索,PLMN 自行配置。
AT+CSQ //查询信号强度。
AT+NUESTATS //查询模块状态。
AT+CGATT? //返回+CGATT:1 表示附着成功,有时会有约30s的延迟。
AT+CEREG? //查寻注网状态,1为注册上网络,2为正在找网。
AT+CSCON? //查询连接状态,1为Connected,0为 Idle。

Ø  使用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状态。

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

模块时间的获取

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

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

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

扰码开关指令

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

开启自动配置模式

本次测试使用的是自动配置模式,查询模块是否开启的自动配置模式使用
AT+NCONFIG?查询。指令开启关闭自动配置模式的 AT指令如下: 开启自动配置模式: AT+NCONFIG=AUTOCONNECT,TRUE 关闭自动配置模式: AT+NCONFIG=AUTOCONNECT,FALSE
ERROR 513问题解决方案 

MCU通过AT+NMGS命令发送数据后,返回OK即表示UE已成功注册IoT平台并且数据已发送成功,
若返回+CME ERROR: (前提是已设置 AT+CMEE=)错误,建议尝试以下两种解决方案: . MCU 收到+CME ERROR: 报错后,延迟10s~20s 后再尝试重新发送。
. 通过 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= 会报错。当模块处
于搜网状态或者入网等业务时,不能执行 AT+CFUN=、 AT+CFUN=,或者进行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 服务器。

NB-IoT移远BC95使用小结的更多相关文章

  1. 【单片机】NB-IoT移远BC28调试笔记

    一.入网总体思路 入网思路是参考 <Quectel_BC95&BC35-G&BC28_应用设计指导_V1.1.pdf>来做的.流程如图所示: 二.具体调试细节3.1 AT+ ...

  2. 海思3531添加移远EC20 4g模块(转)

    源: 海思3531添加移远EC20 4g模块 Hi3798移植4G模块(移远EC20)

  3. 将移远通信的EC20驱动移植到NUC972上(转)

    源: 将移远通信的EC20驱动移植到NUC972上

  4. RK3399 4G模块移远EC20移植调试

    转载请注明出处:https://www.cnblogs.com/lialong1st/p/11266330.html CPU:RK3399 系统:Android 7.1 1.通过串口打印或者adb获取 ...

  5. 支持移远EC600S的SmartDtu平台,基于QuecPython

    前言 本文的主要目的是说明青石SmartDtu到底做了哪些工作?我们在移远硬件平台EC600S上做了哪些支持?为什么说这套平台是硬件开发者的福音?我们的初衷是解放广大硬件开发者的双手,提供一套成熟的嵌 ...

  6. [原创]移远RM500U-CN模组驱动移植

    1. 简介 中国广电正式放号了,为了支持广电700MHz的5G基站,需要换用新的5G模组.移远通信的RM500U模组正好可以满足我们的使用要求; 我们选用该模组的原因:双卡单待 支持SIM卡热插拔 支 ...

  7. 移远EC20的使用

    一 发短信 3. 推荐短信流程3.1 查询 短信存储区AT+CPMS?+CPMS: "ME",19,255,"ME",19,255,"ME" ...

  8. 移远模组-BC95-工作模式之间关系

    三种连接状态下,均可发送上行数据( CoAP/UDP): IDLE 下发送数据, 模块会进入 CONNECT 状态: PSM 下发送是数据会唤醒模块, 进入 CONNECT,或者当 TAU(TAU 的 ...

  9. 基于STM32L4的开源NBIOT开发资料

    基于STM32L4的开源NBIOT开发资料 1. 参考路径:http://www.stmcu.org/module/forum/forum.php?mod=viewthread&tid=615 ...

随机推荐

  1. Hive在集群环境配置

    本文转载自:https://blog.csdn.net/hanjin7278/article/details/53035739 一.简介 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数 ...

  2. 微服务测试打桩/mock工具mountebank

    1,安装 Linux安装包,不用安装Node.js https://s3.amazonaws.com/mountebank/v1.10/mountebank-v1.10.0-linux-x64.tar ...

  3. PAT 乙级 1029 旧键盘(20) C++版

    1029. 旧键盘(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文字的 ...

  4. react中的路由模块化

    在vue中,可以将路由单独写在一个配置文件中,便于整理维护,而在前面总结整理的react中,都是直接将路由配置放在需要使用的地方,少数的时候话可以接受,但是当项目做大,这种方式就不再被推荐了,我们再r ...

  5. webpack + vuejs(都是1.0的版本) 基本配置(一)

    开始之前 本文包含以下技术,文中尽量给与详细的描述,并且附上参考链接,读者可以深入学习: 1.webpack12.Vue.js13.npm4.nodejs —- 这个就不给连接了,因为上面的连接都是在 ...

  6. git之win安装git和环境配置及常用命令总结

    12.windowns安装git和环境变量配置 11.git之常见命令总结 ===== 12.windowns安装git和环境变量配置 ; 转自 https://wuzhuti.cn/2385.htm ...

  7. Android 中Jackson的简单使用

    第一步:下载Jackson的jar包http://pan.baidu.com/s/1qXHwtQ0 第二步:在gradle中导入jar包 第三步:创建ObjectMapper对象的单例 Jackson ...

  8. (转)Linux netstat命令详解

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...

  9. Shiro 权限注解

      Shiro 权限注解:   Shiro 提供了相应的注解用于权限控制,如果使用这些注解就需要使用AOP 的功能来进行 判断,如Spring AOP:Shiro 提供了Spring AOP 集成用于 ...

  10. Linux下SSL证书申请以及配置到Nginx

    wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.shchmod +x l ...