基于Arduino平台开发ESP8266,要分别准备好硬件和软件开发环境:
1. 硬件 ESP8266模块,或者ESP8266开发板,笔者建议初学者直接使用开发板;
2. 软件 Arduino IDE开发环境;
1.模块连接
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决定了模块当前处于什么工作模式。
烧录固件模式

从Arduino IDE角度来看,ESP8266工作模式包括:
a.烧录固件模式
下载代码的时候,需要将GPIO0口接地;
b.正常工作模式
下载完代码,需要将GPIO0口悬空;
注意ESP8266安全工作电压是3.3V,不要直接连接5v;
手动切换工作模式之后,最好重新启动一下ESP8266模块(通断电);
有时ESP8266下载失败,有可能是供电问题,可以尝试独立供电,不直接连到TTL Vcc;
烧录固件,我们需要了解的是,我们的固件是以下哪一种:AT固件、自己编写的SDK固件(基于ESP8266 SDK开发或者Lua)以及基于Arduino平台开发的ESP8266固件。
2.安装ESP8266开发环境
打开Arduino IDE->【文件】->【首选项】,然后会看到附加开发版管理器网址,填入http://arduino.esp8266.com/stable/package_esp8266com_index.json,保存。
打开【工具】->【开发板】->点击开发板管理器->搜索找到ESP8266平台,安装。
3.烧录ESP8266
打开【文件】->【示例】->【ESP8266WebServer】->HelloServer
找到以下两行:
#define STASSID "your-ssid"
#define STAPSK "your-password"
修改WIFI连接和密码
编译,上传。
上传问题及解决方法:
##烧录过程显示一直在连接,需要reset:
将RST(GPIO16)短时接地;
##烧录过程显示一定进度就提示失败,原因如下:
ESP8266供电不稳定,请尝试独立供电(2节1.5v干电池串联即可);
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
Arduino-ESP32与ESP-IDF的版本对应表。
Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789
Queue 库提供了一个通用的 C++ 动态队列实现,专为在 Arduino 项目中使用而定制。
本程序是小鹏物联网智能浇花套件的单机版程序(不连接物联网),供同学们参考。
ArrayList 类是一个 C++ 模板类,它提供了 ArrayList 的实现,以便轻松存储任何指定类型的值。它允许使用索引进行高效存储和检索,支持排序操作。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
用于Arduino的Adafruit_GFX库为我们所有的LCD和OLED显示器提供了通用语法和图形功能集。这使Arduino程序可以轻松地在显示类型之间进行调整,而不必花太多精力……