3、开发环境搭建:安装Python、Thonny IDE、树莓派系统烧录、ESP32 MicroPython固件刷写
好,咱们正式开始动手了。这一章要做的,就是把所有武器都准备好。说白了,就是给电脑装上Python,给树莓派烧个系统,再给ESP32刷上MicroPython固件。嗯,这三件事做完,你才算真正入了门。
我刚开始带团队的时候,发现很多新人卡在环境搭建这一步。不是装不上,就是版本不对。折腾半天,代码一行没写,心态先崩了。所以这一章,我会把每个坑都指出来。你跟着我的节奏走,半小时内全部搞定。
3.1 安装Python:选对版本很重要
Python版本这事儿,我吃过亏。有一回项目赶进度,我随手装了最新的Python 3.12,结果项目里用到的几个库还没适配。折腾了两天才发现是版本问题。从那以后,我学乖了——稳定版永远比最新版靠谱。
推荐版本:Python 3.10.x 或 3.11.x
这两个版本兼容性最好,主流库都支持。别追新,稳字当头。
安装步骤很简单,我列出来:
- 打开Python官网,找到Downloads页面
- 选择Windows版本(或macOS/Linux对应版本)
- 下载时注意选64位的安装包
- 安装时一定要勾选「Add Python to PATH」
- 一路Next,搞定
注意:「Add Python to PATH」这个选项,我见过至少十个人忘了勾。后果就是你在命令行里敲python,系统告诉你找不到命令。还得手动配环境变量,麻烦得很。所以,勾上它。
装完之后怎么验证?打开命令行,输入:
python --version
如果显示Python 3.10.x,恭喜你,第一步完成。
3.2 Thonny IDE:专为嵌入式准备的编辑器
你可能听说过PyCharm、VS Code。但说实话,做嵌入式开发,尤其是跟MicroPython打交道,Thonny才是我的首选。为什么?因为它轻量、开箱即用,而且自带MicroPython支持。你不需要装一堆插件,打开就能连ESP32。
我个人习惯用Thonny做快速原型验证。项目初期,代码量不大,Thonny的简洁界面反而让人专注。等代码规模上去了,再切换到VS Code也不迟。
安装Thonny:
- 去Thonny官网下载对应版本
- Windows用户直接双击安装包,一路默认
- macOS用户拖到Applications文件夹
- Linux用户用包管理器安装:
sudo apt install thonny
装完之后打开,你会看到一个非常清爽的界面。左边是代码编辑区,右边是Shell交互区。嗯,这就是你接下来写代码的主战场。
小技巧:Thonny默认是英文界面。如果你想换成中文,点击Tools → Options → General,在Language里选择简体中文,重启即可。
3.3 树莓派系统烧录:别用老方法了
以前烧树莓派系统,得下载镜像、用Win32DiskImager、还要解压。步骤多,容易出错。现在不一样了,树莓派官方出了个工具叫Raspberry Pi Imager,一键搞定。
我记得第一次用这个工具的时候,心里还嘀咕:能靠谱吗?结果用了一次就回不去了。太方便了,连SSH和WiFi配置都能提前设好。
操作步骤:
- 下载并安装Raspberry Pi Imager
- 插入SD卡(建议16GB以上,Class 10速度)
- 打开Imager,选择设备型号(比如树莓派4B)
- 选择操作系统:推荐Raspberry Pi OS (32-bit) 或 (64-bit)
- 选择SD卡
- 点击右下角的齿轮图标,可以提前配置:
- 设置主机名
- 启用SSH
- 配置WiFi
- 设置用户名和密码
- 点击「写入」,等待完成
重要提醒:烧录过程中不要拔SD卡。我见过有人心急,写到一半拔了,结果卡废了。耐心等进度条走完,也就几分钟的事。
烧录完成后,把SD卡插到树莓派上,通电。第一次启动会有点慢,大概一两分钟。之后你就可以通过SSH连进去了。
3.4 ESP32 MicroPython固件刷写
ESP32这块芯片,我用了好几年。说实话,它性价比极高。几块钱的东西,能跑WiFi、蓝牙,还能接各种传感器。但前提是——你得先给它刷上MicroPython固件。
为什么要刷MicroPython?因为原厂固件是用C语言写的,开发门槛高。MicroPython让你用Python写代码,调试方便,迭代快。我在项目中做原型验证,都是用MicroPython。等逻辑稳定了,再考虑用C做性能优化。
刷写步骤:
- 下载MicroPython固件(.bin文件),去MicroPython官网找ESP32对应的版本
- 安装esptool工具:
pip install esptool - 用USB线连接ESP32到电脑
- 查看端口号:Windows是COM口,Linux/macOS是/dev/ttyUSB0或/dev/ttyACM0
- 擦除原有固件:
esptool.py --port COM3 erase_flash
- 刷写新固件:
esptool.py --port COM3 --baud 460800 write_flash --flash_size=detect 0 esp32-20230426-v1.20.0.bin
注意:刷写时,很多ESP32开发板需要按住BOOT按钮,再按一下EN按钮,然后松开BOOT。这样才能进入下载模式。我第一次刷的时候不知道这个,折腾了半小时。后来发现,有些开发板会自动进入下载模式,但大部分需要手动操作。
刷完之后怎么验证?打开Thonny,点击右下角选择解释器,选「MicroPython (ESP32)」,端口选对应的COM口。如果连接成功,Shell里会出现MicroPython的版本信息。
验证小技巧:在Shell里输入print('Hello, ESP32!'),如果能看到输出,说明固件刷写成功,环境搭建完毕。
3.5 环境验证:确保一切就绪
最后一步,咱们做个快速验证。打开Thonny,连接ESP32,在Shell里输入:
import machine
import time
led = machine.Pin(2, machine.Pin.OUT)
while True:
led.value(1)
time.sleep(0.5)
led.value(0)
time.sleep(0.5)
如果ESP32开发板上的LED开始闪烁,恭喜你——环境搭建全部完成。你已经有了一套完整的传感器数据采集开发环境。
嗯,到这里,咱们的「武器库」算是建好了。下一章,我会带你写第一行真正有用的代码——从传感器读取数据。准备好了吗?