Feature Request: Accelerometer/Compass-Triggered Beaconing #33

RJStiles opened this Issue Mar 5, 2012 · 2 comments

2 participants


The goal of SmartBeaconing is to limit the number of packets sent over the network by analyzing direction and velocity changes as reported by GPS. I believe that this same goal can be realized on the Android platform more efficiently by only turning on the GPS and only beaconing when the internal accelerometers and compass of the device report a change. So, any change in direction or velocity would still result in a position report being sent to the network, but the GPS would be turned off to conserve battery between position reports.

Of course, this scheme would not see the difference between standing still and traveling in a straight line at a constant velocity. To correct for that issue, the network location could be used as a secondary trigger to turn on the GPS and beacon at least every 10km.

Thanks for your consideration,


I have this on my radar for some time already. IIRC it is already implemented by other GPS apps, however I have not found yet any best practices document regarding when to put GPS to sleep and when to wake it up again...


SmartNavi (http://www.smartnavi.2imba.de/en/) is a dead reckoning location service app for Android which may address some of these issues at least while on foot. It currently has some problems with real-word scenarios (if you tilt your device too much, it throws off your compass reading and therefor location and all future navigation until you recalibrate with GPS), but it may be going somewhere. You can view my APRSdroid test on 11/09/2012, call KD0FTJ-15 (http://aprs.fi/#!mt=hybrid&z=19&ts=1352419200&te=1352505600&call=a%2FKD0FTJ-15). The whole test was performed indoors with GPS and wireless network location turned off in Android settings. I could not seem to get APRSdroid to send position reports automatically with this setup, so I ended up manually sending single shots every few seconds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment