ESP32开发环境的搭建
Windows11+WSL2 Ubuntu22.04
下载ESP32开发所需的库和工具链
- 下载ESP-IDF库
- 安装必要的工具
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache libffi-dev libssl-dev cutecom
- esp-idf工具链安装
将esp-idf-v5.1.zip
库解压至安装目录,这里将解压的目录esp-idf-v5.1
重命名为.esp-idf
,进入.esp-idf
执行以下命令
添加开机启动项:在sudo chmod +x ./install.sh sudo chmod +x ./export.sh ./install.sh . ./export.sh
/etc/profile
文件最后添加以下脚本
验证安装. /ypur/path/.esp-idf/export.sh
-
复制examples/get-started/hello_world文件夹到你想存放的位置
-
进入该文件夹
-
执行idf.py menuconfig,进入menuconfig操作主界面中
由于本示例无需任何修改,直接保存退出
-
接入ESP32,找到ESP32的COM端口,本机为
ttyUSB0
-
执行
idf.py build
编译项目 -
执行
idf.py -p /dev/ttyUSB0 flash
将可执行程序烧录到ESP32上
也可以执行idf.py -p /dev/ttyUSB0 flash monitor
编译、烧录和监控程序执行
-
WSL2下连接USB 设备
安装 USBIPD-WIN 项目
WSL 本身并不支持连接 USB 设备,因此你需要安装开源 usbipd-win 项目
- 转到usbipd-win 项目的最新发布页
- 选择 .msi 文件,该文件将下载安装程序。 (你可能会收到一条警告,要求你确认你信任此下载)
- 运行下载的 usbipd-win_x.msi 安装程序文件
这将安装:
- 名为 usbipd 的服务(显示名称:USBIP 设备主机)。 可使用 Windows 中的“服务”应用检查此服务的状态。
- 命令行工具 usbipd。 此工具的位置将添加到 PATH 环境变量。
- 名为 usbipd 的防火墙规则,用于允许所有本地子网连接到服务。 可修改此防火墙规则以微调访问控制。
在 Linux 中安装 USBIP 工具和硬件数据库
在 Ubuntu 上,运行以下命令
sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20
此时,一个服务正在 Windows 上运行以共享 USB 设备,并且在 WSL 中安装了必要的工具来连接到共享设备。
附加 USB 设备
在附加 USB 设备之前,请确保 WSL 命令行已打开。 这将使 WSL 2 轻型 VM 保持活动状态。
- 通过以管理员模式打开 PowerShell 并输入以下命令,列出所有连接到 Windows 的 USB 设备:
usbipd wsl list
- 选择要附加到 WSL 的设备总线 ID,然后运行此命令。 WSL 会提示你输入密码以运行 sudo 命令。 要附加的 Linux 分发版必须是默认分发版。
usbipd wsl attach --busid <busid>
- 打开 Ubuntu(或首选的 WSL 命令行),使用以下命令列出附加的 USB 设备:
lsusb
- 在 WSL 中完成设备使用后,可物理断开 USB 设备,或者在管理员模式下从 PowerShell 运行此命令:
usbipd wsl detach --busid <busid>