- CSP Research & Development - http://rd.csp.it -

EveryAware project – AirProbe PC Sync application


AirProbe PC Sync


AirProbe PC Sync is the air quality application developed for EveryAware [3] project and for users that do not have an Android smartphone and that cannot use the AirProbe [4]  application.

This application can be used on any Windows PC and can transfer data recorded by the SensorBox during the day to the EveryAware server.

Its main features are the following:

  • Connect to a SensorBox using Bluetooth
  • Transfer data to sensorBox to EveryAware Server
  • Locally store data in case of network problems
  • Attempt to upload cache at startup
  • Several option allows the application to be used from fully manual to fully automated mode.

AirProbe PC Sync allow to use the EveryAware SensorBox as standalone device.

For more information please read the full article [5], or download the full user guide [6].

If you have an Android smartphone, you may want to take a look at the AirProbe Android app [8].

Note: AirProbe application requires an external Bluetooth device (the EveryAware sensor box) to work.

Communication scheme



Complete data path from sensor box to the centralized server, passing through a PC with AirProbe PC Sync


The “sensor box”, based on Arduino chip, collects data from the sorrounding environment through pollution sensors and marks them with geo-coordinates received from the onboard GPS receiver. The sampling rate of pollutants is one time per second. Data are saved as a text on the local sd-card.

When the user connect the SensorBox (via bluetooth) to a PC using AirProbe PC Sync, all the data received by the SensorBox are transfered to the EveryAware server. Since EveryAware PC Sync is not intended as a mobile application, it only provides the functions to sync the data to the server. It does not include any real time graphs or maps.

To view the recorded data, the user can use the dedicated web page using his credentials.

UID and user identification

To associate records with a specific user, the system use a unique identifier called UID, represented as an alphanumeric string. If a user uses an Android smartphone and the AirProbe app, the UID is automatically generated using the phone’s unique hardware ID. Using EveryAware PC Sync, this is not possible, because a specific user may want/need to use the application on different PCs (office, home, laptop, etc..).

The user needs to manually insert its UID (provided by the EveryAware administrator) the first time that the software is executed. The program execution will not continue until you have inserted an UID.

However, the software has no way to check if the inserted UID correspond to an invalid user (or, worse, to a different user), so it’s very important to insert it correctly. A simple copy/paste operation from the UID provided by the administrator is suggested.

Using this tecnique, is also possible tu use EveryAware PC Sync from users that already use the mobile Android app. This may be useful for example if the user phone’s battery is low, or if, for any other reason, the user does not want or can use the phone.

In these cases, the user have to insert (in EveryAware Pc Sync) the same UID used in the AirProbe mobile app.

The UID can be found in the “monitor” page of the AirProbe Android app, when you are connected to the SensorBox.


AirProbe Android – UID

IMPORTANT: You must to use the MD5 version of the UID (32 characters).

The UID can be inserted/changed from the Settings panel. For more  information please refer to the Settings paragraph.

If you don’t know your UID or if you don’t have one, please contact everyaware@csp.it.

IMPORTANT: please note that if you enable the options to locally store and encrypt the uploaded data, the 32 character long UID (MD5) will be used as password, so you will need it to open the data archive files.


Features and screenshots

AirProbe Pc Sync is intended to be only used to transfer samples from SensorBox to the EveryAware server, thus it does not include any real time information about the air quality.

The main window is composed by three tabs:




Each tab brings to a different functionality and view

SensorBox Panel

It’s the main application panel, where the most important information and controls are located.



AirProbe Pc Sync – Main panel

The Bluetooth section allows to select a SensorBox and to establish the bluetooth connection with it.

If a SensorBox has been previously used, it will be automatically preselected. The option “Automatically connect last SensorBox at startup” described later, allows the user to automatically connect his SensorBox every time the application is started. Of course the SensorBox has to be turned on.

The SensorBox section shows details about the connected SensorBox. In particular, it shows the unique MAC address of the SensorBox, its firmware version, and the number of records available, which  represents the number of samples that have been recorded by the SensorBox and have not yet been downloaded. 


For more detailed information about the SensorBox, you can press the “i” button on the top left of the section, which will show technical information such as the number and types of sensors.


SensorBox details


When the number of available records is not zero, it’s possible to press the “Download Record” button to start the transfer.

The Operation Progress section shows real time statistics about the download/upload operation.


The transfer from the sensorBox to the Server is divided in two phases: during the download phase, the data is downloaded from the SensorBox to the PC, and cached on the local hard drive. As soon as the download is completed, all the cached data is automatically uploaded to the Everyaware server. In case of network problems, the cached data will remain on the PC, so the user can retry to upload later.

All the samples recorded by the SensorBox needs to be associated to a valid location coming from the GPS chip included into the SensorBox itself. In some case, or in some enviromment, the GPS won’t be able to “fix” a valid location; in these case, the air quality samples from sensors are still stored into the SensorBox but without any valid geographic information. If the user has an Android smartphone, or if the SensorBox is fixed (not used in mobility) is possible to bypass this problem and use the phone’s GPS information, or even to manually insert the GPS information.

Otherwise (this is the usage scenario for this application) the data is meaningless and will be discarded. So, if you use the SensorBox in a closed environment (i.e. inside a building) you will most likely have a high number of discarded items.


Cache panel

Once data is downloaded from the sensorBox, it is temporarly saved into the PC before to be sent to the EveryAware server. If the PC is not connected to Internet, or if any kind of problem occurs, data will remain on the PC, so the user can retry to upload data later.

The system automatically detect if there is some cached data, and show the details in the Cache tab and enable the button to upload cached data.


AirProbe PC Sync – Cache panel


If you are sure that you don’t want to upload the data to EveryAware server, you can delete all the data fom cache.

WARNING: this operation cannot be undone and the data will be lost.

Note: there are several options regarding cached data. Please read the Settings section for further information.

Settings panel

The setting tab show all the options available to customize some aspects of the behaviour of the software.


AirProbe PC Sync – Settings panel

The panel is divided in two sections.

The EveryAware Server section it’s where the user has to specify the server URL and the user UID.

The URL field is precompiled with the current server address, and should not be changed.
The UID field needs to be filled with the UID provided by the system administrator or the project manager.
The UID is very important and it is used to uniquely identify the user, so the software will not allow any operation until the field is compiled.

The Misc Settings section contains several options that every user can change to customize the behaviour of the software according to his  needs or preferences.

   Note: All the samples will be deleted from the SensorBox and sent to the main server.

    Note: this option will be ignored if  “Automatically upload locally cached data to server” is enabled.



[18] [19] [20] [21]