打印
[应用方案]

通过AT指令控制ESP8266

[复制链接]
3757|54
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
abotomson|  楼主 | 2023-5-29 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ESP8266 模块用到的指令


1.串口无线 WIFI(COM-WIFI AP)
串口无线 WIFI(COM-WIFI AP)模式,模块作为无线 WIFI 热点,允许其他 WIFI 设备连接到本模块。

1.1串口无线 WIFI AP 模式,TCP 服务器配置
发送指令        作用
AT+CWMODE=2        设置模块 WIFI 模式为 AP 模式
AT+RST        重启生效
AT+CWSAP=”SSID”,”password”,1,4        设置模块的 AP 参数:账号为SSID ,密码为password,通道号为 1,加密方式为:WPA_WPA2_PSK
AT+CIPMUX=1        开启多连接
AT+CIPSERVER=1,8086        开启 SERVER 模式,设置端口为 8086
AT+CIPSEND=0,n        向 ID0 发送 n 字节数据包,n的值自己定
1.2.串口无线 WIFI AP 模式,TCP 客户端配置
发送指令        作用
AT+CWMODE=2        设置模块 WIFI 模式为 AP 模式
AT+RST        重启生效
AT+CWSAP=”SSID”,”password”,1,4        设置模块的 AP 参数:账号为SSID ,密码为password,通道号为 1,加密方式为:WPA_WPA2_PSK
AT+CIPMUX=0        开启单连接
AT+CIPSTART=“TCP”,"192.168.4.XXX”,8086        建立 TCP 连接到”192.168.4.XXX”,8086
AT+CIPMODE=1        开启透传模式(仅单连接 client 时支持)
AT+CIPSEND        开始发送数据
1.3.串口无线 WIFI AP 模式,UDP 配置
发送指令        作用
AT+CWMODE=2        设置模块 WIFI 模式为 AP 模式
AT+RST        重启生效
AT+CWSAP=”SSID”,”password”,1,4        设置模块的 AP 参数:账号为SSID ,密码为password,通道号为 1,加密方式为:WPA_WPA2_PSK
AT+CIPMUX=0        开启单连接
AT+CIPSTART=“UDP”,“192.168.4.XXX”,8086        建立 UDP 连接到”192.168.4.XXX”,8086
AT+CIPSEND=0,n        向 ID0 发送 n 字节数据包,n的值自己定
2. 串口无线 STA(COM-WIFI STA)
串口无线 STA(COM-WIFI STA)模式,模块作为无线 WIFI STA,用于连接到无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。

2.1. 串口无线 STA 模式,TCP 服务器配置
发送指令        作用
AT+CWMODE=1        设置模块 WIFI 模式为 STA 模式
AT+RST        重启模块并生效
AT+CWJAP="SSID,“password”        加入 WIFI 热点:SSID ,密码为:password
AT+CIPMUX=1        开启多连接
AT+CIPSERVER=1,8086        开启服务器,端口号为 8086
AT+CIPSEND=0,n        向 ID0 发送 n 字节的数据
2.2.串口无线 STA 模式,TCP 客户端配置
发送指令        作用
AT+CWMODE=1        设置模块 WIFI 模式为 STA 模式
AT+RST        重启模块并生效
AT+CWJAP="SSID,“password”        加入 WIFI 热点:SSID ,密码为:password
AT+CIPMUX=0        开启单连接
AT+CIPSTART=“TCP”,“192.168.1.XXX”,8086        建立 TCP 连接到”192.168.1.XXX”,8086
AT+CIPMODE=1        开启透传模式
AT+CIPSEND        开始传输
AT+CIPMODE=0        退出透传
AT+CIPCLOSE        断开 TCP 连接
退出发送数据:
在透传发送数据过程中,若识别到单独的⼀包数据 “+++”,则退出透传发送。

如果使⽤键盘打字输⼊ “+++” ,可能耗时太⻓,不被认为是连续的三个 “+”,建议使
⽤串⼝⼯具⼀次性发送 “+++”,并请注意不要携带空格或换⾏符等不可⻅字符。
之后,请⾄少间隔 1 秒,再发下⼀条 AT 指令.
2.3串口无线 STA 模式,UDP 配置
AT+CWMODE=1        设置模块 WIFI 模式为 STA 模式
AT+RST        重启生效
AT+CWSAP=”SSID”,”password”,1,4        设置模块的 AP 参数:账号为SSID ,密码为password,通道号为 1,加密方式为:WPA_WPA2_PSK
AT+CIPMUX=0        开启单连接
AT+CIPSTART=“UDP”,“192.168.4.XXX”,8086        建立 UDP 连接到”192.168.4.XXX”,8086
AT+CIPSEND=0,n        向 ID0 发送 n 字节数据包,n的值自己定
3.配置WiFi 模式
2.1. WIFI 模式,TCP 服务器配置
发送指令        作用
AT+CWMODE=3        配置 WiFi 模式
AT+RST        重启模块并生效
AT+CWJAP="SSID,“password”        加入 WIFI 热点:SSID ,密码为:password
AT+CIPMUX=1        开启多连接
AT+CIPSERVER=1,8086        开启服务器,端口号为 8086
AT+CIPSEND=0,n        向 ID0 发送 n 字节的数据
2.2. WIFI 模式,TCP 客户端配置
发送指令        作用
AT+CWMODE=3        配置 WiFi 模式
AT+RST        重启模块并生效
AT+CWJAP=“SSID”,“password”        加入 WIFI 热点:SSID ,密码为:password
AT+CIFSR        查询 ESP8266 设备的 IP 地址
AT+CIPSTART=“TCP”,“192.168.1.XXX”,8086        建立 TCP 连接到”192.168.1.XXX”,8086
AT+CIPMODE=1        开启透传模式(也可以不进入)
AT+CIPSEND=n        开始传输,n表示需要传输的字节数
AT+CIPMODE=0        退出透传
AT+CIPCLOSE        断开 TCP 连接
2.3.WIFI 模式,UDP 配置
发送指令        作用
AT+CWMODE=3        配置 WiFi 模式
AT+RST        重启生效
AT+CWSAP=”SSID”,”password”        设置模块的 AP 参数:账号为SSID ,密码为password
AT+CIFSR        查询 ESP8266 设备的 IP 地址
AT+CIPMUX=1        使能多连接
AT+CIPSTART=“UDP”,“192.168.4.XXX”,8086        建立 UDP 连接到”192.168.4.XXX”,8086
AT+CIPSEND=0,n        向 ID0 发送 n 字节数据包,n的值自己定
4.串口无线 AP+STA(COM-WIFI AP+STA)
串口无线 AP+STA(COM-WIFI AP+STA)模式,模块既作无线 WIFI AP,又作无线 STA,其他 WIFI 设备可以连接到该模块,模块也可以连接到其他无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。该模式下,根据应用场景的不同,可以设置 9 个子模式:(TCP 服务器、TCP 客户端,UDP)||(TCP 服务器、TCP 客户端UDP)。

使用特权

评论回复
沙发
tpgf| | 2024-3-4 09:21 | 只看该作者
这颗芯片是以太网连接的模块吗

使用特权

评论回复
板凳
wakayi| | 2024-3-4 10:04 | 只看该作者
为什么我买到的一些现成的以太网连接模块只能做服务器端呢

使用特权

评论回复
地板
wowu| | 2024-3-4 10:38 | 只看该作者
wakayi 发表于 2024-3-4 10:04
为什么我买到的一些现成的以太网连接模块只能做服务器端呢

估计你的模块是封装好了的 开发的时候没有添加这个功能

使用特权

评论回复
5
xiaoqizi| | 2024-3-4 22:54 | 只看该作者
at指令内容可以自行进行定义吗

使用特权

评论回复
6
renzheshengui| | 2024-3-4 23:26 | 只看该作者
除了使用at指令之外 还可以使用其他方式进行控制吗

使用特权

评论回复
7
paotangsan| | 2024-3-4 23:58 | 只看该作者
以太网连接是不是需要心跳信号啊 这个需要手动添加吗

使用特权

评论回复
8
ClarkLLOTP| | 2024-3-5 15:18 | 只看该作者
把8266当做网络模块用吗

使用特权

评论回复
9
burgessmaggie| | 2024-3-5 20:57 | 只看该作者
AT指令通常以字母"AT"开头,后面跟着指令名称和可能的参数。例如,AT+CIPSTART="TCP","example.com","80"用于启动一个TCP连接。确保你的指令格式正确无误是非常重要的。

使用特权

评论回复
10
eefas| | 2024-3-7 13:32 | 只看该作者
在发送AT指令时,需要在指令末尾添加回车换行符(\r\n)

使用特权

评论回复
11
modesty3jonah| | 2024-3-7 21:55 | 只看该作者
在发送AT指令之前,确保ESP8266已经连接到网络,并且连接状态正常。

使用特权

评论回复
12
juliestephen| | 2024-3-9 19:59 | 只看该作者
ESP8266通常需要3.3V电源,但也可以在其他电压下工作。请注意,ESP8266的最大工作电流可能高达200mA

使用特权

评论回复
13
benjaminka| | 2024-3-10 07:17 | 只看该作者
虽然ESP8266对AT指令的大小写不敏感,但为了保持代码的一致性和可读性,建议始终使用大写字母来编写AT指令。

使用特权

评论回复
14
1988020566| | 2024-3-10 15:46 | 只看该作者
ESP8266上电后,可能需要先通过AT指令复位或恢复出厂设置(如AT+RESTORE)。
设置工作模式,如设置为STA模式(station mode)连接Wi-Fi(如AT+CWMODE=1)。
连接Wi-Fi网络(如AT+CWJAP="SSID","password")。

使用特权

评论回复
15
sdlls| | 2024-3-10 22:37 | 只看该作者
考虑到网络安全,确保ESP8266和目标服务器之间的通信是加密的。通常,使用TLS(传输层安全)协议可以实现这一点。

使用特权

评论回复
16
jimmhu| | 2024-3-11 15:37 | 只看该作者
在发送AT指令之前,确保在每个指令之间添加一定的延迟,以便ESP8266有足够的时间响应。通常,您需要在发送AT指令之间添加至少100毫秒的延迟。

使用特权

评论回复
17
xiaoyaodz| | 2024-3-11 17:32 | 只看该作者
ESP8266可能会在响应中报告错误。例如,"+CMS ERROR: 0"表示命令语法错误。你需要能够理解和处理这些错误,以便在遇到问题时采取适当的行动。

使用特权

评论回复
18
mattlincoln| | 2024-3-11 20:08 | 只看该作者
ESP8266会对每个AT指令返回一个响应。

使用特权

评论回复
19
jkl21| | 2024-3-12 11:21 | 只看该作者
可以查询或设置系统提示信息,以便更好地理解ESP8266的工作状态。

使用特权

评论回复
20
jonas222| | 2024-3-12 15:17 | 只看该作者
参考ESP8266的AT指令文档,了解每个指令的功能、参数和使用方法。这将帮助你更好地理解和使用AT指令。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

1583

帖子

1

粉丝