smartgpslogger's Introduction
1 - Summary This is a very small Android application which aims to store the user GPS locations on the SDCARD. This application uses a "smart" and customizable policy to be as power efficient as possible without any hardware facilities. Unlike the usual GPS logger application, SmartGPSLogger does not intend to get a precise GPS track. It's a background application which does not need many power and try to get a global track during a trip. 2 - Input: - minimum period ("min_period" in minutes, default is 3) - maximum period ("max_period" in minutes, default is 30) - distance tolerance ("min_dist" in meters, default is 100) - GPS fix timeout (in seconds, default is 120) 3 - Output: Output data files are stored in /sdcard/SmartGPSLog/ (one file by day): - /sdcard/SmartGPSLog/2012:05:15.log - /sdcard/SmartGPSLog/[...] - /sdcard/SmartGPSLog/current.log No binary but ASCII data files. 4 - Behavior - Policy 4.1 - Wake-up programming On each wake-up, the application tries to get the current position and program its next wake-up as follow: - if getting the current position failed, the next wake-up is programmed twice the current period majored by the "maximum" period. - if the new position is close to the last one (see distance tolerance), the next wake-up is programmed twice the current period majored by the maximum period. - if the new position is far away to the last one (see distance tolerance), the next wake-up is programmed to the minimum period. Once the SmartGPSLogger application is installed, the SmartGPSLogger service is automatically started on phone boot. There is a preference checkbox to disable this feature. 4.2 - Take battery level into account If the current battery level is comprise between 15 and 25, the current minimum period is equal to the minimum multiplied by two. If the current battery level is comprise between 8 and 15, the current minimum period is equal to the minimum multiplied by four. If the current battery level is lower than 8, the current minimum period is equal to the minimum multiplied by height. 5 - Documentation http://developer.android.com/guide/topics/location/obtaining-user-location.html http://developer.android.com/reference/android/location/LocationManager.html addNmeaListener http://www.jjoe64.com/2011/06/autostart-service-on-device-boot.html 6 - Build $ ./mkproj.sh $ ant debug install
smartgpslogger's People
Forkers
muilibRecommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.