当前位置: 首页 > article >正文

ESP-01S,ESP8266设置客户端透传模式

ESP-01S,ESP8266设置透传(透明传输)模式

例子

AT+CWMODE_DEF=1  //station模式
AT+RST    //重启
AT+CWLAP    //查看周围热点
AT+CWJAP_DEF="ssid","password"     //连接热点
AT+CIFSR    //查看ip
AT+CIPSTA_DEF="192.168.82.66","192.168.6.1","255.255.0.0"    //设置静态ip,可选
AT+CIPMUX=0    //禁用多连接模式(设为单连接模式)
AT+CIPMODE=1     //透传模式使能
AT+CIPSTART="TCP","192.168.6.210",8266  //连接服务器
AT+CIPSEND     //进入透传模式

上电自动进入透传模式

AT+CWMODE_DEF=1  //station模式
AT+RST    //重启
AT+CWLAP    //查看周围热点
AT+CWJAP_DEF="ssid","password"     //连接热点
AT+CIFSR    //查看ip
AT+CIPSTA_DEF="192.168.82.66","192.168.6.1","255.255.0.0"    //设置静态ip,可选
AT+CIPMUX=0    //禁用多连接模式(设为单连接模式)
AT+SAVETRANSLINK=1,"192.168.6.210",8266,"TCP"   //不用单独设置, 重启自动AT+CIPMODE=1
AT+RST    //重启,自动进入透传

详情:

1. 将Wifi模式设为Station模式, 或者Ap+Station模式

可使用 AT+CWMODEAT+CWMODE_CURAT+CWMODE_DEF 命令设置Wifi模式

  • AT+CWMODE—设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP)

@deprecated不建议使用AT+CWMODE,请使⽤用 AT+CWMODE_CUR 或者 AT+CWMODE_DEF 代替

  • AT+CWMODE_CUR —设置当前 Wi-Fi 模式,不不保存到 Flash, 重启失效

  • AT+CWMODE_DEF —设置当前 Wi-Fi 模式并保存到 Flash

取值 1 或 2 或 3

  • 1: Station模式
  • 2: SoftAP模式
  • 3: SoftAP+Station 模式
设为Station模式
AT+CWMODE_DEF=1

或者

设为Ap+Station模式
AT+CWMODE_DEF=3
重启模块
AT+RST
查看Wifi模式
AT+CWMODE?
AT+CWMODE_CUR?
AT+CWMODE_DEF?




2. 查看周围有哪些Wifi(Ap) AT+CWLAP—扫描当前可⽤用的 AP

查看有哪些Wifi(Ap)用 AT+CWLAP 命令, (list Ap 的意思?)

AT+CWLAP

会扫描出周围的可用Wifi(AP)的ssid, 可用于之后连接




3. 连接Wifi(Ap)

连接Wifi(Ap)可用AT+CWJAPAT+CWJAP_CURAT+CWJAP_DEF 命令

AT+CWJAP 已过时, 建议用 AT+CWJAP_CURAT+CWJAP_DEF 命令

  • AT+CWJAP_CUR—临时连接 AP
  • AT+CWJAP_DEF—连接 AP,保存到 Flash

填入ssid和密码,连接

AT+CWJAP_DEF="ssid","password"
上电是否自动连接Wifi AT+CWAUTOCONN
  • 上电自动连接Wifi(Ap) : AT+CWAUTOCONN=1
  • 上电不自动连接Wifi(Ap) : AT+CWAUTOCONN=0
  • 查看 AT+CWAUTOCONN?




4. 查看ip 用 AT+CIFSR 命令

AT+CIFSR 命令可查看ip和mac硬件地址

AT+CIFSR




也可以使用静态Ip

设置Station模式的静态IP可用 AT+CIPSTAAT+CIPSTA_CURAT+CIPSTA_DEF 命令

  • AT+CIPSTA—设置 ESP8266 Station 的 IP 地址 , 已过时,不建议使用,请使⽤用 AT+CIPSTA_CUR 或者 AT+CIPSTA_DEF 代替。
  • AT+CIPSTA_CUR—设置 ESP8266 Station 的 IP 地址,不不保存到 Flash
  • AT+CIPSTA_DEF—设置 ESP8266 Station 的 IP 地址,保存到 Flash
    格式: AT+CIPSTA_DEF=<ip>[,<gateway网关>,<netmask子网掩码>

例子

AT+CIPSTA_DEF="192.168.82.66","192.168.6.1","255.255.0.0"




5. 将CIPMUX设为单连接模式0 AT+CIPMUX=0

设置连接模式用AT+CIPMUX命令, 取值0或1

  • 0:单连接模式(用于透传)
  • 1:多连接模式(用于服务器)
    透传模式必须是单连接模式(服务器模式必须是多连接模式)
    设为单连接模式
AT+CIPMUX=0

查看 CIPMUX 用 AT+CIPMUX?

AT+CIPMUX?




6. 将 CIPMODE 设为透传模式1 AT+CIPMODE=1

AT+CIPMODE—设置传输模式, 有两种:

  • AT+CIPMODE=0 : 普通传输模式
  • AT+CIPMODE=1 : 透传模式,仅⽀支持 TCP 单连接和 UDP 固定通信对端的情况
AT+CIPMODE=1

AT+CIPMODE=1 还并未进入透传模式, 而是使能

本设置不不保存到 Flash。

透传模式传输时,如果连接断开,ESP8266 会不不停尝试重连,此时关闭换行功能单独输⼊入 +++ 退出透传,则停⽌止重
连;普通传输模式则不不会重连,提示连接断开。




7. 用 AT+CIPSTART 建立 TCP连接,UDP传输 或 SSL 连接

单连接模式下CIPSTART的格式为: AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>]

以TCP为例

AT+CIPSTART="TCP","192.168.6.210",8266




8. 执行 AT+CIPSEND 指令, 进入透传模式

  • AT+CIPSEND 进入透传
  • AT+CIPSEND=<length> 用于单连接TCP普通模式
  • AT+CIPSEND=<link ID>,<length> 用于多连接TCP普通模式
  • AT+CIPSEND=[<link ID>,]<length>[,<remote IP>,<remote port>] 用于UDP传输




退出透传模式用+++三个加号, 且禁用添加换行符功能




上面的方式,重新上电后不会自动执行, CIPMODE也回退到0普通模式
可以用 AT+SAVETRANSLINK —保存透传到 Flash
重启后自动连接 , CIPMODE自动设为1透传模式

AT+SAVETRANSLINK—保存透传到 Flash

指令格式: AT+SAVETRANSLINK=<mode>,<remote IP or domain name>,<remote port>[,<type>,<TCP keep alive>]

例如

AT+SAVETRANSLINK=1,"192.168.6.210",8266,"TCP"










一些链接

安信可科技 https://www.ai-thinker.com/home

安信可科技 ESP8266系列模组专题 https://docs.ai-thinker.com/esp8266

安信可科技 ESP8266系列平时开发工具汇总:https://docs.ai-thinker.com/tools

安信可科技 AT固件汇总页面 : https://docs.ai-thinker.com/固件汇总

安信可科技 官方应用手册 https://docs.ai-thinker.com/官方手册资料2

乐鑫科技 Espressif 官网 https://www.espressif.com.cn

乐鑫科技 Espressif 官网 中文 https://www.espressif.com.cn/zh-hans/home


http://www.kler.cn/news/309639.html

相关文章:

  • Nginx节点健康检查与自动上下线管理脚本,推送告警到企业微信
  • 解决Windows桌面或文件夹不自动刷新
  • 五种嵌入式中常见网络协议栈
  • 探索物联网 (IoT):从概念到应用
  • [性能]高速收发的TCP/MQTT通信
  • docker时区修改
  • linux网络编程1
  • iOS六大设计原则设计模式
  • c++9月18日
  • [C++] 剖析多态的原理及实现
  • 深入了解单元测试框架:JUnit 5、Mockito和 AssertJ
  • 前端项目优化:极致最优 vs 相对最优 —— 深入探索与实践
  • App Fiddler抓包配置
  • arm
  • 一种没有注释的语言
  • python画图|3D直方图基础教程
  • CSP-J/S赛前知识点大全3.1.1:初赛易错重难点(题目)
  • C++如何处理内存碎片问题
  • java -- JDBC
  • 鸿蒙Harmony应用开发,数据驾驶舱页面的实现
  • 技术美术一百问(02)
  • 游戏开发引擎__游戏场景(灯光,摄像机)
  • 0918作业
  • 使用Docker挂载部署JAVA项目
  • MICE MIXTURE OF CONTRASTIVE EXPERTS FOR UNSUPERVISED IMAGE CLUSTERING
  • Docker安装SVN,搭建自己的本地版本仓库
  • 高密原型验证系统解决方案(下篇)
  • 图像检测【YOLOv5】——深度学习
  • 面向对象程序设计之模板进阶(C++)
  • MySQL8.0.13-函数索引