EveryAware project – AirProbe PC Sync application

AirProbe PC Sync

AirProbe PC Sync is the air quality application developed for EveryAware project and for users that do not have an Android smartphone and that cannot use the AirProbe  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, or download the full user guide.

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

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:

  • SensorBox: shows details and controls about bluetooth connection to the SensorBox and allow to transfer data.
  • Cache: shows information about the data cached on the PC in case of network problems, and allow to upload cached data to the server
  • Settings: contains all the options that can be used to modify the behaviour of the application.



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.

  • Automatically connect last SensorBox at Startup: if this option is enabled, the software will automatically try to establlish bluetooth connection with the last SensorBox used. The SensorBox must be turned on and placed near the computer.
  • Automatically start data transfer from SensorBox to server:  if this option is enabled, the software will automatically start to transfer data from SensorBox to the server as soon as the bluetooth connection is estabilished.

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

  • Automatically upload locally cached data to server: if this option is enabled, the software will automatically retry to upload the cached data. Please see the Cache paragraph for more information about cache files.
  • Notify when local cached data is available: check this option it you want to be informed about unsent (cached) data detected on the computer.

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

  • Locally store data after successful upload: check this option if you want to locally store the data after a successful upload to the server instead of deleting it. Data will be compressed into a zip file located in the “data/sent” folder.
  • Encrypt stored data archives: check this option if you want to encrypt the archives containing the stored data. The archive will be created using your UID as password.
  • Stop recording data when connected: This option allow to stop recording data to the SensorBox as soon as the SensorBos is connected to this application.
    Enable this option when you use this application just to download previously recorded data from the SensorBox to the server without the smartphone (or if your phone is not yet supported).
    In this scenario, the SensorBox will most likely be inside a building, so you don’t want to monitor air quality.
    Disable it when you want the SensorBox to constantly sample air quality (i.e. the SensorBox is placed in a fixed place and you  just want to record samples without interruption).



Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>