ESP8266模块(2)

实例1

查看附近的WiFi

步骤1:进入AT指令模式
  1. 使用USB转串口适配器将ESP8266模块连接到电脑。

  2. 打开串口终端软件,并设置正确的串口和波特率(通常为115200)。

  3. 输入以下命令并按回车确认:

    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网络

  1. 使用以下命令连接到您的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地址。

相关推荐
沿着路走到底10 分钟前
python 基础
开发语言·python
沐知全栈开发1 小时前
C# 委托(Delegate)
开发语言
任子菲阳2 小时前
学Java第三十四天-----抽象类和抽象方法
java·开发语言
csbysj20202 小时前
如何使用 XML Schema
开发语言
R6bandito_2 小时前
STM32中printf的重定向详解
开发语言·经验分享·stm32·单片机·嵌入式硬件·mcu
earthzhang20212 小时前
【1007】计算(a+b)×c的值
c语言·开发语言·数据结构·算法·青少年编程
杨枝甘露小码3 小时前
Python学习之基础篇
开发语言·python
武文斌773 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
爱吃喵的鲤鱼3 小时前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++
爱吃小胖橘4 小时前
Unity网络开发--超文本传输协议Http(1)
开发语言·网络·网络协议·http·c#·游戏引擎