Ubuntu 下搭建ESP32 ESP-IDF开发环境,并在windows下用VSCode通过SSH登录Ubuntu开发ESP32应用
Ubuntu 下搭建ESP32 ESP-IDF开发环境,网上操作指南很多,本来一直也没有想过要写这么一篇文章。因为我其实不太习惯在linux下开发应用,平时更习惯windows的软件操作,只是因为windows下开发ESP32的应用编译时太慢,让人受不了,所以最后还是选择搭建了一个Ubuntu系统下的ESP32 ESP-IDF的开发环境,并在window系统下通过SSH连接Ubuntu,这样就即可以在window下用esp-idf开发esp32的应用,又不用忍受window下编译的漫长等待。
一、安装依赖项
这里我们假设Ubuntu系统已经安装完毕。我使用的是ubuntu 24.04.2 LTS版本(非虚拟机,如果使用虚拟机安装,可能后面有一些步骤会略有不同)。
sudo apt updatesudo apt-get install vim
sudo apt install git
sudo apt-get install python3sudo apt install -y git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
在ubuntu终端命令行分别输入以上命令并运行。这里一般不会出问题,不多说。
二、获取ESP-IDF框架
首先建立工作目录。
mkdir ~/esp
cd ~/esp
这里需要特别强调的一点是:用git命令来clone下来,这就可以可以同步最新的框架版本!不能直接一个downLoad 下载,发现会有错误,切记!
git clone -b v5.4 --recursive https://github.com/espressif/esp-idf.git
另外,官方提供了不少的子模块,我们也一起克隆下来。这里需要用到重定向脚本,我们先下载该脚本。
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
然后,我们利用该脚本获取子模块。
cd esp-idf
../esp-gitee-tools/submodule-update.sh
三、安装并设置工具链
除了 ESP-IDF SDK外,您还需要安装 并设置ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等!
cd ~/esp/esp-idf
./install.sh
这里需要注意的是,因为网络或其它原因,安装过程中可能会中断并报错,需要反复操作,直到最后出现下面的提示:
All done! You can now run :
. ./export.sh
看到这两行字符,那么恭喜你,ubuntu下的esp32开发环境基本搭建成功。
四、配置环境变量
每次打开新终端时,在esp-idf目录下运行:
source export.sh
或者:
. ./export.sh
注意两个"."之间需要加一个空格。
成功后显示如下:
如果觉得每次找开新终端都要运行比较麻烦,也可以把该脚本添加到~/.bashrc
echo "source \$HOME/esp/esp-idf/export.sh" >> ~/.bashrc
source ~/.bashrc
五、验证安装
我们用官方提供的样例hello_world来验证上述安装、设置是否成功。
该样例目录:esp32/esp-idf/examples/get-started/hello_world
进入该目录后运行下列命令:
idf.py set-target esp32idf.py build
idf.py -p /dev/ttyUSB0 flash monitor
注意:实际设备端口号可能不是ttyUSB0
,使用ls /dev/ttyUSB*
查看可用端口。建议使用官方支持的Ubuntu LTS版本
六、设备权限设置
创建udev规则文件(这一节并非必要):
sudo nano /etc/udev/rules.d/99-esp32.rules
添加以下内容:
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", MODE="0666"
重新加载规则:
sudo udevadm control --reload-rules
七、window通过SSH连接Ubuntu
Ubuntu 系统SSH服务开启:
开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下通过SSH登陆到 Ubuntu了。
sudo apt-get install openssh-server
同样windows系统也要安装相应的工具软件或服务。我安装的是openssh,配置好环境后,在命令行窗口就可以通过SSH 登录Ubuntu。
注意两台电脑要在同一个网段。
另外,当ubuntu重装后,那怕IP相同,再远程访问可能会有问题,可能出现如下提示:
解决办法如下:
在windows命令行输入:sshkkeygen -R 192.168.3.165
八、Windows下VSCode的配置
Windows下VSCode 配置esp-idf的开发,官方及网上的介绍很多也很详细,这里就不多说。
这一节,我们简单介绍如何配置VSCode,从而可以通过SSH登录Ubuntu,实现我们的终极目的,在windows下写代码,在Ubuntu下编译。
操作比较简单,按图所示操作就可以。
选第一个就可以。
输入Ubuntu的用户登录密码。
第一次需要的时间会比较长。
至此,我们的开发环境搭建就成功了。