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

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 6: Строка 6:
NextGIS Logger может собирать данные в двух режимах:
NextGIS Logger может собирать данные в двух режимах:


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


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


{{NextGIS}}
{{NextGIS}}
Строка 17: Строка 17:


NextGIS Logger это программное обеспечение с открытым исходным кодом. Лицензия - [http://www.gnu.org/licenses/gpl-2.0.html GPL v2]. Код можно получить на [https://github.com/nextgis/nextgislogger Github].
NextGIS Logger это программное обеспечение с открытым исходным кодом. Лицензия - [http://www.gnu.org/licenses/gpl-2.0.html GPL v2]. Код можно получить на [https://github.com/nextgis/nextgislogger Github].


==Интерфейс и использование==
==Интерфейс и использование==
Строка 33: Строка 32:
** Кнопка "Метки" - открывает окно с перечнем маркеров. Пока не создана сессия маркеры ставить нельзя.
** Кнопка "Метки" - открывает окно с перечнем маркеров. Пока не создана сессия маркеры ставить нельзя.
* Текстовые поля показывающие полезную информацию о сессии.
* Текстовые поля показывающие полезную информацию о сессии.


[[Файл:Nextgislogger-01.png|center|thumb|300px|Основной экран приложения]]
[[Файл:Nextgislogger-01.png|center|thumb|300px|Основной экран приложения]]


===Метки===
===Метки===
Строка 95: Строка 92:


==Результаты==
==Результаты==
All logs are located in each session's directory, called as in new session dialog prompted.
Логи сессий сохраняются каждый в свою папку, имя которых запрашивается при старте сессии. Все папки сессий хранятся на внешнем носителе в папке "nextgis_logger".
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**
Логгер создаёт файл "cell_time_log.csv" где сохраняется информация с базовых станций GSM/3G и "sensor_time_log.csv", где хранятся данные с сенсоров.


* ID - category ID from categories file ([more](https://github.com/nextgis/gsm_logger/issues/3)).
Аналогично, метки сохраняются в файл "cell_time_mark.csv" где сохраняется информация с базовых станций GSM/3G и "sensor_time_mark.csv", где хранятся данные с сенсоров.
* 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)).
* ID - идентификатор из файла меток ([еще](https://github.com/nextgis/gsm_logger/issues/3)). Логгер в качестве ID использует пустую строку "".
* TimeStamp - unix timestamp (convert with [this](http://www.epochconverter.com)). Not unique. Example: 1409513090236
* Name - имя метки из файла меток ([еще](https://github.com/nextgis/gsm_logger/issues/3)) или введенное вручную. Логгер в качестве имени использует строку "ServiceLog".
* Type - "Raw" if accelerometer sensor used, "Linear" if linear accelerometer used (if device has one)
* User - строка идентификации пользователя из настроек ([еще](https://github.com/nextgis/gsm_logger/issues/6)).
* Accel_X - acceleration by X-axis in m/s2
* TimeStamp - временная метка (можно сконвертировать в привычное время этим [инструментом](http://www.epochconverter.com)). Не уникальна. Пример: 1409513090236
* Accel_Y - acceleration by Y-axis in m/s2
* NetworkGen - текущее поколениеи сети (2G/3G/4G) ([еще](https://en.wikipedia.org/wiki/History_of_mobile_phones))
* Accel_Z - acceleration by Z-axis in m/s2
* NetworkType - текущий тип сети (EDGE/GPRS/UMTS/HSPA...)
* 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
* Active - 1 если это базовая станция, иначе - комбинация MCC-MNC-LAC-CID активной базовой станции если это станция-сосед.
* Pitch - rotation around X-axis (-180 to 180), with positive values when the Z-axis moves toward the Y-axis.
* MCC - Mobile Country Code ([еще](http://en.wikipedia.org/wiki/Mobile_country_code)). Пример: 284
* Roll - rotation around the X-axis (-90 to 90) increasing as the device moves clockwise
* MNC - Mobile Network Code ([еще](http://en.wikipedia.org/wiki/Mobile_country_code)). Пример: 5
* LAC - Location Area Code ([еще](http://en.wikipedia.org/wiki/Mobility_management#Location_area)). Пример: 380433
* CID - Cell ID ([еще](http://en.wikipedia.org/wiki/Cell_ID)). Пример: 5599
* PSC - Primary Scrambling Code для сети 3G. Диапазон значений: 0..511. Пример: 145
* Power - сила сигнала - [RSSI](http://en.wikipedia.org/wiki/Received_signal_strength_indication) для 2G и [RSCP](http://en.wikipedia.org/wiki/Received_signal_code_power) для 3G. Пример: -93
 
===Сенсоры===
* ID - см. аналогично выше
* Name - см. аналогично выше
* User - см. аналогично выше
* TimeStamp - см. аналогично выше
* Type - "Raw" если используется просто акселерометр, "Linear" если акселерометр линейный
* Accel_X - ускорение по оси X в м/с^2
* Accel_Y - ускорение по оси Y в м/с^2
* Accel_Z - ускорение по оси Z в м/с^2
* Azimuth - угол между направлением на магнитный полюс и осью Y, вокруг оси Z (0..359). 0=Север, 90=Восток, 180=Юг, 270=Запад
* Pitch - вращение по оси X (-180..180), значения положительные когда ось Z движется по направлнию к оси Y.
* Roll - вращение по оси Y (-90..90) возрастает по мере движения устройства по часовой стрелке
* Magnetic - measure the ambient magnetic field in the X, Y and Z axis. Value in micro-Tesla (uT).
* 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_X - Angular speed around the X-axis in radians/second
Строка 141: Строка 139:
* GPS_Bearing - Bearing is the horizontal direction of travel of this device, and is not related to the device orientation, in degrees.
* 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**
===Информация об устройстве===
 
При открытии сессии создаётся файл "device_info.txt", он содержит информацию об устройстве.


* Manufacturer
* Manufacturer
Строка 153: Строка 153:
* Logger version name
* Logger version name
* Logger version code
* Logger version code
**Notes:**
* Logger 1 uses "ServiceLog" as Name and empty string ("") as ID.


=== Контакты ===
=== Контакты ===


Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь [https://github.com/nextgis/nextgislogger/issues багтрекером]. Кроме того, вопросы по использованию расширения можно задать авторам [http://nextgis.ru/contact/ напрямую].
Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь [https://github.com/nextgis/nextgislogger/issues багтрекером]. Кроме того, вопросы по использованию расширения можно задать авторам [http://nextgis.ru/contact/ напрямую].

Версия от 14:17, 11 апреля 2015

Эта страница является черновиком статьи.


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

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

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

  • Логгер - собирает данные постоянно и сохраняет их в Логе 1. Это сервис.
  • Метки - собирает данные дискретно, по запросу пользователя и сохраняет их в Логе 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+ для поиска соседних базовых станций.
    • Держать экран включенным - для списка меток.
  • Сенсоры:
    • Акселерометр - включить в лог данные с акселерометра
    • Линейный акселерометр - использовать линейный акселерометр (если он есть)
    • Магнетометр - включить в лог данные с магнетометра
    • Ориентация - писать лог ориентации
    • Гироскоп - включить в лог данные с гироскопа

Результаты

Логи сессий сохраняются каждый в свою папку, имя которых запрашивается при старте сессии. Все папки сессий хранятся на внешнем носителе в папке "nextgis_logger".

Логгер создаёт файл "cell_time_log.csv" где сохраняется информация с базовых станций GSM/3G и "sensor_time_log.csv", где хранятся данные с сенсоров.

Аналогично, метки сохраняются в файл "cell_time_mark.csv" где сохраняется информация с базовых станций GSM/3G и "sensor_time_mark.csv", где хранятся данные с сенсоров.

Структура данных

Базовые станции

Сенсоры

  • ID - см. аналогично выше
  • Name - см. аналогично выше
  • User - см. аналогично выше
  • TimeStamp - см. аналогично выше
  • Type - "Raw" если используется просто акселерометр, "Linear" если акселерометр линейный
  • Accel_X - ускорение по оси X в м/с^2
  • Accel_Y - ускорение по оси Y в м/с^2
  • Accel_Z - ускорение по оси Z в м/с^2
  • Azimuth - угол между направлением на магнитный полюс и осью Y, вокруг оси Z (0..359). 0=Север, 90=Восток, 180=Юг, 270=Запад
  • Pitch - вращение по оси X (-180..180), значения положительные когда ось Z движется по направлнию к оси Y.
  • Roll - вращение по оси Y (-90..90) возрастает по мере движения устройства по часовой стрелке
  • 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

Контакты

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