OpenLaneLink:以 $1.6k ESP32 硬體取代 $120k 保齡球中心計分系統
OpenLaneLink:以 $1.6k ESP32 硬體取代 $120k 保齡球中心計分系統
TL;DR
一家由家庭經營的 8 泳道保齡球中心將原本價值 $80‑$120k 的專屬計分與控制系統,換成使用 ESP32 微控制器、ESP‑Now 網狀網路、Raspberry Pi 閘道器與基於 Redis 的事件串流所組成的自訂 OpenLaneLink 套件,硬體成本降至約 $1,600,同時取得完整的資料、韌體與 UI 控制權。
為何此替換重要
- 成本降低:原本 2008 年的系統購買成本高達六位數,且每對泳道的零件費用約 $4,000。新設計的成本約為 每對泳道 $200(≈ 總計 $1,600)。
- 供應商獨立:不再需要服務合約、專屬鍵盤或「白標」限制。所有硬體與軟體皆為開源,允許自訂任何 UI、主題或功能(例如 DMX 燈光、Tap‑to‑Pay 服務台)。
- 快速維護:故障節點可在 10 分鐘 內更換;韌體透過 Wi‑Fi OTA 更新,且在雜訊環境下 RS‑485 提供有線備援。
系統架構概覽
"它是一個 ESPNow 星狀拓撲的 Mesh:每個節點從感測器發出事件,並接受其控制指令,向連接在 UART 上的 raspi 閘道節點回報。" – OP
1. 邊緣節點(ESP32)
- 感測器:紅外斷光感測器偵測球的通過;光耦監測針座繼電器;額外的 GPIO 讀取針座狀態訊號。
- 致動器:繼電器驅動舊有的針座與回球機構(機械端唯一需要的電子控制)。
- 通訊:主要通道為 ESP‑Now(基於 Wi‑Fi 的無連線封包)。次要 RS‑485 匯流排提供有線韌性。
- 韌體:每個節點使用輕量級 C++ 狀態機;負責去彈跳、事件產生與指令執行。
2. 閘道節點(ESP32 + UART)
- 將 ESP‑Now Mesh 透過序列連接橋接至 Raspberry Pi。
- 執行封包框架、基本驗證,並將事件轉發給 Pi。
3. 中央伺服器(Raspberry Pi)
- 執行 Redis 作為事件儲存與 pub/sub 中介。
- 小型 Go/Python 服務將 Redis 訊息轉換為 WebSocket 事件供 UI 使用,並將收到的指令回傳至 Mesh。
- 所有元件皆容器化,便於部署與未來擴充。
4. 前端(React/WebSocket)
- 任意 React 開發者都能打造自訂計分板 UI,包含全壘打/補中動畫。
- UI 透過 WebSocket 串流即時顯示分數、球速與泳道狀態。
硬體材料清單(每對泳道)
| 項目 | 大約成本 |
|---|---|
| ESP32‑DevKit(或自訂 PCB) | $8 |
| 繼電器模組(5 V) | $3 |
| 光耦板 | $2 |
| 紅外斷光感測器組 | $5 |
| 配線、接頭、外殼 | $10 |
| 每對泳道總計 | ≈ $200 |
若加入「高階」配件(額外 LED、DMX 控制器),成本會升至 每對泳道 $400。
主要技術挑戰與解決方案
- 可靠低延遲訊息傳遞:ESP‑Now 提供毫秒以下的延遲且不需 Wi‑Fi 連線,非常適合即時計分。備援的 RS‑485 在 RF 噪音大的保齡球館中確保穩定性。
- 韌體一致性:在數十個節點上維持相同韌體至關重要。透過 ESP‑Now 廣播 OTA 更新新二進位檔,版本握手機制保證所有節點執行相同程式碼。
- 與舊有繼電器介面:光耦將 120 V 繼電器線圈與 3.3 V ESP32 隔離,防止電壓尖峰損壞。
- 資料持久化:Redis 保存滾動的事件窗口,允許除錯時回放,同時為 UI 開發者提供簡易 API。
社群見解
- ESP‑Now 的優勢 – 有評論者指出,"EspNow 在這類網路中真的很有幫助。它使用 WiFi 封包傳送短訊息,且不需要任何 WiFi 登入。"(beardyw)
- 硬體統一性 – 另一位使用者建議為所有 ESP32 節點設計單一 PCB,利用 ESP32‑S3 豐富的 I/O 與 HTTP API 進行設定(kachurovskiy)。
- 開源潛力 – 多位評論者鼓勵將原理圖、韌體與 GitHub 倉庫公開,以啟發類似改造(Cheiree、ivanjermakov)。
- 商業影響 – 從 $120k 降至 $1.6k 的成本削減,展示了開源硬體如何讓小城鎮的休閒設施保持可營運,這點也得到多位社群成員的呼應。
未來方向
- DMX 燈光整合:加入隨球移動的 LED 燈條,透過 DMX 節點控制(OP 的路線圖)。
- 服務台與支付:實作觸控螢幕服務台,支援 Tap‑to‑Pay 與即時泳道啟用。
- 開放資料 API:公開分數與感測資料供第三方分析或行動應用使用。
- 文件與社群:將完整原理圖、韌體原始碼與部署腳本以開源授權上傳至 GitHub。
給實務者的要點
- 找出最小的電子介面 – 在許多舊系統中,僅有單一繼電器或感測線路需要數位控制。
- 利用便宜且支援度高的 MCU – ESP32 提供 Wi‑Fi、ESP‑Now 與足夠的 GPIO,足以取代多個專屬板。
- 使用輕量級事件總線 – Redis pub/sub 搭配 WebSocket 能清晰分離硬體與 UI。
- 規劃冗餘 – 有線備援(RS‑485)可防止工業環境常見的 RF 干擾。
- 早期開源 – 共享設計可加速社群貢獻,減少重複工作。
OpenLaneLink 展示了單一工程師如何利用商品化元件與開源軟體,將一套高成本的舊有系統現代化,將 $120k 的支出轉變為 $1.6k 的開放平台,並賦予業主對功能、維護與資料的完整掌控。