Flipper BUSY Bar
一篇關於 Flipper BUSY Bar 的評測,這是一款 72x16 RGB LED 矩陣桌上型裝置,具備 GPL 韌體、HTTP API 與 Matter 相容性,出自曾打造 Lemon 的那位作者之手。

是的,它真的存在,我正拿在手上,在 Flipper 於各種線上貼文中用這台神祕的裝置吊大家胃口、感覺像是過了好幾年之後,我終於可以確認它是真的。
BUSY Bar 是 Flipper Devices 推出的一款重 250 公克的桌上型裝置,這家公司也是 Flipper Zero 背後的團隊,以及仍在積極開發中的 Flipper One 的開發者。它基本上是一個小型的顯示器,能在 72x16 的 RGB LED 矩陣上顯示各種內容,而截至撰寫本文時,它的主要賣點是能執行番茄鐘式的專注計時器,並且擁有完整的 HTTP API,可透過 USB、區域網路以及網際網路來控制這台裝置。
BUSY Bar 頂部有一個五段式選擇器,可在兩種專注模式(BUSY 與 CUSTOM,兩者在功能上完全相同,僅預設值不同)、OFF 位置(實際上更像是會關閉兩個螢幕的睡眠模式)、目前僅有時鐘的應用程式位置,以及用於——嗯——設定的設定位置之間切換。中間有一顆大型機械按鈕用於開始與暫停工作階段,一個滾輪可用來調整計時器並兼作 OK 按鈕,最後還有一個返回按鈕,供需要返回上一層時使用。
說到返回,裝置背面有一塊 1.54 吋的單色 OLED,可顯示計時器、電量百分比以及 Wi-Fi、Bluetooth 與 USB 指示燈。如此一來,即使透過內建支架夾在螢幕頂部邊緣、讓主矩陣顯示器背對使用者,裝置對使用者本人來說依然可用。
規格

裝置尺寸為 168.6 x 55.2 x 40.8mm,重量為 250g/8.82oz。機身採用 PC/ABS 材質,正面與背面面板為 PC,螢幕支架的襯墊則為 TPE。這個 Bar 可適用於厚度達 21mm 的螢幕,我也可以確認它在曲面螢幕上同樣適用。不過,如果你的螢幕特別薄(例如某些可攜式螢幕),它就無法穩穩地架在上面。
完整規格如下,摘自 Flipper 官方文件:
| 規格 | 詳細資訊 |
|---|---|
| 主螢幕 | 72x16 RGB LED 矩陣,主動顯示區域 158.4x35.2mm,60 Hz;LED 尺寸 1.23x1.2mm,點距 2.2mm,共陽極;ICND2153 + ICN2012 驅動晶片;可透過光感測器手動或自動調整亮度 |
| 背面螢幕 | 1.54 吋單色 OLED,160x80,16 階灰階,60 Hz;透過 SPI 介面的 SSD1320 控制器 |
| 主 MCU | STM32U595RI,Arm Cortex-M33 @ 160 MHz,具備 MPU、FPU 與 DSP;2 MB 快閃記憶體,2.5 MB SRAM |
| 無線 MCU | Silicon Labs SiWG917M111MGTBA,Arm Cortex-M4F @ 180 MHz;8 MB 快閃記憶體,672 KB SRAM |
| 無線功能 | Wi-Fi 6(IEEE 802.11 b/g/n/ax),僅支援 2.4 GHz,WPA3;Bluetooth Low Energy 5.4 |
| 儲存空間 | 8 GB eMMC NAND |
| 音訊 | 單聲道;透過 I2S 的 NS4168 DAC,取樣率 44.1 kHz,內建 D 類放大器;6 歐姆,0.8 W |
| 電池 | 單節 18650,3250 mAh,A2007-H04 4-pin 連接器;具備過充、過放、過溫與低溫保護 |
| 充電 | 使用 18 W 以上 PD 充電器約 2.5 小時,否則需 7 至 8 小時 |
| USB-C | USB 2.0 Full Speed 裝置,12 Mbit/s;PD 3.0,5V⎓3A 與 9V⎓1.5A |
| 控制元件 | 機械式切換開關、滾輪編碼器、五段式模式選擇器、返回按鈕 |
72x16 矩陣由 ICND2153 驅動,這是一款 16 通道定電流 PWM 灌電流驅動器,具備 16 位元灰階位移暫存器、LED 開路偵測以及用於降低鬼影的預充電電路,搭配 ICN2012 8 通道電源開關。
在 2026 年令人有點遺憾的一點是 Wi-Fi 僅支援 2.4 GHz。在充滿各種裝置與微波爐的辦公室環境中,這個 Bar 等於處於最擁擠的頻段上。USB 方面也算是——怎麼說呢——相當精簡,最高速度僅 12 Mbit/s,不過,對於提供網頁介面與 HTTP API 的虛擬乙太網路介面來說,這樣的速度絕對足夠。
在充電方面,文件要求需使用 18 W 以上的 PD 充電器才能達到 2.5 小時的數據,而裝置本身似乎僅支援 5V⎓3A(15 W)與 9V⎓1.5A(13.5 W)兩種 PD 模式。
關於顯示器亮度有一處不一致:規格頁面完全未列出亮度數據,產品頁面目前標示為 400 nits,而 CNX Software 與 XDA 的首發報導則皆引述為 800 nits。我沒有量測設備,所以無法判斷究竟是哪一個正確,但我可以保證,即使在明亮的環境中,它的亮度也相當充足。
內部結構

Flipper 在 iFixit 上發布了官方拆解指南,這點非常棒。其 21 個步驟描述了一款以可維修性為設計考量的裝置。背蓋由 8 個卡扣固定,可用塑膠卡片取下。下方有 5 顆十字 PH1 螺絲,一顆在底部、四顆在背面。電池採用按壓式卡扣連接器,必須最先斷開。顯示器的軟排線使用撬棒式卡扣,主機板由 3 顆螺絲固定,控制板由 5 個卡扣固定,前顯示器背蓋由 6 個卡扣固定,按鍵穩定器則由 3 顆螺絲固定。螢幕支架的支腳為緊配式設計。
沒有任何零件使用膠水黏合,電池則是採用 4-pin 連接器的標準 18650 電芯,這意味著在大多數電子材料行都能輕鬆且便宜地取得替換品。對於 2026 年的消費性裝置而言,這大概會讓同為 Right to Repair(維修權) 倡議者的朋友們非常喜愛。
韌體

韌體原始碼在 GitHub 上以 busy-app/busybar-firmware 的形式提供。大部分官方程式碼採用 GPL 授權,furi 函式庫為 MIT 授權,圖形素材為 CC-BY 4.0,字型為 OFL 1.1,全部皆在 REUSE 資訊清單中聲明。
建置系統為 FBT,也就是與 Flipper Zero 相同的基於 SCons 的 Flipper Build Tool,依賴清單則是常見的嵌入式技術堆疊,底層在 Flipper 自家的 furi 抽象層之下為 FreeRTOS,lwIP 負責 TCP/IP,TinyUSB 負責 USB 裝置端,Mongoose 作為嵌入式 HTTP 與 WebSocket 伺服器,mbedTLS 負責 TLS,LVGL 則負責 UI。
這個 Bar 還在 lib/jerryscript 中包含了 JerryScript,並透過 lib/js_app 與 js_runner 服務串接。這與 Flipper Zero 用於腳本應用程式的 JavaScript 引擎相同。既然韌體中已經內建了該引擎,目前似乎唯一欠缺的就是將自己的腳本載入裝置的正式文件說明。
HTTP API

BUSY Bar 執行 HTTP 伺服器,並透過三種傳輸方式提供相同的 API,相關文件為 OpenAPI 3.1。
透過 USB 將裝置連接至電腦時,會建立一個虛擬乙太網路介面,裝置的固定位址為 10.0.4.20,印在機身背面。http://10.0.4.20/ 為本地網頁介面,http://10.0.4.20/docs 為由裝置上目前韌體產生的 API 參考文件,而 http://10.0.4.20/api 則是該 API 的基礎 URL。透過 USB 連線時不需驗證,但透過 Wi-Fi 時可使用驗證,而透過 Flipper 雲端連線時則必須使用驗證。
範例
curl -s http://10.0.4.20/api/status/power
{
"state": "discharging",
"battery_charge": 99,
"battery_voltage": 4183,
"battery_current": -180,
"usb_voltage": 4843
}
此請求會回傳目前的電源狀態。電池電流單位為 mA,電池與 USB 電壓單位皆為 mV,這意味著你無需額外硬體即可繪製裝置本身的耗電圖表。
注意: 透過 Wi-Fi 的存取預設為停用,必須先透過 USB 從本地網頁介面啟用。啟用後,你可以設定一個用於驗證的權杖,若有設定,需放入
X-API-Token標頭中:curl -s http://192.168.1.42/api/status \ -H 'Accept: application/json' \ -H 'X-API-Token: 12345678'透過網際網路的存取則是經由 Flipper 雲端,使用在
cloud.busy.app產生的 bearer token,其範圍可限定為單一裝置或整個帳號:curl -s https://api.busy.app/busybar/status \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <token>'
函式庫

Flipper 為 Python 維護了 busylib,同時提供同步與 asyncio 客戶端。它直接將方法名稱對應至 API 路徑,因此 /api/display/draw 會變成 display_draw,而 /api/storage/remove 會變成 storage_remove。這使得 OpenAPI 文件可直接作為該函式庫的參考文件:
from busylib import BusyBar, types
bb = BusyBar("10.0.4.20")
bb.display_draw(
types.DisplayElements(
application_name="my-app",
elements=[
types.TextElement(
id="status",
type="text",
x=2,
y=4,
text="BUILDING",
font="small",
display=types.DisplayName.FRONT,
),
],
)
)
該函式庫還有一個 converter 模組,可為裝置縮放並重新編碼圖片與音訊,一個用於 _busybar._tcp 的 mDNS 探索輔助工具,以及韌體相容性檢查。
除此之外,還有一個給所有 soydevs 的官方 TypeScript 函式庫,以及一個由社群維護的 .NET client。另外還有一個 Zig 函式庫,不過……稍後再詳談。:-)
智慧家庭

BUSY Bar 在 Matter 中以單一開/關端點的形式呈現,是一個模擬開關,其可設定的啟動狀態為 off、on、toggle 或 last。將其開啟會啟動 BUSY 計時器,關閉則會結束計時器,使此整合可作為觸發條件。將狀態回報至 Matter 需要開啟 Settings ➔ Smart home,此時專注工作階段即可驅動自動化,例如在計時器啟動時調暗燈光或鎖門。
配對是透過背面螢幕或網頁介面上的 QR code 完成,且裝置可同時加入多個 fabric。
Home Assistant 的整合是透過 HTTP API 使用通用 REST 功能完成,可雙向運作,也就是說裝置既可作為自動化的觸發條件,也可作為家中其他任何裝置的輸出端。
應用程式
BUSY Bar 為智慧型手機提供了行動應用程式。我測試了它的 iOS 應用程式,嗯,算是還可以吧。我本來就不是重度的智慧型手機應用程式使用者,不過還是來分享一下我的看法。
該應用程式基本上會鏡像顯示 Bar 目前的狀態,並提供基本的控制功能。當你啟動計時器且已設定好應用程式(透過 Flipper 雲端)時,你會看到應用程式推送一則常駐通知,在智慧型手機的鎖定畫面上顯示計時器。也可以設定勿擾模式,在計時器運行期間防止其他應用程式打擾你的專注時段。
對我來說這些算是噱頭,但對其他人而言這些功能或許有其價值。話雖如此,這些應用程式的評價並不高,雖然我在測試 iOS 版本的幾天內沒有遇到任何問題,但該應用程式在外觀與操作上確實給人一種有點廉價的感覺。感覺就像是大型硬體製造商中那些企業老派人士會想出來的應用程式,誤以為自己符合當今年輕世代的需求。
注意事項
有幾點讓我有點在意,不過沒有一項是真正的致命缺點。
Wi-Fi 驗證採用單一共用的數字金鑰,受 API 結構描述限制為 ^[0-9]{4,10}$,在區域網路上以明文標頭透過未加密的 HTTP 傳送。在四位數的最小長度下,金鑰空間僅有 10,000 種組合,且我未找到任何關於速率限制的文件。存取模式的列舉中除了 key 之外還包含 enabled,這意味著 API 可以在完全不需金鑰的情況下於區域網路上開放。因此,最好使用十位數的金鑰,並讓裝置遠離你無法掌控的網路。
再來就是一堆即將推出。安裝使用者應用程式、JS SDK、Windows 應用程式以及擴充的應用程式庫,這些全都是未來的承諾。我並不懷疑 Flipper 團隊最終會兌現,但可以想像,對於非技術使用者來說,買了一台目前幾乎沒什麼功能的裝置,可能會感到非常沮喪,尤其是在 Windows 電腦上。今天拿到的這台裝置,就是一個專注計時器、一個時鐘,以及一個狀態顯示器。
最後是價格。它最初對等候名單成員的售價為 USD 179,首批 3,000 台為 USD 199,最終零售價則標示為 USD 249。以 249 美元的價格來說,尤其是在目前的軟體狀態下,很難讓人買單。如果你是因為身為技術使用者而想買來把玩,它或許值得這個價錢,但正如我過去所展示的,你可以自己以便宜許多的成本打造出類似的裝置,尤其是如果你早已深陷動手改造的坑裡。
總結

Flipper 打造了我預期他們會打造的裝置,這句話是我由衷的讚美。硬體對於一個狀態燈來說有著過度設計的意味,就像 Flipper 的硬體一向如此,配備了真正的機械開關、真正的編碼器、可替換的 18650 電池、官方拆解指南,而且整台裝置完全沒有使用膠水。
它是否值得花錢,完全取決於你打算拿它來做什麼。作為一個告訴同事請勿打擾的裝置,它太貴了而且一點也不管用,因為會打斷你的人並不會被一個叫他們不要來的牌子嚇退。換句話說:用比 BUSY Bar 零售價便宜約 50 美元的價格,你可以在桌上擺上一把 Smith and Wesson 的其中一款產品,那可能會是更有效阻止同事來找你說話的方法。
然而,作為一個小巧、做工精良、可完全透過腳本控制的 RGB 矩陣,具備 8 GB 檔案系統、WebSocket,以及精心設計的優先權系統,讓多個程式可以共享同一個螢幕而不會互相覆蓋,它是同類產品中最開放、也可能是最好的產品,我期待社群會發掘出 Flipper 尚未想到的用途。
PS: 關閉 BUSY Bar 就像退出 Vim 一樣,因為它沒有提供直觀的方法。沒錯,頂部的切換開關有一個「OFF」位置。然而,那只是關閉顯示器,但 BUSY Bar 仍會持續運行並保持 Wi-Fi 連線。如果你想完全關閉裝置以避免消耗任何電力,你必須將開關切到「Settings」位置,依序進入 System、Power 與 Shutdown,並以 Yes 確認關機。只有這樣裝置才會真正關閉。
番外:busybar.zig
如前所述,我想藉這篇評測分享一個小小的番外,那就是一個盡可能貼近實作 BUSY Bar 目前 OpenAPI 規格的 Zig 函式庫,並提供了一個可透過 HTTP API 控制裝置的 busybar 命令列工具。
該函式庫僅使用 Zig 的 std 函式庫,因此支援 Zig 的所有平台目標,而且相當輕量、易於使用。我正在將它與我的 BUSY Bar 搭配使用,運作得非常順暢。命令列工具還包含一些提升使用體驗的功能,例如用於啟動與停止忙碌模式的簡易指令,否則這些操作就得手動撰寫 JSON 酬載。
總而言之,如果你已訂購了 BUSY Bar,並希望將其整合到 Zig 工具中,或只是想透過自己的腳本將其整合到桌面環境中,歡迎參考 busybar.zig 儲存庫。如果你只需要 CLI 工具來把玩你的 BUSY Bar,可以在 GitHub 上的發佈頁面找到適用於所有支援平台的建置版本。
隨機一篇部落格