WiFi模块 ESP8266-01S的使用

ESP8266-01S的基本信息

ESP8266 模块支持 三种工作模式。

  • STA——Station 模式 (可连接到其他热点)
  • AP ——AP 模式(默认模式ESP8266 模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制)
  • STA+AP ——两种模式的共存模式,(STA 模式)即可以通过路由器连接到互联网,并通过互联网控制设备;(AP 模式)也可作为 wifi 热点,其他 wifi设备连接到模块。这样实现局域网和广域网的无缝切换,方便操作

简单的AT测试

1.接线

与蓝牙模块相似,也是需要用USB转TTL模块(交叉连接)
RX -------------------TX
TX ------------------- RX
VCC ----------------- 3.3V
GND ----------------- GND
注意:尽量不要使用USB转TTL模块直接供电 VCC不能接5V。如果用到项目中的话,可以向下图那样接到单片机的串口中
在这里插入图片描述

模块上电时,蓝灯会闪一下,之后就处于熄灭的状态,上电出现乱码属于正常现象

2.AT指令测试

简单的AT指令

指令响应说明
ATOK测试指令
AT+RSTOK重启模块
AT+GMRAT version: AT 版本
SDK version: SDK 版本
发布公司
发布时间
OK
查看版本信息
ATEOK开关回显功能
AT+RESTOREOK恢复出厂设置

打开串口调试助手,把波特率设置为115200勾选发送新行发送AT就能收到AT OK了
在这里插入图片描述
如果觉得回显功能太碍眼了,可以发送ATE0关闭回显,想打开是就发送ATE1打开回显。关闭后发送AT就只能收到OK了。
在这里插入图片描述

通信测试

用ESP8266与电脑或手机进行通信,ESP8266接到USB转TTL上即可

TCP/UDP协议

传输控制协议(TCP):TCP定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。协议规定了TCP软件怎样识别给定计算机上的多个目的进程如何对分组重复这类差错进行恢复。协议还规定了两台计算机如何初始化一个TCP数据流传输以及如何结束这一传输。TCP最大的特点就是提供的是面向连接、可靠的字节流服务。
用户数据报协议(UDP):UDP是一个简单的面向数据报的传输层协议。提供的是非面向连接的、不可靠的数据流传输。UDP不提供可靠性,也不提供报文到达确认、排序以及流量控制等功能。它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。因此报文可能会丢失、重复以及乱序等。但由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

使用TCP协议,进行通信时,通信双方所扮演的角色分别为TCP Server(服务器)/TCP Client(客户端)

ESP8266 AP模式下的通信

ESP8266配置为TCP服务器时与电脑通信

用到的AT指令

  • AT+CWMODE 选择 WIFI 应用模式在这里插入图片描述
    在这里插入图片描述

  • AT+CWSAR 设置 AP 模式下的参数
    举例 AT+CWSAR="ESP8266","12345678",6,4 它们的参数分别为WiFi的名称,密码,通道号,加密方式
    在这里插入图片描述

  • AT+CIFSR 获取本地 IP 地址
    +CIFSR:APIP,“192.168.4.1
    +CIFSR:APMAC,“4e:75:25:12:6e:e5”

  • AT+CIPMUX 启动多连接
    在这里插入图片描述

  • AT+CIPSERVER 开启服务器
    在这里插入图片描述
    配置过程

  • AT+CWMODE=2 配置为AP模式

  • AT+CWSAP="ESP8266","12345678",6,4 配置AP信息,配置完后就可以在WiFi列表看到名为ESP8266的WiFi。如果配置报错可以使用AT+CWSAP_DEF进行配置

  • AT+CIFSR 查询IP地址,后面会用到

  • AT+CIPMUX=1 开启多连接

  • AT+CIPSERVER=1,8080 开启服务器配置端口号为8080,不设置默认为333

  • 用电脑连上“ESP8266”这个WiFi,打开网络调试助手将协议类型改为TCP Client,远程主机地址改为192.168.4.1(即刚开始查询到的IP地址),端口号为8080

连接成功后会出现0,CONNECT然后就可以发送信息了
在这里插入图片描述
因为在“一对多”(TCP 服务器)的模式下,ESP8266是不能进入透传模式的,当模块想要发送信息的时候必须先使用AT+CIPSEND=0,7指令,(表示向0号客户端发送7个字节的数据,超出部分会被屏蔽掉。)然后出现">"输入数据。之前连接成功的时候出现0,CONNECT就表示0号客户端,如果有多个客户端连接,按顺序选择他们的ID号,进行数据发送即可,WiFi模块接收到的数据转换出来的格式为+IPD,0,7: 发送的数据,0代表客户端的ID,7代表数据的长度
在这里插入图片描述
如果客户端长时间没有发送信息,服务器会把客户端踢掉,TCP连接自然就会断开了

ESP8266配置为TCP客户端时与电脑通信

过程中电脑要连接上模块的WiFi

  • AT+CWMODE=2 配置为AP模式

  • AT+CWSAP="ESP8266","12345678",6,4 配置AP信息

  • AT+CIPMUX=0 开启单连接,如果不能正常开启,重启一下AT+RST

  • 打开网络调试助手,协议选择TCP Server,本地主机地址,端口号可随意设置,只要下一步于此,保持一致,点击打开。
    在这里插入图片描述

  • AT+CIPSTART="TCP","192.168.4.2",8080 建立 TCP 连接到“192.168.4.2”,8080

  • AT+CIPMODE=1 开启透传模式

  • AT+CIPSEND 开启发送数据,之后就可以进行数据的通信了
    在这里插入图片描述

  • 想要退出的时候把发送新行取消掉,发送+++

  • 发送新行打开 AT+CIPMODE=0 关闭透传,之后就回到AT模式了,如果没有关闭透传,发送如何数据都会返回ERROR

ESP8266 STA模式下的通信

ESP8266配置为TCP服务器时与电脑通信

STA与AT模式的区别是连接WiFi,还是自己创建一个WiFi,而通信是建立在同一个WiFi下的,所以无论哪个模式都是差不多的。与上面AT模式下,配置为TCP 服务器的差别就是将AT+CWSAP="ESP8266","12345678",6,4更换为AT+CWJAP="mingcheng","123456789"这里我用的是手机的热点,电脑也要连到手机的热点
在这里插入图片描述
配置过程

  • AT+CWMODE=1 配置为STA模式

  • AT+CWJAP="mingcheng","123456789" 连接WiFi,连接需要1~2s的时间,连接成功会出现WIFI CONNECTED,WIFI GOT IP

  • AT+CIFSR 查询IP地址

  • AT+CIPMUX=1 开启多连接

  • AT+CIPSERVER=1,8080 开启服务器,端口号为8080

  • 打开网络调试助手将协议类型改为TCP Client,远程主机地址改为,查询到的IP地址
    在这里插入图片描述
    模块(服务器)发送信息还像前面那样需要加AT+CIPSEND=0,7
    在这里插入图片描述

ESP8266配置为TCP客户端时与电脑通信

配置过程

  • AT+CWMODE=1 配置为STA模式
  • AT+CWJAP="mingcheng","123456789" 连接WiFi
  • AT+CIPSTART="TCP","192.168.43.19",8080 建立 TCP 连接到“192.168.43.19”,8080。IP地址在WiFi属性里面看
  • AT+CIPMODE=1 进入透传
  • AT+CIPSEND 开始发送数据
  • +++(不带换行) 退出
  • AT+CIPMODE=0(带换行) 退出透传
    在这里插入图片描述

如果想要上电直接进入透传,可以按一下配置

  • AT+CWMODE=1 配置为STA模式
  • AT+CWJAP="mingcheng","123456789" 连接WiFi
  • AT+CIPSTART="TCP","192.168.43.19",8080
  • AT+SAVETRANSLINK=1,"192.168.43.19",8080,"TCP"

想要在使用AT指令,先

  • +++(不带换行) 退出
  • AT+CIPMODE=0(带换行) 退出透传

才行

两个模块之间通信

TCP Server 为AP 模式 TCP Client 为STA模式

TCP Server 服务器TCP Client 客户端
AT+CWMODE=2(AP模式)AT+CWMODE=1(STA模式)
AT+CWSAP=“ESP8266”,“12345678”,6,4AT+CWJAP=“ESP8266”,“12345678”
AT+CIPMUX=1 开启多连接AT+CIPSTART=“TCP”,“192.168.4.1”,333
AT+CIPSERVER=1 开启服务器AT+SAVETRANSLINK=1,“192.168.4.1”,333,“TCP”
AT+CIPSEND=0,6 发送信息必须加这条

目测是这样,没试过。

记录学习过程

  • 8
    点赞
  • 147
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值