ESP8266和Arduino入门:ESP8266 Arduino接口
文件列表(压缩包大小 112.87K)
免费
概述
如果你喜欢物联网(IoT),那么一定听说过ESP8266 WiFi模块。本教程介绍了Esp8266 WiFi模块入门以及如何在IoT项目中使用ESP8266 Arduino。
因此,在详细介绍如何连接ESP8266 Arduino Pair之前,让我们首先开始使用ESP8266 WiFi模块。
ESP8266(在技术上为ESP8266EX)是基于Espressif Systems生产的Cadence Tensilica L106 32位MCU的WiFi模块。ESP8266 SoC包含一个功能齐全的WiFi堆栈和TCP / IP堆栈,可让任何微控制器连接到WiFi网络。借助软件开发套件(SDK),你可以直接对ESP8266的片上微控制器进行编程,而无需外部微控制器。
第三方制造商可以基于ESP8266 SoC制造定制板,Ai-Thinker是此类制造商之一。Ai-Thinker生产的第一块板是ESP-01(与本项目中使用的板相同),并且非常流行。
在ESP-01模块取得成功的基础上,Ai-Thinker发布了其他几个模块,例如ESP-02,ESP-07,ESP-12等。所有这些板均基于ESP8266 SoC,但主要区别在于GPIO引脚数。
还有其他模块,如Espressif Systems的ESP-WROOM,NodeMCU,WeMOS,SparkFun ESP8266等。
在此项目中,我们将使用Ai-Thinker的ESP-01模块。它由8个引脚组成,下图显示了电路板构成。
关于引脚配置,如上所述,ESP-01模块由8个引脚组成,这些引脚为VCC,GND,TX,RX,RST,CH_PD,GPIO0和GPIO2。下图显示了ESP-01模块的引脚图。
重要注意事项:ESP8266不兼容5V,并且ESP-01模块上没有任何稳压器。确保ESP8266的电源为3.3V,最好使用专用电源,而不是从Arduino的3.3V引脚获取电源。
在查看ESP8266 Arduino接口之前,你需要了解有关ESP8266模块的一些知识。ESP8266 WiFi模块附带支持AT命令的默认固件。
将ESP8266 WiFi模块与Arduino接口并上传我们自己的程序后,原始固件将被删除。我们将在一个单独的项目中看到如何与ESP8266 Module for AT Commands通信以及如何使用Arduino刷新原始固件。
现在,我们将看到如何使用Arduino编程ESP8266并访问其GPIO引脚。首先,我们先浏览接口的电路图。
如果电路图中的ESP8266模块不清晰,以下图像可能会为你提供帮助。它只是电路图的个人表示。你已经在上一节中看到了实际的引脚图。
如果你查看ESP8266 ESP-01模块的引脚,你会发现它不适合面包板使用。因此,我制作了一个小的穿孔板,在底部和母接头上带有适合面包板的插针,用于在其上安装ESP8266 ESP-01模块。
在该性能板上,我还连接了ESP8266 RX引脚的电平转换器电阻以及VCC(3.3V)和GND之间的100 pF旁路电容。下图显示了ESP8266 ESP-01模块在迷你面包板上的安装结果。
ESP8266 WiFi模块可以使用Arduino IDE进行编程,为此,你需要对Arduino IDE进行一些更改。首先,转到Arduino IDE中的File –> Preferences,然后在Additional Boards Manager URLs部分中输入以下URL。
http://arduino.esp8266.com/stable/package_esp8266com_index.json
注意:你可以添加许多这样的URL,但是必须用逗号分隔。
现在,转到Tools –> Board –> Boards Manager,然后在搜索字段中搜索ESP8266。选择ESP8266社区的ESP8266,然后单击安装。
注意:通过板管理器添加第三方板的功能适用于Arduino IDE版本1.6.4及更高版本。因此,请确保你具有最新版本的Arduino IDE。
为了编程ESP8266模块,我们需要将其连接到计算机。由于串行通信是ESP8266 ESP-01模块上唯一可用的通信,因此我们需要USB到串行适配器,例如FTDI,CH340或FT232RL。
如果你没有专用的USB转串口适配器,Arduino UNO有一个板载USB到串行适配器(用于对Arduino进行编程)。我们将使用它来对ESP8266进行编程。
我们将使用Arduino的TX和RX引脚连接到ESP8266模块,并且为了确保Arduino不使用这些引脚,我们可以向Arduino上传一个基本的程序。
注意:最小程序仅由设置和循环功能组成,其中没有任何数据。
就我而言,我有一个额外的Arduino UNO板,该板具有无法正常工作的ATmega328p IC。因此,我从Arduino UNO移除了微控制器IC,并开始将其用作USB到串行转换器。
你已经看到了项目所需的组件和电路图。现在,让我们开始设计电路。
首先,ESP8266模块使用3.3V电源供电,任何高于此电压的电源(例如5V)都将烧坏SoC。因此,ESP8266 ESP-01 Module的VCC引脚和CH_PD引脚已连接至3.3V电源。
要记住的下一个重要事项是,ESP8266 WiFi模块具有两种操作模式:编程模式和正常模式。
在编程模式下,你可以将程序或固件上传到ESP8266模块,在正常模式下,上传的程序或固件将正常运行。
为了启用编程模式,必须将GPIO0引脚连接到GND。在电路图中,我已将SPDT开关连接到GPIO0引脚。切换SPDT的杆将在ESP8266的编程模式(GPIO0连接到GND)和普通模式(GPIO0充当GPIO引脚)之间切换。
同样,RST(复位)将在启用编程模式中有重要作用。RST引脚为低电平有效引脚,因此通过按钮连接至GND。因此,每当按下按钮时,ESP8266模块都会复位。
ESP8266模块的RX和TX引脚连接到Arduino板上的RX和TX引脚。由于ESP8266 SoC无法承受5V电压,因此Arduino的RX引脚通过一个由1KΩ和2.2KΩ电阻组成的电平转换器连接。
最终,GPIO2引脚连接到LED以测试程序的工作情况。下文介绍了在ESP8266中启用编程模式的所有必要连接。
确保正确连接上述所有连接。在以编程模式连接和配置ESP8266之后(GPIO0连接到GND),将Arduino连接到系统。
ESP8266模块通电后,按RST按钮并打开Arduino IDE。在开发板选项(Tools –> Board)中,选择“通用ESP8266”开发板。在IDE中选择适当的端口号。
打开Blink Sketch,并将LED引脚更改为2。这里,2表示ESP8266模块的GPIO2引脚。在点击上传之前,请确保首先将GPIO0连接到GND,然后按下RST按钮。
void setup()
{
pinMode(2, OUTPUT);
}
void loop()
{
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
点击上传按钮,代码将需要一段时间来编译和上传。你可以在IDE的底部看到进度。程序成功上传后,你可以从GND移除GPIO0。连接到GPIO2的LED将闪烁。
在这个项目中,我们已经了解了ESP8266 Arduino接口如何工作,如何将程序上传到ESP8266 WiFi模块中以及访问ESP8266模块的输入/输出引脚。
所有需要的文件在下载区均可找到。
via:https://www.electronicshub.org/esp8266-arduino-interface/
如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈
评论(0)