移远-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 服务器。