
ドローン HASAKEE FPV ビデオアプリ Android向け

HASAKEE FPVドローンのライブビデオストリームを表示するAndroidアプリ。ドローンのWiFiカメラが使用する独自UDPプロトコルをリバースエンジニアリングして構築されました。
HASAKEE-WiFi-XXXXX)192.168.0.1、ビデオポート: 40000同じプロトコルを使用するその他のHASAKEE/Leweiベースのドローンでも動作する可能性があります。
WifiNetworkSpecifierを使用、API 26~28は既存の接続を確認)| ストリーミング | WiFi自動接続 |
|---|---|
![]() | ![]() |
アプリアイコン:
ドローンアイコンはFlaticon提供 – 帰属表示付きで個人・商用利用無料。
このアプリはUDP経由でドローンと通信します:
HASAKEE-WiFi-XXXXX)に接続63 63 01 00 00 00 00)を192.168.0.1:40000に送信ドローンは、HASAKEE FPV Androidアプリのネイティブライブラリ(liblewei-2.3.so、liblewei63.so)からリバースエンジニアリングされた独自のパケット形式を使用しています:
Offset 0x00-0x01: 0x6363 (マジックヘッダ)
Offset 0x02: コマンドタイプ (0x01=ハートビート, 0x03=ビデオ)
Offset 0x03-0x04: シーケンスID
Offset 0x05-0x06: パケット長
Offset 0x07: フレームタイプ
Offset 0x08-0x0B: フレームID
Offset 0x36 (54): JPEGデータ開始位置
このアプリは、HASAKEE FPV Androidアプリ(バージョン1.0.4)をリバースエンジニアリングして得られたプロトコル知識に基づいて構築されており、特にGhidraとWiresharkパケット解析を使用してそのネイティブライブラリを解析しました。
リバースエンジニアリングの全作業(逆コンパイルされたプロトコルドキュメント、Python概念実証ストリーミングコード、詳細なプロトコルノートを含む)は以下で入手できます:
git clone https://github.com/mretallack/DroneCamera.git
cd DroneCamera
./gradlew assembleDebug
APKは app/build/outputs/apk/debug/app-debug.apk に生成されます。
リリースビルドには署名キーストアが必要です:
export KEYSTORE_PATH=release.keystore
export KEYSTORE_PASSWORD=<your-password>
export KEY_ALIAS=release
export KEY_PASSWORD=<your-password>
./gradlew assembleRelease
署名済みAPKは app/build/outputs/apk/release/app-release.apk に生成されます。
./gradlew installDebug
./gradlew test
./gradlew lintDebug
app/src/main/java/uk/org/retallack/dronecamera/
├── FrameAssembler.kt # 0x6363パケットパーサー、フレームアセンブリ、難読化解除
├── DroneConnection.kt # UDPハートビート送信機とパケット受信機
├── WifiConnector.kt # HASAKEEドローンWiFiへの自動接続
├── DroneStreamViewModel.kt # 状態管理(IDLE/CONNECTING/STREAMING/ERROR)
└── MainActivity.kt # SurfaceViewビデオ表示とUI
このプロジェクトはMITライセンスの下でライセンスされています – 詳細はLICENSEを参照してください。
ドローンアイコンはFlaticon提供。