The defensive drone simulator application plays a significant role in our proposed system. It computes the future GPS coordinates of the malicious drone based on its past trajectory. The computed GPS data is then translated back into control data using the DJI Android API, allowing the defensive drone to autonomously fly to the calculated GPS point.
- Display TSPI data.
- Calculate the predicted path.
- Autonomous drone driving.
- Save the Log file(.csv).
- Device: galaxy tab a7 lite (Android 11)
- laptop: Macbook Air 2(M2)
The widget settings rate is aligned with the tablet rate. If you want to see a screen that fits the ratio, please use the tablet to run it.
- Register Page
- Main Page
.
βββ main
βΒ Β βββ AndroidManifest.xml
βΒ Β βββ java
βΒ Β βΒ Β βββ com
βΒ Β βΒ Β βββ dji
βΒ Β βΒ Β βββ sdk
βΒ Β βΒ Β βββ venture
βΒ Β βΒ Β βββ BackgroundCallback.java
βΒ Β βΒ Β βββ Interface
βΒ Β βΒ Β βΒ Β βββ IQueue.java
βΒ Β βΒ Β βββ MApplication.java
βΒ Β βΒ Β βββ MainActivity.java
βΒ Β βΒ Β βββ RegisterActivity.java
βΒ Β βΒ Β βββ TSPI.java
βΒ Β βΒ Β βββ Utils
βΒ Β βΒ Β βββ CircularQueueUtil.java
βΒ Β βΒ Β βββ GPSUtil.java
βΒ Β βββ res
βΒ Β βββ drawable
βΒ Β βββ layout
βΒ Β βΒ Β βββ activity_connection.xml
βΒ Β βΒ Β βββ activity_main.xml
βΒ Β βββ mipmap
βΒ Β βββ values
βΒ Β βΒ Β βββ colors.xml
βΒ Β βΒ Β βββ strings.xml
βΒ Β βΒ Β βββ themes.xml
βΒ Β βββ values-night
βΒ Β Β Β βββ themes.xml
- You need to connect your DJI drone to go to the main page of the app. You cannot go to the main page of the app without the drone.
- When using the application for the first time, Wi-Fi must be connected because the DJI SDK must be installed.
- You must restart the application after compiling it to run the application.
- Android Studio 3.2+
- Android System 4.1+
- DJI Android SDK 4.16.4
- DJI Developer Key
- Firebase API Key
- Google Maps API Key
Declare dependency via
Gradle:app
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'com.google.android.material:material:1.4.0-alpha02'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation 'com.google.firebase:firebase-firestore:24.1.1'
implementation ('com.google.firebase:firebase-bom:32.0.0')
implementation 'com.google.android.gms:play-services-maps:18.1.0'
implementation 'com.google.android.gms:play-services-location:20.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'com.squareup:otto:1.3.8'
implementation('com.dji:dji-sdk:4.16.4', {
exclude module: 'fly-safe-database'
exclude module: 'library-anti-distortion'
})
compileOnly 'com.dji:dji-sdk-provided:4.16.4'
}
Gradle: Project
dependencies {
classpath 'com.google.gms:google-services:4.3.15'
}
For further detail on how to integrate the DJI Android SDK into your Android Studio project, please check theΒ Integrate SDK into ApplicationΒ tutorial.
- Android Gradle Plugin Version : 7.4.0
- Gradle Version : 7.5
- Recommend 33(API : Android 13.0) or lower
- Recommend JDK 17 or JDK 8
Dependency | Configuration |
---|---|
androidx.appcompat:appcompat:1.6.1 | implementation |
androidx.constraintlayout:constraintlayout:2.1.4 | implementation |
com.dji:dji-sdk-provided:4.16.4 | compileOnly |
com.dji:dji-sdk:4.16.4 | implementation |
androidx.test.espresso:espresso-core:3.5.1 | androidTestImplementation |
com.google.firebase:firebase-bom:32.0.0 | implementation |
com.google.firebase:firebase-firestore:24.1.1 | implementation |
androidx.test.ext:junit:1.1.5 | androidTestImplementation |
junit:junit:4.13.2 | testImplementation |
com.google.android.material:material:1.0.0 | implementation |
com.google.android.material:material:1.4.0-alpha02 | implementation |
com.squareup:otto:1.3.8 | implementation |
com.google.android.gms:play-services-location:20.0.0 | implementation |
com.google.android.gms:play-services-maps:18.1.0 | implementation |
The following reference were used to develop the application.
- https://github.com/dji-sdk/Mobile-SDK-Android
- Integrate Google API tutorial
- Add Firebase Android project
- DJI Developer Document
- https://github.com/DJI-Mobile-SDK-Tutorials
-
Uk Jang
- E-Mail: [email protected]