WIFI ESP8266 +TCP Client/UDP实战四

前言:
本文是对ESP8266 AT 单连接 TCP Client 实战配置实例。以及UDP传输实战。

一***单连接 TCP Client***

1.配置wifi模式
AT+CWMODE=3 // softAP+station mode
响应 : OK

2. 连接路路由器器
AT+CWJAP=“SSID”,“password” // SSID and password of router
响应 : OK

3. 查询 ESP8266 设备的 IP 地址

AT+CIFSR
响应 :
+CIFSR:APIP,“192.168.4.1”
+CIFSR:APMAC,“1a:fe:34:a5:8d:c6”
+CIFSR:STAIP,“192.168.3.133”
+CIFSR:STAMAC,“18:fe:34:a5:8d:c6”
OK

4. PC 与 ESP8266 设备连接同⼀一路路由器器,在 PC 端使⽤用⽹网络调试⼯工具,建⽴立⼀一个 TCP 服
务器器。

  • 假设,PC 创建的服务器器 IP 地址为 192.168.3.116,端⼝口为 8080。

5. ESP8266 设备作为 TCP client 连接到上述服务器
AT+CIPSTART=“TCP”,“192.168.3.116”,8080 //protocol, server IP and port
响应 : OK

6. ESP8266 设备向服务器器发送数据
AT+CIPSEND=4 // set date length which will be sent, such as 4 bytes

test // enter the data, no CR

响应 :Recv 4 bytes SEND OK

⚠ 注意:
• 发送数据时,如果输⼊入的字节数超过了了设置⻓长度(n):

  • 系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK。
  • 超出⻓长度的部分数据被认为是⽆无效数据,不被接受。

7. 当 ESP8266 设备接收到服务器器发来的数据,将提示如下信息:
+IPD,n:xxxxxxxxxx // received n bytes, data=xxxxxxxxxxx

UDP 传输

UDP 传输不不区分 server 或者 client ,由指令 AT+CIPSTART 建⽴立传输。

1.配置wifi模式
AT+CWMODE=3 // softAP+station mode
响应 : OK

2. 连接路路由器器
AT+CWJAP=“SSID”,“password” // SSID and password of router
响应 : OK

3. 查询 ESP8266 设备的 IP 地址

AT+CIFSR
响应 :
+CIFSR:APIP,“192.168.4.1”
+CIFSR:APMAC,“1a:fe:34:a5:8d:c6”
+CIFSR:STAIP,“192.168.3.133”
+CIFSR:STAMAC,“18:fe:34:a5:8d:c6”
OK

4. PC 与 ESP8266 设备连接同⼀一路路由器器,在 PC 端使⽤用⽹网络调试⼯工具,建⽴立⼀一个 UDP 传
输。

  • 假设,PC 创建的 UDP ⾃自身 IP 地址为 192.168.101.116,端⼝口为 8080。

5. 后⽂文将基于前述步骤,介绍两种 UDP 通信的示例例。

2.1固定远端的 UDP 通信

1. 使能多连接
AT+CIPMUX=1
响应 :OK

2. 创建 UDP 传输。例例如,分配连接号为 4,指令如下:
AT+CIPSTART=4,“UDP”,“192.168.101.110”,8080,1112,0
响应 :4,CONNNECT OK

说明:
示例例指令中的参数说明如下:
• “192.168.101.110”, 8080 为 UDP 传输的远端 IP 和端口,即前⽂文步骤 4 中 PC 建⽴立的 UDP 端⼝口;
• 1112 为 ESP8266 本地的 UDP 端口,⽤用户可自⾏行设置,如不设置则为随机值;
• 0 表示当前 UDP 传输建⽴立后,UDP 远端不不会被其他设备更更改;即使有其他设备通过 UDP 协议发数据到ESP8266 UDP 端⼝口 1112,ESP8266 的第 4 号 UDP 传输的远端也不会被替换,使⽤用指令
“AT+CIPSEND=4, X” 发送数据,仍然是当前固定的 PC 端收到。

3. 发送数据
AT+CIPSEND=4,7 // Send 7 bytes to transmission NO.4

UDPtest // enter the data, no CR

响应 : Recv 7 bytes SEND OK

注意:
• 发送数据时,如果输入的字节数超过了设置长度(n)

  • 系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK。
    -超出长度的部分数据被认为是⽆无效数据,不被接受。

4. 接收数据。 当 ESP8266 设备接收到服务器器发来的数据,将提示如下信息:
+IPD,4,n:xxxxxxxxxx // received n bytes, data=xxxxxxxxxxx

5. 断开 UDP 传输
AT+CIPCLOSE=4
响应 :4,CLOSED OK

2.2远端可变的 UDP 通信

当使⽤用 AT+CIPSTART 指令创建 UDP 通信,将最后一个参数设置为 2 时,UDP 通信的远端可改变。

1. 创建 UDP 传输。
AT+CIPSTART=“UDP”,“192.168.101.110”,8080,1112,2
响应 : CONNNECT OK
说明:
示例例指令中的参数说明如下:
• “192.168.101.110”, 8080 为 UDP 传输的远端 IP 和端口,即前文 PC 建立的 UDP 端口;
• 1112 为 ESP8266 本地的 UDP 端口,用户可自行行设置,如不设置则为随机值;
• 2 表示当前 UDP 传输建立后,UDP 传输远端仍然会更改;UDP 传输远端会自动更改为最近一个与
ESP8266 UDP 通信的远端。

2. 发送数据
AT+CIPSEND=7 // Send 7 bytes

UDPtest // enter the data, no CR
响应 :Recv 7 bytes SEND OK

注意:
• 发送数据时,如果输入的字节数超过了设置长度(n)

  • 系统将提示 busy,并发送数据的前 n 个字节,发送完成后响应 SEND OK。
  • 超出长度的部分数据被认为是无效数据,不被接受。

3. 发送数据到其他指定远端。例如,发数据到 192.168.101.111, 端口 1000。

AT+CIPSEND=7,“192.168.101.111”,1000 // Send 7 bytes

UDPtest // enter the data, no CR
响应 : Recv 7 bytes SEND OK

4. 接收数据。 当 ESP8266 设备接收到服务器器发来的数据,将提示如下信息:
+IPD,n:xxxxxxxxxx // received n bytes, data=xxxxxxxxxxx

5. 断开 UDP 传输
AT+CIPCLOSE
响应 : CLOSED OK

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王先森001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值