Сбор данных из внешних источников и внутренних сенсоров с помощью NextGIS Logger
NextGIS Logger - сборщик данных с окружающих источников информации и внутренних сенсоров для устройств с операционной системой Android 3.0+.
NextGIS Logger может собирать данные в двух режимах:
- Логгер 1. Постоянно собирает данные и сохраняет их в Логе 1. Это сервис.
- Логгер 2. Собирает данные дискретно, по запросу пользователя и сохраняет их в Логе 2.
Два логгера могут работать по-отдельности или параллельно. Данные логов связаны друг с другом временными метками.
Как получить и лицензия
Программу можно скачать с Google Play. Официальная страница программы - на сайте разработчика - NextGIS.
NextGIS Logger это программное обеспечение с открытым исходным кодом. Лицензия - GPL v2. Код можно получить на Github.
- Notes
- Log 2 can have timestamps that are misaligned with Log 1 timestamps.
- Both loggers have aligned timestamps between network data and sensors data.
- Authors
Project started by [Nikita Kirin](https://github.com/NikitaFeodonit) and currently maintained by [Stanislav Petriakov](https://github.com/4eRTuk). Visit [website](http://nextgis.com) for more info or you can ask your questions by [email](mailto:info@nextgis.com).
- Requirements
Your device must be running Android 3.0+ (Honeycomb) and must have proper sensors to collect needed data.
- Installation
You can install latest NextGIS Logger version from [Google Play](https://play.google.com/store/apps/details?id=com.nextgis.logger) or download any other preferred version [directly](https://www.dropbox.com/sh/dey38sc1yr71e2l/AADQJWfmufap8itxzfi-sibLa?dl=0). If you install apk directly, you have to turn on "Unknown sources" in your system settings under "Security" section.
- GUI
After installation shortcut will be created in launcher and you can start using NextGIS Logger. There are 3 basic screens/activities:
+ Main Activity:
* Sessions * "Open/Close" button for new session. Clicking creates new directory with specified name and saves all data to it. Current session can't be closed until logger is stopped. * Manage. Opens sessions screen. See below. * Modes * "Start/Stop logging" button for Logger 1. Clicking starts or stops writing the Log 1. Logger can't be started until at least one session is opened. * "Markers" button for Logger 2. Clicking button opens markers activity. Activity can't be started until at least one session is opened. * Text fields for summary and information.
+ Markers Activity:
* Edit text field in action bar. Entering text filters names from categories file or shows entered text. * Items in ListView. Clicking on item saves mark to Log 2.
+ Sessions Activity:
* List of checkable sessions * Select all. Selects / deselects all sessions. * Share action. Shares selected sessions in various applications. * Delete action. Deletes selected sessions from device.
- Settings
- Main:
* Identification string (optional) - input your firstname or lastname or whatever you need to assign records in log with it * Set period - choose logging period in seconds * Use categories file - use presets for mark names from file ([more](https://github.com/nextgis/nextgislogger/issues/3)) * Load mark name presets from file... - select path to load categories file from * Try use API 17+ to find nearby cells - use new method from API 17 to get all cells around. It includes correct MNC/MCC for all cells. * Keep screen on - Keeps Markers screen on.
- Sensors:
* Accelerometer - enable accelerometer data to logging * Linear accelerometer - use linear accelerometer sensor instead default (available if device has one) * Magnetometer - enable magnetometer data to logging * Orientation - enable orientation data to logging * Gyroscope - enable gyroscope data to logging
- Results
All logs are located in each session's directory, called as in new session dialog prompted. All sessions directories are located in default external storage in "nextgis_logger" directory.
- device_info.txt created when new session is opened. It's file with info about device.
- Logger 1 produces Log 1 called "cell_time_log.csv" with Network info and "sensor_time_log.csv" with Sensors info.
- Logger 2 produces Log 2 called "cell_time_mark.csv" with Network info and "sensor_time_mark.csv" with Sensors info.
- Cell (GSM/3G) log structure**
- ID - category ID from categories file ([more](https://github.com/nextgis/gsm_logger/issues/3)).
- Name - category name from categories file ([more](https://github.com/nextgis/gsm_logger/issues/3)), otherwise manually inputed name
- User - identification string from preferences ([issue #6](https://github.com/nextgis/gsm_logger/issues/6)).
- TimeStamp - unix timestamp (convert with [this](http://www.epochconverter.com)). Not unique. Example: 1409513090236
- NetworkGen - current network generation (2G/3G/4G) ([more](https://en.wikipedia.org/wiki/History_of_mobile_phones))
- NetworkType - current network type (EDGE/GPRS/UMTS/HSPA...)
- Active - 1 if this Base Station is the active one, MCC-MNC-LAC-CID of active BS if this is neighbour BS.
- MCC - Mobile Country Code ([more](http://en.wikipedia.org/wiki/Mobile_country_code)). Example: 284
- MNC - Mobile Network Code ([more](http://en.wikipedia.org/wiki/Mobile_country_code)). Example: 5
- LAC - Location Area Code ([more](http://en.wikipedia.org/wiki/Mobility_management#Location_area)). Example: 380433
- CID - Cell ID ([more](http://en.wikipedia.org/wiki/Cell_ID)). Example: 5599
- PSC - Primary Scrambling Code for 3G network. Correct values: 0..511. Example: 145
- Power - [RSSI](http://en.wikipedia.org/wiki/Received_signal_strength_indication) for 2G / [RSCP](http://en.wikipedia.org/wiki/Received_signal_code_power) for 3G - signal power. Example: -93
- Sensor log structure**
- ID - category ID from categories file ([more](https://github.com/nextgis/gsm_logger/issues/3)).
- Name - category name from categories file ([more](https://github.com/nextgis/gsm_logger/issues/3)), otherwise manually inputed name
- User - identification string from preferences ([issue #6](https://github.com/nextgis/gsm_logger/issues/6)).
- TimeStamp - unix timestamp (convert with [this](http://www.epochconverter.com)). Not unique. Example: 1409513090236
- Type - "Raw" if accelerometer sensor used, "Linear" if linear accelerometer used (if device has one)
- Accel_X - acceleration by X-axis in m/s2
- Accel_Y - acceleration by Y-axis in m/s2
- Accel_Z - acceleration by Z-axis in m/s2
- Azimuth - angle between the magnetic north direction and the Y-axis, around the Z-axis (0 to 359). 0=North, 90=East, 180=South, 270=West
- Pitch - rotation around X-axis (-180 to 180), with positive values when the Z-axis moves toward the Y-axis.
- Roll - rotation around the X-axis (-90 to 90) increasing as the device moves clockwise
- Magnetic - measure the ambient magnetic field in the X, Y and Z axis. Value in micro-Tesla (uT).
- Gyro_X - Angular speed around the X-axis in radians/second
- Gyro_Y - Angular speed around the Y-axis in radians/second
- Gyro_Z - Angular speed around the Z-axis in radians/second
- GPS_Lat - Latitude, in degrees
- GPS_Lon - Longitude, in degrees
- GPS_Alt - Altitude above the WGS 84 reference ellipsoid, in meters
- GPS_Accuracy - GPS fix accuracy as the radius of 68% confidence, in meters
- GPS_Speed - Speed, in meters/second
- GPS_Bearing - Bearing is the horizontal direction of travel of this device, and is not related to the device orientation, in degrees.
- device_info.txt**
- Manufacturer
- Brand
- Model
- Product
- Android version
- API version
- Kernel version
- Radio firmware version
- Logger version name
- Logger version code
- Notes:**
- Logger 1 uses "ServiceLog" as Name and empty string ("") as ID.