实例1
查看附近的WiFi
步骤1:进入AT指令模式
- 使用USB转串口适配器将ESP8266模块连接到电脑。
- 打开串口终端软件,并设置正确的串口和波特率(通常为115200)。
- 输入以下命令并按回车确认:
AT
如果模块响应OK
,则说明它处于AT指令模式。
步骤2:扫描WiFi网络
输入以下命令来扫描附近的WiFi网络:
AT+CWLAP
模块将开始扫描,并返回一系列的WiFi网络信息,包括每个网络的SSID、信号强度(RSSI)、加密类型和安全状态。
查看连接的WiFi
-
发送AT指令:
- 打开串口通信软件,并连接到ESP8266模块的串口。
- 输入以下AT指令并按回车发送:
AT+CWMODE? # 查询当前工作模式
该指令会返回当前ESP8266的工作模式(1:Station模式,2:AP模式,3:Station+AP模式)。
接下来,使用以下指令来查询已连接的WiFi信息:
AT+CWLAP # 列出可用的WiFi网络
AT+CWJAP? # 查询当前连接的WiFi网络信息
如果模块已经连接到一个WiFi网络,AT+CWJAP?
指令将返回以下信息:
+CWJAP:"SSID","MAC",ch,ecn
这里的SSID
是连接的WiFi网络的名称,MAC
是该网络的MAC地址,ch
是连接的频道,ecn
是加密类型。
-
断开连接(如果需要):
AT+CWQAP # 断开当前连接的WiFi网络
请确保在发送AT指令时,每个指令后都要按回车键,并且等待模块的响应。如果ESP8266模块没有响应,可能需要检查串口连接是否正确,或者确认模块是否已经进入了AT指令模式。有时候,可能还需要重置模块,或者发送AT+RST
指令来重启模块。
-
连接到WiFi网络:
-
使用以下命令连接到您的WiFi网络。您需要替换
"SSID"
为您的WiFi网络名称,"PASSWORD"
为您的WiFi密码。AT+CWJAP="SSID","PASSWORD"
如果连接成功,模块将返回
OK
。如果失败,通常会返回错误信息。
实现连接服务器
1. 设置Wi-Fi模式
将ESP8266设置为Station模式(客户端模式):
AT+CWMODE=1
2. 连接到Wi-Fi网络
连接到您的Wi-Fi网络:
AT+CWJAP="SSID","PASSWORD"
将SSID
替换为您的Wi-Fi网络名称,PASSWORD
替换为Wi-Fi密码。
3. 查看IP地址
获取ESP8266分配的IP地址:
AT+CIFSR
4. 设置为单连接模式
(可选)如果需要,可以将ESP8266设置为单连接模式:
AT+CIPMUX=0
5. 连接到服务器
使用以下指令连接到服务器,这里以TCP连接为例:
AT+CIPSTART="TCP","SERVER_IP",SERVER_PORT
将SERVER_IP
替换为服务器的IP地址,SERVER_PORT
替换为服务器的端口号。
6. 发送数据
连接成功后,发送数据到服务器:
AT+CIPSEND=LENGTH
替换LENGTH
为您要发送的数据的长度。在发送此命令后,串口监视器将进入发送模式,您可以输入要发送的数据。
9. 接收数据
配置ESP8266以接收服务器发送的数据:
AT+CIPRECVMODE=1
设置接收超时:
AT+CIPRECVDATA=TIMEOUT
替换TIMEOUT
为期望的超时时间(毫秒)。
10. 关闭连接
完成数据交换后,关闭连接:
AT+CIPCLOSE
实现服务器端
1. 初始化ESP8266
首先,确保您的ESP8266模块已经通过串口与您的计算机或其他设备连接,并准备好接收AT指令。
2. 设置为SoftAP模式
将ESP8266设置为SoftAP模式,允许其他设备连接到它:
AT+CWMODE=2
3. 创建SoftAP
配置ESP8266创建一个热点:
AT+CWSAP="ESP8266_Server","password",1,3
这里,"ESP8266_Server"是热点名称,"password"是连接密码。
4. 设置多连接模式
允许ESP8266处理多个连接:
AT+CIPMUX=1
5. 开启TCP服务器
开启TCP服务器并指定端口:
AT+CIPSERVER=1,80
这里,80是端口号,可以根据需要更改。
6. 监听连接和数据(不用管)
一旦服务器开启,它将监听指定端口上的连接。如果有客户端连接并发送数据,ESP8266将通过以下响应通知:
plaintext
复制
+WIFI:station:xx:xx:xx:xx:xx:xx join, AID=1
这里,xx:xx:xx:xx:xx:xx
是客户端的MAC地址。
当客户端发送数据时,ESP8266会响应:
+IPD,id,len:data
这里,id
是连接的ID,len
是数据的长度,data
是接收到的数据。
ID是0
7. 发送数据到客户端ID看上图
向客户端发送数据:
AT+CIPSEND=id,len
发送此指令后,输入要发送的数据。
8. 关闭连接
当完成与客户端的数据交换后,可以关闭特定的连接:
AT+CIPCLOSE=id
9. 关闭服务器
如果需要关闭服务器,可以使用以下指令:
AT+CIPSERVER=0
查询esp8266的IP
1. 查询SoftAP IP地址
在SoftAP模式下,可以使用以下AT指令来查询ESP8266分配给自身的IP地址:
AT+CIPAP?
这个指令将返回SoftAP的IP地址、网关和子网掩码。以下是可能的响应:
+CIPAP:ip:"192.168.4.1"
+CIPAP:gateway:"192.168.4.1"
+CIPAP:netmask:"255.255.255.0"
这里的192.168.4.1
是ESP8266作为SoftAP时的默认IP地址。当然,您也可以通过以下AT指令自定义SoftAP的IP地址:
AT+CIPAP="192.168.4.2","192.168.4.1","255.255.255.0"
2. 查询Station IP地址
如果您同时将ESP8266设置为Station模式(例如,Station+SoftAP模式,AT+CWMODE=3
),并连接到了一个外部路由器,那么您可能还想查询分配给Station模式的IP地址。这可以通过以下AT指令完成:
AT+CIFSR
这个指令将返回ESP8266在Station模式下的本地IP地址、MAC地址、网关和子网掩码。以下是可能的响应:
+CIFSR:STAIP:"192.168.1.100"
+CIFSR:STAMAC:"5c:cf:7f:34:45:ab"
+CIFSR:Gateway:"192.168.1.1"
+CIFSR:NetMask:"255.255.255.0"
这里的192.168.1.100
是外部路由器分配给ESP8266的IP地址。