Data Collector

приложение для Андроид, позволяющее собирать данные с множества датчиков и отправлять их в формате JSON на неограниченное количество серверов с помощью протоколов HTTP, HTTPS, Web Socket, Web Socket Secure с заданным интервалом выборки или в моменты времени, заданные в cron формате.

Как это работает?

  Сущность работы Data Collector состоит в выполнении задач, которые запускаются в определенные моменты времени. Все задачи могут работать в фоновом режиме, т.е. когда Вы не используете пользовательский интерфейс приложения. В настройках задачи указываются необходимые датчики и сервер, на который отправляются данные с датчиков в формате JSON. Приложение не ограничивает количество одновременно запущенных задач. В Data Collector можно указать неограниченное число серверов, указывая для каждого сервера индивидуальный протокол (HTTP, HTTPS, Web Socket, Web Socket Secure) и логин/пароль, если необходима авторизация. Любой датчик и любой сервер можно использовать множество раз в разных задачах. Если данные передаются на один сервер с множества мобильных устройств, то в передаваемых данных можно задать идентификатор устройства (UUID), который генерируется автоматически, либо его можно задать вручную.
  Data Collector не ограничивается сбором данных с встроенных датчиков мобильного устройства и развивает набор так называемых гостевых датчиков. В текущей версии реализованы следующие гостевые датчики:
  • текстовый датчик, передающий любой текст.
  • датчик 'Мозаика' представляет собой произвольного размера матрицу, в которой для любой ячейки можно задать необходимый цвет.
  • XY датчик, передающий значение заданной функции Y(X).

Почему именно DC?

  Data Collector - это универсальное приложение для сбора данных с множества датчиков на множестве мобильных устройств и передачи этих данных на множество серверов в формате JSON через множество протоколов. Значительными преимуществами приложения являются:
  • Дизайн программы адаптирован под любые экраны: от небольших смартфонов до больших планшетов.
  • Интерфейс программы понятен и лаконичен, что позволяет сосредоточиться на быстром запуске задачи сбора данных.
  • Все операции запускаются в одно-два касания. Вам не нужно совершать множество "кликов", чтобы выполнить какую-либо операцию.
  • Программа даёт Вам полный контроль над задачами сбора и передачи данных - каждый параметр взаимодействия Вы можете настроить, исходя из ваших потребностей.
  • Имеет сравнительно небольшой размер, что позволит запускать приложение на устройствах разной мощности.
  • Поддерживается устройствами на платформе Андроид версии 4.3 и выше.

Установив это приложение, Вы получаете:

  • Эффективный инструмент для сбора и передачи данных датчиков, настраиваемый с учетом ваших потребностей.
  • Возможность сосредоточиться на разработке новых и/или изучении существующих алгоритмов для обработки данных на серверной стороне, используя удобный для Вас язык или систему программирования.
  • Возможность создавать оригинальные и востребованные серверные приложения для жизни, обучения и ради развлечения, используя данные получаемые с мобильных устройств с помощью Data Collector.
  • Использовать мобильное устройство с установленным Data Collector как часть более сложной системы, для которой необходимо измерение каких-либо характеристик.
  • Возможность организовать распределенный сбор данных с разных мобильных устройств и передачи их в единый центр для обработки, используя в этих центрах технологии искусственного интеллекта и машинного обучения.

Data Collector включает в себя 4 модуля:

  • Датчики
  • Сервера
  • Задачи
  • Настройки

Доступ ко всем модулям осуществляется через значок Menu в левом верхнем углу приложения. Экраны модулей "Датчики", "Сервера", "Задачи" организованы одинаково - в виде списков элементов модулей с кнопкой Add, с помощью которой добавляются новые элементы. Нажатие на элемент списка "Датчики" открывает экран для просмотра и редактирования этого элемента, а в модулях "Сервера" и "Задачи" открывает диалоговые окна для редактирования или удаления их элементов.

Модуль "Датчики"

  Исходно список этого модуля содержит встроенные датчики, обнаруженные Data Collector на мобильном устройстве. При выборе такого датчика на экране отображается экран, через который можно задать новое имя датчика, включить/выключить его. Для всех аппаратных датчиков отображаются текущие значения и их графики, кроме датчика местоположения, для которого выводится карта с отметкой текущих координат. С помощью ползунка "Время/дел." можно задать развертку по времени для графика. Для датчика местоположения можно задать источник данных - GPS, network, passive provider. Добавление гостевых датчиков инициируется нажатием на кнопку Add, которое вызывает диалоговое окно. В этом диалоговом окне необходимо указать тип и имя датчика. После сохранения датчика он появляется в списке элементов модуля "Датчики". Нажатие на такой элемент открывает экран, на котором можно задать новое имя датчика, включить/выключить его, а также задать необходимые значения для этого датчика. В верхнем левом углу экранов гостевых датчиков имеется меню с командами "Очистить датчик", "Удалить датчик", "Настройки. В настройках можно задать режим передачи данных текущего датчика (обновление значения датчика в задачах) :
  • Вручную (данные обновляются при нажатии на кнопку Send).
  • При изменении (данные обновляются при любом изменении значения датчика).
  • Периодический (данные обновляются через заданный период в секундах, период задается в текстовом поле ниже).
В текущей версии реализованы следующие гостевые датчики:
  • текстовый датчик, передающий любой текст.
  • датчик 'Мозаика' представляет собой произвольного размера матрицу, в которой для любой ячейки можно задать необходимый цвет. На экране датчика можно выбрать размер матрицы и текущий цвет для заполнения ячеек. Масштаб матрицы можно изменять, а также осуществлять её прокручивание. Для заполнения ячейки цветом необходимо однократно нажать на неё, по двойному нажатию на ячейку она очищается. Чтобы непрерывно заполнять ячейки необходимо сначала осуществить долгое нажатие на стартовую ячейку, а потом не отрывая пальца перемещать его по заполняемым ячейкам.
  • XY датчик, передающий значение заданной функции Y(X). Интервал значений X и формула функции Y(X) задаются пользователем. Значение X можно изменять 3-я способами: непосредственно вводит число, увеличением или уменьшением текущего значения X на заданный шаг, с помощью циклического ползунка. В формуле функции Y(X) можно использовать операторы, константы и функции описанные здесь.

Модуль "Сервера"

  В этом модуле задаются сервера, которые будут использоваться в настройках задач для отправки данных датчиков. Количество серверов не ограничивается. Каждый элемент списка включает следующую информацию: название сервера, URL, по которому отправляются данные датчиков, статус соединения с сервером, а для Web Socket и Web Socket Secure серверов также показаны WS протоколы. Статус соединения обновляется после каждой попытки передачи данных. Если в настройках сервер выключить, то статус будет "disable". До первой попытки отправить данные статус сервера будет со значением "unknow".
  Добавление нового сервера возможно после нажатия на кнопку Add, которое вызывает диалоговое окно для ввода параметров сервера. В этом окне указывается название и URL сервера, логин и пароль, если необходима авторизация, установка/сброс флага "Enable", а для Web Socket и Web Socket Secure можно дополнительно указать список WS протоколов через запятую.
Применяется следующая схема URL <протокол>://<хост>[:<порт>][</скрипт>], где
<протокол> - http, https, ws, wss,
<хост> - IP адрес или доменное имя сервера,
<порт> - номер TCP порта, который слушает сервер для приема запросов,
</скрипт> - программа сервера, обрабатывающая данные от датчиков.
Параметры, указанные в квадратных скобках, необязательны.
  Нажатие на элемент списка в этом модуле вызывает такое же диалоговое окно как при добавлении сервера, где можно изменить любой выше обозначенный параметр сервера, а также удалить сервер, нажав на кнопку "Удалить".
  В задачах используются сервера с установленными флагами "Enable" и корректными URL. Если статус сервера долго имеет значение "unknow", то прежде проверьте правильность этих двух параметров.

Модуль "Задачи"

  В Data Collector реализованы два типа задач: простая задача, которая через заданный период в миллисекундах отправляет данные, и задача, отправляющая данные в моменты времени, заданные в cron формате. Все данные отправляются в JSON формате.
Каждый элемент списка этого модуля включает следующую информацию:
  • Название задачи.
  • Список датчиков, данные которых отправляются на сервер.
  • Название сервера, на который отправляются данные.
  • Статус выполнения задачи (running, disable, invalid cron pattern).
  • Параметры расписания. Для простого расписания указывается период выборки от 1 до 60000 мс. Для расписания в формате cron задается cron-шаблон, например, */1 * * * *, количество выборок и период выборки в мс.
  Добавление новой задачи возможно после нажатия на кнопку Add, которое вызывает диалоговое окно для ввода параметров задачи. В этом окне указываются название задачи, установка/сброс флага "Enable", в списке "Датчики" можно указать необходимые датчики, из списка "Сервер" выбирается сервер, на который данные будут отправляться. Если в этом окне выбрано простое расписание, то необходимо указать период выборки от 1 до 60000 мс. Если выбрано расписание в формате cron, то необходимо задать правильный cron шаблон, количество выборок и период выборки. В последнем случае задача будет запускаться в указанные в шаблоне моменты времени и делать для каждого датчика указанное количество выборок с заданным периодом выборки. Если был установлен флаг "Enable" и нажата кнопка "Сохранить", то задача сразу запускается на исполнение.
  Нажатие на элемент списка в этом модуле вызывает такое же диалоговое окно как при добавлении задачи, где можно изменить любой выше обозначенный параметр задачи, а также удалить задачу, нажав на кнопку "Удалить". Если был сброшен флаг "Enable" и нажата кнопка "Сохранить" или задача была удалена, то задача сразу прекращает своё исполнение.

Модуль "Настройки"

В настройках указываются общие параметры приложения, такие как:
  • Таймаут серверов от 1 до 5 сек., по прошествии которого сервер считается недоступным.
  • Формат данных, где в диалоговом окне можно указать включать или не включать передачу UUID мобильного устройства, название задачи, название датчиков, единицы измерения данных датчиков.
  • Флаг "Фоновый сервис". Если этот флаг установлен, то задачи продолжают исполняться и после закрытия приложения Data Collectror.
  • Начальный экран позволяет задавать запуск выбранного модуля при старте приложения.
  • Ориентация экрана (авто, вертикально, горизонтально) позволяет задать поведение экрана при смене ориентации мобильного устройства.
  • UUID задает уникальный идентификатор мобильного устройства, по которому можно отличить его пакеты данных от других мобильных устройств, если все они отправляют данные на один сервер.

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

UniSmart.Tech гарантирует, что при использовании Data Collector данные датчиков вашего мобильного устройства будут отправляться только на строго указанные вами сервера.

Data Collector is now available on Google Play.