Сбор данных из внешних источников и внутренних сенсоров с помощью NextGIS Logger
Описание инструмента для сбора данных с сенсоров мобильного устройства
NextGIS Logger - приложение для сбора данных с окружающих источников информации (базовые станции сотовой связи, GPS) и внутренних сенсоров (акселерометр, магнетометр, ориентация, гироскоп) для устройств с операционной системой Android 3.0+ (Honeycomb).
NextGIS Logger может собирать данные в двух режимах:
- Логгер - сервис, который собирает данные постоянно, независимо от пользователя, сохраняет их в Логе 1.
- Метки - данные собираются дискретно, по запросу пользователя, сохраняются в Логе 2.
Приложение может работать в двух режимах по-отдельности или параллельно. Данные логов связаны друг с другом временными метками.
Результатом работы программы является набор таблиц (файлов в формате CSV), которые можно открыть в любом табличном редакторе.
Программа может пригодиться тем, кто занимается позиционированием по базовым станциям, изучением силы сигнала в своих окрестностях, записью GPS треков и меток каких-нибудь объектов и т.д.
Создано в | Веб ГИС для вашей организации по доступной цене |
Где взять
Программу можно скачать с Google Play (предпочтительный способ) или в виде APK (скачать). Если вы устанавливаете из APK, нужно разрешить установку из "Unknown sources" в настройках системы, секция "Security". Официальная страница программы - на сайте разработчика - NextGIS.
NextGIS Logger это программное обеспечение с открытым исходным кодом. Лицензия - GPL v2. Код можно получить на Github.
Интерфейс и использование
После установки найдите иконку приложения в списке программ.
В приложении 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.
Логгер также создаёт файл "cell_time_mark.csv" где сохраняется информация с базовых станций GSM/3G по пользовательским меткам.
Структура данных:
- ID - идентификатор из файла меток (еще). Логгер в качестве ID использует пустую строку "".
- Name - имя метки из файла меток (еще) или введенное вручную. Логгер в качестве имени использует строку "ServiceLog".
- User - строка идентификации пользователя из настроек (еще).
- TimeStamp - временная метка (можно сконвертировать в привычное время этим инструментом. Не уникальна. Пример: 1409513090236
- NetworkGen - текущее поколениеи сети (2G/3G/4G) (еще)
- NetworkType - текущий тип сети (EDGE/GPRS/UMTS/HSPA...)
- Active - 1 если это базовая станция, иначе - комбинация MCC-MNC-LAC-CID активной базовой станции если это станция-сосед.
- MCC - Mobile Country Code (еще). Пример: 284
- MNC - Mobile Network Code (еще). Пример: 5
- LAC - Location Area Code (еще). Пример: 380433
- CID - Cell ID (еще). Пример: 5599
- PSC - Primary Scrambling Code для сети 3G. Диапазон значений: 0..511. Пример: 145
- Power - сила сигнала - RSSI для 2G и RSCP для 3G. Пример: -93
Сенсоры
Логгер создаёт файл "sensor_time_log.csv" где сохраняется информация с сенсоров.
Логгер также создаёт файл "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 - угловая скорость по оси X, радиан/сек
- Gyro_Y - угловая скорость по оси Y, радиан/сек
- Gyro_Z - угловая скорость по оси Z, радиан/сек
- GPS_Lat - широта, градусов
- GPS_Lon - долгота, градусов
- GPS_Alt - Высота над уровнем море относительно эллипсоида WGS 84, метры
- GPS_Accuracy - точность засечки GPS в радиусе 68%, метры
- GPS_Speed - скорость, в метрах/секунду
- GPS_Bearing - горизонтальное направление движения устройства, не связано с ориентацией устройства, градусы.
Информация об устройстве
При открытии сессии создаётся файл "device_info.txt", он содержит информацию об устройстве.
- Manufacturer - производитель
- Brand - марка
- Model - модель
- Product - продукт
- Android version - версия андроид
- API version - версия API
- Kernel version - версия ядра
- Radio firmware version - версия прошивки
- Logger version name - версия приложения
- Logger version code - версия кодовой базы приложения
Контакты
Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь багтрекером. Кроме того, вопросы по использованию расширения можно задать авторам напрямую.