ESP8266是一款适用于小型开发的WiFi模块,本文记录首次使用时遇到的一些问题。
通常使用的8脚的8266-01E模块的引脚说明如上,下面是引脚描述。
Function | Description |
---|---|
URXD | UART_RXD,接收 |
UTXD | UART_TXD,发送 |
GPIO 16 | 外部Reset信号,低电平复位,高电平工作(默认高) |
GND | GND |
VCC | 3.3V,模块供电 |
GPIO 0 | 工作模式选择:悬空:FlashBoot,工作模式;下拉:UARTDownload,下载模式 |
CH_PD | 高电平工作;低电平模块供电关掉 |
GPIO 2 | (1)开机上电时必须为高电平,禁止硬件下拉;(2)内部默认已拉高 |
1.正常运行(首次测试)时连线如下(8266模块通过usb转串口模块连到pc串口):
图源于:https://www.cnblogs.com/zzb-Dream-90Time/p/6674286.html
连接后将usb转串口模块插到电脑上,明确对应的串口号,打开串口调试助手,波特率什么的调到下图的参数,然后打开串口,8266模块断电重启,就可以看到一串乱码,再加一行ready,此时表明连接成功。
图源于:https://www.cnblogs.com/zzb-Dream-90Time/p/6674286.html
不过这样连接,8266模块由usb转串口模块供电,在8266模块上电初始化时可能会由于该模块供电不稳定导致初始化失败,我这里失败之后模块上电重启,串口助手上显示一串乱码,没有显示ready,查阅了一些网上的资料后使用了独立的3.3V电源,解决了这个问题。相关连线如下:
图片来自于https://blog.youkuaiyun.com/ls1792304830/article/details/72380281
注意上图中是烧录程序的连线图,正常运行时GPIO2和GPIO0要悬空!
连线完成后,在串口助手输入AT,注意要勾选发送新行,不然AT指令不能被识别。
到这一步之后,说明这个模块连接成功。
此外上电之后,不要太纠结手机能不能搜到模块的wifi信号,一般来说,8266模块刚出厂时默认为STA+AP模式,也就是模式3,但也有可能不是这个模式,也不用着急的,如果AT指令可以用再调就行了,关键还是AT指令这里调到ok。话说我的小米mix2s在我修改模块运行模式之后仍然搜不到模块的wifi,重启,清除缓存什么的搞一遍才能搜到,可能是手机问题吧。。
AT指令返回ok后,就可以用一些AT指令进行配置了,如下:
常用的有:
指令 | 描述 |
---|---|
AT | 测试AT启动 |
AT+RST | 重启模块 |
AT+GMR | 查看版本信息 |
指令 | 描述 |
---|---|
AT+CWMODE | 设置WiFi模式(sta/AP/sta+AP) |
AT+CWLAP | 扫描附近的AP信息 |
AT+CWJAP | 连接AP |
AT+CWQAP | 与AP断开连接 |
AT+CWSAP | 设置ESP8266 softAP配置 |
AT+CWLIF | 获取连接到 ESP8266 softAP 的 station 的信息 |
关于WiFi模式这里要说明一下,sta模式下模块相当于客户端,像我们手机平板一样是要去连接路由器的,而AP模式下模块相当于路由器,是发射WiFi被别人连的。ESP8266支持两种模式并存(模块出厂默认的是AP模式) 。另外,扫描WiFi指令 AT+CWLAP
只能在sta模式下使用,否则会报ERRO错误, AT+CWJAP
和 AT+CWQAP
指令也同理。