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的用戶登錄密碼。
?第一次需要的時間會比較長。
至此,我們的開發環境搭建就成功了。?