3、开发环境搭建:Arduino IDE安装与配置、ESP32/STM32开发板介绍、串口驱动安装与测试

好,咱们正式开始动手了。这一章要解决一个最基础的问题——怎么让电脑认识你的开发板。说白了,就是搭好工作台。我见过太多初学者卡在这一步,工具没装对,后面全白费。别急,跟着我来,一步步搞定。

3.1 为什么选Arduino IDE?

你可能听说过Keil、IAR、VS Code这些工具。它们都很强,但说实话,对刚入门的朋友来说,门槛有点高。Arduino IDE的好处就一个字——

  • 安装包才几百兆,不像Keil动辄几个G
  • 不需要配置复杂的工程文件
  • 写代码、编译、下载,一键完成

我个人习惯把Arduino IDE当作TinyML的「快速验证平台」。你想想看,当你要测试一个模型能不能在板子上跑起来,难道还要先折腾半小时工程配置吗?没必要。Arduino IDE就是让你5分钟上手,10分钟跑通

小提示: 如果你以后做产品开发,可能会换更专业的工具。但学习阶段,Arduino IDE绝对够用。我到现在做原型验证时,还是会打开它。

3.2 下载与安装Arduino IDE

去官网下载就行。地址我就不写了,你搜「Arduino IDE download」就能找到。注意选对操作系统版本。

安装过程没什么特别的,一路Next就好。但有两点我要提醒你:

  1. 安装路径不要有中文。我见过有人装在「D:\软件\Arduino」这种路径,结果编译报错,查了半天才发现是路径问题。
  2. 安装完成后,先别急着打开。咱们先把开发板支持包装上。

3.3 配置ESP32开发板支持

Arduino IDE默认只支持官方的Arduino板子。要玩ESP32,得手动添加支持包。操作很简单:

  1. 打开Arduino IDE,点击 文件 → 首选项
  2. 在「附加开发板管理器网址」里,填入ESP32的JSON地址
  3. 点击 工具 → 开发板 → 开发板管理器
  4. 搜索「ESP32」,点击安装

这个JSON地址是多少?我常用的有两个:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

如果你网络不好,可能会下载失败。嗯,这里要注意——国内用户建议开代理,或者换个时间段再试。我曾经在客户现场,网络环境很差,折腾了半小时才装好。后来学乖了,提前把包下载好,离线安装。

避坑指南: 安装ESP32支持包时,如果卡在「下载速度慢」或者「校验失败」,别反复重试。去GitHub上找离线包,手动解压到Arduino的hardware目录下。具体方法网上有教程,我就不展开了。

3.4 配置STM32开发板支持

STM32稍微麻烦一点。Arduino IDE官方没有直接支持,需要借助STM32duino这个第三方项目。操作步骤:

  1. 同样在「附加开发板管理器网址」里,添加STM32的JSON地址
  2. 在开发板管理器中搜索「STM32」,选择「STM32 Cores」安装
  3. 安装完成后,在工具菜单里选择对应的STM32型号

常用的JSON地址:

https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

这里有个坑——STM32的型号特别多。你手里拿的是STM32F103C8T6,还是STM32F407VET6?选错了型号,程序烧进去也跑不起来。我建议你:

  • 先看芯片上的丝印,确认具体型号
  • 在开发板管理器里搜索型号关键词
  • 如果找不到,试试相近的系列
重要: ESP32和STM32的配置方法不同,但核心思路一样——让Arduino IDE认识你的硬件。如果你只玩其中一个,另一个可以跳过。

3.5 串口驱动安装

开发板插上电脑,没反应?别慌,大概率是串口驱动没装。不同的开发板,用的USB转串口芯片不一样:

开发板 常用芯片 驱动名称
ESP32 DevKit CP2102 / CH340 CP210x驱动 / CH340驱动
STM32 (Nucleo) ST-Link内置 ST-Link驱动
Arduino Uno ATmega16U2 系统自带

怎么判断你用的是哪种?看板子上的小芯片。CP2102是个小方片,CH340是个长条形的。实在看不清,就把板子插上电脑,打开设备管理器。如果看到黄色感叹号,那就是缺驱动。

驱动下载地址:

  • CP210x:去Silicon Labs官网下载
  • CH340:去沁恒官网下载
  • ST-Link:去ST官网下载

安装完成后,重新插拔开发板。设备管理器里应该能看到一个COM口。记住这个COM号,后面编程要用。

个人经验: 我遇到过最奇葩的问题——驱动装好了,但串口就是识别不了。最后发现是USB线的问题。有些USB线只能充电,不能传数据。所以,请用质量好一点的USB线

3.6 测试:点亮LED

环境搭好了,来跑个经典程序——点亮LED。这步是为了验证整个链路是否通畅。

打开Arduino IDE,新建一个文件,输入以下代码:

void setup() {
  pinMode(2, OUTPUT);  // ESP32的LED通常接在GPIO2
}

void loop() {
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}

然后:

  1. 选择开发板:工具 → 开发板 → ESP32 Dev Module
  2. 选择端口:工具 → 端口 → 选择你刚才看到的COM口
  3. 点击上传按钮(右箭头)

如果一切顺利,你会看到板子上的LED开始闪烁。一秒亮,一秒灭。恭喜你,环境搭建成功了!

注意: 如果上传失败,检查一下:
  • 开发板型号是否选对
  • 端口是否选对
  • ESP32需要按住BOOT键再上传(有些版本不需要)
我刚开始玩ESP32时,每次上传都要按住BOOT键,后来才知道新版本的开发板已经支持自动复位了。

3.7 串口通信测试

LED能亮,说明程序跑起来了。但咱们做TinyML,经常要看调试信息。所以还得测试串口通信。

修改刚才的代码:

void setup() {
  Serial.begin(115200);  // 初始化串口,波特率115200
  pinMode(2, OUTPUT);
}

void loop() {
  Serial.println("Hello TinyML!");  // 打印信息
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}

上传后,点击Arduino IDE右上角的「串口监视器」。设置波特率为115200。你会看到:

Hello TinyML!
Hello TinyML!
Hello TinyML!
...

每秒钟打印一次。这说明串口通信正常。

小技巧: 串口监视器的波特率要和代码里的Serial.begin()一致。我见过有人代码里写115200,监视器设成9600,结果全是乱码。嗯,这种低级错误我也犯过。

3.8 本章小结

到这,你的开发环境就搭好了。总结一下咱们做了什么:

  • 安装了Arduino IDE
  • 配置了ESP32或STM32的开发板支持
  • 安装了串口驱动
  • 跑通了LED闪烁和串口通信

下一章,咱们要开始真正接触TinyML了。我会带你用TensorFlow Lite Micro,在开发板上跑一个简单的模型。准备好了吗?