開發基于 ESP XXX 微控制器應用,最簡單的環境搭建方案是像 MicroPython、CircuitPython、NanoFramework 等,下載下傳固件,直接開刷;或者基于 Arduino 的開發元件,安裝起來都容易。不過,這些架構是經過封裝的,就目前而言,它們的功能還不完善,功能上肯定沒有樂鑫官方的 SDK 完整;當然了,也不是說這些架構不能用,隻要能滿足你的需求就可以用。
樂鑫官方的 SDK 支援 Eclipse 、VS Code 插件方式使用 IDE。對于咱們一路喜歡 VS 的夥伴來說,當然是用 VS Code 寫代碼舒服了。本來嘛,在VS Code 中,隻要安裝好 ESP - IDF 插件,然後運作 ESP-IDF: 配置 ESP-IDF 插件 就會自動下載下傳 SDK 和工具。然而由于某些你懂的不可抗因素,這個方案是很難安裝成功的。SDK 部分多折騰幾次都能下載下傳,但後面那十幾個工具就沒那麼好運氣了,老是失敗。
經過老周的各種嘗試,隻有使用離線安裝這一招最靠譜。打開 https://dl.espressif.com/dl/esp-idf/?idf=4.4。
Windows 上還是很好弄的(Linux上可以手動下載下傳.tar.gx,然後解壓),上圖中,點選頁面中的 Offline installer,下載下傳離線安裝包,大概 1.5 G,對于現在的網速來說,不算大。
下載下傳之後,直接運作。
下一步。
這裡它會檢查你的系統環境适不适合安裝,如果沒有問題,Next 安鈕将可用。如果有問題,Apply Fixes 按鈕可用,點一下讓它自動修複問題。其實這裡一般不會有大問題,可能會存在的就是檔案名字元資料的限制,點選 Apply Fixes 按鈕即可。然後點 Next。
版本當然選新的,安裝目錄這裡最好改一下,這貨很不懂事,居然預設安裝到桌面上。
上一步選的目錄是放 SDK 的,這一步選的是放 SDK 工具的目錄,自己選一個吧,最好不要帶空格,出錯的機率達到 89.965%;也最好不要包含漢字,出錯率達 92.333%。
這個地方基本上可以全部清空,如果你要用 Eclipse ,就選上吧。
這裡讓你核對一下你前面所選的參數是否正确,不符合你的要求的話,就傳回去重來。
接着一路下一步,然後坐和等待。
最後這裡,勾上這個選項,讓防毒軟體跳過對編譯時的檔案掃描。
Python 是内置的,這個沒辦法,如果你安裝了多套工具,比如 Thoony、Arduino IDE等,都會内置 Python,是以會多次重複安裝。Python 這貨也是個頭疼事,如果硬碟空間不緊張,就随它去吧,因為這厮在版本相容問題上也特嚴重,不同程式内置 Python 可能會減少許多問題。
然後幹嗎呢?對,環境變量,打開【設定】【系統】【關于】。
點選“進階系統設定”。
然後在打開的對話框中點選“環境變量”。
至于說配置使用者級的環境變量還是機器級的環境變量,那随你便,如果電腦是你一個人用的,那無所謂。如果是和“閨蜜”共享一台電腦,最好配置為使用者級别的,免得“閨蜜”不小心刺探到重要軍情。哈哈,這情節差點變成瓊瑤劇了。
環境變量名為 IDF_PATH,值是SDK的所在路徑,就是你剛剛安裝時選的路徑。例如,C:\\Users\\八格牙路\\esp\\esp-idf,注意要指向 esp-idf,因為檔案是在這個檔案夾下面的,指向它才能找到檔案。IDF_TOOLS_PATH 是剛才安裝程式自動設定了的。
最後,打開VS Code,安裝 Espressif IDF、C/C++、CMake 等插件。其實,隻要安裝 Espressif IDF 就行,其他的元件會自動安裝。
按【F1】,找到指令“配置ESP IDF擴充”,拼命點它就是了,讓它執行。
這貨能識别出我們剛剛安裝的SDK和工具集,選擇第三項,使用已有的配置。
打開【設定】視窗,找到【擴充】【ESP-IDF】,在右面頁面中往下翻,找到配置 Python 解析器的路徑選項,設定成我們剛剛安裝好的内置的Python二進制檔案。
帶有 “Win” 的表示 Windows 平台專用,如果不這樣配置,那麼那個内置的 Python 就沒有用處了。老周這機器上預設裝的是 Python 3.9 的,實話告訴你,不相容的,會報錯。是以這個路徑必須改成内置的——剛剛安裝時選的 xxxxx\\.espressif 目錄下的。如果你的機器裝的 Py 版本和内置的版本相同,應該能用的,不能用了再改。
還有一處,咱們在把編譯好的 .bin 刷到 ESP32 闆子上時,一般咱們買的闆子是 Micro-USB 的,是以,燒寫模式是 UART。于是,把 Flash Type 改一下。這個後面你在燒寫是可以改的,不過現在提前改好也省了些功夫。

完工,為了使用一些環境變量能生效,可以重新開機一下 VS Code,要是環境變量是配置在機器級别的,估計連電腦也要重新開機。
現在,咱們試試能不能用。
1、啟動VSC,打開一個目錄作為工作區,這個可以随意發揮。
2、在VS Code中按【F1】,選擇“從擴充模闆建立項目”。
3、選擇 Use current folder,即使用你打開的工作目錄。
4、在選擇項目模闆時,選最後一個,template-app,這TM很不友好,居然這樣建立項目。
5、這貨真是的,還會打開一個新的 VS Code 視窗來建立項目。然後讓你選編譯器,反正下面列出的幾個都不是,就選第一項好了 —— Scan Kits。
6、打開 main / main.c 檔案,把代碼中 app_main 函數中,後半部分,也就是那個 for 循環倒數 10 秒重新開機開發闆那一段删掉,不然燒上去後闆子老是重新開機,不好玩。
app_main 類似于 main 入口點,經過封裝,就像以前寫 Windows 程式那樣,有個 WinMain。
7、把 ESP32 開發闆連上電腦,按【F1】,選擇指令“選擇要使用的燒錄端口”,然後根據你電腦識别的結果選。
8、點選底部工具欄中的“Build, Flash and Monitor”,這個按鈕可神了,編譯、燒錄、打開序列槽螢幕,三個任務自動完成。
9、然後又是坐和等待,C 語言你懂的,編譯較慢。
注意觀察,如果看到下面這樣的輸出,說明程式成功運作了。
好了,大功告成,ESP 32 + VS Code 的開發環境就搭建好了。