|

企盼已久!Arduino IDE 2.0正式出爐

   

作者:陸向陽

對許多創客而言,相信對Arduino IDE 1.x並不陌生,但Arduino官方在2021年春季開始對Arduino IDE進行大改造,提出2.0版,幾經內外部測試驗證後,於最近發布為正式版。新版到底有何不同?以下對此討論。

1.同時使用Serial Monitor與Serial Plotter

過往Arduino IDE只提供Serial Monitor(簡體中文版翻譯成串口監視器)來觀看數值,而2.0版再加入一個新工具Serial Plotter(簡體中文版翻譯成串口繪圖儀,將於後述),兩種工具可以同時使用。

紅框中,心電圖圖案點按後可以開啟串口繪圖儀,放大鏡圖案點按後可以開啟串口監視器

2.改善使用者體驗

操作介面更直覺並提升各種功能的操作速度,包含串列輸出的時間、載入程式的時間、編譯的時間等都有所提升。

3.自動完成功能

在許多程式開發工具上都已經有自動完成功能,但1.x版一直缺乏,而今2.0版也正式提供。自動完成可以讓創客撰寫程式到一半時自動浮出合宜的選項,只要選擇合宜的選項,比起自己手打所有文字能更快速、更不容易出錯。

自動完成是依據撰寫者已經打過的變數與函式,然後智慧型推測後續可能會用到的指令與函式庫,從而提示撰寫者可以選擇。另外已經打完的部份也可能會提示有打錯的地方,類似文書處理的拼字檢查功能。

4.黑底白字

程式設計師撰寫程式時要經常觀看編輯畫面,而白底黑字的畫面容易使眼睛疲勞,所以許多程式開發的編輯器都允許改成黑底白字來減少疲勞,這個功能在2.0 Beta版上已經有,但正式的2.0版重新設計了整個黑底畫面,讓它更具一致性、美觀性,且更易於觀看。

可以選擇Dark (Theia)、Dark (Arduino)等黑底白字畫面顯示

Dark (Theia)的黑底白字畫面

5.雲端保存開發成果

有些人會在多個地點工作或需要在多台電腦上持續開發同一程式,所以需要把開發的控制程式(在Arduino的世界裡將開發出的程式稱為sketch)放在遠端或雲端以便集中存取,新的2.0版可以跟Arduino CloudArduino Web Editor等雲端開發環境連結,然後持續開發放置在雲端上但尚未完成的程式。另外也可以先離線工作,之後再將工作成果上傳到雲端上進行同步。

紅框部分可以在本地端(筆電圖示)、雲端(地球圖示)切換放置程式

6.串口繪圖儀(Serial Plotter)

這個新工具相當強大,可以同時觀察Arduino開發板上多組變數的變化,以及從時間軌跡上來觀察數值的消長變化,這很適合用在調校感測器或數值比較等需求場合中。

Serial Plotter畫面圖顯示變數1、變數2的波動變化(圖片來源:Arduino官網)

7.更新支援

程式設計師通常希望開發工具可以自動提醒有新的開發板(board)可以支援、新的函式庫(library)可以支援,新的2.0版也有這樣的功能,這樣就不用自己再勞心勞神去查核有無新的支援可以下載,只要按一下更新即可。

另外對軟體技術有興趣的創客也可以了解更多,新版的Arduino IDE 2.0其實是以Eclipse Theia框架(也是一個開放原碼項目)為基礎所發展成的,微軟知名Visual Studio Code編輯器(簡稱VS Code)也是使用相同的框架,所以兩者的Language Server Protocol語言伺服器協定、Debugger除錯器、Extension延伸外掛等是類似的。

然後Arduino IDE 2.0的前端是用TypeScript撰寫成的,後端則多數是用Golang撰寫成。

實際體驗

接著筆者實際體驗體驗,目前其實語系只有簡體中文可選,但筆者其實有提交正體(繁體)中文的若干翻譯貢獻,不知為何還沒有正體中文版。雖然介面語系可以切換成簡體中文,但其實翻譯也還不完全,某些功能選項還是維持英文,或有點過度翻譯,連快捷鍵也翻譯,變成「Ctrl+逗號」。

最後其實比照Arduino向來的傳統,推出全新2.0版IDE後並不表示舊版就此消滅了,喜歡或習慣舊的1.x版依然是可以下載、安裝、使用的,不過已經加註了「Legacy,遺產、遺舊」字樣,等於逐漸宣告其最終會走入歷史。

回顧過往Arduino已歷經多次系列變化,包含00xx系列的版本、1.0.x系列的版本、1.5.x.版、1.6.x版、1.8.x版,而今是2.0.x版。短期內1.8.x系列仍會持續更新,包含加入與2.0版相近的新功能,或者是修補程式錯誤、修補資安漏洞等,但最終會以2.0.x版為主。

(責任編輯:謝嘉洵)

陸向陽
陸向陽

Author: 陸向陽

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

Share This Post On

Submit a Comment

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