Kontrolowanie Flipper Zero głosem i siecią neuronową za pomocą Vesper
Ostatnio natknąłem się na repozytorium V3SP3R. Autor postanowił połączyć dwa popularne hobby ostatnich lat: kieszonkowe urządzenie Flipper Zero i modele językowe. Każdy, kto próbował przewijać nieskończone listy na małym ekranie „flipptera" za pomocą joysticka, pamięta to specyficzne doświadczenie. Powierzanie rutynowych zadań poleceniom tekstowym lub głosowym wydaje się być całkowicie naturalnym krokiem.
Czym jest Vesper
Vesper to mobilna aplikacja na Androida napisana w Kotlinie z użyciem zestawu narzędzi UI Jetpack Compose. Konfiguracja jest prosta. Telefon łączy się z Flipper Zero przez Bluetooth Low Energy, a z sieciami neuronowymi przez ujednoliconą bramę API OpenRouter.
W rezultacie wysyłasz naturalne zapytanie tekstowe lub mówisz do mikrofonu. Frazy takie jak „pokaż ostatnie zrzuty SubGHz", „utwórz skrypt BadUSB" lub „sprawdź poziom baterii" są analizowane przez sieć neuronową na składowe funkcje. Następnie aplikacja wysyła niezbędne polecenia RPC do samego Flippera i wyświetla wynik na czacie.
Główne funkcje projektu
Kontrola głosowa i multimodalna
Aplikacja może przyjmować nie tylko wiadomości tekstowe lub audio. Jeśli wyślesz zdjęcie urządzenia lub tabliczki znamionowej z danymi technicznymi, model spróbuje określić częstotliwość lub protokół. Dodatkowo repozytorium zawiera mostek Node.js do łączenia inteligentnych okularów Mentra. Dzięki nim możesz wysyłać żądania obrazów bezpośrednio z wbudowanego aparatu okularów.
Laboratorium sygnałów i generowanie ładunków
Moduł Alchemy Lab zawiera wizualny edytor sygnałów radiowych. Możesz łączyć przebiegi falowe i natychmiast eksportować gotowy plik .sub na kartę SD urządzenia. Moduł Payload Lab zajmuje się przygotowywaniem skryptów Rubber Ducky/BadUSB, pilotów podczerwieni i tagów NFC.
System segmentacji ryzyka
Udzielanie sieci neuronowej pełnego dostępu do systemu plików urządzenia hakera jest ryzykowne. Halucynacja modelu może prowadzić do usunięcia potrzebnych zrzutów. Aby temu zapobiec, autor zaimplementował cztery poziomy dostępu:
- Bezpieczne operacje odczytu są wykonywane automatycznie.
- Modyfikacje plików pokazują różnicę przed i po zapisie.
- Transmisja radiowa lub usunięcie wymaga potwierdzenia.
- Katalogi systemowe firmware są domyślnie zablokowane.
Każda akcja jest zapisywana w lokalnym logu audytu. Można go filtrować według typu lub eksportować do analizy.
Pobieranie oprogramowania z FapHub i GitHub
Aplikacja ma wbudowany katalog FapHub. Możesz znaleźć potrzebne narzędzia i zainstalować je na Flipperze jednym kliknięciem. Wyszukiwanie zasobów GitHub działa podobnie: aplikacja znajduje kompatybilne pliki i pobiera je bezpośrednio na kartę pamięci.
Szczegóły techniczne
Architektonicznie kod jest podzielony na trzy standardowe warstwy:
- Warstwa UI jest zbudowana na Jetpack Compose z wstrzykiwaniem zależności przez Hilt.
- Warstwa domenowa zawiera orkiestrator VesperAgent, moduł obsługi wywołań narzędzi i moduł oceny ryzyka RiskAssessor.
- Warstwa danych zarządza połączeniem Bluetooth przez FlipperBleService, zapisuje historię w Room i przechowuje ustawienia w zaszyfrowanym DataStore.
Przy pracy z LLM-ami pojawia się częsty problem, gdy model generuje uszkodzony JSON w wywołaniach funkcji (Tool Calling). Vesper ma wbudowany moduł korekcji składni, który przywraca strukturę odpowiedzi przed przekazaniem polecenia do wykonania.
W przypadku modeli autor zaleca użycie Nous Research Hermes 4 lub Claude Sonnet 4. Dobrze radzą sobie z zewnętrznymi wywołaniami funkcji. W przypadku prostych zadań odczytu wystarczy Claude Haiku 4, a do parsowania złożonych sygnałów — Claude Opus 4.6.
Jak uruchomić aplikację
W sekcji wydań może nie być prekompilowanych plików APK, więc będziesz musiał zbudować projekt samodzielnie.
Do budowania wymagany jest JDK 17 i zainstalowany system Android SDK. Sklonuj repozytorium i uruchom budowanie:
git clone https://github.com/elder-plinius/V3SP3R.git
cd V3SP3R
./gradlew assembleDebug
Gotowy plik pojawi się w app/build/outputs/apk/debug/app-debug.apk.
Trzy rzeczy są potrzebne do działania aplikacji:
- Smartfon z Androidem 8.0 lub nowszym.
- Bluetooth włączony na Flipperze Zero.
- Konto OpenRouter z saldem kilku dolarów.
Po uruchomieniu przyznaj uprawnienia do Bluetooth i lokalizacji (jest to wymóg Androida dla skanowania BLE), wstaw klucz API w ustawieniach i połącz się z „flipperem" w zakładce Urządzenie.
Podsumowanie
Vesper demonstruje praktyczny przypadek użycia agentów LLM w sterowaniu sprzętem fizycznym. Projekt nie jest pozbawiony wad: nadal potrzebujesz klucza API od zewnętrznego dostawcy, a zbudowanie aplikacji ze źródeł wymaga minimalnych umiejętności w zakresie Android SDK.
Jednak dla badaczy bezpieczeństwa i entuzjastów mikroelektroniki to doskonałe narzędzie, które eliminuje klikanie w menu i przyspiesza rutynowe testowanie.
Powiązane projekty