Open Source DJI Go App?
10593 11 2018-3-28
Uploading and Loding Picture ...(0/1)
o(^-^)o
RobAlbania
lvl.4
Albania
Offline

I've just been doing a bit of reading on the DJI Mobile SDK that developers can use to create our own version of a "DJI Go" App.
The standard DJI Mobile SDK almost creates a full "DJI Go" App automatically, see:

https://developer.dji.com/mobile ... y_introduction.html

That is a great contribution from DJI and makes adding the "coming soon" features quite easy to achieve in some cases.

A problem with some intelligent flight modes, or "missions" as they are called in the DJI Mobile SDK documentation, is that many of them require firmware capabilities in the drone itself.  So a firmware update to the I2 would required for certain "intelligent flight modes" that are "coming soon" before "DJI Go 4" or any other mobile App can use the capability.  Creating a firmware update on the I2 is definitely beyond the capability of 3rd party developers because it is not supported with any developer libraries published by DJI.  So for some things like "gesture support" that is implemented on the Mavic firmware but not the I2 firmware, it will not be possible to add that capability merely by writing an app using the DJI Mobile SDK.

For those who want to read about which intelligent flight modes / "missions" are supported in firmware, see:

https://developer.dji.com/mobile ... guide-missions.html

There is some good news.  The I2 definitely supports "Waypoint" flights with up to 99 waypoints downloaded from the app to the drone, which then flies them all by itself.  But the current DJI Go4 app is bad at supporting "Waypoints" - you have to fly to each "Waypoint" to program the flight path!  What users need is to create waypoints by clicking on a map, then have the drone do the hard work of flying them!

So here is my thinking ...

A bunch of 3 or 4 developers including me collaborate to "recreate" the DJI Go 4 app using the DJI Mobile SDK.  We would then implement GPS map views using Google Maps, and most of the work is done in the DJI mobile SDK example, here (thanks DJI):

https://developer.dji.com/mobile ... emo-Google-Map.html

We would then add the Google Maps (screen click) waypoint capability as a "new icon" in the upper icon bar in the modified DJI Go App.  Users would click the "waypoint" mode Icon, Google Maps loads from a previously downloaded cache, centers the map on the current GPS location of the drone, zooms in to give a scale of say 2 km on screen, and the new "waypoints" map screen pops up, like in the example shown in the above url.  Then users would touch the map to add "red waypoint icons" which will be assumed to be in the flight plan order.  Then users would touch each "red waypoint icon" to define additional stuff like gimbal and camera settings which will be adopted until the next waypoint.

Any other Android or iPhone developers like to collaborate in such a development on open source basis?
I can handle the Android stuff, but not iPhone yet ...

Maybe DJI would consider making the whole current DJI Go 4 App source code as an "open source" resource on github?  Then it would make it easy for developers to collaborate with DJI in adding some "missing" features such as Google Maps view and screen-clickable waypoints.

Thanks,
Rob





2018-3-28
Use props
RobAlbania
lvl.4
Albania
Offline

To answer part of my own question, DJI have provided code samples that allow you to build something similar to the DJI Go 4 App:
I have started using Android Studio and am almost finished building the App which DJI call "UILibraryDemo", you can see it here:

https://developer.dji.com/mobile ... /UILibraryDemo.html

2018-3-30
Use props
RobAlbania
lvl.4
Albania
Offline

Statement from DJI developer web site on Android Tablet support using the DJI Developer Libraries, dated January 2018:

    Android API Level 19 or higher
    Android Studio 1.5 or higher
    Device support: Samsung S7, Samsung S8, Samsung tabs 705c, Samsung S6, Samsung S5, Samsung NOTE4, Samsung NOTE3, Google Pixel, Google Nexus 9, Google Nexus 7 II, Ascend Mate7, Huawei Mate 8, Nubia Z7 mini, SONY Xperia Z3, MI 3, MI PAD
    Note: Support for additional Android devices available as testing and development continues.

Are there any other developers out there?
2018-4-2
Use props
Katbusa3274
lvl.2
Flight distance : 411696 ft
Offline

However be aware that some of the Widgets and Panels in the UI SDK have issues with updating to the correct settings within the panels depending on what camera you are using.  For example the UI does not carry over OSD options and settings for the  Zenmuse Z3 and XT 640 Radiometric. From my understanding this is a known issue and it's being worked on.  By all means do not let that stop you. The panels and widgets are supposed to be a user friendly way of adding in OSD's and settings. You can still make your own panels by calling the methods on your own. It's just a more time consuming.

https://stackoverflow.com/questions/49617490/zenmuse-xt-mobile-sdk-ui/49619392#49619392

2018-4-3
Use props
Danger Lampost
lvl.4

United States
Offline

Has anyone started an open source project around this? I am looking to start one myself if someone hasn't already done that. I would love to be using some open source software instead of the Go 4 app. A side project I've been looking at is using the DJI Mobile SDK to implement voice recognition for navigation and control purposes.
2018-5-22
Use props
rent
Second Officer
Flight distance : 1773458 ft
  • >>>
Russia
Offline

Rob, et al., this is pretty interesting stuff. Does the SDK support creation of some sort of panoramic shooting feature, e.g., define top left and bottom right corner, define overlap percentage, perform the shoot?

Thanks!
Alex
2018-5-22
Use props
UP Films
lvl.4
Flight distance : 81683 ft
United States
Offline

I know it’s a separate app from the dji go app, but DJI’s ground station pro alows you to plot your waypoints and adjust certain flight/camera/gimbal parameters
2018-5-22
Use props
RobAlbania
lvl.4
Albania
Offline

rent Posted at 2018-5-22 14:34
Rob, et al., this is pretty interesting stuff. Does the SDK support creation of some sort of panoramic shooting feature, e.g., define top left and bottom right corner, define overlap percentage, perform the shoot?

Thanks!

Alex,

The code for panoramas would have to be written by the developer.   I don't see it in the SDK documentation.  It would be quite easy.
2018-5-23
Use props
rent
Second Officer
Flight distance : 1773458 ft
  • >>>
Russia
Offline

RobAlbania Posted at 2018-5-23 11:43
Alex,

The code for panoramas would have to be written by the developer.   I don't see it in the SDK documentation.  It would be quite easy.

Thanks Rob! Time to get back to doing some coding then. I'll have to take a look at the SDK more closely.
2018-5-23
Use props
timctrahan1970
New
Flight distance : 217421 ft
United States
Offline

I am a software developer by trade and would love to get in on any project that gets started.
2018-5-30
Use props
Dark_Sun
New

Ukraine
Offline

Bladebringer Posted at 2-20 11:31
A valuable application, all the more so easily you can create it yourself.

I did not dare to create myself, turned to professionals.
2019-2-23
Use props
DroneDood2
lvl.1
Flight distance : 919 ft
United States
Offline

We need to get you guys together with these guys.  I wold LOVE to see something like this happen.  I use DJI and have respect for them.  But, as a long time UAS mapper, I am FRUSTRATED with GSPro

discuss.ardupilot.org/t/dji-phantom-4-pro-v2-0-and-mission-planner/35584

How do we get this started?  I"m no programmer, but I can help with a roadmap and necessary features.  Also would love to publish about this project if we could get it going


2019-4-18
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules