VesperでFlipper Zeroを音声とニューラルネットワークで制御する
最近、V3SP3Rリポジトリを見つけました。著者は近年の二つの人気 Hobby を組み合わせることにしました:Flipper ZeroポケットガジェットとLLM(大規模言語モデル)です。小さな「フリッパー」画面上でジョイスティックを使って无尽的リストをスクロールしたことのある人なら、あの独特の 操作感を覚えているでしょう。ルーティンタスクをテキストや音声コマンドに委任することは、まさに自然な一歩と言えます。
Vesperとは
Vesperは、Jetpack Compose UIツールキットで書かれたAndroidモバイルアプリで、Kotlinで実装されています。セットアップは簡単です。スマートフォンはBluetooth Low EnergyでFlipper Zeroに接続し、OpenRouter統一APIゲートウェイを通じてニューラルネットワークに接続します。
結果として、自然なテキストクエリを送信したり、マイクに話しかけたりすることができます。「最近のSubGHzダンプを表示」「BadUSBスクリプトを作成」「バッテリー残量を確認」などのフレーズは、ニューラルネットワークによってコンポーネント関数に解析されます。その後、アプリは必要なRPCコマンドをFlipper本体に送信し、結果をチャットに表示します。
プロジェクトの主な機能
音声とマルチモーダル制御
このアプリはテキストや音声メッセージだけでなく、もっと多くのものを受け入れることができます。デバイスや銘板の写真を添付すると、モデルが周波数やプロトコルを特定しようとします。さらに、リポジトリにはMentraスマートグラスを接続するためのNode.jsブリッジが含まれています。これにより、グラスの内蔵カメラから直接画像をリクエストできます。
シグナルラボとペイロード生成
Alchemy Labモジュールには、ビジュアルラジオ周波数信号エディタが含まれています。波形を組み合わせ、即座に готовыйファイルをデバイスのSDカードにエクスポートできます。Payload Labモジュールは、Rubber Ducky/BadUSBスクリプト、赤外線リモート、NFCタグの準備を処理します。
リスク分類システム
ニューラルネットワークにハッカーのデバイスファイルシステムへのフルアクセスを許可することは危険です。モデルのハルシネーションにより、必要なダンプが削除される可能性があります。これを防ぐため、著者は4つのアクセスレベルを実装しました:
- 安全な読み取り操作は自動的に実行されます。
- ファイルの変更は書き込み前後の差分を表示します。
- ラジオ送信または削除には確認が必要です。
- ファームウェアシステムディレクトリはデフォルトでロックされています。
すべてのアクションはローカル監査ログに保存されます。タイプでフィルタリングしたり、分析用にエクスポートしたりできます。
FapHubとGitHubからのソフトウェアダウンロード
アプリには組み込みのFapHubカタログがあります。必要なユーティリティを見つけて、ワンクリックでFlipperにインストールできます。GitHubリソース検索も同様に動作し、アプリが互換性のあるファイルを見つけてメモリカードに直接ダウンロードします。
技術的な詳細
アーキテクチャ的には、コードは3つの標準レイヤーに分かれています:
- UIレイヤーはHiltによる依存性注入を使用してJetpack Composeで構築されています。
- ドメインレイヤーには、VesperAgentオーケストレーター、ツールコールハンドラー、RiskAssessorリスク評価モジュールが含まれています。
- データレイヤーは、FlipperBleService経由でBluetooth接続を管理し、Roomで履歴を保存し、Encrypted DataStoreで設定を保持します。
LLMを使用する場合、モデルが関数呼び出し(Tool Calling)で壊れたJSONを出力するという一般的な問題が発生します。Vesperには組み込みの構文修正モジュールがあり、コマンドを実行に渡す前に応答構造を復元します。
モデルについては、著者はNous Research Hermes 4またはClaude Sonnet 4の使用を推奨しています。これらは外部関数呼び出しを適切に処理します。単純な読み取りタスクにはClaude Haiku 4で十分であり、複雑な信号の解析にはClaude Opus 4.6を使用します。
アプリの起動方法
リリースセクションにビルド済みAPKファイルがない可能性があるため、自分でプロジェクトをビルドする必要があります。
ビルドにはJDK 17とインストールされたAndroid SDKシステムが必要です。リポジトリをクローンしてビルドを実行します:
git clone https://github.com/elder-plinius/V3SP3R.git
cd V3SP3R
./gradlew assembleDebug
готовыйファイルは app/build/outputs/apk/debug/app-debug.apk に表示されます。
アプリの動作には3つのものが必要です:
- Android 8.0以上のスマートフォン。
- Flipper ZeroでBluetoothを有効化。
- 数ドルの残高があるOpenRouterアカウント。
起動後、Bluetoothと位置情報アクセス(BLEスキャンにはAndroidの要件)の許可を与え、設定でAPIキーを挿入し、デバイスタブで「flipper」に接続します。
まとめ
Vesperは、物理ハードウェアを制御するためのLLMエージェントの実用的なユースケースを示しています。このプロジェクトには欠点もあります:サードパーティのAPIキーが必要であること、ソースからアプリをビルドするには最小限のAndroid SDKスキルが必要であること。
ただし、セキュリティ研究者和マイクロエレクトロニクス愛好家にとって、これはメニュークリックを排除し、ルーティンテストを高速化する優れたユーティリティです。
関連プロジェクト