FossPrime、Steam Controller 自動充電ツール Steam-Controller-Auto-Charge を公開──WebHID と CV で磁気ドックへ誘導
WebHID 経由のハプティクス制御と OpenCV.js による光学フロー追跡を組み合わせ、Web ブラウザからコントローラーを磁気充電台へ自律移動させる OSS。
リリース: 2026-07-02 · 読了 3 分記事の要約
1. 核心(What)
- WebHID API を活用し、Steam Controller のハプティクス(LRA)を制御して充電台へ自律移動させる Web アプリケーション。
- OpenCV.js の Lucas-Kanade 法による光学フロー追跡と、Rust/WASM で実装された CNN を組み合わせた物体検出を実装。
- Report ID 121(充電確認)および Report ID 67(テレメトリ)のパースにより、電圧やバッテリー残量をブラウザ上でリアルタイム表示。
- Nix Package Manager によるビルド環境の統一と、Chromium 系ブラウザでの動作をサポート。
2. 影響(Why)
- WebHID の応用可能性: Web ブラウザ単体で HID デバイスの高度な制御が可能であることを示し、専用ドライバ不要の周辺機器管理インターフェース構築の参考となる。
- 国内ハードウェア周辺ツール開発への示唆: 国内の[中規模ハードウェア周辺機器メーカー]や[IoT 開発チーム]は、専用アプリを配布せず Web ベースの管理ツールへ移行することで、配布コストを大幅に削減できる。
3. 根拠・詳細(How)
- ハプティクスによるナビゲーション: 内部のデュアル LRA を 70Hz の非対称パルスで駆動し、充電台まで誘導。150 ピクセル以内ではパルス周波数を 50% 削減して接触時の衝撃を緩和する。
- Rust/WASM による視覚処理: OpenCV.js の calcOpticalFlowPyrLK 関数をメインループに採用し、物体検出処理を Web Worker で分離することで UI の描画負荷を低減。
4. 展望・課題(Next)
- 環境依存の制約: WebHID API をサポートする Chromium 系ブラウザが必須であり、カメラの設置角度や照明環境が追跡精度に直結する。