在樂鑫代理商ESP32上渲染HTML和CSS開發UI界面ESP-IDFVSCode插件新增功能,獨立開發者AndyGreen在ESP32上基于libwebsockets庫,實現了一個支持HTTP2.0的HTML+CSS渲染器的概念驗證。Hackaday上的技術作者 JennyList 提出:“隨著MCU的計算能力不斷提升,它們與能夠運行Linux的底層應用處理器之間的界限越來越模糊。MCU通常被用于處理后端任務,但現在有大量的創客項目都證明,MCU也有能力直接構建用戶界面應用。
獨立開發者AndyGreen在樂鑫代理商ESP32上基于libwebsockets庫,實現了一個支持HTTP2.0的 HTML+CSS渲染器的概念驗證,擴展了低成本MCU在該方向應用的可能性。這樣一來,用戶就可以直接通過ESP32瀏覽同時具有文字和圖形的網頁。
AndyGreen表示自己開發的這套HTML+CSS渲染器并不完整。雖然它可以分析并渲染HTML和CSS,支持JPEG和PNG圖像,但它只能處理HTML的一個子集,也并不支持Javascript。即便如此,AndyGreen的HTML+CSS渲染器仍然具有突破意義,它意味著低成本MCU也支持用戶直接開發UI界面,是 ESP32 的一個新里程碑。
ESP-IDFVSCode插件的新增功能,為提升ESP用戶的開發體驗,我們為ESP-IDFVisualStudio(VS)Code插件新增了如下功能。樂鑫代理商ESP-IDFVisualStudio(VS)Code 插件旨在方便ESP用戶基于ESP-IDF進行軟件開發。我們持續為其增加新功能,不斷提升用戶的開發體驗,新增功能如下:
增加對QEMU仿真器的支持
QEMU是一個開源的機器仿真器,常用于模擬各類操作系統和硬件設備。樂鑫代理商新建了一個支持ESP32的QEMU分支代碼倉庫,支持用戶使用QEMU仿真器軟件模擬真實的ESP32設備行為。我們在與ESP-IDFVScode插件的項目模板(.devcontainer文件)配套使用的Dockerfile中,添加了對QEMU的支持。點此了解更多關于此功能的信息。
增加分區表編輯器
開發者可以查詢已連接設備的分區表信息,并選擇任意.bin文件燒錄至指定分區。
支持導入現有ESP-IDF項目
我們新增了 ImportESP-IDFProject 命令,支持用戶復制一個現有的ESP-IDF項目,將其.vscode配置文件和.devcontaine文件添加至新項目中,并保存在指定路徑下。
集成了ESP-IDF組件注冊器
我們還集成了ESP-IDF組件注冊器(IDFComponentregistry),支持用戶在項目中添加組件。用戶運行 ESP-IDF:ShowComponentregistry 命令即可打開組件頁面。
升級了歡迎頁面
我們對插件的歡迎頁面也進行了升級,增加了相關文檔鏈接及一些基本功能按鈕。用戶可通過運行 ESP-IDF:Welcome 命令打開歡迎頁面。
其他主要改進和新增功能
支持使用gdb命令直接進行堆跟蹤?,F在,我們可以直接使用gdb命令替代之前的openOCDTCL命令,來啟動和停止堆跟蹤。更多有關堆跟蹤的信息,請參考 ESP-IDF編程指南和堆跟蹤擴展教程。在buildtask后增加了idf-size.py輸出功能。用戶運行 ESP-IDF:Buildyourproject 或 ESP-IDF:Build,flashandstartamonitor 命令后,即可通過輸出信息了解當前應用程序的內存情況,以優化二進制文件的大小。在 Build,flashandmonitor 命令中增加了JTAG燒錄類型。相比于之前僅支持的UART燒錄,現在用戶可通過配置idf.flashType,選擇不同的燒錄類型。
增加了Configureprojectforcoverage命令,用于在項目的sdkconfig文件中設置相關值,從而使能項目的代碼覆蓋率功能。正如代碼覆蓋率教程中的介紹,用戶如需使用該擴展的代碼覆蓋率功能,則必須使用這一命令。為Windows用戶提供便捷版的Git和Python配置,使Windows用戶在使用 ESP-IDF:ConfigureESP-IDFextension 安裝向導時,不再需要預先安裝任何準備工具。增加 idf.enableUpdateSrcsToCMakeListsFile 命令,可以在創建或刪除.c文件時,隨時啟用/禁用CMakeLists.txtSRCSfield更新。
在安裝向導中增加了樂鑫代理商下載鏡像選項,從而允許用戶在運行 ESP-IDF:ConfigureESP-IDFextension 時,選擇速度更快的GitHub下載服務器(例如Gitee)。在VSCode狀態欄中添加了串行端口和IDF編譯目標,用戶僅通過單擊即可更改命令。新增了構建前、構建后、燒錄前、燒錄后和自定義任務配置選項。用戶可在構建項目前后,分別使用 idf.preBuildTask 和 idf.postBuildTask 命令添加額外任務;在燒錄前后使用 idf.preFlashTask 和 idf.postFlashTask 命令添加額外任務。此外,用戶還可配合 ESP-IDF:Executecustomtask(可見狀態欄圖標)使用 idf.customTask 命令自定義任務。增加了 idf.notificationSilentMode 命令,支持用戶啟用/禁用命令完成時的通知(在禁用通知時,只顯示任務輸出結果)。例如將idf.notificationSilentMode設置為"True",將會隱藏構建成功和燒錄完成等通知,直接顯示任務輸出結果。