|

從「2021年Arduino開源報告」看Arduino發展趨向

   

作者:陸向陽

Arduino是創客領域最知名的社群,自2005年發起至今已17年,近期社群釋出一份年度報告,回顧了去(2021)年各項發展,其中又以軟體發展尤其顯著,以下簡單說明,完整報告則在此

硬體板

2021年Arduino推出4片新的開放源碼硬體板:

Arduino 2021 四塊新開發板(Source

整合開發環境(軟體)

Arduino的整合開發環境(IDE 1.x)最初是用Java寫成的,但Arduino社群用一個團隊的力量全職投入兩年進行改寫,新的IDE有更好的使用者體驗,在程式撰寫過程中可以自動浮現可能的程式指令或自動完成填寫,並有更好的除錯功能等,去年3月新版IDE從內部測試版(Alpha)進入外部測試版(Beta)並陸續發佈12次測試版,從而有了穩定版2.0版的候選版本。

全新的2.0版Arduino IDE(Source

雖然重點已轉向2.0,但1.x仍然有廣大使用群且讓用戶較熟悉,所以社群也在去年發佈5次1.x的後續版,進行若干錯誤的修正與功能加強。

命令列

過往以來撰寫Arduino控制程式、應用程式(稱為Sketch)多在Arduino IDE內進行,與程式撰寫開發的相關功能也多在IDE內透過滑鼠游標進行選單點選,包含編譯、上傳程式到板子上、函式庫管理等等,但社群釋出Arduino CLI後也能以命令列方式實現這些功能。對專業的程式開發者而言Arduino CLI可以更靈活搭配運用,例如與腳本程式(script)搭配使用。

另一種命令列是Arduino Lint,用來檢查撰寫的程式跟函式庫,確保合乎規格規範要求,適合用於持續整合(Continuous Integration, CI)的開發環境,也為此在GitHub上發佈一組Action,只要提交的程式內容有所改變、函式庫有所改變,只要數分鐘就會完成查核確認。

Arduino Language Server、函式庫目錄

前面提到Arduino IDE 2.0有更好的程式撰寫提示,這個提示功能其實來自Arduino Language Server(程式語言伺服器),它與IDE 2.0是分別開的,透過Language Server的協定與Arduino IDE 2.0溝通互動,這也就表示Language Server也能支援其他的程式撰寫編輯器或其他的IDE,亦即在其他編輯器與IDE上撰寫Arduino程式,一樣可以獲得提示效果,減少語法錯誤。

以前Arduino的函式庫只能透過Arduino IDE的函式庫管理器,運用其對話窗進行瀏覽,去年開始實現網頁型的函式庫目錄,可以自動更新函式庫索引,函式庫的瀏覽頁面之結構與呈現採Markdown語法。

網頁版呈現的函式庫清單(Source

另外,函式庫開發後的貢獻提交也開始自動化,此前是由Arduino團隊的人以人工方式檢視後再行提交,現在則採自助服務。

自助自動化的重點在於提高函式庫發展效率,因此Arduino官方也強調2021年共發佈了8個新函式庫,其他官方函式庫也在2021年有104次的發佈,包含錯誤修正或加入新功能,官方核心也有9次新發佈,同樣在修正錯誤、增加新功能,還有支援更多的硬體電路板,另外也發佈Arduino core for the Raspberry Pi Pico,是以Mbed作業系統為基礎發展成的核心程式,程式更為強固完整。此外,社群也注重程式碼的安全性,避免產生資安漏洞。

函式庫更壯盛

除了官方貢獻外,整體生態也更健壯,2021年有896個新函式庫加入,年增率25%,總數達到4,446個,全年的函式庫版本推進次數達6,005次。

2021 Arduino Library貢獻量最多的單位或個人排名(Source

另外,Project Hub上有326個新的開源教程(或說創客專案或專案展示),GitHub上的Arduino儲存庫(repositories)有超過2,200次互動,顯示社群的活躍度。

Arduino Project Hub官網畫面(Source

小結

歸結上述,Arduino社群在2021年有幾個發展趨向:

  1. 硬體部分已相對少變動,主控板除了因應RP2040晶片而有新發展,以及推出紀念限量板外,也僅推出2片更適合應用開發的I/O板,重點都在軟體開發上;
  2. 開發工具與核心都在進行從根基的翻新,例如2.0版IDE、針對RP2040推行新核心等;
  3. Arduino的程式開發朝親和、彈性、專業化發展,程式撰寫帶有提示,不再綁限一定要用官方IDE才能進行功能操作,不一定要用官方IDE撰寫程式,開始有多人協力撰寫開發、持續整合撰寫開發的概念機制;
  4. 強調函式庫的發展,更多函式庫加入,函式總數更多,函式改版次數更多等,一旦有最豐盛多樣的函式庫,更多的專案示範等,如此將會有更多創客選用Arduino,或已使用者更不會棄用轉用。

(責任編輯:唐育琪)

陸向陽
陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *