查看: 347|回复: 0

[应用笔记] WB81/FB82 TCP/UDP通信指南

[复制链接]

185

主题

204

帖子

596

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
596
发表于 2023-8-8 09:44:37 | 显示全部楼层 |阅读模式
  1引言

  利尔达Lierda WB81模组内置TCP/IP协议栈,用户可以直接通过AT命令访问网络。本文档详细描述WB81模组的TCP-UDP AT指令操作流程。旨在帮助用户快速通过AT命令创建socket、与socket服务器建立TCP或UDP连接或创建socket服务。

  1.1 TCP/UDP协议简介

  TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。由RFC793定义。它位于IP层之上,应用层之下。它为应用层提供可靠的,像管道一样的连接。它具有以下特点:
  ●TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接。只能用于端到端的通讯。
  TCP提供的是一种可靠的数据流服务,提供超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能从一端传到另一端。

  UDP(User Datagram Protocol用户数据报协议)是一种无连接传输层协议,提供面向事务的简单不可靠信息传送服务,由RFC768定义。它不提供数据包分组、组装和排序,当报文发送之后,无法得知其是否完整到达。因为UDP协议的控制选项较少,UDP在数据传输过程中延迟更小,数据传输效率更高。
图1.1 TCP UDP协议模型在互联网中的位置

  2 TCP AT示例

  2.1 WB81开启TCP server ,实现透传


  当 WB81 设备作为 TCP 服务器时,必须通过 AT+CIPMUX=1 命令使能多连接。以下是 WB81设备作为 softAP 建立 TCP 服务器的示例;如果是 WB81 设备作为 station,可在连接路由器后按照同样方法建立服务器。

  2.1.1 WB81设备开启 softAP

  AT+CWMODE=2                //设置 Wi-Fi 模式为 softAP,最大支持sta连接数:10
  OK

  AT+CWSAP="WB81_softAP","1234567890",5,3  //设置AP参数。ssid:WB81_softAP,pwd:1234567890,channel:5(1-13),ecn:3(WPA2_PSK)
  OK

  AT+CIPAP?                   //查询模组 softAP 模式下的IP地址
  +CIPAP:ip:"192.168.4.1"
  +CIPAP:gateway:"192.168.4.1"
  +CIPAP:netmask:"255.255.255.0"
  OK

  2.1.2 WB81设备开启TCP server

  AT+CIPMUX=1            //设置多连接模式,TCP 服务器必须在多连接模式下才能开启 。                  
  ok

  AT+CIPSERVERMAXCONN=1     //设置 TCP 服务器最大连接数为 1,透传模式是点对点的,因此 TCP 服务器的最大连接数只能是 1
  ok

  AT+CIPSERVER=1,8080        // 开启TCP 服务器,设置服务器端口号为8080,用户可以自定义此端口号
  ok

  注:
  多连接 (AT+CIPMUX=1):
  AT+CIPSTART=<link ID>,<"type">,<"remote host">,<remote port>[,<keep_alive>][,<"local IP">]

  <link ID>:网络连接 ID (0 ~ 4)

  2.1.3 PC连接WB81 TCP服务器

  PC 连接到  WB81 设备的 softAP,连接成功,WB81端回显如下

  +STA_CONNECTED:"54:43:b2:6e:dc:40"
  +DIST_STA_IP:"54:43:b2:6e:dc:40","192.168.4.2"

  在 PC 上使用网络调试工具创建一个 TCP Client,连接到WB81 的 TCP Server(ip地址:192.168.4.1,端口号:8080)连接成功,WB81 AT响应如下

  0,CONNECT

  2.1.4 WB81设备进入透传收发模式

  AT+CIPMODE=1            // 进入UART WiFi透传接收模式                              
  ok

  AT+CIPSEND             //进入UART WiFi透传发送模式,透传模式:最大接收 8192 字节,最大发送 2920 字节
  OK
  >
  1234567               //待发送数据

  http://www.cmsoft.cn         //收到数据

  2.1.5 WB81设备退出透传模式

  +++                                     //取消回车换行发送,退出透传发送

  AT+CIPMODE=0                 //加回回车选项发送 退出透传接收
  OK

  注:在透传发送数据过程中,若识别到单独的一包数据 +++,则系统会退出透传发送。此时请至少等待 1 秒,再发下一条 AT 命令。使用 +++ 可退出 透传发送模式,回到透传接收模式,此时 TCP 连接仍然有效。您也可以使用 AT+CIPSEND 命令恢复透传发送模式。

  2.1.6 WB81关闭TCP server

  AT+CIPSERVER=0    //关闭TCP server

  CLOSED
  OK

  2.2 WB81作为TCP Client,实现透传

  2.2.1 WB81设备连接路由器


  AT+CWMODE=1            //设置 Wi-Fi 模式为 station
  OK

  AT+CWJAP="WiFi_test","1234567890"  //连接到路由器,路由器名称:WiFi_test,路由器密码:1234567890;根据实际情况填入参数
  WIFI CONNECTED
  WIFI GOT IP
  OK

  AT+CIPSTA?              //查询模组 station模式下的IP地址
  +CIPSTA:ip:"192.168.88.200"
  +CIPSTA:gateway:"192.168.88.1"
  +CIPSTA:netmask:"255.255.255.0"
  Ok

  2.2.2 PC 创建TCP server

  PC 与 WB81 设备连接到同一个路由,在 PC 上使用网络调试工具,创建一个 TCP server,例如 IP:192.168.88.102,端口:8080

  2.2.3 WB81设备进入透传收发模式

  AT+CIPSTART="TCP","192.168.88.102",8080    //连接TCP服务器,服务器IP地址为 192.168.88.102,端口号为8080
  CONNECT
  OK

  AT+CIPMODE=1                 // 进入UART WiFi透传接收模式                              
  ok

  AT+CIPSEND                   //进入UART WiFi透传发送模式
  OK
  >
  1234567                     //待发送数据

  http://www.cmsoft.cn               //收到数据

  2.2.4 WB81设备退出透传模式

  +++                       //取消回车换行发送,退出透传发送

  AT+CIPMODE=0                 //加回回车选项发送 退出透传接收
  OK

  注:在透传发送数据过程中,若识别到单独的一包数据 +++,则系统会退出透传发送。此时请至少等待 1 秒,再发下一条 AT 命令。使用 +++ 可退出 透传发送模式,回到透传接收模式,此时 TCP 连接仍然有效。您也可以使用 AT+CIPSEND 命令恢复透传发送模式。

  2.2.5 WB81设备关闭TCP连接

  AT+CIPCLOSE        //关闭TCP连接

  CLOSED
  OK

  3 UDP AT示例

  3.1 WB81作为UDP Client,实现透传


  3.1.1 WB81设备连接路由器


  AT+CWMODE=1            //设置 Wi-Fi 模式为  station
  ok

  AT+CWJAP="wifitest","wifitest"     //连接到路由器,路由器名称:wifitest,路由器密码:wifitest;根据实际情况填入参数
  WIFI CONNECTED
  WIFI GOT IP
  OK

  AT+CIPSTA?              //查询模组 station模式下的IP地址
  +CIPSTA:ip:"192.168.88.200"
  +CIPSTA:gateway:"192.168.88.1"
  +CIPSTA:netmask:"255.255.255.0"

  OK

  3.1.2 PC创建UDP 服务器

  PC 与 WB81 设备连接到同一个路由,在 PC 上使用网络调试工具,创建一个 UDP server,例如:UDP服务器IP为:192.168.88.190;端口号:8080

  3.1.3 WB81设备建立UDP连接

  AT+CIPSTART="UDP","192.168.88.190 ",8080   //WB81 与 PC 建立固定 IP 地址和端口的 UDP 传输,在 UDP Wi-Fi 透传下,本参数的值必须设为 0:接收到 UDP 数据后,不改变对端 UDP 地址信息(默认)

  CONNECT
  OK

  注:单连接:(AT+CIPMUX=0) 默认
  AT+CIPSTART=<"type">,<"remote host">,<remote port>[,<local port>,<mode>,<"local IP">]
  ●使用参数 <mode> 前,需先设置参数 <local port>
   0: 接收到 UDP 数据后,不改变对端 UDP 地址信息(默认)
   1: 仅第一次接收到与初始设置不同的对端 UDP 数据时,改变对端 UDP 地址信息为发送数据设备的 IP 地址和端口
   2: 每次接收到 UDP 数据时,都改变对端 UDP 地址信息为发送数据的设备的 IP 地址和端口

  3.1.4 WB81设备收发数据

  客户端连接UDP服务器之后,服务器端不会显示客户端IP和端口号,只有服务端接收到一包数据后,才会显示客户端IP和端口号。此时服务器端才可以向客户端发送数据

  AT+CIPMODE=1           // 进入UART WiFi透传接收模式
  ok

  AT+CIPSEND            //进入UART WiFi透传发送模式
  OK
  >
  wb81

  pcservertowb81client        // 接收到数据为字符串

  3.1.5 WB81设备退出透传模式

  +++                //取消回车换行发送,退出透传发送

  AT+CIPMODE=0          //加回回车选项发送 退出透传接收
  OK

  注:在透传发送数据过程中,若识别到单独的一包数据 +++,则系统会退出透传发送。此时请至少等待 1 秒,再发下一条 AT 命令。使用 +++ 可退出 透传发送模式,回到透传接收模式,此时 TCP 连接仍然有效。您也可以使用 AT+CIPSEND 命令恢复透传发送模式。

  3.1.6 WB81设备断开连接

  AT+CIPCLOSE
  CLOSED

  OK

  3.2 WB81作为UDP server,普通传输


  3.2.1 WB81设备连接路由器


  AT+CWMODE=1            //设置 Wi-Fi 模式为 Station
  ok

  AT+CWJAP="wifitest","wifitest"     //连接到路由器
  WIFI CONNECTED
  WIFI GOT IP
  OK

  AT+CIPSTA?              //查询模组 station模式下的IP地址
  +CIPSTA:ip:"192.168.88.200"
  +CIPSTA:gateway:"192.168.88.1"
  +CIPSTA:netmask:"255.255.255.0"
  OK

  3.2.2 WB81设备创建服务器

  AT+CIPSTART="UDP","192.168.88.181 ",8080,1112,2  //192.168.88.181为客户端IP地址,8080随意填入的一个端口号;1112为本地端口号,可以自定义;2为UDP 传输模式会将远端信息自动更改为最近一次 与WB81设备 UDP 通信的远端 IP 地址和端口

  CONNECT
  OK

  3.2.3 PC创建UDP连接

  PC与WB81设备连接到同一个路由,在 PC 上使用网络调试工具,创建一个 UDP Client,需要填入对端的IP地址(192.168.88.200);和端口号(1112);【本地的端口号(任意)】

  3.2.4 PC发送数据

  PC给wb81设备发送数据之后,wb81设备会获得到对端的真实通信端口号

  3.2.5 WB81设备收发数据

  +IPD,20:pcclienttowb81server  // 接收到数据为字符串

  AT+CIPSEND=4         // 发送数据,普通模式:最大接收 8192 字节,最大发送 8192 字节
  OK
  >
  wb81
  busy p...
  Recv 4 bytes
  SEND OK

  3.2.6 WB81设备断开连接

  AT+CIPCLOSE
  CLOSED

  OK

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

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