作者:陸向陽
Arduino是創客領域最知名的社群,自2005年發起至今已17年,近期社群釋出一份年度報告,回顧了去(2021)年各項發展,其中又以軟體發展尤其顯著,以下簡單說明,完整報告則在此。
硬體板
2021年Arduino推出4片新的開放源碼硬體板:
- Nano RP2040 Connect(系統板)
- UNO Mini Limited Edition(系統板)
- MKR IoT Carrier(I/O板,便於物聯網應用開發)
- Nano Motor Carrier(I/O板,便於馬達應用開發)
整合開發環境(軟體)
Arduino的整合開發環境(IDE 1.x)最初是用Java寫成的,但Arduino社群用一個團隊的力量全職投入兩年進行改寫,新的IDE有更好的使用者體驗,在程式撰寫過程中可以自動浮現可能的程式指令或自動完成填寫,並有更好的除錯功能等,去年3月新版IDE從內部測試版(Alpha)進入外部測試版(Beta)並陸續發佈12次測試版,從而有了穩定版2.0版的候選版本。
雖然重點已轉向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語法。
另外,函式庫開發後的貢獻提交也開始自動化,此前是由Arduino團隊的人以人工方式檢視後再行提交,現在則採自助服務。
自助自動化的重點在於提高函式庫發展效率,因此Arduino官方也強調2021年共發佈了8個新函式庫,其他官方函式庫也在2021年有104次的發佈,包含錯誤修正或加入新功能,官方核心也有9次新發佈,同樣在修正錯誤、增加新功能,還有支援更多的硬體電路板,另外也發佈Arduino core for the Raspberry Pi Pico,是以Mbed作業系統為基礎發展成的核心程式,程式更為強固完整。此外,社群也注重程式碼的安全性,避免產生資安漏洞。
函式庫更壯盛
除了官方貢獻外,整體生態也更健壯,2021年有896個新函式庫加入,年增率25%,總數達到4,446個,全年的函式庫版本推進次數達6,005次。
另外,Project Hub上有326個新的開源教程(或說創客專案或專案展示),GitHub上的Arduino儲存庫(repositories)有超過2,200次互動,顯示社群的活躍度。
小結
歸結上述,Arduino社群在2021年有幾個發展趨向:
- 硬體部分已相對少變動,主控板除了因應RP2040晶片而有新發展,以及推出紀念限量板外,也僅推出2片更適合應用開發的I/O板,重點都在軟體開發上;
- 開發工具與核心都在進行從根基的翻新,例如2.0版IDE、針對RP2040推行新核心等;
- Arduino的程式開發朝親和、彈性、專業化發展,程式撰寫帶有提示,不再綁限一定要用官方IDE才能進行功能操作,不一定要用官方IDE撰寫程式,開始有多人協力撰寫開發、持續整合撰寫開發的概念機制;
- 強調函式庫的發展,更多函式庫加入,函式總數更多,函式改版次數更多等,一旦有最豐盛多樣的函式庫,更多的專案示範等,如此將會有更多創客選用Arduino,或已使用者更不會棄用轉用。
(責任編輯:唐育琪)
- Sony強力加持!樹莓派發表專屬AI攝影機 - 2024/10/28
- 【Qualcomm Inside】12TOPS Edge AI單板RUBIK Pi規格剖析 - 2024/10/20
- TinyML潛力股!MicroFlow挑戰TensorFlow Lite for Microcontrollers - 2024/10/15