Desktop Logbook
284 3 3-26 09:52
Uploading and Loding Picture ...(0/1)
o(^-^)o
blue_canyon21
Second Officer
Flight distance : 23325935 ft
United States
Offline

Hi all,

About 2 years ago, I had some downtime at work and created an Offline Logbook. It was not great but it worked for keeping track of flights without paying for a subscription to AirData or DroneLogbook.
Recently, I've been unemployed due to some health issues, which has given me more time to work on it. Although it may seem like I'm 'reinventing the wheel,' I've enjoyed both the process of creating it and the utility it provides. I hope it will prove beneficial to others as well.

Anyway, let me know what you think.
MainWindow.jpg

A few changes from the version posted 2 years are:
  • Lots of layout changes.
  • No need for SQL LocalDB to be installed anymore.
  • Able to import flights from Airdata CSV, Litchi, PhantomHelp CSV, and DJI TXT files (Need the FlightRecordParsingLib Docker image from https://github.com/dji-sdk/FlightRecordParsingLib).
  • Export flight, drone, and battery data to a CSV file.
  • View your flight on a map if added from one of the sources. If not from an import, the home point will still be shown.

A few notes:
  • I don't consider myself a programmer by any standard. Programming is just a hobby for me, and I'm largely self-taught. Therefore, bugs are inevitable. If you come across a bug, please inform me so that I can attempt to fix it.
  • If you have a apostrophe in any field when adding flights, drones, batteries, locations, or flight notes, the application will crash.
  • Importing from a PhantomHelp CSV will sometimes result in a flight time from a different timezone.
  • Importing a DJI TXT file made by Maven Lite will result in the battery temperature being recorded as 170.4 no matter what.
  • The database file and imported CSVs and TXTs are stored in %appdata%\DespainMe\.


You can see screenshots and download it from here.




3-26 09:52
Use props
Sean-bumble-bee
Core User of DJI
Flight distance : 15997 ft
  • >>>
United Kingdom
Offline

Well done, I have ceated a log book program of sorts but it runs on Linux, though mine's not graphical.  

I find it amazing how tiny 'typos' in file names etc, can screw up these things lol.
The biggest problem with using phantomhelp as the source of the csv is that, if you fly many separate flights, there is a limit to the rate at which Phantomhelp will allow you to up load flights.
I now use his flight reader.
Oddly phantomhlep processes some logs that Flight reader will not.


Can you please explain the use of the Git hub stuff  and what bits if the github stuff it is necessary to dowinload in order for it to be able to process the txts.?
The git hub page seems desgined for people who speak 'computer', I do not lol.



3-26 13:35
Use props
blue_canyon21
Second Officer
Flight distance : 23325935 ft
United States
Offline

Sean-bumble-bee Posted at 3-26 13:35
Well done, I have ceated a log book program of sorts but it runs on Linux, though mine's not graphical.  

I find it amazing how tiny 'typos' in file names etc, can screw up these things lol.

No problem!

So, the first thing is to install Docker Desktop:
Next, you need to set up a DJI Developer API key:
  • Go to https://developer.dji.com/user and either sign in or create an account. I think this account is separate from your DJI Store and Forum account.
  • Once you are signed in, Click 'Create App' in the top right corner.
  • Under 'App Type', select 'Open API'.
  • Fill out the rest of the form and hit 'Create'.
  • You'll have to check your email for an activation link.
  • Once you click the activation link in your email, open the app information page by clicking on the app you just made in your Dev dashboard.
  • Copy the App Key that is listed there.

Now, you need to download the GitHub files:

Finally, you need to create the Docker image.
  • Unzip the download file to a place of your choice. For these instructions, I'll say "C:\DJI".
  • In a command prompt, type "cd C:\DJI".
  • Once in the DJI folder, type "docker build --build-arg SDK_KEY=[Your_App_Key] -t pf ." (Do not forget the . at the end.).

You can verify that the command worked by opening Docker Desktop from the Start menu and clicking the Images tab on the left (The icon is a box made of a dotted line.). There should be an image named 'pf' listed.





If you ever want  to get the JSON of your flight record without going through an application, you can run this command:
  • docker run --rm -v [Path_To_Your_TXT_File_Folder]:/tmp pf "/tmp/[Name_Of_Your_TXT_File]" > json_result.json
  • In the path to your TXT file folder, don't place a trailing \.
  • Example: docker run --rm -v "C:\Users\Blue\Downloads":/tmp pf "/tmp/DJIFlightRecord_2024-03-21_[19-33-53].txt" > json_result.json

This will decrypt your DJI TXT file and put the results into a file called "json_result.json" in the folder which you ran the command from.




3-27 06:45
Use props
Montfrooij
Captain
Flight distance : 2560453 ft
  • >>>
Netherlands
Offline

Very interesting work!
4-1 23:04
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules