|

創客新鮮事:Arduino Core轉向Zephyr、可查Token耗量的微型顯示器

   

作者:陸向陽

眾所皆知,Arduino最初是用8-bit Atmel AVR架構MCU來運作,之後升級成32-bit Arm Cortex架構,高階化使Arduino必須重新發展其底層軟體,以便讓創客能持續用簡單語法開發應用程式(或稱控制程式,在Arduino領域中稱為Sketch),此底層軟體稱為Arduino Core。

Arduino Core從Mbed轉向Zephyr即將完工

Arduino Core的最核心必須有個嵌入式作業系統,Arduino官方選擇了Arm力推的Mbed OS,但之後Arm無意持續發展Mbed OS,以至於Arduino必須更換Arduino Core的最核心,最終選擇了Zephyr OS,關於此MakerPRO過去也曾報導過。

由於Arm是在2024年7月宣佈將停止發展Mbed,給予各界使用者兩年緩衝時間,正式停止是在2026年7月,而Arduino Core想從Mbed轉換成Zephyr也不是一朝一夕可以達成。

不過,Arduino官方仍在2026年5月宣佈改行Zephyr的新版Arduino Core已經到0.55.0版,預計6月發佈最後一次測試版,之後將成為正式版。

除了換替核心的移植工程外,新的Arduino Core也加入新功能,例如簡化串列埠(Serial Port)的組態配置,這個改善將適用於Arduino IDE 2、Arduino App Lab等桌面開發工具。

另外也給日曆加入即時時脈(RTC)功能,支援用NTP協定進行時間同步校準,或支援汽車或工控領域的CAN Bus。如果用的板卡為Arduino UNO Q則還支援動態中斷功能,此外也支援Zephyr工作佇列的低優先權中斷。

值得注意的是,新的Arduino Core也不是支援所有Arduino開發板,新的Core支援8片現行開發板,即Nicla Sense、Arduino Nano 33 BLE、Nano Matter、Giga Display Shield、Opta、Portenta C33、Portenta H7以及UNO Q,並追加支援一片新開發板Arduino Nicla Vision。很明顯Arduino官方優先為產業應用的Arduino Pro系列、相關開發板換核心。

已經買了上述開發板的創客,可以透過Arduino IDE來升級板卡內的Arduino Core,獲得新核心的新功能。

圖1 筆者把自己的Arduino Nano 33 BLE拿來試,使用Arduino IDE 2.x中的開發工具,進行線上新版偵測,確實有0.55.0版的新Arduino Core可以更新使用

圖1:筆者把自己的Arduino Nano 33 BLE拿來試,使用Arduino IDE 2.x中的開發工具,進行線上新版偵測,確實有0.55.0版的新Arduino Core可以更新使用

由上述可知,Arduino非常敢換替底層控制器、處理器架構,也很敢換替嵌入式作業系統,甚至很敢換替開發工具的底層。例如,過往1.x版的Arduino IDE是Arduino官方用Java撰寫成,但之後改用Visual Studio Code為底層重新發展出Arduino IDE 2.x版。

無論如何換替,對創客而言都不用改變開發應用程式的方式,就能享受到新晶片、新作業系統的各種好處,甚至相同開發方式也能用於雲端,幾乎達到一招走天下,而痛苦的底層技術活都交給Arduino官方來代勞、轉化。

時時查看Token耗量的Claude Code微型顯示器

隨著GenAI/LLM應用盛行,許多人用GenAI工具來加速寫程式,稱為Vibe Coding,最知名的工具莫過於Cursor、Claude Code等。不過運用這些工具來寫程式是要耗用Token的,雖然每月有些基本用量,但想超用就必須付費,尤其是用API呼叫使用的話,使用越先進的模型費率越高,如Sonnet 4.6模型每百萬個Token輸入收取3美元,而Opus 4.7為5美元。

許多使用習慣的人會不知不覺超用,而後收到帳單才發現花費驚人,稱為Bill Shock(帳單震撼),因此有一名GitHub帳號名為HermannBjorgvin(其實o字母上有兩個小點,即Björgvin)的創客發起一個專案,該專案的目標是開發一個小裝置,稱為ClaudeMeter,用該裝置時時提醒自己Claude Code目前的用量。

圖2 ClaudeMeter顯示器,正顯示著目前Token用量,這週以來的用量(圖片來源:HermannBjorgvin的GitHub頁面)

圖2:ClaudeMeter顯示器,正顯示著目前Token用量,這週以來的用量(圖片來源:HermannBjorgvin的GitHub頁面)

ClaudeMeter的硬體部分是從Waveshare Electronics買來的一片帶有2.16吋AMOLED顯示器的板子,上頭有ESP32-S3晶片,並具備鋰電池。Bjorgvin開發該板子的韌體程式,然後在板子上的Linux作業系統會每60秒用藍牙通訊與電腦連線,然後電腦用Anthropic(開發與提供Claude Code服務的公司)的API呼叫雲端,取得目前的Token用量資訊,而後資訊再從電腦回傳給ClaudeMeter,並透過AMOLED顯示器顯示。

這當中的技術細節也包含使用自訂的藍牙BLE GATT服務,然後電腦與ClaudeMeter間的資訊傳遞採JSON格式。

圖3:Clawd吉祥物的動畫變快了,告知用戶Token用量正在增加(圖片來源:HermannBjorgvin的GitHub頁面)

圖3:Clawd吉祥物的動畫變快了,告知用戶Token用量正在增加(圖片來源:HermannBjorgvin的GitHub頁面)

而在ClaudeMeter顯示器方面,除了顯示Token用數外,也有簡單動畫用來更快掌握用量,當Clawd這個吉祥物圖案動作加快時就表示Token用量增加了。另外,ClaudeMeter也可以用來觀看比較詳細的統計資料與藍牙連線資訊等。

圖4:ClaudeMeter上也顯示其他技術相關資訊,如藍牙是否處於連線狀態、裝置的MAC位址等(圖片來源:HermannBjorgvin的GitHub頁面)

圖4:ClaudeMeter上也顯示其他技術相關資訊,如藍牙是否處於連線狀態、裝置的MAC位址等(圖片來源:HermannBjorgvin的GitHub頁面)

整個專案的軟硬體細節Bjorgvin都公佈在GitHub上,包含韌體程式碼、在嵌入式Linux上執行的後端程式碼等,還有為了相容顯示器的LVGL 9(嵌入式繪圖函式庫)字形的轉換程序,把圖形轉換成AMOLED顯示器可用的RGB565(每個顯示像素從24-bit True-Color降成16-bit)等都有說明。

 

陸向陽

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: 陸向陽

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

Share This Post On

Submit a Comment

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