Giter Site home page Giter Site logo

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

Contributors

jeremy-compostella avatar oux avatar

Stargazers

0xEwoks avatar

Watchers

 avatar James Cloos avatar  avatar

Forkers

muilib

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.