天天看点

关于NBiot(BC35)发送COAP数据返回+CME ERROR: 513的问题

当模组发送coap数据返回错误(开启错误码报告提示的前提下才会有+CME ERROR: 513出现,对应得AT指令为AT+CMEE=1),例如:

>[Tx ->][13:20:39:881][Asc]
AT+NMGS=3,313233

>[Rx <-][13:20:40:174][Asc]

+CME ERROR: 513
           

出现这种情况可以挨个排查,NB模组首先需要连接基站(eNodeB,也就是eNB),然后由基站连接核心网( EPS),EPS连接IOT平台。

1、先查网络

AT+CGATT?         //返回+CGATT:1 表示附着成功,有时延约 30s 。这里是指注册运营商网络并附着网络
AT+CEREG?         //查寻注网状态,1为注册上网络,2为正在找网 。这里是指注册核心网(EPS)
AT+CGPADDR        //查询模组IP,此IP为EPS内部IP。能读出IP说明EPS已经为模组分配了IP地址,具备通信条件
AT+CSCON?         //查询连接状态,1为Connected,0为 Idle。这里是指与基站(eNB)的连接状态,发送数据的时候才会更新状态
           

如果以上指令查询都没问题,那就继续排查。

注意:AT+CGATT?返回为0的话,发送coap数据会返回+CME ERROR: 4

2、查看IOT平台地址对不对

AT+NCDP?//查看当前IOT平台地址,一般正式服务器为117.60.157.137,5683;测试服务器为180.101.147.115,5683
           

 如果模组地址不对,需要设置新的地址

AT+NCDP=180.101.147.115,5683//设置IOT平台地址
           

3、模组IMEI号时是否在IOT平台注册

      可以先查看模组的注册状态

AT+NMSTATUS?//查看模组注册状态,如果返回+NMSTATUS:REJECTED_BY_SERVER,那说明被服务器拒绝
           

      这个时候可以判断为IMEI号未在IOT平台注册,需要在相应的IOT平台上注册IMEI号。

注意:模组在和IOT平台通讯时需要先注册IOT平台连接,不然和IOT平台通讯不了,一般来说模组默认连上了EPS之后会自动注册IOT平台连接。可以通过AT+QREGSWT?来查看。返回0为需要手动注册,返回1为自动注册。自动注册就什么都不用管,只管发数据就好了。需要注意的是手动注册,如果注册模式设置为手动注册,那么需要AT+QLWSREGIND=0这个指令来注册IOT平台连接。在没有注册IOT平台连接的情况下发COAP数据会出现+CME ERROR: 513错误,但是发送的同时会去注册IOT平台连接,这样的话第二次发送COAP数据就能成功,相当于第一次发送数据总会是失败的。

AT+QREGSWT?//查询IOT平台连接注册模式,0为手动注册,1为自动注册
AT+QLWSREGIND=0//注册IOT平台连接
AT+QLWSREGIND=1//注销IOT平台连接
           

继续阅读