菜鸟科技网

ESP8266常用命令有哪些?

ESP8266是一款广泛使用的Wi-Fi模块,其命令集是控制该模块的核心工具,通过串口发送特定的AT指令,用户可以配置模块的网络参数、建立连接、传输数据等,ESP8266的命令通常以“AT”开头,后跟具体的操作指令和参数,每个命令以回车换行符(\r\n)模块接收到命令后会返回响应,响应以“OK”表示成功,“ERROR”表示失败,部分命令会返回具体的数据信息。

ESP8266常用命令有哪些?-图1
(图片来源网络,侵删)

ESP8266的命令可以分为基础配置命令、Wi-Fi相关命令、TCP/UDP通信命令、其他功能命令等几大类,基础配置命令主要用于模块的初始化和参数设置,AT+RST”用于重启模块,“AT+GMR”用于查看固件版本,“AT+CIPSEND”用于发送数据等,这些命令是使用ESP8266的基础,正确配置它们是确保模块正常工作的前提,在发送命令时,需要确保串口波特率设置正确,常见的波特率有9600、115200等,模块出厂时默认波特率可能因版本而异,需要通过“AT+UART?”命令查询或修改。

Wi-Fi相关命令是ESP8266最常用的命令之一,包括设置Wi-Fi模式、连接路由器、查询连接状态等。“AT+CWMODE”用于设置Wi-Fi的工作模式,可选值有Station(STA,客户端模式)、AP(接入点模式)和STA+AP(混合模式);“AT+CWJAP”用于连接指定的Wi-Fi网络,需要提供SSID和密码;“AT+CIPSTAMAC”和“AT+CIPAPMAC”分别用于设置STA模式和AP模式的MAC地址;“AT+CWLAP”用于扫描周围的Wi-Fi网络,获取SSID、信号强度等信息,这些命令的组合使用可以实现模块的无线网络接入和数据传输功能。

TCP/UDP通信命令用于建立网络连接并进行数据收发。“AT+CIPMUX”用于设置多连接模式,0表示单连接,1表示多连接;“AT+CIPSTART”用于建立TCP或UDP连接,需要指定连接类型(TCP/UDP)、目标IP地址和端口号;“AT+CIPSEND”用于发送数据,在多连接模式下需要指定连接ID;“AT+CIPCLOSE”用于关闭连接;“AT+CIPSTATUS”用于查询当前连接状态,在Station模式下连接到Wi-Fi后,可以通过“AT+CIPSTART=1,TCP,192.168.1.100,8080”建立与指定服务器的TCP连接,连接成功后使用“AT+CIPSEND=1,10”发送10字节数据。

除了上述命令外,ESP8266还支持一些其他功能命令,如“AT+CIPSERVER”用于启动TCP服务器模式,“AT+CWJAP_DEF”用于设置默认连接的Wi-Fi网络,“AT+SLEEP”用于设置睡眠模式以降低功耗,需要注意的是,ESP8266的命令执行可能需要一定时间,特别是在网络连接或数据传输时,需要合理设置串口读取超时时间,避免因等待响应而导致程序阻塞,部分命令的参数设置需要严格遵守格式要求,例如IP地址和端口号的格式、密码的长度限制等,错误的参数设置可能导致命令执行失败。

ESP8266常用命令有哪些?-图2
(图片来源网络,侵删)

以下是一些常用的ESP8266命令及其功能说明:

命令 功能描述 示例
AT+RST 重启模块 AT+RST
AT+GMR 查看固件版本 AT+GMR
AT+UART? 查询当前串口参数 AT+UART?
AT+CWMODE? 查询当前Wi-Fi模式 AT+CWMODE?
AT+CWMODE=1 设置Wi-Fi模式为AP AT+CWMODE=1
AT+CWJAP="SSID","PASSWORD" 连接指定Wi-Fi AT+CWJAP="MyWiFi","12345678"
AT+CWLAP 扫描周围Wi-Fi AT+CWLAP
AT+CIPMUX=1 设置多连接模式 AT+CIPMUX=1
AT+CIPSTART=1,TCP,"IP",PORT 建立TCP连接 AT+CIPSTART=1,TCP,"192.168.1.100",8080
AT+CIPSEND=1,LEN 发送数据(多连接) AT+CIPSEND=1,5
AT+CIPCLOSE=1 关闭指定连接 AT+CIPCLOSE=1
AT+CIPSERVER=1,8080 启动TCP服务器(端口8080) AT+CIPSERVER=1,8080

在使用ESP8266命令时,需要注意命令的大小写(通常不区分大小写,但部分固件版本可能有差异)、参数的引号使用(字符串参数需要用双引号括起)以及命令结尾的回车换行符,模块在执行某些命令时会返回中间响应信息,例如连接Wi-Fi时会返回“WIFI CONNECTED”和“WIFI GOT IP”,这些信息可以帮助判断命令执行进度,如果遇到命令无响应或返回错误的情况,可以尝试重启模块或检查串口连接是否正常。

相关问答FAQs:

  1. 问:ESP8266模块发送AT指令后没有响应怎么办? 答:首先检查串口连接是否正确,包括TX、RX引线是否交叉连接,以及GND是否共地;其次确认串口波特率是否与模块默认波特率一致,可以通过尝试不同波特率(如9600、115200)排查;然后检查模块是否正常供电,电压是否稳定在3.3V;如果以上都正常,可以尝试发送“AT+RST”重启模块,或重新烧录固件解决。

    ESP8266常用命令有哪些?-图3
    (图片来源网络,侵删)
  2. 问:ESP8266连接Wi-Fi时返回“FAIL”错误如何解决? 答:首先检查Wi-Fi的SSID和密码是否正确,注意密码区分大小写且不能包含特殊字符;其次确认模块是否处于Station模式(AT+CWMODE=1),并且距离路由器不要太远,信号强度足够;然后检查路由器是否设置了MAC地址过滤,如果设置了需要将模块的MAC地址加入白名单;尝试重启模块和路由器,或减少周围Wi-Fi信号的干扰,提高连接成功率。

分享:
扫描分享到社交APP
上一篇
下一篇