Skip to content
README.md 4.13 KiB
Newer Older
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
# ![ulogger_logo_small](https://cloud.githubusercontent.com/assets/3366666/24080878/0288f046-0ca8-11e7-9ffd-753e5c417756.png) μlogger [![Build Status](https://travis-ci.com/bfabiszewski/ulogger-android.svg?branch=master)](https://travis-ci.com/bfabiszewski/ulogger-android) [![Coverity Status](https://scan.coverity.com/projects/12109/badge.svg)](https://scan.coverity.com/projects/bfabiszewski-ulogger-android)
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed

μlogger [*micro-logger*] is an android application for continuous logging of location coordinates, designed to record hiking, biking tracks and other outdoor activities. 
Application works in background. Track points are saved at chosen intervals and may be uploaded to dedicated server in real time.
This client works with [μlogger web server](https://github.com/bfabiszewski/ulogger-server). 
Together they make a complete self owned and controlled client–server solution.

## Features
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
- meant to be simple and small (*μ*)
- low memory and battery impact
- uses GPS or network based location data
- synchronizes location with web server in real time, in case of problems keeps retrying
- alternatively works in offline mode; positions may be uploaded to the servers manually
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
- configurable tracking settings
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
- export to GPX format
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
- automation
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed

Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
## Screenshots
![api10_main3](https://user-images.githubusercontent.com/3366666/57197957-79f92400-6f6d-11e9-8f61-f1318587dac1.png)
![api10_summary](https://user-images.githubusercontent.com/3366666/57197958-79f92400-6f6d-11e9-8adb-249aaca078d9.png)
![api24_settings](https://user-images.githubusercontent.com/3366666/57197959-79f92400-6f6d-11e9-8a5a-98b9a2b4bd95.png)
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
## Download
[![Download from f-droid](https://img.shields.io/f-droid/v/net.fabiszewski.ulogger.svg?color=green)](https://f-droid.org/app/net.fabiszewski.ulogger)

Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
## Help
- μlogger's current status is shown by two leds, one for location tracking and one for web synchronization: 

led | tracking | synchronization
-|-------- | ---------------
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
![status green](https://placehold.it/10/00ff00/000000?text=+) |  on, recently updated | synchronized
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
![status yellow](https://placehold.it/10/ffe600/000000?text=+) | on, long time since last update | synchronization delay
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
![status red](https://placehold.it/10/ff0000/000000?text=+) | off | synchronization error
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed

- clicking on current track's name will show track statistics

## Automating
- μlogger may accept commands from other applications for starting or stopping its operations. To make it work you must explicitly enable this functionality in app settings ("Allow external commands" switch). 
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
- commands are sent as `broadcasts` with following `intent` parameters:
  - target package: `net.fabiszewski.ulogger`
  - target class: `net.fabiszewski.ulogger.ExternalCommandReceiver`
  - action: `net.fabiszewski.ulogger.intent.action.COMMAND`
  - extra: `"command": [command name]`, where command name is one of: `"start logger"`, `"stop logger"`, `"start upload"`, for starting and stopping position logging and starting track data upload to server (in case live tracking is off)
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
- third party examples:
  - Automate (LlamaLab) – Send broadcast block with `Package`, `Receiver Class` and `Action` fields as above and `Extras` field eg. `{"command": "start logger"}`
  - Tasker (joaomgcd) – System → Send intent. Fields `Action`, `Package`, `Class` as above and `Extra` field eg. `command:start logger`
- command line: `am broadcast -a net.fabiszewski.ulogger.intent.action.COMMAND -e "command" "start logger" net.fabiszewski.ulogger net.fabiszewski.ulogger.ExternalCommandReceiver`

## Contribute translations
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
[![Translate with transifex](https://img.shields.io/badge/translate-transifex-green.svg)](https://www.transifex.com/bfabiszewski/ulogger/)

## Donate
[![Donate paypal](https://img.shields.io/badge/donate-paypal-green.svg)](https://www.paypal.me/bfabiszewski)  
![Donate bitcoin](https://img.shields.io/badge/donate-bitcoin-green.svg) `bc1qt3uwhze9x8tj6v73c587gprhufg9uur0rzxhvh`  
![Donate ethereum](https://img.shields.io/badge/donate-ethereum-green.svg) `0x100C31C781C8124661413ed6d1AA9B1e2328fFA2`  
Bartek Fabiszewski's avatar
Bartek Fabiszewski committed
## License
[![License: GPL 3.0](https://img.shields.io/badge/license-GPL--3.0-green.svg)](https://www.gnu.org/licenses/gpl-3.0)