俗话说,工欲善其事必先利其器。基于Arduino平台开发ESP8266,我们至少要分别准备好硬件和软件开发环境:
1. 硬件
ESP8266模块,或者ESP8266开发板,笔者建议初学者直接使用开发板;
2. 软件
Arduino IDE开发环境;
硬件环境主要分为两种:
1. ESP8266开发板 + USB线
笔者建议入门初学者直接入手一块开发板,开发板的一个好处就是板子设计者已经给初学者排查了硬件连接错误,可以使初学者专注于软件开发,加快学习进度。目前比较火的一款ESP8266开发板就是NodeMcu,其核心芯片是ESP8266-12F,如下图所示(图片引用自安信可官网):
不过,笔者本书也使用了另外一款开发板——ESP202测试板,其核心芯片也是ESP8266-12F,如下图所示:
笔者选择它的理由很简单——既有NodeMcu的功能,又可以作为ESP8266-01系列模组的烧写器,这样就不用手动搭建ESP01的烧写环境。
2. ESP8266模块 + USB转TTL线
如果WiFi模块是ESP8266-01系列,首先请看一下以下引脚接口说明:
1 TX 1)UART_TX发送端;2)通用IO口:GPIO1;
2 GND GND
3 CH_PD 1)高电平工作;2)低电平模块供电关掉;
4 GPIO2 开机上电时必须为高电平,禁止硬件下拉,内部默认已拉高;
5 GPIO16 外部Reset信号,低电平复位,高电平工作(默认应该是高电平);
6 GPIO0 接地进入烧录固件模式,悬空为正常运行模式;
7 VCC 3.3V(切记不要供5V!!!)
8 RX 1)UART_RX接收端;2)通用IO口:GPIO3;
其余引脚悬空即可。 从引脚介绍表可以看出,关键引脚GPIO0决定了模块当前处于什么工作模式。
烧录固件模式 请按照下图连接ESP8266-01和USB转TTL线,进入烧录模式:
如果WiFi模块是ESP8266-12系列,按照下图对应引脚接线:
从Arduino IDE角度来看,ESP8266工作模式包括:
1.烧录固件模式
下载代码的时候,需要将GPIO0口接地;
2.正常工作模式
下载完代码,需要将GPIO0口悬空;
有电路经验的读者可以安装拨码开关来切换工作模式。
注意ESP8266安全工作电压是3.3V,不要直接连接5v;
手动切换工作模式之后,最好重新启动一下ESP8266模块(通断电);
有时ESP8266下载失败,有可能是供电问题,可以尝试独立供电,不直接连到TTL Vcc;
烧录固件,我们需要了解的是,我们的固件是以下哪一种:AT固件、自己编写的SDK固件(基于ESP8266 SDK开发或者Lua)以及本书基于Arduino平台开发的ESP8266固件(笔者成为 ESP8266 Arduino固件)。
2.2 软件开发环境 软件安装需要分成两个步骤:
1.安装Arduino IDE
Arduino IDE开发环境主要用于Arduino Uno/Mini/Mega2560等平台的项目开发。而ESP8266也可以基于该IDE来开发, 所以我们首先需要安装它;
2.配置Arduino Core For ESP8266
Arduino Core For ESP8266可以理解为能在Arduino IDE上开发ESP8266的插件;
由于某些原因,Arduino官网网站(https://www.arduino.cc/en/Main/Software) 经常打不开或者下载速度极慢,导致下载IDE非常困难,读者可以通过以下两种方式下载安装:
笔者提供了百度网盘链接(https://pan.baidu.com/s/1QGAbBAsP4-VNQfT-bV46aA) 以供大家下载,长期有效,请注意英文大小写。
通过Arduino中文社区链接地址(https://www.arduino.cn/thread-5838-1-1.html) 去下载。