|
1 引言
本文档详细描述Lierda NB861&MB261&MB961模组的TCP、UDP连接流程,旨在帮助用户快速通过AT命令创建socket,与socket服务器建立TCP或UDP连接。
1.1 文档目的
本文描述了如何使用Lierda NB861&MB261&MB961模组的Socket AT指令,使客户的设备作为Socket客户端,实现与服务器的网络连接并且发送和接收数据。
1.2 内容简介
本文先简单介绍了TCP/UDP协议,然后分别给出了TCP和UDP两种套接字的连接过程。
1.3 TCP/UDP协议简介
TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由RFC793定义。它位于IP层之上,应用层之下,为应用层提供可靠的、像管道一样的连接。它具有以下特点:
●TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,并且只能用于端到端的通讯。
●TCP提供的是一种可靠的数据流服务,提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP(User Datagram Protocol用户数据报协议)是一种无连接传输层协议,提供面向事务的简单不可靠信息传送服务,由RFC768定义。它不提供数据包分组、组装和排序,当报文发送之后,无法得知其是否完整到达。正因为UDP协议的控制选项较少,在数据传输过程中延迟小,数据传输效率高,适用于一次只传送少量数据、可以保障可靠性的应用程序。
图1.1 TCP/UDP协议在互联网中的位置
2 环境搭建
用户在使用NT35E&NT26E进行TCP/UDP通信时,需要使用自己的服务器进行数据交互,为了方便前期用户设备调测,这里给出利尔达X平台测试服务器的环境搭建流程和使用指导。
2.1 平台登录
登陆利尔达X平台:https://xiot.senthink.com/,未注册的用户可使用手机号和邮箱进行注册,登陆后平台界面如图2.1所示,点击“控制台”进入功能模块窗口界面。
图2.1 TCP服务器接收和发送数据
在“平台能力中心”下开通“网络调试助手”功能。
图2.2 网络调试助手功能模块
开通后进入该功能模块,点击“网络调试助手”,就可以按照图2.3所示创建所需要测试协议对应的服务器。
2.2 平台数据通信
按照2.1章节开通“网络调试助手”后,进入该功能模块,选择左面“TCP”,点击“创建服务器”,生成用于调测TCP服务器的IP和端口。
图2.3 创建TCP服务器
如图2.4所示,生成的IP与端口为121.89.205.240,10000,用户通过AT指令连接该TCP服务器即可进行数据收发。
图2.4:生成服务器IP、端口
图2.5 TCP/UDP调测界面
如图2.5所示,模组上发的数据可以在“数据日志”中显示,显示格式可选择ASCII或者HEX;服务器下发数据在“在线调试”窗口进行数据填写,填写完成后点击“发送”即可,服务器下发数据格式可选择ASCII或者HEX。
3 TCP/UDP连接指导
本章节使用利尔达X平台TCP/UDP服务器调试工具,给出Lierda NB861&MB261&MB961模组与平台数据交互的应用指导。
注:使用X平台服务器测试数据通信,需要按照第2章节中的内容先创建好对应的服务器(TCP or UDP)后,模组再进行通信连接。
3.1 与TCP Server数据交互
令网络调试助手作为TCP Server运行,自动分配端口号和IP地址,本次分配到的端口号为10000,IP地址为121.89.205.240。
AT+NSOCR=STREAM,6,0,1,AF_INET //创建Socket
AT+NSOCO=1,121.89.205.240,10000 //建立TCP连接
AT+NSOSD //发送数据
按照上述流程建立TCP连接并发送数据,网络调试助手界面上将显示收到的数据。通过网络调试助手向NB861&MB261&MB961模组发送数据,会在串口上显示接收到数据的长度,通过AT指令AT+NSORF,可读取相应的数据。调试工具收发数据的情况如下图所示。
图3.1 TCP服务器接收和发送数据
终端显示如下图所示。
图3.2 终端发送和接收数据
具体AT流程如下图所示。
图3.3 与TCP Server交互
3.2 与UDP Server数据交互
令网络调试助手作为UDP Server运行,自动分配端口号和IP地址,本次分配到的端口号为22000,IP地址为121.89.205.240。
AT+NSOCR=DGRAM,17,0,1,AF_INET //创建Socket
AT+NSOST //发送数据
按照上述流程向UDP Server发送数据,网络调试助手界面上将显示收到的数据。通过网络调试助手向NB861&MB261&MB961模组发送数据,会在串口上显示接收到数据的长度,通过AT指令AT+NSORF,可读取相应的数据。调试工具收发数据的情况如下图所示。
图3.4 UDP服务器接收和发送数据
终端显示如下图所示。
图3.5 终端发送和接收数据
具体AT流程如下图所示。
图3.6 与UDP Server交互
4 完整流程示例
4.1 上电检查流程
AT //判断模组是否上电开机成功
AT+CPIN? //查询是否读到卡
AT+CEREG? //判断PS域附着状态,第二个参数为1或5表示附着正常
AT+CGPADDR //查询核心网是否已分配IP
4.2 TCP Server连接流程
AT+NSOCR=STREAM,6,0,1,AF_INET //创建Socket
1
OK
AT+NSOCO=1,121.89.205.240,10000 //与TCP Server连接
OK
+NSOCO:1
AT+NSOSD=1,5,1234567890 //发送数据
1,5
OK
AT+NSOSD=1,5,1234567890,0x100 //发送数据(RAI)
1,5
OK
+NSONMI:1,5 //模组接收到数据
AT+NSORF=1,5 //读取数据
1,121.89.205.240,10000,5,0987654321,0
OK
AT+NSOCL=1 //关闭Socket
OK
+NSOCLI:1
4.3 UDP Server连接流程
AT+NSOCR=DGRAM,17,0,1,AF_INET //创建Socket
1
OK
AT+NSOST=1,121.89.205.240,22000,5,1234567890,100 //发送数据
1,5
OK
+NSOSTR: 1, 100, 1
AT+NSOSTF=1,121.89.205.240,22000,0x100,2,AB30 //发送带标志的消息
1,2
OK
+NSONMI:1,3 //模组接收到数据
AT+NSORF=1,3 //读取数据
1,121.89.205.240,22000,3,123456,0
OK
AT+NSOCL=1 //关闭Socket
OK
4.4 Socket状态查询
AT+NSOCR=DGRAM,17,0,1,AF_INET //创建Socket
1
OK
AT+NSOSTATUS //查询Socket状态
+NSOSTATUS:1,0
+NSOSTATUS:2,1
+NSOSTATUS:3,1
+NSOSTATUS:4,1
+NSOSTATUS:5,1
+NSOSTATUS:6,1
+NSOSTATUS:7,1
OK
5 相关文档
以下相关文档提供了文档的名称,版本请以最新发布的为准。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|