ESP32使用笔记
记录了环境搭建的流程 以及一些功能模块的使用方法
环境配置与开发流程
硬件选择
IDE配置(VScode+platformIO)
- Install the PlatformIO extension
- Open PlatformIO Home
第一次Loading…需要等一会儿,我大概等了3分钟
- Add PlatformIO Project
Name自定义,它会新建一个项目文件夹以Name为名称;Board选择Espressif ESP32 Dev Module;Framework选择Arduino; Location选择文件夹路径,项目会在该路径下新建。点击Finish。
- 等待 永久的等待
第一次新建项目需要Please wait…很长时间(若干小时)(网络环境运气好的话可能会很快),需要下载很多文件。我是放着去睡觉了,早上起来就好了
- 编写代码
- main.cpp
主程序代码
- platformio.ini
platformio.ini 文件是 PlatformIO 项目配置文件,通过 INI 格式的语法来配置项目,从而确定编译器、框架、平台、库、上传设置等。
Example:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
lib_deps =
ESP Async WebServer
AsyncTCP
WiFi
FS
SPIFFS
platform, board, framework 是根据创建项目的时候的选项确定的。monitor_speed 确定了串口监视器的波特率,lib_deps 是项目依赖的库,在编译的时候会自动下载。(所以要添加依赖库不仅需要在代码里include,还需要在platformio.ini里添加)
- 编译和上传(Build & Upload)
Ctrl + Alt + B 构建项目,Ctrl + Alt + U 上传项目(快捷键可修改)
注意,串口监视器打开的时候无法上传,需要先关闭串口监视器解除占用再上传
按单片机板子上的EN键即可重新运行程序
- 串口监视器(Serial Monitor)
看的教程里面使用的是XCOM, 经典。但是感觉VScode里Serial Monitor插件更加方便好用。
WiFi连接
代码
// 只展示WiFi连接部分
#include <WiFi.h>
// 设置Wi-Fi名称和密码
const char* ssid = "MoranDePhone";
const char* password = "lannister";
void setup()
{
WiFi.begin(ssid, password); // 核心其实就这一句
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println();
Serial.println("Connected to WiFi");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}