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地址。

相关推荐
Florence2328 分钟前
GPU硬件架构和配置的理解
开发语言
李游Leo1 小时前
JavaScript事件机制与性能优化:防抖 / 节流 / 事件委托 / Passive Event Listeners 全解析
开发语言·javascript·性能优化
JJJJ_iii1 小时前
【左程云算法09】栈的入门题目-最小栈
java·开发语言·数据结构·算法·时间复杂度
枫叶丹41 小时前
【Qt开发】显示类控件(三)-> QProgressBar
开发语言·qt
Bear on Toilet2 小时前
继承类模板:函数未在模板定义上下文中声明,只能通过实例化上下文中参数相关的查找找到
开发语言·javascript·c++·算法·继承
码猿宝宝2 小时前
浏览器中javascript时间线,从加载到执行
开发语言·javascript·ecmascript
OEC小胖胖2 小时前
App Router vs. Pages Router:我应该如何选择?
开发语言·前端·前端框架·web·next.js
max5006002 小时前
OpenSTL PredRNNv2 模型复现与自定义数据集训练
开发语言·人工智能·python·深度学习·算法
Pocker_Spades_A3 小时前
Python快速入门专业版(二十八):函数参数进阶:默认参数与可变参数(*args/**kwargs)
开发语言·python
努力努力再努力wz3 小时前
【c++进阶系列】:map和set的模拟实现(附模拟实现的源码)
java·linux·运维·开发语言·c++