跳至正文

ESP8266模块特性

一、ESP8266简介

ESP8266是一个成本较低的无线设备,它适用于TCP,IP,和微控制器。

ESP8266只是所用芯片型号,在此基础上衍生出其他厂商开发版本,常用的如:安信可公司推出的ESP8266-12F,在该模组的基础上还有其他厂商组装的开发板,如下图

ESP8266-12F开发板(cp2102版本)

二、ESP8266各硬件版本区别

三、ESP-12-F-产品规格书

序号pin脚名称功能说明可用GPIO使用说明
1RST复位\休眠后唤醒
2ADCA/D模拟电压转换输入\输入电压:0~1V,取值范围:0~1024;
频繁调用会营销模块正常工作,需间隔5mS以上
3EN芯片使能端\高电平有效
4GPIO16WAKE
不推荐使用
常与RST短接,可实现定时唤醒;
开机需高电平否则启动失败;
作为输入时无中断功能;
作为输出时无I2C、PWM功能;
5GPIO14HSPI_CLKSPI引脚;
上电默认高电平;
6GPIO12HSPI_MISOSPI引脚;
上电默认高电平;
7GPIO13HSPI_MOSI/UART0_RXSPI引脚;
上电默认高电平;
8VCC电源输入3.3v
9GPIO11SDCMD连接存储芯片,不可使用
10GPIO7SDD0连接存储芯片,不可使用
11GPIO9SDD2连接存储芯片,不可使用
12GPIO10SDD3连接存储芯片,不可使用
13GPIO8SDD1连接存储芯片,不可使用
14GPIO6SDCLK连接存储芯片,不可使用
15GND接地\接地
16GPIO15HSPI_CS/UART0_TX正常运行需要下拉(某些模块可能已经内部下拉);
17GPIO2UART1_TXUART1无RX;
开机需高电平,否则启动失败;
默认连接到板载LED用于指示启动状态;
18GPIO0运行模式选择FLASH运行:悬空或拉高;UART下载:拉低
19GPIO4I2C总线SDA
(上电稳定低电平)
20GPIO5I2C总线SCL
(上电稳定低电平)
21GPIO3/RX串口接收RX
22GPIO1/TX串口发送TX启动时需为高,否则启动失败
模式ENRSTGPIO15GPIO0GPIO2TX
下载模式
运行模式

NodeMCUPIN脚上电时启动后什么都不做启动后设置低电平
D0GPIO16高,110ms后下降至1V高,110ms后下降至1V
D1GPIO5
D2GPIO4
D3GPIO0低然后振荡变化,约100ms后稳定在高电平变化,约110ms后稳定在低电平
D4GPIO2变化,约60ms后稳定在高电平变化,约80ms后稳定在高电平变化,约110ms后稳定在低电平
D5GPIO14高,约110ms后低电平高,约110ms后低电平
D6GPIO12高,约110ms后低电平高,约110ms后低电平
D7GPIO13高,约110ms后低电平高,约110ms后低电平
D8GPIO15低,有毛刺110ms低,有毛刺110ms
D9GPIO3低50ms后稳定高低50ms后,高110ms后,稳定低
D10GPIO1低50ms后稳定高低50ms后,高110ms后,稳定低
参考地址
由此可得,D1-GPIO5 , D2-GPIO4是唯一安全驱动的GPIO

ESP8266MOD开发板引脚定义

可用于GPIO操作的引脚有:G0,G2,G4,G5,G12,G13,G14,G15,G16,其中G16是一个特殊的引脚,用于从深度睡眠模式唤醒模块。还需要注意一点,开发板上只有一个串口,将其引出为USB虚拟串口用于REPL操作,当你需要使用串口时,应注意避免冲突。

开发板通常只是用来开发代码时使用,因其集成了串口芯片和引出了复位、下载引脚,可以方便的进行固件下载

开发完成后通常会直接使用esp8266基本模组

另外除了ESP8266-12F外,还有ESP-12E、ESP-12S、ESP-01、ESP-01S等等非常众多的型号,它们的区别也仅仅就是模组引出的引脚数量不同,内置Flash芯片的大小不同

5、Arduino

使用 Arduino 软件可以自定义开发esp8266,如果使用esphome进行构建固件的话一般不用此软件

进入 Arduino 中文官网下载软件

4、AT指令

通常购买到的ESP8266硬件通常会自带一个AT固件用于基本的测试使用,也可能不带需要自行刷写

下载乐鑫官方烧写软件,Flash下载工具下载后在压缩包doc文件夹中有详细使用说明

下载恢复AT指令程序,下载最新推荐版本,刷入factory文件夹下的bin文件即可,或者查看下载指导

查看基本AT指令

6、ESPEasy

和ESPhome为同类产品,

优点是:全程网页可视化操作,更改配置无需再次编译固件

缺点是:使用MQTT与 homeassistant 服务器进行通讯,需要手动修改配置,并且增减传感器需要重启homeassistant服务

发表回复