注意:
1>电信NB卡不支持连接未加入电信白名单的私有服务器,我司已将UDP测试服务器118.190.93.84写入我司所售NB卡的白名单,所以可以连接测试。
2>移动和联通暂无限制
一、测试准备
1、硬件准备:USB转232串口线、NB73模组+NB7X-EVK底板、12V电源适配器 、全频天线 、电信NB卡(有人所售电信NB卡。购买链接:http://shop.usr.cn/sim)
配套测试底板:
NB73/NB71/NB73-BA:
[WH-NB7X-EVK] NB-IoT模块测试版_nbiot评估板_NBIOT开发板
[USR-GM3-EVK]工业级透传GPRS模块 无线数传模块 UART转GPRS评估板
NB73-B5:
[USR-GPRS232-7X-EVK] 7SX系列模块评估板 RS232转GPRS UART转GPRS模块评估板
2、正确安装NB卡:
硬件连接:
将NB73焊接在底板上,用USB转232串口线连接PC的USB接口和底板上对应的通信串口,连接好天线和sim卡。
设置软件下载:http://www.usr.cn/Download/620.html
出厂参数:
项目 |
参数 |
波特率 |
9600 |
数据位 |
8 |
停止位 |
1 |
校验位 |
NONE(无校验) |
数据流向:
二、参数设置:
1、打开设置软件 选择设备对应的串口号(串口号可在设备管理器中查看,如下图所示:)
注意:若设备管理器里无串口显示,可能是串口线有问题或者电脑没有串口驱动,可以换根串口线或者用驱动精灵等软件修复一下串口驱动
2、选择对应的串口号、波特率等参数,打开串口,串口参数出厂默认9600/NONE/8/1。
串口打开失败原因:
1>串口不存在。选择的串口号不是设备连接电脑对应的串口
2>串口被占用。同一个串口不能被多个串口软件打开,可以检查一下电脑上是否有其他软件打开了该串口
3、 联网检测
为了确保模块能够正常使用,先用一键联网检测测试是否能够全部通过,若全部OK,则模块正常,可以联网通信。若有选项error,可以点击对应的查看按钮,根据提示检查硬件设置等。
注意:
1>模块出厂默认在cmd模式下,可以直接用AT指令进行配置
2>若模块非出厂状态,之前已经配置为net透传或者coap透传,或者之前忘记配置为什么模式了,可以点击进入配置状态按钮,看是否返回OK,若返回OK则进入配置成功,可以读取一下当前参数,看一下之前配置为什么模式。
4、 创建一个socket
串口发送AT指令:AT+NSOCR= STREAM,6,4588,1
参数说明:
STREAM:DGRAM 表示 UDP, STREAM 表示 TCP
6:标准网络协议的定义,UDP 为 17,TCP 为 6
4588:本地端口号,0~65535
1:整数类型。 0 传入信息忽略 ;1 传入信息接收,默认值
返回:1
OK
参数说明:
1:整数形式,已建立 Socket 编号,一共支持 6 路 Socket 建立
5、 建立 TCP 连接
串口发送AT指令:AT+NSOCO=1,118.190.93.84,2317
参数说明:
1:整数形式,已建立的 socket 编号
118.190.93.84:远程服务器 IP
2317:远程服务器端口
注意:
1>由于电信运营商的限制,电信NB卡不支持连接未加入电信白名单的私有服务器
2>我司已将UDP/TCP测试服务器118.190.93.84:2317写入我司所售NB卡的白名单,所以可以连接测试。
3>若连接未加入白名单的私有服务器,可能会有几分钟或者几包数据可以正常通信,但是之后就会被强制断开的。
6、发送 TCP 数据
串口发送AT指令:AT+NSOSD=1,2,6162
参数说明:
1:整数形式,已建立的 socket 编号
2:数据长度
6162:数据内容,格式为十六进制字符串
返回:1,2
OK
参数说明:
1:整数形式,已建立的 socket 编号
2:数据长度
+NSONMI:1,2 Socket 数据到达指示
表示收到来着socket1的数据,数据大小为2字节
7、读取 socket 接收到的数据
串口发送AT指令:AT+NSORF=1,2
参数说明:
1:整数形式,已建立的 socket 编号
2:以十进制显示收到数据的最大长度
串口返回:
1,118.190.93.84,2317,2,6162,0
OK
参数说明:
1:已建立的 socket 编号
118.190.93.84,2317:消息来源 IP 地址
2317:消息来源端口
2:以十进制显示收到数据的长度
6162:接收的数据,HEX 格式
0:以十进制显示这个消息剩余未读取的数据长度(0代表缓存数据已全部读取完毕)
8、关闭 Socket
串口发送AT指令:AT+NSOCL=1
关闭编号为1的socket。
注意:我司UDP/TCP测试服务器只是用来测试设备基本通信,现象就是串口发送什么数据,服务器就会返回什么数据,类似自发自收。