快捷搜索:  汽车  科技

nb-iot系统消息解读(NB-IOT模块实战测试)

nb-iot系统消息解读(NB-IOT模块实战测试)开机打印:电路板做好后就可以上电测试了。BC26的特点是可以使用低电压供电,正常工作在3.2v就很稳定,最低的工作电压是2.1V,非常适合磷酸铁锂电池供电,一般其他的模块都是3.7v供电,必须使用标称电压为3.7v的锂离子或锂聚合物电池供电。BC26还有一个特点是串口的电平是1.8v,必须使用1.8v的USB转串口线,普通的3.3v和5V的都不能使用。如果使用普通的usb串口线,需要在模块和串口线之间加电平匹配电路。测试下面就介绍下NB-IOT模块的调试过程。先为买来的NB模块按照硬件参考手册设计电路图和PCB图,由于需要运营商支持,SIM卡是少不了的。如果用一个最简的调试电路,只需要SIM卡和模块及其电源电路即可。另外天线部分要进行阻抗匹配。

nb-iot系统消息解读(NB-IOT模块实战测试)(1)

模块选型

NB模块现在在市场上可选择的种类并不多,不像GPRS模块那样百花齐放,资料也少的可怜,常见的有SIMcom的SIM700系列,中兴的ME系列,移远的BC系列等。这里演示的是一款移远的模块BC26,基于MTK平台的解决方案,支持TCP,UDP,MQTT,LWM2M等协议。

物联网卡的选择:

现在的物联网卡主要使用的是电信和移动,联通的用的比较少。电信的计费是按照连接次数计费,移动是按照流量计费。移动的物联网卡可以使用在GPRS模块上,装在手机里面也可以使用。但电信的就不行了,电信的物联网卡只能在NB模块中使用,它的计费方式也很特别,按照连接次数来计费, 需要计次的NB-IoT消息定义为含有业务语义的,用于完成业务诉求的应用层消息。包括:注册消息、订阅消息、数据上报消息、命令下发消息、命令响应消息、应用层心跳消息等。 不计次消息包括:DTLS握手消息、重传消息、ACK确认消息等。对于大于500字节的消息根据消息大小,以0.5KB为单位切分为多条消息计次。

测试

下面就介绍下NB-IOT模块的调试过程。

先为买来的NB模块按照硬件参考手册设计电路图和PCB图,由于需要运营商支持,SIM卡是少不了的。如果用一个最简的调试电路,只需要SIM卡和模块及其电源电路即可。另外天线部分要进行阻抗匹配。

电路板做好后就可以上电测试了。BC26的特点是可以使用低电压供电,正常工作在3.2v就很稳定,最低的工作电压是2.1V,非常适合磷酸铁锂电池供电,一般其他的模块都是3.7v供电,必须使用标称电压为3.7v的锂离子或锂聚合物电池供电。BC26还有一个特点是串口的电平是1.8v,必须使用1.8v的USB转串口线,普通的3.3v和5V的都不能使用。如果使用普通的usb串口线,需要在模块和串口线之间加电平匹配电路。

开机打印:

F1: 0000 0000

V0: 0000 0000 [0001]

00: 0006 000C

01: 0000 0000

U0: 0000 0001 [0000]

T0: 0000 00B4

Leaving the BROM

输入AT命令

AT

OK

显示NB-IOT信号强度

at csq

CSQ: 23 0

OK

信号大于10就可以了,现在的信号强度还是不错的。

IP: 10.166.206.202

NB模块以及注册到电信的网络上了并且获取了IP地址。显然这是一个内网地址。

BC26支持工程模式的AT命令,显示格式如下:

QENG: 0 <sc_earfcn> <sc_earfcn_offset> <sc_pci> <sc

_cellid> [<sc_rsrp>] [<sc_rsrq>] [<sc_rssi>] [<sc_snr>] <

sc_band> <sc_tac> [<sc_ecl>] [<sc_tx_pwr>]

AT QENG=0

QENG: 0 2506 2 320 "E437C52" -82 -5 -78 14 5 "E450" 0

可以看到信道号为2506,这个信道是850M频段的,显然电信使用的是B5频段部署的NB-IOT.

如果没有看到启动时候打印的IP地址,可以使用下面命令显示,如果没有获取IP地址就只显示OK。

AT CGPADDR

CGPADDR: 1 10.166.206.202

OK

建立TCP连接格式,使用buffer模式(buffer模式是信息存储在模块的缓冲区里面,需要用户手动去取,直接模式是消息来了直接打印到串口,常用的是buffer模式,直接模式输出的数据容易打乱程序逻辑)

AT QIOPEN=<contextID> <connectID> <service_type> <IP_address>/<domain_name> <remote_port>[ <local_port>[ <access_mode>][ <protocol_type>]]

返回格式,err为0表示连接成功

QIOPEN: <connectID> <err>

AT QIOPEN=1 0 "TCP" "220.180.239.212" 8062 1234 0

OK

QIOPEN: 0 0

nb-iot系统消息解读(NB-IOT模块实战测试)(2)

连接成功

查看连接状态

AT QISTATE=1 0 //Query the connection status of Context ID 0.

QISTATE: 0 "TCP" "220.180.239.212" 8062 1234 2 1 0

OK

发送文本消息

AT QISEND=0 22 this is a test message

OK

SEND OK

nb-iot系统消息解读(NB-IOT模块实战测试)(3)

发送16进制数据

AT QISENDEX=0 5 3031323334

OK

SEND OK

nb-iot系统消息解读(NB-IOT模块实战测试)(4)

郑重声明:本文作品为原创,如转载须注明出处“头条号:物联网电子世界”。

猜您喜欢: