NBIoT双向通信

NBIoT双向通信

最近在使用BC95做NB的双向通信,网上几乎搜不到资料,就自己贡献一点吧。。。。

首先这个项目对于数据的下发时延要求比较高,因此需要让电信的人将NB卡开通为psm0,eDrx0(就是进入DRX模式)。

本次项目接入的是easyIoT平台。

注网过程如下:

AT


OK
AT+CMEE=1


OK
AT+CIMI


460111174772907


OK
AT+CGSN=1


+CGSN:863703038461906


OK
AT+CEREG=1


OK
AT+CSCON=1


OK
AT+CSQ


+CSQ:25,99


OK
AT+NUESTATS


Signal power:-683
Total power:-625
TX power:230
TX time:413
RX time:7279
Cell ID:123808593
ECL:0
SNR:237
EARFCN:2505
PCI:85
RSRQ:-108


OK
AT+CGATT?


+CGATT:1


OK
AT+CSCON=1


OK

AT+CPSMS=0,,,01000011,01000011//将模组设置为关闭PSM,一般来说只要NB卡开通了psm0,eDRX0,并且easyIoT上设置设备的服务模式为eDrx,可以不用此指令


OK

AT+CEDRXS=0,5,1111//同上,一般来说不用此指令


OK


+CSCON:0

AT+CFUN=0


+CSCON:1


+CSCON:0


OK


+CEREG:0
AT+NCDP=117.60.157.137//南京IoT服务器的IP


OK
AT+NRB


REBOOTING
骁?
REBOOT_CAUSE_APPLICATION_AT
Neul 
OK
AT+NSMI=1


OK
AT+NNMI=2

 

OK

然后发送数据到平台上:

数据是根据easyIoT终端接口协议写的,其中的参数的TLV需与产品中的设备消息设置的参数一一对应。

AT+NMGS=68,01F000400003640000001A383633373033303335343536373530343630313131313733323238343234000000000000000001000F0100020A010200020B020300020C0301B

OK

 

+NSMI:SENT

平台收到后会有回复包发过来:

+NNMI

使用指令查看:

AT+NQMGR


BUFFERED=1,RECEIVED=13,DROPPED=0

 

OK

AT+NMGR


9,01F1000500000B0305

 

OK

此时,数据上报成功。

通过服务器下发控制指令,因为处于DRX模式很快就收到

+NNMI

把数据读出来

AT+NQMGR


BUFFERED=1,RECEIVED=15,DROPPED=0


OK
AT+NMGR


14,01F2000A0008C8000404000101D7
 

OK

然后发送一个回复包给平台:

AT+NMGS=14,01F3000A0008C8000400000100D3


OK


+NSMI:SENT

到此,一个下发控制过程完成。

一点心得:

1.通过这种方式可以实现NB的低延时双向通信,但是能耗较高,一般适用于插电设备。

2.上传数据时协议里的IMEI,IMSI是ISO-8859-1格式的,信号强度通过AT+NUESTATS 获取Signal power 然后除以10,保留正负号:。

3.参数要与平台上设置的参数的TLV一一对应,设备消息的消息代码是给设备南向用的,消息ID是服务器北向对接解析用的。

4.easyIoT上注册设备时必须设置服务模式为eDrx,NB卡需开通psm0,eDRX0,才能实现低延时双向通信。

猜你喜欢

转载自blog.csdn.net/zhangbijun1230/article/details/85156843