查看: 366|回复: 0

[应用笔记] Lierda NB861&MB261&MB961 TCP&UDP应用指导

[复制链接]

77

主题

118

帖子

1403

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1403
发表于 2023-8-4 09:55:53 | 显示全部楼层 |阅读模式
  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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表