PlatformIO簡介
PlatformIO是一個開源的物聯(lián)網(wǎng)(IoT)開發(fā)平臺,旨在提供跨平臺的軟件開發(fā)工具和框架,使開發(fā)者能夠更輕松地構(gòu)建和部署嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備。
PlatformIO提供了統(tǒng)一的開發(fā)環(huán)境,支持多種不同的開發(fā)板和微控制器平臺,包括Arduino、Raspberry Pi、ESP8266、ESP32等等。開發(fā)者可以使用PlatformIO來編寫、調(diào)試和上傳代碼到這些平臺上。
PlatformIO的主要特點(diǎn)和功能包括:
-
跨平臺支持:PlatformIO可以在Windows、Mac和Linux等操作系統(tǒng)上運(yùn)行,提供一致的開發(fā)體驗(yàn)。
-
強(qiáng)大的集成開發(fā)環(huán)境(IDE)支持:PlatformIO可以與多個流行的IDE集成,如Visual Studio Code(VSCode)、Atom等。這些IDE提供了豐富的功能,如代碼自動完成、語法高亮、調(diào)試工具等,使開發(fā)者能夠更高效地編寫代碼。
-
庫管理器:PlatformIO內(nèi)置了一個庫管理器,開發(fā)者可以從中獲取各種開源庫和驅(qū)動程序,以便在項(xiàng)目中使用。這些庫可以通過簡單的命令或圖形界面進(jìn)行安裝和更新。
-
跨平臺構(gòu)建系統(tǒng):PlatformIO提供了一個強(qiáng)大的構(gòu)建系統(tǒng),支持自動化構(gòu)建和測試。開發(fā)者可以使用不同的構(gòu)建選項(xiàng),如編譯器、優(yōu)化級別等,以滿足特定的需求。
-
調(diào)試支持:PlatformIO支持硬件和仿真調(diào)試,可以幫助開發(fā)者定位和修復(fù)代碼中的錯誤。
-
應(yīng)用框架和示例代碼:PlatformIO提供了許多應(yīng)用框架和示例代碼,包括Arduino框架、ESP-IDF框架等。這些框架和示例代碼可以加速開發(fā)過程,幫助開發(fā)者快速上手。
IDE技術(shù)初步選型
Visual Studio Code是一款輕量級但功能強(qiáng)大的源代碼編輯器,可在桌面上運(yùn)行,適用于 Windows、macOS 和 Linux。它內(nèi)置了對JavaScript、TypeScript和Node.js的支持,并為其他語言(如 Python、C++、C#、PHP、Go)和運(yùn)行時(shí)(如 .NET 和 Unity)提供了豐富的擴(kuò)展生態(tài)系統(tǒng)。
當(dāng)今市場上的IDE大多派生于Eclipse或Visual Studio Code,Visual Studio Code后來居上,在GitHub上的星級已經(jīng)比Eclipse高至少一個數(shù)量級,且社區(qū)強(qiáng)大、容易上手。從性能和社區(qū)等方面綜合建議使用Visual Studio Code。
物聯(lián)網(wǎng)開發(fā)IDE,用于以基于VSCode的PlatformIO 用戶最多,為此初步選用VSCode作為基礎(chǔ)框架。
本項(xiàng)目IDE分為Visual Studio Code(以下簡稱VS Code) 、桌面IDE(非VS Code)、Cloud IDE(以下簡稱云IDE) 、command-line interface(以下簡稱CLI)和管理平臺組成,整體架構(gòu)如圖所示:
CLI簡介
CLI是整個IDE生態(tài)系統(tǒng)的核心。它實(shí)現(xiàn)所有命令行操作的串接,并和管理平臺互相交互,同時(shí)也提供基礎(chǔ)UI供VS Code、IDE和云IDE調(diào)用。包括但不限于如下功能:
- 多平臺構(gòu)建系統(tǒng)
- 統(tǒng)一軟件包管理器
- 庫管理
- 庫依賴關(guān)系查找器(LDF Library Dependency Finder)
- 串行端口監(jiān)控器
- 集成組件(云和桌面集成開發(fā)環(huán)境以及持續(xù)集成)。
CLI通常由Python編寫,具備跨平臺支持,初期僅要求支持Ubuntu、麒麟、統(tǒng)信、Windows等操作系統(tǒng)主流版本。
CLI要保持獨(dú)立性,不僅能支持VS code,也要考慮到后期可能支持其他IDE和云IDE。
實(shí)現(xiàn)可參考目前物聯(lián)網(wǎng)最流行的單板VS code網(wǎng)關(guān):platformio-core,其次是樂鑫公司的esp-idf。
參考資料
- 軟件測試精品書籍文檔下載持續(xù)更新 https://github.com/china-testing/python-testing-examples 請點(diǎn)贊,謝謝!
- 本文涉及的python測試開發(fā)庫 謝謝點(diǎn)贊! 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請求,進(jìn)行相應(yīng)處理,主要功能如下:
- SDK、中間件、模板等管理
- 用戶管理
- 組織管理
- 團(tuán)隊(duì)管理
- License管理
管理平臺需要提供Web展示頁面,同時(shí)提供API和CLI對接。管理平臺要具備5個9的穩(wěn)定性,支持500 TPS,可用Flask、Django、FastAPI、Spring Cloud等實(shí)現(xiàn),參考架構(gòu)如下:
原型參考 https://registry.platformio.org/
IDE簡介
IDE為非基于Visual Studio Code的本地開發(fā)工具,后期如果有需要可以基于CLI實(shí)現(xiàn)。
云IDE簡介
云IDE是基于瀏覽器的集成式開發(fā)環(huán)境,為開發(fā)者提供了穩(wěn)定的云端工作站。用戶在使用云IDE時(shí)無需安裝,隨時(shí)隨地打開瀏覽器就能使用。
待基于Visual Studio Code的IDE穩(wěn)定后,后期考慮云IDE開發(fā)。架構(gòu)規(guī)劃如下:
DAP簡介
為了通過網(wǎng)絡(luò)進(jìn)行調(diào)試,并支持多種調(diào)試協(xié)議,在軟實(shí)時(shí)部署RPC服務(wù),實(shí)現(xiàn)( Debug Adapter Protocol )。
IDE可在將調(diào)試請求發(fā)給RPC,RPC再轉(zhuǎn)發(fā)給RTOS,實(shí)現(xiàn)多OS同時(shí)調(diào)試。文章來源:http://www.zghlxwxcb.cn/news/detail-746469.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-746469.html
到了這里,關(guān)于系統(tǒng)設(shè)計(jì)(架構(gòu)師)指南A:PlatformIO云IDE實(shí)例的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!