
Aplicativo de vídeo FPV do drone HASAKEE para Android

Um aplicativo Android para visualizar o fluxo de vídeo ao vivo de drones HASAKEE FPV. Construído por engenharia reversa do protocolo UDP proprietário usado pela câmera WiFi do drone.
HASAKEE-WiFi-XXXXX)192.168.0.1, porta de vídeo: 40000Outros drones HASAKEE/Lewei que usam o mesmo protocolo também podem funcionar.
WifiNetworkSpecifier, API 26-28 verifica a conexão existente)| Streaming | Conexão WiFi Automática |
|---|---|
![]() | ![]() |
Ícone do aplicativo:
Ícone de drone por Flaticon — gratuito para uso pessoal e comercial com atribuição.
O aplicativo se comunica com o drone via UDP:
HASAKEE-WiFi-XXXXX)63 63 01 00 00 00 00) a cada 1 segundo para 192.168.0.1:40000O drone usa um formato de pacote proprietário obtido por engenharia reversa das bibliotecas nativas do aplicativo Android HASAKEE FPV (liblewei-2.3.so, liblewei63.so):
Offset 0x00-0x01: 0x6363 (cabeçalho mágico)
Offset 0x02: Tipo de comando (0x01=heartbeat, 0x03=video)
Offset 0x03-0x04: ID de sequência
Offset 0x05-0x06: Comprimento do pacote
Offset 0x07: Tipo de quadro
Offset 0x08-0x0B: ID do quadro
Offset 0x36 (54): Início dos dados JPEG
Este aplicativo foi construído a partir do conhecimento do protocolo obtido por engenharia reversa do aplicativo Android HASAKEE FPV (versão 1.0.4), especificamente suas bibliotecas nativas usando Ghidra e análise de pacotes com Wireshark.
Todo o trabalho de engenharia reversa, incluindo documentação do protocolo descompilado, código Python de proof-of-concept para streaming e notas detalhadas do protocolo, está disponível em:
git clone https://github.com/mretallack/DroneCamera.git
cd DroneCamera
./gradlew assembleDebug
O APK estará em app/build/outputs/apk/debug/app-debug.apk.
Compilações de lançamento exigem um keystore de assinatura:
export KEYSTORE_PATH=release.keystore
export KEYSTORE_PASSWORD=<sua-senha>
export KEY_ALIAS=release
export KEY_PASSWORD=<sua-senha>
./gradlew assembleRelease
O APK assinado estará em app/build/outputs/apk/release/app-release.apk.
./gradlew installDebug
./gradlew test
./gradlew lintDebug
app/src/main/java/uk/org/retallack/dronecamera/
├── FrameAssembler.kt # Analisador de pacotes 0x6363, montagem de quadros, desofuscação
├── DroneConnection.kt # Envio de heartbeat UDP e receptor de pacotes
├── WifiConnector.kt # Conexão automática ao WiFi do drone HASAKEE
├── DroneStreamViewModel.kt # Gerenciamento de estado (IDLE/CONNECTING/STREAMING/ERROR)
└── MainActivity.kt # Exibição de vídeo SurfaceView e interface do usuário
Este projeto está licenciado sob a Licença MIT — veja LICENSE para detalhes.
Ícone de drone por Flaticon.