Сбор данных из внешних источников и внутренних сенсоров с помощью NextGIS Logger

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Описание инструмента для сбора данных с сенсоров мобильного устройства.

NextGIS Logger - сборщик данных с окружающих источников информации и внутренних сенсоров для устройств с операционной системой Android 3.0+ (Honeycomb).

NextGIS Logger может собирать данные в двух режимах:

  • Логгер 1. Постоянно собирает данные и сохраняет их в Логе 1. Это сервис.
  • Логгер 2. Собирает данные дискретно, по запросу пользователя и сохраняет их в Логе 2.

Два логгера могут работать по-отдельности или параллельно. Данные логов связаны друг с другом временными метками.

Создано в Nextgis.png Веб ГИС для вашей организации по доступной цене

Где взять

Программу можно скачать с Google Play (предпочтительный способ) или в виде APK (скачать). Если вы устанавливаете из APK, нужно разрешить установку из "Unknown sources" в настройках системы, секция "Security". Официальная страница программы - на сайте разработчика - NextGIS.

NextGIS Logger это программное обеспечение с открытым исходным кодом. Лицензия - GPL v2. Код можно получить на Github.


Интерфейс и использование

После установки найдите иконку приложения в списке программ.

Nextgislogger-logo.svg

В приложении 4 основных экрана:

Основной экран

  • Сессии
    • Кнопка "Открыть/Закрыть" - открывают новую или закрывают открытую сессию и сохраняют все данные. Для каждой сессии создается папка с набором файлов на диске. Текущая сессия не может быть быть закрыта пока не остановлен логгер.
  • Режимы
    • Кнопка "Запустить логгер/Остановить логгер" - запускает или останавливает запись лога 1. Пока не создана сессия логгер запустить нельзя.
    • Кнопка "Метки" - открывает окно с перечнем маркеров. Пока не создана сессия маркеры ставить нельзя.
  • Текстовые поля показывающие полезную информацию о сессии.


Основной экран приложения


Метки

Метки - это такие же точки лога, но расставляемые не автоматически, а когда скажет пользователь, так же им можно задавать свои имена. Список маркеров может быть пустой или его можно заполнить указав в настройках приложения файл с маркерами с очень простой структурой:

ID,NAME
1,marker1
2,marker2
3,marker3

Расставленные метки попадают в свой собственный лог.

На экране меток можно:

  • ввести любое имя и создать метку с таким именем
  • вводить часть имени метки в поле поиска и список маркеров автоматически отфильтруется по введенной строке.
  • выбирать найденные метки, чтобы они попали в лог
  • в течение 4 секунд отменять поставленные метки
Метки


=Сессии

Что бы ограничить один лог от другого используются сессии.

Сессия можно управлять на экране сессий. На нем можно:

  • Увидеть список сессий записанных на устройстве
  • Выбрать все сессии
  • Поделиться выбранными сессиями стандартными методами (Dropbox, Gmail и т.д.)
  • Удалить выбранные сессии
Сессии

Данные в реальном времени

Все собранные данные попадают в лог, предназначенный для чтения машинами. Вы же можете ознакомиться с данными непосредственно в процессе их сбора переключившись в режим просмотра данных в реальном времени (Live data). Чтобы переключиться нужно нажать на FAB, круглую кнопку в нижнем правом углу экрана.

Данные собраны в два экрана: всё по базовым станциям сотовой сети и данные по сенсорам (включая GPS).

Данные по базовым станциям
Данные по сенсорам

Настройки

Вам наверняка нужно собирать что-то конкретное и список меток у вас свой, всё это можно настроить.

  • Основные настройки:
    • Строка идентификации - здесь можно указать имя или инициалы или что-то еще, эта строка будет использоваться для названия сессий и для точек лога
    • Период сбора информации в секундах (от 1 секунды)
    • Использование файла меток - здесь можно указать файл с метками (он создается отдельно), если его не указать, можно вводить названия меток в процессе сбора данных.
    • Пытаться использовать API 17+ для поиска соседних базовых станций.
    • Держать экран включенным - для списка меток.
  • Сенсоры:
    • Акселерометр - включить в лог данные с акселерометра
    • Линейный акселерометр - использовать линейный акселерометр (если он есть)
    • Магнетометр - включить в лог данные с магнетометра
    • Ориентация - писать лог ориентации
    • Гироскоп - включить в лог данные с гироскопа

Результаты

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**
    • 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.

Контакты

Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь багтрекером. Кроме того, вопросы по использованию расширения можно задать авторам напрямую.