GPS tracking in Background - Edge Hack (Not Devel, Stable, RC)



  • Hello ernest,

    I started this reply as I was unable to run your script, but as I was writing and testing at the same time, I finally figured it out. 😄

    I'm leaving in a few hours for a 4-day 250 km bike trip, and I will try to test it.

    For those who may happen on this topic and are new to Ubuntu Touch (like me), a few things I struggled with:

    It requires to be launched from a terminal with it "Prevent app suspension" activated in Tweak app.

    You need to install UT Tweak Tool in the OpenStore, launch it, then tap on the menu icon at the top left and select Apps (not sure how it's worded in English, it's an apps list). Next find the Terminal and tap on its entry. It will open a Details window where you will find the "Prevent app suspension" toggle switch.

    The script will not start and makes an error because of line 29 of the GPS_tracking.py script:

    sys.path.insert(0, "/home/phablet/Project/gpxpy-1.3.5/")
    

    It is looking for a "Project" folder that does not exist. You need to change it to the actual name of the folder where the script and the "gpxpy-1.3.5" folder resides, which when downloaded from Gitlab and extracted is by default gps-utouch-tracker-master. For that I edited it in UT's terminal:

    cd gps-utouch-tracker-master
    nano GPS_tracking.py
    

    Another thing that's necessary to make the script run is to make it executable.

    chmod +x GPS_tracking.py
    

    A word of warning: if you forget to activate the terminal's "prevent app suspension" button, once the script is launched, there is no stopping it!!! The CTRL+C button at the bottom will not stop the script. The terminal prompt returns, but GPS points continue to be added. You will have no choice but to quit the terminal and of course no file will be saved.

    The gpx files are saved in the gps-utouch-tracker-master folder, or whatever name you gave it (might be a good idea to rename it 😁 ).

    It would be cool if it works with some kinda of a UI

    Or at least, a minimal GUI to launch, if possible avoid having to enter our password, then a button to stop it... I was thinking of creating a desktop launcher, but I'm out of time, I need to pack and get a few hours of sleep!

    Ernest, thanks for your work on Activity Tracker, and for this script! ☺



  • Thanks for the feedback,

    I've removed the hardcoded folder location for the python lib, no need to change name now.

    sys.path.insert(0, "./gpxpy-1.3.5/")
    

    I'm not sure why you need to perform a chmod, the file should already be executable :

    -rwxr-xr-x 1 phablet phablet 3248 Aug 20 23:12 GPS_tracking.py
    drwxrwxr-x 5 phablet phablet 4096 Aug 20 23:12 gpxpy-1.3.5
    -rw-rw-r-- 1 phablet phablet   22 Aug 20 23:12 README.md
    
    

    To simplify the start of the script, create an alias into ~/.bashrc something like

    alias GPS="cd /home/phablet/Project/ && sudo ./GPS_tracking.py"
    

    To acknowlegde the modification you need to close the terminal



  • @ernest
    Not sure why, I never got a notification of your reply. Thanks!

    The relative path is of course much cleaner, I didn't think of it. Shows how much of a perpetual newbie I am at scripting.

    Initially the script would not launch until I chmod it, I don't know why. Thanks for the alias trick, I will try it.

    I only tested the script once during my trip. It seems that if the phone needs to be unlocked with a number, it prevents updating of FPS points when the screen is off. To be honest I didn't spend much time on this, I had destinations to get to. Absolutely not your fault, but I still have an insanely hard time dealing with the terminal UI. Trying to scroll through it and use the side scrollbar is a near impossible task.



  • @normandc said in GPS tracking in Background - Trick:

    @ernest
    I only tested the script once during my trip. It seems that if the phone needs to be unlocked with a number, it prevents updating of FPS points when the screen is off.

    To have the recording screen off, you have to enable with Tweak tool the option "Prevent suspend" for the terminal app.
    06e71def-d411-43aa-8d32-4cf59187dbeb-image.png

    To be honest I didn't spend much time on this, I had destinations to get to. Absolutely not your fault, but I still have an insanely hard time dealing with the terminal UI. Trying to scroll through it and use the side scrollbar is a near impossible task.

    Check the new version, uploaded today, no more long list the screen is refreshed after each datapoint.
    I've also add a sum-up calculation at the end :

    GPX file Created : 1566872659557.gpx
    
        Length 2D: 0.004km
        Length 3D: 0.016km
        Moving time: 00:00:11
        Stopped time: 00:14:34
        Max speed: None
        Avg speed: 0m/s = 1km/h
        Total uphill: 3.3m
        Total downhill: 4.3m
    


  • @normandc said in GPS tracking in Background - Trick:

    Initially the script would not launch until I chmod it, I don't know why. Thanks for the alias trick, I will try it.

    Yes, trying the last version, i'm facing this issue... my bad.



  • @ernest said in GPS tracking in Background - Trick:

    @normandc said in GPS tracking in Background - Trick:
    To have the recording screen off, you have to enable with Tweak tool the option "Prevent suspend" for the terminal app.

    As I wrote, I already enabled this setting.

    One thing I didn't mention is that I don't have a SIM card in yet, my Android phone is still my main phone until I migrate everything to the OPO. I didn't have any Internet access. I since read that GPS localization seems to be more problematic without a SIM card.

    Check the new version, uploaded today, no more long list the screen is refreshed after each datapoint.
    I've also add a sum-up calculation at the end :

    GPX file Created : 1566872659557.gpx
    
        Length 2D: 0.004km
        Length 3D: 0.016km
        Moving time: 00:00:11
        Stopped time: 00:14:34
        Max speed: None
        Avg speed: 0m/s = 1km/h
        Total uphill: 3.3m
        Total downhill: 4.3m
    

    That sounds great, I'm back home and with still a week vacation left, I'm hoping to test this further. Thanks!

    I wonder, can we install Git on UT? It would make updating your script easier. I think I'll try and see.



  • @normandc said in GPS tracking in Background - Trick:

    A word of warning: if you forget to activate the terminal's "prevent app suspension" button, once the script is launched, there is no stopping it!!! The CTRL+C button at the bottom will not stop the script.

    I meet the bug, doesn't appear on Edge but on Devel Yes.

    I'll look at it.



  • Sorry, I guess I should have mentioned I'm on 16.04/rc.

    BTW I tried to install git on UT, the package isn't available. I guess I could always git pull from my PC then copy to the phone, but I'm not seeing the gps-utouch-tracker folder from the PC, only the folders Documents, Music, Images and Videos...



  • @normandc
    From the phone terminal,

    wget https://framagit.org/ernesst/gps-utouch-tracker/-/archive/master/gps-utouch-tracker-master.zip && unzip gps-utouch-tracker-master.zip
    


  • @ernest thanks, I guess keeping the original folder name (with -master) will make updating easier in the future.


Log in to reply