GPS tracking in Background - Edge Hack (Not Devel, Stable, RC)
-
@kugiigi yes it does, screen off and or terminal in background
-
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.
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.
-
All, i'm looking for good soul to test the last version, please contact me on Telegram : @Ernes_t
I've updated the script to : Consume less battery, import automatically the run to Activity Tracker when finished, upload the position in real-time to Phonetrack (Nextcloud) and distributed into a click.
I found recently thanks to iperspace, apparmor hack, the script should be able to run under all version.
-
Thank you all for this subject !
Is there a description (or source code) of the test_gps command somewhere, please ?
BR
Pulsar33 -
-
Excellent ! Thank you very much @doniks
Best regards
Pulsar33 -
Latest version has been uploaded to openstore.
Please read prior use : https://github.com/ernesst/Utrack/blob/master/README.md
-
Hi all,
I think this app is very useful.
However, I canโt make it work.
I use an Aquaris E4.5 with ubuntu 16.04 (OTA11).
I used the previous script and now the recent updated script with no luck.
I have no issues with the installation, but when I launch the script, it gets stuck with โWaiting for satellites ...โ.
When I close the app (Ctrl+C), it creates an empty gpx file.
The rest of apps (ActivityTracker, OSMScout) fetch the data and show my position, so I am sure that GPS is working properly.
What could be the cause?
Thank you for your suggestions.
aimar -
@aimar
i noticed that the script is neither working with OP3 device. I had to modify it to make it works.
Are you on telegram, if so please contact me @ern_st -
Hi there,
Thank you @ernest for your work. Background GPS tracking is one of the features that I am missing most on Ubuntu Touch!I tried to make it work on my XperiaX and my Nexus 4 but unfortunately without success. After a short while the following error is returned:
Waiting for satellites Traceback (most recent call last): File "./Utrack.py", line 317, in <module> read_gps(p) File "./Utrack.py", line 219, in read_gps if 70 > ACCURACY > 0 and len(longitude) > 0 and len(latitude) > 0: TypeError: unorderable types: int() > list()
Utrack_log.txt
is empty but in theUtrack_tmp.txt
I can see that the satellite data seemes to be logged correctly. The location is correct. I X'd out the exact position:*** location callback flags: 55 latitude: 50.XXXXX longtide: 4.XXXXXX accuracy: 23.000000 utc: -758278816
The error appears strange to me since none of the inputs is a list. Do you have a clue what to do?
-
Yes likely, it has register a list and now it tried to compare it with a int.
I've another version in WIP, that should fix that ...but has other bug. I'll try to find the click.
Edit : Try this one : https://drive.google.com/file/d/1I-_nGDVoFy5hdqiR_ApuA4hKCk8qmqSo/view?usp=sharing