NB-IOT模组(海思方案)常见问题汇总

1) IMEI 码

通过发送指令“AT+CGSN=1”可以查询 IMEI号。目前我司IMEI出厂已设置好,不可手动修改。

2) 设置 NCDP

NCDP设置前先设置 IMEI,否则报错;IMEI设置后,设置 NCDP如果还是报错,是因为 NCDP的值是设置到 NV里面的,你之前可能已经设置过一次 NCDP的值了,CFUN=1时,就必须设置成跟 NV里面一样的,相当于 AT发现没改变,就没更新 NV,这样才会返回成功,否则报错;要想改变,CFUN的值要切换到 0,AT+CFUN=0,再设置NCDP,可以成功。

3) 模块找网

模块是默认自动找网(可以用 AT+NCONFIG?查询)如果返回 AUTOCONNECT,FALSE,可以使用 AT+NCONFIG=AUTOCONNECT,TRUE这个命令来设置成自动找网。自动找网后,可以发 UDP message,但要是发送 COAP message,需要手动配置 APN。要想手动找网,执行 AT+NCONFIG=AUTOCONNECT,FALSE然后重启模块,这个值会保存,开始手动找网。

4) 关于扰码开关影响模块找网注册

有些地方的基站是开启了扰码功能,这时需要手动把掩码开关打开模块才能正常附着注册到网,后续版本支持掩码开关自适应,不需要控制,目前版本不支持。

开关 AT命令如下:

AT+CFUN=0

AT+NCONFIG=CR_0354_0338_SCRAMBLING,TRUE

AT+NCONFIG=CR_0859_SI_AVOID,TRUE

AT+NRB             //重启模块     

是否修改成功可以使用 AT+NCONFIG?命令查询,命令返回

+NCONFIG:AUTOCONNECT,FALSE

+NCONFIG:CR_0354_0338_SCRAMBLING,TRUE

+NCONFIG:CR_0859_SI_AVOID,TRUE

5) UDP数据通信

发送 UDP数据 UDP需要先建立 Socket再发送数据,即 AT+NSOCR命令创建SOCKET后,再用 NSOST命令发送数据;AT+NSOCR= DGRAM,17,5683前两个参数是固定的,第 3个参数 5683是你本地的端口,在参数范围内,只要不被占用,可以随便设置。        AT+NSOST=1,192.158.5.1,1024,2,AB30,第一个参数表示创建的 SOCKET,第 2,3参数指的是接收端(server)的地址和端口,第四个参数是数据长度,最后一个参数是 16进制数据。

6) 发COAP message

COAP不用先建立连接,设置 CDP server后,直接可以发数据。

AT+NCDP=192.53.100.53      //Configuration CDP server

这条命令是设置服务器的 IP地址,支持设置外网的服务器地址(前提是你部署的网络能和这个服务器连接),端口得看服务器设置的监控端口是多少,默认是 5683。

7) 关于 paging

模组已支持在 idle下接收 paging,要测试的话,需确认基站是否支持 paging。

8) 波特率设置

     NB模组波特率要求为9600bps,控制mcu通信波特率假如精度不够会导致通信异常。

9)查询系统时间

          使用AT+CCLK查询系统时间每天都会有一定的误差,要想获取精确时间需要定期对时(发送复位指令)。

10) 运营商卡套餐注意

          移动套餐cmnbiot所有参数都是以模组端设置为准(各地区核心网有差异,以实际为准)。电信套餐除ue.prefer.ctnb之外都是运营商核心网配置的,默认发ctnb卡。电信卡默认IMEI和卡绑定。

11)发送数据引起的电磁干扰

         NB模组在发送数据时可能对周边电流有影响,实测STM32的IO口上发生的电压暂降达到1V。

12)运营商核心网及基站接入

         移动、联通的基站可以指向任意IP地址的核心网,电信基站只能指向自己的核心网。但是电信核心网在网络有负担的情况下会禁止移动、联通数据接入。

13)心跳设置

         低功耗产品尽量让主控MCU来发送心跳,且心跳和数据要先后连续发送。

14)强制关闭模块

入网或发送数据不成功时模组都会进行自动找网或重发。对于低功耗产品建议当3min未收到发送成功状态字就将模组强制关闭。强制关闭指令为:AT+CFUN=0。

猜你喜欢

转载自blog.csdn.net/wangzhiqin365/article/details/107405286