ESP32是一款由乐鑫科技(Espressif Systems)推出的超高性价比、自带Wi-Fi和蓝牙的微控制器芯片。它是目前Ai人工智能、物联网(IoT)、智能家居和创客DIY圈子里最受欢迎的主流开发板之一,作为一款功能强大的低功耗系统级芯片,它支持双模无线2.4GHzWi-Fi与蓝牙,这意味着你可以用它轻松连wifi网络或进行蓝牙通信,同时ESP32还支持C++与Python主流编程语言。
在开发板上有着丰富的各种外设接口,包含大量的通用引脚GPIO/ADC/DAC/PWM/I2C/SPI/UART串口等等。我们可以用它来采集传感器数据,联网上传数据,远程控制,结合摄像头做简易的人脸识别、局域网监控,Ai机器人等等。
本文将为你详细介绍如何为ESP32分别搭建C++开发环境与MicroPython的编程环境。你需要准备以下内容:
·ESP32-S3开发板1个
·USB转TypeC数据线1根
·台式电脑或者笔记本1台(MacOS或Windows系统均可)
本次我们使用的软件是Arduino IDE,简单来理解Arduino IDE是一款专门给单片机和开发板(比如 Arduino、ESP32、ESP8266 等)写代码、编译上传程序的免费开源软件。如果把 ESP32开发板比作电脑的“硬件”,那么 Arduino IDE 就是用来给它“装软件/写指令”的工具。
打开这个网站https://www.arduino.cc/en/software/,在网页界面选择适合你电脑系统的版本进行下载,并将软件安装好!

| 初次打开软件先设置成中文。请依次选择左上角:“File” -> “Preferences”->“Settings”->选择中文,最后点击OK确认。 (如下图) |


| 步骤一:打开左上角 “文件” -> “首选项”,在界面找到 “附加开发板管理器地址”,粘贴以下链接并点击确定: |
https://jihulab.com/esp-mirror/espressif/arduino-esp32/-/raw/gh-pages/package_esp32_index_cn.json

步骤二:在点左侧 “开发板管理器”,搜索 “ESP32” 并选择带 “-cn” 后缀的版本进行安装 (如下图:1.开发板管理器,2搜索ESP32,3推荐选择最新带-cn版本) |


等待安装完成后,重启一下Arduino IDE软件即可使用
步骤一:重启软件并插入ESP32主板到电脑上,依次选择“工具” -> “开发板” -> “esp32”->选择开发板型号 (这里以ESP32-S3为例,如下图) |

步骤二:最后在设备处选择开发板COM端口号(每个人的电脑系统不同端口号也不一样,如下图) |

在 Arduino 生态系统中,"库(Library)"是预先编写的代码包,用于简化特定任务的编程,比如驱动传感器、控制显示屏、网络连接或数据处理。使用库可以避免从零开始编写代码,让开发者专注于项目核心逻辑,提升开发效率。
依赖库的来源和分发方式常见有三种安装方法:1.通过库管理器直接安装。 2.通过手动安装 3.网上下载库ZIP导入
具体要根据在开发过程中的需求来选择。 我们这里直接采用第一种从管理器里安装
| 步骤:点击左侧“管理库”图标 -> 随便搜索一个“Adafruit NeoPixel” 直接点击安装(如下图) |

众所周知 "点灯程序"是学习每个单片机开发板的第一个实验程序。可以有效的测试板子正常状态!
将下列的测试代码复制粘贴到代码区域,点击"上传" 等待编译上传成功后就可以看到ESP32开发板上灯闪烁。
#include <Adafruit_NeoPixel.h> // 导入Adafruit NeoPixel依赖库
// 硬件引脚与参数定义 #define LED_PIN 48 // WS2812 数据引脚 #define NUM_LEDS 1 // 板载灯珠数量 // 初始化 NeoPixel 对象 // 参数 1: 灯珠数量 // 参数 2: 引脚编号 // 参数 3: 像素类型标志(WS2812 常见为 NEO_GRB + NEO_KHZ800) Adafruit_NeoPixel strip(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); // 初始化灯珠对象 strip.setBrightness(30); // 设置亮度 (0~255级,数字越大亮度越大) strip.show(); // 初始化所有灯珠为关闭状态 } void loop() { // 定义不同颜色 (R, G, B) uint32_t colors[] = { strip.Color(255, 0, 0), // 红色 strip.Color(0, 255, 0), // 绿色 strip.Color(0, 0, 255), // 蓝色 strip.Color(255, 255, 0), // 黄色 strip.Color(0, 255, 255), // 青色 strip.Color(255, 0, 255), // 紫色 strip.Color(255, 255, 255) // 白色 }; int numColors = sizeof(colors) / sizeof(colors[0]); // 循环闪烁彩灯 for (int i = 0; i < numColors; i++) { // 亮灯 strip.setPixelColor(0, colors[i]); strip.show(); delay(300); // 亮灯持续 300ms // 灭灯(实现闪烁效果) strip.setPixelColor(0, strip.Color(0, 0, 0)); strip.show(); delay(200); // 灭灯持续 200ms } }

查看结果:
到此C++的编程环境就搭建完成了!在后续的开发中可将代码直接上传即可(每次上传会自动清空板内原有的程序)

关于ESP32使用MicroPython的编程软件有很多,这里推荐新手使用Thonny,它是一款基于Python的编程软件,支持在Windows、Mac、Linux等多平台使用,支持语法着色、代码自动补全、debug等功能,软件也非常容易上手!
Thonny软件下载官网:https://thonny.org 打开官网后选择适合你电脑系统的版本进行下载,并将软件安装好!由于Thonny.org是国外网站,内地用户存在无法打开外网或下载比较慢。那么也可直接戳这里下载→Thonny编程软件

| 初次打开软件先设置下相关功能。会让我们在后续的开发使用中更加便携,点击视图->文件->绘图器两项都勾选上 |

3.1 下载固件:
ESP32原生只能读懂 C/C++ 编译出来的机器码,如果没有MicroPython的固件ESP32是听不懂你所写的Python代码。那么刷入固件也就是给 ESP32 开发板安装了一个微型 MicroPython 解析器引擎。 请根据下面步骤把固件安装好,这个安装过程可能会慢一点,请耐心等待安装完成。
3.2 安装固件:
| 将ESP32开发插入电脑USB接口,在打开软件左上的“运行”-> “解释器”->选择设备为:ESP32 ->选择设备的端口号 然后点击安装或更新 MicroPython (esptool)(UF2)(如下图) |

| 点开安装或更新:-> “选择开发板端口号”->“设备ESP32-S3”->“Espressif • ESP32-S3”,剩下耐心等待安装完成 |

众所周知 "点灯程序"是学习每个单片机开发板的第一个实验程序。可以有效的测试板子正常状态!
将下列的测试代码复制粘贴到代码区域,点击左上角"运行" 等待编译上传成功后就可以看到ESP32开发板上灯闪烁。
import time
from machine import Pin
import neopixel
# 引脚配置板载灯引脚为GPIO48
LED_PIN = 48
# 初始化 NeoPixel
# 构造函数输出模式与灯珠的数量
np = neopixel.NeoPixel(Pin(LED_PIN, Pin.OUT), 1)
#点亮颜色转换辅助函数
def wheel(pos):
"""根据 0-255 的位置生成 HSV 彩虹过渡色 (返回 R, G, B 元组)"""
pos = pos % 256
if pos < 85:
return (255 - pos * 3, pos * 3, 0)
elif pos < 170:
pos -= 85
return (0, 255 - pos * 3, pos * 3)
else:
pos -= 170
return (pos * 3, 0, 255 - pos * 3)
#循环改变颜色
print("WS2812 测试开始!按 Ctrl+C 可停止运行。")
brightness = 0.2 # 亮度缩放 (0.0 到 1.0),WS2812
try:
hue = 0
while True:
# 1. 计算当前的 RGB 颜色值
r, g, b = wheel(hue)
# 2. 乘以亮度比例
r = int(r * brightness)
g = int(g * brightness)
b = int(b * brightness)
# 3. 设置第 0 颗灯的颜色 (RGB) 并发送数据
np[0] = (r, g, b)
np.write()
# 4. 色相自增,实现颜色平滑过渡
hue = (hue + 1) % 256
# 延时控制渐变速度 (单位:秒)
time.sleep(0.02)
except KeyboardInterrupt:
# 按下 Ctrl+C 停止时关灯
np[0] = (0, 0, 0)
np.write()
print("\n程序已停止,灯光已熄灭。")结果:运行代码后板载灯开始亮不同颜色

至此MicroPython的编程环境就搭建完成了!在后续的开发中可将程序文件命名为main.py就能实现上电自启程序