• 如何用 ESP-AT 进行多种场景下的 UDP 透传


    > 此博客将会记录三种不同的测试场景下的 UDP 透传

    1. ESP 设备开启 Wi-Fi AP + UDP Server 模式
    2. ESP 设备开启 Wi-Fi AP + UDP Client 模式
    3. ESP 设备开启 Wi-Fi Station + UDP Client 模式
    4. ESP 设备开启 Wi-Fi Station + UDP Server 模式

    1 ESP 设备开启 Wi-Fi AP + UDP Server 模式

    说明:PC 作为 UDP Client 与 ESP8266 作为 UDP Server 是在 ESP8266 设备的 AP 热点的局域网下

    • 测试指令如下:
    1. AT+RESTORE          //将模组恢复出厂设置
    2. AT+CWMODE=2         //ESP8266 作为 AP 模式
    3. AT+CWSAP="ESP8266","123456789"       // 设置 ESP8266 作为 AP 的配置
    4. PC 连接 ESP8266 AP 
    5. PC 开启 UDP Client 模式,例如:UDP Client IP 为 192.168.4.2 ; 端口号为 1001
    6. AT+CIPSTART="UDP","UDP Client 的 IP ",8080,2345,0       //PC 连接 ESP8266 AP 后的 IP 一般为 192.168.4.2 。8080 为 UDP Client 的端口号;2345 为 ESP8266 作为 UDP Server 自定义的端口号,UDP 透传模式时,最后一个参数必须为 0 
    7. AT+CIPMODE=1            // 开启透传模式 
    8. AT+CIPSEND            // 进入数据透传模式
    9. +++ 或 AT+CIPMODE=0       //退出数据透传模式,+++ 为不带换行的数据包 ;AP+CIPMODE=0 为带换行的 AT 指令     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    测试结果如下:

    • ESP8266 设备端

    注意:

    • 当 ESP8266 设备作为 UDP Server 端时,2345 为自行设置的端口号

    在这里插入图片描述

    • PC 开启 UDP Client 端
      在这里插入图片描述

    2 ESP 设备开启 Wi-Fi AP + UDP Client 模式

    说明:PC 作为 UDP Server 与 ESP8266 作为 UDP Client是在 ESP8266 设备的 AP 热点的局域网下

    • 测试指令如下:
    1. AT+RESTORE          //将模组恢复出厂设置
    2. AT+CWMODE=2         //ESP8266 作为 AP 模式
    3. AT+CWSAP="ESP8266","123456789"       // 设置 ESP8266 作为 AP 的配置
    4. PC 连接 ESP8266 AP 
    5. PC 开启 UDP Server 模式,例如:UDP Server IP 为 192.168.4.2 ; 端口号为 1001
    6. AT+CIPSTART="UDP","192.168.4.2",8080     //8080 为 PC 作为 UDP Server 的端口号;
    7. AT+CIPMODE=1            // 开启透传模式 
    8. AT+CIPSEND            // 进入数据透传模式
    9. +++ 或 AT+CIPMODE=0       //退出数据透传模式,+++ 为不带换行的数据包 ;AP+CIPMODE=0 为带换行的 AT 指令     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    测试结果如下:

    • ESP8266 设备端

    注意:

    • adassdas 为 ESP8266 设备作为 UDP Client 接收到的 PC 作为 UDP Server 端发来的数据。

    在这里插入图片描述

    • PC 开启 UDP Client 端

    注意:

    • 当 ESP8266 作为 UDP Client 向 PC 作为 UDP Server 发送数据后,PC 端作为 UDP Server 会获取到 ESP8266 作为 UDP Client 的 端口号,这里可以看到端口号为 53631
    • PC 端作为 UDP Server 端可以收到来自 ESP8266 设备端作为 UDP Client 端发来的数据 123456789

    在这里插入图片描述


    3 ESP 设备开启 Wi-Fi Station + UDP Client 模式

    说明:PC 作为 UDP Server 与 ESP8266 作为 UDP Client是连接的同一个外部路由器,是在同一个外部路由器的 Wi-Fi 热点的局域网下

    • 测试指令如下:
    1. AT+RESTORE         //将模组恢复出厂设置
    2. AT+CWMODE=1         //ESP8266 作为 Station 模式
    3. AT+CWJAP="zztest","espressif"        //  ESP8266 作为 Station 连接一个外部路由器的 Wi-Fi 热点
    4. PC 连接同一个外部路由器
    5. PC 开启 UDP Server 模式,例如 IP 地址为:192.168.1.31 ;端口号为 8080 
    6. AT+CIPSTART="UDP","192.168.1.31 ",8080  //ESP8266 作为 UDP Client 与 PC 作为 UDP Server 建立连接。8080 为 PC 开启 UDP Servert 的 端口
    7. AT+CIPMODE=1                // 开启透传模式 
    8. AT+CIPSEND                  // 进入数据透传模式
    9. +++ 或 AT+CIPMODE=0         //测试退出数据透传模式,+++ 为不带换行的数据包 ;AP+CIPMODE=0 为带换行的 AT 指令,       
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 测试结果如下:
      在这里插入图片描述

    4 ESP 设备开启 Wi-Fi Station + UDP Server 模式

    说明:PC 作为 UDP Client 与 ESP8266 作为 UDP Server 是连接的同一个外部路由器,是在同一个外部路由器的 Wi-Fi 热点的局域网下

    • 测试指令如下:
    1. AT+RESTORE         //将模组恢复出厂设置
    2. AT+CWMODE=1         //ESP8266 作为 Station 模式
    3. AT+CWJAP="zztest","espressif"        //  ESP8266 作为 Station 连接一个外部路由器的 Wi-Fi 热点
    4. PC 连接同一个外部路由器
    5. PC 开启 UDP Client 模式,例如 IP 地址为:192.168.1.31 ;端口号为 8080 
    6. AT+CIPSTART="UDP","192.168.1.31 ",8080,2233,0  //ESP8266 作为 UDP Server 与 PC 作为 UDP Client 建立连接。8080 为 PC 开启 UDP Client 的端口;2233 为 ESP8266 作为 UDP Server 自定义的端口;UDP透传时,最后一个<mode> 参数必须为 0 
    7. AT+CIPMODE=1                // 开启透传模式 
    8. AT+CIPSEND                  // 进入数据透传模式
    9. +++ 或 AT+CIPMODE=0         //测试退出数据透传模式,+++ 为不带换行的数据包 ;AP+CIPMODE=0 为带换行的 AT 指令,       
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 测试结果如下:
      在这里插入图片描述
  • 相关阅读:
    drools的类型声明(Type declarations)
    2023-10-09 LeetCode每日一题(最小和分割)
    JS——利用js实现模态框的拖拽
    云原生Kubernetes系列 | init container初始化容器的作用
    Abnova丨Abnova 稳定细胞株抗体解决方案
    WPF如何实现应用程序托盘
    Rocket学习笔记(二)
    JVM相关面试题及常用命令参数
    Diffusers 一岁啦 !
    在推送 SwiftUI 时将隐藏添加到 TabView(底部栏)
  • 原文地址:https://blog.csdn.net/Marchtwentytwo/article/details/126896074