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的用戶登錄密碼。

?第一次需要的時間會比較長。

至此,我們的開發環境搭建就成功了。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/85176.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85176.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85176.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Rust使用Cargo構建項目

文章目錄 你好,Cargo!驗證Cargo安裝使用Cargo創建項目新建項目配置文件解析默認代碼結構 Cargo工作流常用命令速查表詳細使用說明1. 編譯項目2. 運行程序3.快速檢查4. 發布版本構建 Cargo的設計哲學約定優于配置工程化優勢 開發建議1. 新項目初始化?2. …

免費且好用的PDF水印添加工具

軟件介紹 琥珀掃描.zip下載鏈接:https://pan.quark.cn/s/3a8f432b29aa 今天要給大家推薦一款超實用的PDF添加水印工具,它能夠滿足用戶給PDF文件添加水印的需求,而且完全免費。 這款PDF添加水印的軟件有著簡潔的界面,操作簡便&a…

NW969NW978美光閃存顆粒NW980NW984

NW969NW978美光閃存顆粒NW980NW984 技術解析:NW969、NW978、NW980與NW984的架構創新 美光(Micron)的閃存顆粒系列,尤其是NW969、NW978、NW980和NW984,代表了存儲技術的前沿突破。這些產品均采用第九代3D TLC&#xf…

Mysql常用知識3:Kafka和數據庫優化

文章目錄 一、分布式消息系統(Kafka相關問題5-10)5. Kafka如何保證消息不丟失?6. 項目中Kafka具體怎么使用的?7. 消息異常未發送成功怎么解決?8. 重試具體怎么做的,循環嗎?9. 重試多次失敗怎么辦…

常見的RAG文檔解析輔助工具匯總及企業選型思考

以下當前比較知名的RAG的文檔解析輔助工具的開源項目匯總,包含核心功能、License信息及GitHub地址: 1. RAGFlow 核心功能:支持PDF/掃描件/CAD等23種格式解析,OCR準確率98%,知識圖譜融合,混合檢索&#xf…

基于Sqoop的MySQL-Hive全量/增量同步解決方案(支持多表批量處理

一、全量同步方案設計 1.1 基礎命令模板 sqoop import \ --connect jdbc:mysql://mysql_host:3306/db_name \ --username user \ --password pass \ --table source_table \ --hive-import \ --hive-table target_table \ --hive-overwrite \ # 覆蓋已有表 --num-mappers 8 …

前端學習(7)—— HTML + CSS實現博客系統頁面

目錄 一,效果展示 二,實現博客列表頁 2.1 實現導航欄 2.2 實現個人信息 2.3 實現博客列表 三,實現博客正文頁 3.2 復用 3.4 實現博客正文 四,實現博客登錄頁 4.1 版心 4.2 登錄框 五,實現博客編輯頁 5.1 …

【技能拾遺】——家庭寬帶單線復用布線與配置(移動2025版)

📖 前言:在家庭網絡拓撲中,客廳到弱電箱只預埋了一根網線,由于已將廣電的有線電視取消并改用IPTV。現在需要解決在客廳布置路由器和觀看IPTV問題,這里就用到單線復用技術。 目錄 🕒 1. 拓撲規劃&#x1f55…

VTK|實現類似CloundCompare的測量功能

文章目錄 CloundCompare在點、線、面三種模式下的顯示內容? 圖1:點模式? 圖2:線模式? 圖3:面模式 增加控制菜單欄實現測量功能類如何調用項目git鏈接 CloundCompare在點、線、面三種模式下的顯示內容 點 線 面 三張圖展示了 CloudComp…

4000萬日訂單背后,餓了么再掀即時零售的“效率革命”

當即時零售轉向價值深耕,贏面就是綜合實力的強弱。 文|郭夢儀 編|王一粟 在硝煙彌漫的外賣行業“三國殺”中,餓了么與淘寶閃購的日訂單量竟然突破了4000萬單。 而距淘寶閃購正式上線,還不到一個月。 在大額福利優惠…

vedio.ontimeupdate()和video.onloadeddata()

video.onloadeddata &#xff08;&#xff09; video.onloadeddata 是 JavaScript 中用于監聽 HTML <video> 元素 「當前幀數據已加載」 的事件處理器。當視頻的第一幀畫面數據加載完成&#xff08;足以開始播放&#xff09;時&#xff0c;會觸發此事件。 1. 基本用法 …

Baklib內容中臺革新企業知識實踐

Baklib智能知識中樞構建 作為現代企業知識管理的核心架構&#xff0c;Baklib內容中臺通過整合多源異構數據形成智能化知識中樞&#xff0c;實現從信息采集到價值轉化的全鏈路管理。其底層采用跨平臺數據貫通技術&#xff0c;支持API接口與企業現有CRM、ERP系統無縫對接&#x…

用不太嚴謹的文字介紹遙測自跟蹤天線的基本原理

前兩天跟一個客戶見面的時候&#xff0c;客戶問我&#xff1a;遙測自跟蹤天線能夠跟蹤目標&#xff0c;是什么原理&#xff1f;不需要目標的位置&#xff0c;怎么做到自跟蹤的&#xff1f; 突然一瞬間&#xff0c;有點語塞。 難道要介紹天線、饋源、極化、左旋、右旋、和差網…

VS配置redis環境、redis簡單封裝

一、安裝redis數據庫 1.下載redis的壓縮包 wget https://download.redis.io/releases/redis-6.0.5.tar.g 2.解壓縮redis壓縮包&#xff0c;一般就在當前路徑 tar -zvxf redis-6.0.5.tar.gz -C /usr/local/redis 方便找我把它解壓縮在/usr/local/redis&#xff0c;如果沒有r…

C++23 已移除特性解析

文章目錄 引言C23 已移除特性介紹1. 垃圾收集的支持和基于可達性的泄漏檢測&#xff08;P2186R2&#xff09;背景與原理存在的問題移除的影響 2. 混合寬字符串字面量拼接非良構&#xff08;P2201R1&#xff09;寬字符串編碼概述混合拼接的問題示例分析移除的意義 3. 不可編碼寬…

Cloudflare

Cloudflare 是一個網絡基礎設施和網站安全服務提供商&#xff0c;它的主要作用是讓網站 更快、更安全、更可靠。簡單來說&#xff0c;它是一個“護盾 加速器”。 &#x1f9e9; Cloudflare 的主要功能&#xff1a; 1. &#x1f680; 加速網站訪問&#xff08;CDN&#xff09…

Spring Boot啟動慢?Redis緩存擊穿?Kafka消費堆積?——Java后端常見問題排查實戰

Spring Boot啟動慢&#xff1f;Redis緩存擊穿&#xff1f;Kafka消費堆積&#xff1f;——Java后端常見問題排查實戰 引言 Java后端系統因其豐富的技術棧和復雜的業務邏輯&#xff0c;常常面臨啟動延遲、性能瓶頸、異常錯誤等多種挑戰。從核心語言、Web框架到分布式微服務及緩…

數字人引領政務新風尚:智能設備助力政務服務

在信息技術飛速發展的今天&#xff0c;政府機構不斷探索提升服務效率和改善服務質量的新途徑。實時交互數字人在政務服務中的應用正成為一大亮點&#xff0c;通過將“數字公務員”植入各種橫屏智能設備中&#xff0c;為民眾辦理業務提供全程輔助。這種創新不僅優化了政務大廳的…

ToolsSet之:十六進制及二進制編輯運算工具

ToolsSet是微軟商店中的一款包含數十種實用工具數百種細分功能的工具集合應用&#xff0c;應用基本功能介紹可以查看以下文章&#xff1a; Windows應用ToolsSet介紹https://blog.csdn.net/BinField/article/details/145898264 ToolsSet中Number菜單下的Hex Operate工具可以進…

DSP處理數字信號做什么用的?

DSP&#xff08;數字信號處理器&#xff09;的核心任務是高效、實時地處理數字信號&#xff0c;通過專用硬件架構和算法優化&#xff0c;完成對信號的轉換、增強、分析和控制。以下是DSP處理數字信號的主要用途及典型場景&#xff1a; 1. 信號增強與優化 降噪&#xff08;Noise…