BPI BC95使用SIM/eSIM卡连接网络的准备工作(搜网与注网)


#1

首先基于板子的各方面介绍,天宇大佬已经有过介绍,并且分别讲解了两种调试方法和调试代码,下面就开始进入实战环节:连接网络。

想要连接网络你需要一张支持NB-IOT网络的SIM卡(可以找电信、联通、移动去申请,不过建议使用电信的)。然后将卡连接在板子上,microSIM卡可以直接插入弹簧插座,而芯片卡(eSIM卡则需要焊接,但是引脚间距很大,很好焊接)


( 之前为了确定卡是否焊好,给它拆下来过,所以松香痕迹明显。。。 )
芯片底部热焊盘为GND必须焊接,千万保证不要虚焊。焊接好芯片了可以读取一下IMSI来确定是否焊接成功。因为这个代码是写在卡里面的,at指令了解不深,不知有没有其他指令确认卡片连接,如果有请下方回帖。
IMSI
国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。(百度百科地址:在这里

在确保芯片焊接好了之后,我们就可以先来看下是否搜的到网络了,具体方法如下

AT+CSQ

使用这个指令来查看当前的信号质量。其返回结果示例

+CSQ:24,99
OK

+CSQ:后面的两个数字分别是rssi(Received Signal Strength Indication,接收信号强度指示)和ber(Bit Error Rate,误码率)
rssi取值的范围应小于31 ,数值越大信号越好。
ber取值一般为0-7,99为不可知或未察觉,越好通信质量越好,BC95一般此位会返回99.
但此时如果是一块新得BC95模块那么一般都会返回下面的结果

+CSQ:99,99 
OK

这个时候不要慌,再回到前面确认下卡片是否正常安装或焊接。如果没问题,辣么本文的意义就来了:教你如何设置NB-IOT模块的搜网与注网
首先,我们需要确认以下几点:
1.模块的固件版本为:B656或者B656sp2(一般出厂即为B656版本)
2.确认频段为你所用运营商的所在频段(我使用的是电信的NB卡即需设置频段为B5,其他运营商后面补充)
3.确认运营商的扰码为开启或关闭(模块端设置应与运营商保持一致,具体也是询问运营商)
4.开启自动注网
以上这四点没问题就可以解决搜不到信号的问题了。下面我们逐一解决:
首先在设置参数之前,我们需要先将模块模式切换为CFUN:0(类似于手机飞行模式之类)

AT+CFUN?

返回结果

AT+CFUN?
+CFUN:1
OK

返回结果为0则继续之后的设置,如果为1则更改为0后继续设置

AT+CFUN=0

在模块设置完成之后我们要修改回1的状态。
模块固件版本:

AT+CGMR

这条指令就是查询制造商出厂内置的固件版本,在串口端输入这个指令会返回如下的结果

AT+CGMR
V100R100C10B656
OK

这就表示我的模块的内置固件版本为B656版本(如果你的版本有问题,可以联系FAE获取升级包),我的固件版本这里就是OK的。
模块所在频段:

AT+NBAND?

这条指令是查询所在频段频段,它的返回结果如下

AT+NBAND?
+NBAND:5
OK

从结果中看出NBAND:5 就是表示在B5频段,如果你也是使用电信的NB卡,并且返回结果不是5的话继续使用这条指令来设置这个频段

AT+NBAND=5

结果返回OK即这只成功,我们可以再一次查看结果。当然如果你使用联通或者移动NB卡这个频段设置就不同了,具体设置为多少可以询问运营商,我稍后查找一下再做补充。
扰码和自动注网:
这两项是在一条指令下的,所以就放在一起说。

AT+NCONFIG?

这条指令是配置用户行为的,他会返回多行参数,具体如下

AT+NCONFIG?

+NCONFIG:AUTOCONNECT,FALSE
+NCONFIG:CR_0354_0338_SCRAMBLING,TRUE
+NCONFIG:CR_0859_SI_AVOID,TRUE

OK

上面返回结果中AUTOCONNECT表示自动注网功能是否开启,下面的CR开头的两个范围结果表示扰码功能是否开始。其后面跟的参数为TRUE则表示已经开启,若为FALSE则表示尚未开启,我们可以继续使用这条指令使之开启。我们上面的结果中扰码已经开始(运营商开启了扰码,我们则必须开启扰码),自动注网尚未开启。

AT+NCONFIG=AUTOCONNECT,TRUE

执行此条命令后开启自动注网,在使用查询命令即可得到下面的返回结果。

AT+NCONFIG?

+NCONFIG:AUTOCONNECT,TRUE
+NCONFIG:CR_0354_0338_SCRAMBLING,TRUE
+NCONFIG:CR_0859_SI_AVOID,TRUE

OK

下面几条指令就是确认网络状态

AT+CGATT? //Query whether network is activated, +CGATT:1 means activated successfully. And wait for some time.

每条指令具体参数请参考移远BC95_AT指令手册

到此本模块附着网络就完成了,可以发送消息了。后面的教程请关注后续帖子更新。

本文参考CSDN论坛与华为开发者论坛部分帖子经验分享与个人摸索。如有错误请跟帖指正。

作者:野驴先生