前言 這是第二次博客作業,總結了近三次PTA大作業的完成情況,這三次的大作業難度逐漸增大,完全理不清邏輯,真的越想越混亂,代碼寫的也是很亂,沒有一個整體的框架結構,讀起來很困難,沒有學到java程式編寫的真諦,總之對於我,一個邏輯很差很差的人來說,越來越複雜的題目,寫起來真的痛苦,到後面的題目,基本 ...
PlatformIO簡介
PlatformIO是一個開源的物聯網(IoT)開發平臺,旨在提供跨平臺的軟體開發工具和框架,使開發者能夠更輕鬆地構建和部署嵌入式系統和物聯網設備。
PlatformIO提供了統一的開發環境,支持多種不同的開發板和微控制器平臺,包括Arduino、Raspberry Pi、ESP8266、ESP32等等。開發者可以使用PlatformIO來編寫、調試和上傳代碼到這些平臺上。
PlatformIO的主要特點和功能包括:
-
跨平臺支持:PlatformIO可以在Windows、Mac和Linux等操作系統上運行,提供一致的開發體驗。
-
強大的集成開發環境(IDE)支持:PlatformIO可以與多個流行的IDE集成,如Visual Studio Code(VSCode)、Atom等。這些IDE提供了豐富的功能,如代碼自動完成、語法高亮、調試工具等,使開發者能夠更高效地編寫代碼。
-
庫管理器:PlatformIO內置了一個庫管理器,開發者可以從中獲取各種開源庫和驅動程式,以便在項目中使用。這些庫可以通過簡單的命令或圖形界面進行安裝和更新。
-
跨平臺構建系統:PlatformIO提供了一個強大的構建系統,支持自動化構建和測試。開發者可以使用不同的構建選項,如編譯器、優化級別等,以滿足特定的需求。
-
調試支持:PlatformIO支持硬體和模擬調試,可以幫助開發者定位和修複代碼中的錯誤。
-
應用框架和示例代碼:PlatformIO提供了許多應用框架和示例代碼,包括Arduino框架、ESP-IDF框架等。這些框架和示例代碼可以加速開發過程,幫助開發者快速上手。
IDE技術初步選型
Visual Studio Code是一款輕量級但功能強大的源代碼編輯器,可在桌面上運行,適用於 Windows、macOS 和 Linux。它內置了對JavaScript、TypeScript和Node.js的支持,併為其他語言(如 Python、C++、C#、PHP、Go)和運行時(如 .NET 和 Unity)提供了豐富的擴展生態系統。
當今市場上的IDE大多派生於Eclipse或Visual Studio Code,Visual Studio Code後來居上,在GitHub上的星級已經比Eclipse高至少一個數量級,且社區強大、容易上手。從性能和社區等方面綜合建議使用Visual Studio Code。
物聯網開發IDE,用於以基於VSCode的PlatformIO 用戶最多,為此初步選用VSCode作為基礎框架。
本項目IDE分為Visual Studio Code(以下簡稱VS Code) 、桌面IDE(非VS Code)、Cloud IDE(以下簡稱雲IDE) 、command-line interface(以下簡稱CLI)和管理平臺組成,整體架構如圖所示:
CLI簡介
CLI是整個IDE生態系統的核心。它實現所有命令行操作的串接,並和管理平臺互相交互,同時也提供基礎UI供VS Code、IDE和雲IDE調用。包括但不限於如下功能:
- 多平臺構建系統
- 統一軟體包管理器
- 庫管理
- 庫依賴關係查找器(LDF Library Dependency Finder)
- 串列埠監控器
- 集成組件(雲和桌面集成開發環境以及持續集成)。
CLI通常由Python編寫,具備跨平臺支持,初期僅要求支持Ubuntu、麒麟、統信、Windows等操作系統主流版本。
CLI要保持獨立性,不僅能支持VS code,也要考慮到後期可能支持其他IDE和雲IDE。
實現可參考目前物聯網最流行的單板VS code網關:platformio-core,其次是樂鑫公司的esp-idf。
參考資料
- 軟體測試精品書籍文檔下載持續更新 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://www.sitepoint.com/what-is-an-ide/
- https://github.com/platformio
管理平臺簡介
管理平臺接收CLI請求,進行相應處理,主要功能如下:
- SDK、中間件、模板等管理
- 用戶管理
- 組織管理
- 團隊管理
- License管理
管理平臺需要提供Web展示頁面,同時提供API和CLI對接。管理平臺要具備5個9的穩定性,支持500 TPS,可用Flask、Django、FastAPI、Spring Cloud等實現,參考架構如下:
原型參考 https://registry.platformio.org/
IDE簡介
IDE為非基於Visual Studio Code的本地開發工具,後期如果有需要可以基於CLI實現。
雲IDE簡介
雲IDE是基於瀏覽器的集成式開發環境,為開發者提供了穩定的雲端工作站。用戶在使用雲IDE時無需安裝,隨時隨地打開瀏覽器就能使用。
待基於Visual Studio Code的IDE穩定後,後期考慮雲IDE開發。架構規劃如下:
DAP簡介
為了通過網路進行調試,並支持多種調試協議,在軟實時部署RPC服務,實現( Debug Adapter Protocol )。
IDE可在將調試請求發給RPC,RPC再轉發給RTOS,實現多OS同時調試。