Data Collector

is Android-based application that helps to collect data from many sensors and send it in JSON format to unlimited number of servers using HTTP, HTTPS, Web Socket, Web Socket Secure protocols with specified sample interval or at time periods assigned in cron format.

How it works

  The entity of Data Collector operation is execution of tasks, that run at assigned time periods. All tasks can operate in the background, when you don't use user's interface of the app. Required sensors and server, where data from sensors is supposed to be sent in JSON format, are to be indicated In task settings. The App doesn't limit the number of simultaneously run tasks. Data Collector allows to assign unlimited number of servers with indication of specific protocol for each server (HTTP, HTTPS, Web Socket, Web Socket Secure) and login/ password if authorization is required. Any sensor and server are subject for multiple use in different tasks. If data is transferred to the same server from many mobile devices, then device id (UUID) can be assigned to the transferred data. The id can be generated automatically or manually. Data Collector isn't limited by data collection from mobile device internal sensors and develops so-called guest sensors kit. In the current version of the App the following guest sensors are presented:
  • Text sensor, that transfers any text.
  • Mosaic sensor that presents a frame of any size, where any required color can be assigned to any cell.
  • XY sensor, that transfers the value of the assigned Y(X) function.

Why Data Collector?

  Data Collector is a multipurpose App for collecting data from many sensors at many mobile devices and transferring this data to many servers in JSON format through many protocols. Significant advantages of the Application are:
  • The Application design is responsive both for small smartphone screens and big tablet screens.
  • The Application interface is understandable and succinct, that allows to focus on data received from Bluetooth devices.
  • All operations start after one or two clicks. No need to do multiple click to start operation.
  • You are provided with a full control over data collection and transfer, you can set any interaction parameter based on your needs.
  • It has comparatively small size, that allows you to install and run it on devices with different capability.
  • It is supported by Android 4.3 and later devices.

By installing this application you will get

  • An efficient tool for collecting and transferring sensors data, which can be adjusted per you demands.
  • An opportunity to concentrate on developing new and/ or exploring existing algorithms for processing data at server side using any favorable programming language or system.
  • An opportunity to create unique and marketable server applications for life, study and for fun by using data received from mobile devices with the help of Data Collector.
  • To use mobile device with loaded Data Collector as a part of lager system, which requires some characteristics measurement.
  • An opportunity to arrange distributed data collection from mobile devices and transferring it to single center for processing by using artificial intelligence technologies and computer-based education in these centers.

Data Collector includes four modules:

  • Sensors
  • Servers
  • Tasks
  • Settings
  An access to all modules is available through Menu icon in upper-left corner of the App. The screen of Sensors, Servers, Tasks, Settings modules are arranged in the same way as the lists of module elements and with Add button, which is used for new elements adding. Pressing Sensors list element opens a screen for review and editing this module as well as opens dialog windows for editing and deleting elements in Server and Tasks modules.An access to all modules is available through icon in upper-left corner of the App. The screen of Sensors, Servers, Tasks, Settings modules are arranged in the same way as the lists of module elements and with button, which is used for new elements adding. Pressing Sensors list element opens a screen for review and editing this module as well as opens dialog windows for editing and deleting elements in Server and Tasks modules.

Sensors module

  Initially the list of this module contains internal sensors, which are detected by Data Collector at mobile device. Upon choosing such sensor at the screen, a screen will appear where a new sensor name can be assigned or sensor can be switched on/off. For all hardware sensors current values and their plots are indicated, except location sensor, for which a map with current position data is shown. Using a Time/Division slider bar you can specify time sweep for a plot. GPS, network, passive provider data source can be assigned for location sensor.
Adding of guest sensors is initiated by pressing Add button, which activates dialog window. In this dialog window sensor type and name are supposed to be indicated. Upon saving the sensor, it will appear in the list of elements of Sensors module. Pressing such element will open a screen where a new name of the sensor can be assigned or the sensor can be switched on/off as well as required values of the sensor can be assigned. In the top left corner of guest sensors there is a menu with Clear Sensor, Delete Sensor, Settings commands. In Settings setting of current sensor data mode is available (updating of sensor value in tasks):
  • Manually (data is updated upon pressing Send button).
  • Upon changes (data is updated upon any change of sensor value).
  • Periodic (data is updated in assigned period in seconds. Period can be assigned in the text field below).
  In the current version the following guest sensors are performed:
  • Text Sensor, that transfers any text.
  • Mosaic Sensor presents arbitrary size-matrix, where you can assign any color to any cell. On sensor's screen the matrix size and current color for cells filling can be assign. Matrix scale is manually changeable and scrollable. To fill the cell with a color, make a single click on it. Double click will clear it. For continual cells filling first make a long press on a start cell, and then move your finger on filled cells.
  • XY sensor, that transfers the value of the assigned Y(X) function. X value interval and Y(X) function formula are to be assigned by user. X value is changeable in tree ways: entering the number, decreasing or increasing the current X value for a set step, using cyclic slider bar. In Y(X) function formula the following can be used: operators, constants and functions described here.

Servers Module

  In this module servers are assigned, which will be used in task settings for sensors data transmittance. Servers number is unlimited. Each list element includes the following: server name, URL to send sensors data through, server connection status, as well as WS protocols for Web Socket and Web Socket Secure servers. Connection status is updated upon each attempt of data transmittance. If server is switched off in Settings, the status will be "disable". Before the first attempt of data sending the status of server will be indicated as "unknow".
  New server adding will be available after pressing Add button, that opens dialog window for entering server parameters. In this window the following can be indicated: the name and URL of the server, login and password is authorization is required, set/ reset of "Enable" flag, as well as WS protocols separated by commas for Web Socket and Web Socket Secure.
The following URL scheme is applied <protocol>://<host>[:<port>][</script>], where
<protocol> - http, https, ws, wss,
<host> - IP address or domain name of the server,
<port> - the number of TCP port, which listens the server for request receipt,
</script> - server program, that processes data from sensors.
Parameters enclosed in square brackets are optional.
  Pressing list element in this module opens the same dialog window as at new server adding, where any above mentioned server parameter can be changed as well as server deleted by pressing "Delete" button.
  Servers with set "Enable" flags and correct URLs are used in tasks. If servers status is "unknow" for a long time, then first check these two parameters correctness.

Tasks Module

  In Data Collector two types of tasks are presented - a simple task, that sends data in assigned period in milliseconds, and a task, that send data in timepoints, assigned in cron-format. All data are sent in JSON format.
Each list element of this module included the following:
  • Task name.
  • The list of sensors, the data of which is sent to server.
  • The name of the server, the data is sent for.
  • Task execution status (running, disable, invalid cron-pattern).
  • Schedule parameters. Simple schedule requires indication of sampling period from 1 to 60000 ms. For cron-format schedule a cron-sample shall be assigned, for example */1 * * * *, number of samples and sampling period in ms.
  New task adding is will be available upon pressing Add button, which opens dialog window for task parameters entering. Task name, flag set/ reset are to be indicated in this window. In Sensors list required sensors can be indicated. The server to which data is to be sent can be chosen from Server list. If a simple schedule is chosen in this window, sampling period from 1 to 60000 ms is to be assigned. If a cron-format schedule is chosen, then a correct cron-pattern, samples number and sampling period shall be assigned. In the letter case the task will run at the moments indicated in the pattern and make indicated number of samples with assigned sampling period for each sensor. If Enable flag is set and Save button is pressed, then the task will run immediately.
  Pressing the list element in this module will open the same dialog window as at task adding, where any above mentioned task parameter can be changed as well as task can be deleted by pressing Delete button. If Enable flag was reset and Save button pressed or a task was deleted, then the task immediately would stop execution.

Settings Module

In Settings a general parameters are indicated, such as:
  • Servers timeout from 1 to 5 sec., after which server will be considered unavailable.
  • Data format, where in dialog window you may indicate whether to switch or not to switch UUID transmittance of mobile device, task name, sensors names, units of measurement of sensors data.
  • Background Service flag. If the flag is set, then tasks will continue to run even after Data Collector closure.
  • Home screen enables to set chosen module running upon application start.
  • Screen orientation (automatic, portrait, landscape) enables to set screen behavior during mobile device orientation change.
  • UUID assigns a unique identifier of mobile device by which it's data packages can be identified from other mobile devices, if they all send data to the same.

In About the App section you will find Application summary, follow the link to the Manual and learn about our other applications.

UniSmart.Tech guaranties that while using Data Collector sensors data of your mobile device will be sent only to the servers specified by you.

Data Collector is now available on Google Play.