1. 進程和線程的區別 進程(Process)和線程(Thread)是操作系統中的重要概念,它們表示執行中的程式的不同執行單元。下麵是它們的區別: 定義:進程是一個獨立的執行環境,具有獨立的記憶體空間,包含程式代碼、數據和執行狀態。線程是進程內的一個執行單元,共用相同的記憶體空間和系統資源。 資源占用: ...
4 PlatformIO Home
PlatformIO Home 是 PlatformIO協作平臺的一個強大、現代和互動式用戶界面 (UI)。它由 PlatformIO Labs 的現代用戶界面工具包提供支持,包含以下關鍵工具:
-
PlatformIO 賬戶
-
項目管理
-
庫管理
-
開發平臺、框架和板管理
-
設備管理(串列、邏輯和多播 DNS 服務)
-
靜態代碼分析
-
固件文件資源管理器
-
固件記憶體檢查
-
固件章節和符號查看器。
4.1 安裝
您無需單獨安裝 PlatformIO Home,它已內置於 PlatformIO IDE 和 PlatformIO Core (CLI)。
4.2 快速入門
- PlatformIO IDE
請使用 PlatformIO 工具欄上的 (HOME) 按鈕打開 PlatformIO Home:
VSCode: PlatformIO 工具欄
- PlatformIO 核心
請使用 pio home 命令啟動 PlatformIO Home Web 伺服器,併在瀏覽器 http://127.0.0.1:8008 中打開。
4.3 Demo
- 歡迎與項目管理
- 靜態分析
統計數據
僅代碼分析(靜態代碼分析)
-
固件文件資源管理器
-
文件符號
- 固件符號
- 固件區
- 靜態代碼分析
- 庫管理器
- 開發板資源管理器
5 PlatformIO 帳戶
以下功能需要PlatformIO帳戶才能使用:
- 社區論壇
- 遠程開發
- 管理組織
- 管理團隊
- 管理軟體包
- 管理資源(軟體包)訪問。
PlatformIO IDE在PlatformIO Home中內置用戶界面,用於管理PlatformIO帳戶。您可以創建新賬戶、重置密碼、更新配置文件或獲取驗證令牌。必須使用此用戶界面才能使用OAuth登錄。
參考資料
- 軟體測試精品書籍文檔下載持續更新 https://github.com/china-testing/python-testing-examples 請點贊,謝謝!
- 本文涉及的python測試開發庫 謝謝點贊! https://github.com/china-testing/python_cn_resouce
- python精品書籍下載 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
- Linux精品書籍下載 https://www.cnblogs.com/testing-/p/17438558.html
- https://docs.platformio.org/en/latest
6 ESP32 PlatformIO開發實例
PlatformIO支持多種不同的平臺、架構和框架,具有現代化的開發能力。它是VSCode的擴展,因此只需點擊幾下即可輕鬆安裝和配置。啟動 VSCode 後,進入擴展(Ctrl+Shift+X),在市場中搜索 platformio。它將出現在匹配列表的首位。點擊 "安裝 "按鈕,即可完成安裝。幾分鐘後,安裝完成,我們就在 VSCode IDE中安裝了PlatformIO。
關於 PlatformIO,我們會講很多,但作為最終參考,你可以在這裡找到相關文檔:https://docs.platformio.org/en/latest/what-is-platformio.html。
PlatformIO 有一些獨特的功能。最顯著的可能就是聲明式開發環境。有了PlatformIO,我們只需指定我們要在項目中使用的內容,包括晶元類型(不限於Espressif產品)、哪個框架和框架的哪個版本、有版本限制的其他庫,以及它們的任意組合。我們很快就會瞭解這些內容的含義以及如何配置項目。除此之外,PlatformIO還擁有開發嵌入式項目時需要的所有實用工具,如調試、單元測試、靜態代碼分析和固件記憶體檢查。8年前我第一次使用PlatformIO時(大概是這樣,我不善於回憶過去的事情),免費版本還不提供調試功能。這讓我非常失望。現在PlatformIO是一個免費的開源項目,所有功能我們都可以使用。謝謝你們!廢話少說,讓我們用 PlatformIO 開發相同的應用程式。
6.1 使用PlatformIO的Hello world
- 訪問PlatformIO主頁。
單擊屏幕右側的新建項目按鈕。設置項目名稱,選擇電路板為 Espressif ESP32-S3-Box,框架為Espressif IoT Development Framework。您可以為項目選擇一個目錄,也可以將其保留為 PlatformIO 的預設目錄。單擊 "Finish(完成)",讓 PlatformIO 完成工作。
項目創建完成後,我們將看到以下目錄結構。
將src/main.c 重命名為src/main.cpp,然後複製粘貼我們已經使用ESP-IDF擴展開發的相同代碼。
#include <iostream>
extern "C" void app_main()
{
std::cout << "Hello World!\n";
}
編輯 platformio.ini 文件,進行以下配置設置。
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = espidf
monitor_speed=115200
monitor_rts = 0
monitor_dtr = 0
正如你可能已經註意到的,除了PlatformIO之外,我們沒有下載或安裝任何東西。它為我們處理了所有這些底層配置和安裝。PlatformIO為此使用了platformio.ini文件。讓我們研究一下它的內容。
[env:esp32dev]這一行定義了環境。
platform = espressif32設置平臺為espressif32。截至編寫本章時,PlatformIO支持48種不同的平臺。如果需要,我們可以指定平臺版本,PlatformIO會為我們找到並下載它。如果沒有指定,它將假定是最新版本的平臺。
board = esp32dev 這將設置板卡 - esp32dev。PlatformIO支持1420種不同的板卡,其中162種屬於 espressif32平臺。
framework = espidf該類別包含PlatformIO註冊表中的另外24個框架。
這三個設置來自項目定義階段。PlatformIO在項目定義階段將它們作為用戶輸入收集起來,並用這些值設置platformio.ini的初始內容。
然後,我們手動添加了後面三行,以定義串列監視器行為。我們將串列波特率設為115200bps,將RTS和DTR設為0,以便在串列監視器連接時重置晶元,從而看到應用程式的整個串列輸出。
您可以通過以下鏈接瀏覽 PlatformIO 註冊表,查看所有平臺、板卡、框架、庫和工具https://registry.platformio.org/search。
PlatformIO 文檔提供了可在 platformio.ini 中配置的完整信息,並附有示例:https://docs.platformio.org/en/latest/projectconf/index.html。
6.2 PlatformIO終端
除了GUI功能外,PlatformIO還提供了命令行工具pio,可通過PlatformIO終端訪問。它在某些情況下非常有用,尤其是當你喜歡使用命令行工具時。要啟動PlatformIO終端,可以單擊底部工具欄上的 PlatformIO:新建終端按鈕。
該工具欄還有其他常用功能的快速訪問按鈕,如編譯、上傳、監控等。單擊終端按鈕(將滑鼠指針懸停在按鈕上時將顯示標簽)後,將重定向到命令行終端,在那裡可以輸入pio命令。寫入pio並按回車鍵,即可顯示pio選項。
我們可以使用 pio 來快閃記憶體 ESP32-C3-DevKitM-1,如下所示:
$ pio run -t upload -e esp32c3kit
Processing esp32c3kit (platform: espressif32; board: esp32-c3-devkitm-1; framework: espidf)
----------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-c3-devkitm-1.html
PLATFORM: Espressif 32 (5.1.1) > Espressif ESP32-C3-DevKitM-1
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
…
Leaving...
Hard resetting via RTS pin...
============ [SUCCESS] Took 24.90 seconds =================
Environment Status Duration
------------- -------- ------------
esp32c3kit SUCCESS 00:00:24.902
=======================================
我們可以使用以下命令監控串列輸出:
$ pio device monitor -e esp32c3kit
--- forcing DTR inactive
--- forcing RTS inactive
--- Terminal on /dev/ttyUSB0 | 115200 8-N-1
<removed>
[0;32mI (324) cpu_start: Starting scheduler.[0m
Hello World!
pio工具擁有所有可以通過圖形用戶界面實現的功能。要查看其他命令的使用方法,只需在命令名稱後添加 -h 選項即可。
線上文檔更好。您可以通過以下鏈接查看: https://docs.platformio.org/en/latest/core/userguide/index.html#commands
釘釘或微信號: pythontesting 微信公眾號:pythontesting