EveryAware project – AirProbe – air quality application

AirProbe is the air quality application developed for EveryAware, a project whose aim is to let citizens measure and be aware of air quality around them, through the combined use of a sensor box and this  application, installed on an Android phone. The sensor box records the concentration of pollutants in the sorrounding environment, marks them with GPS coordinates and sends them continuously to AirProbe. In this way, AirProbe configures itself as an intermediate point between data collected from sensor box and server that stores them.

It is specifically designed to:

          • show information about the current air quality
          • record the user trip: it receives georeferenced data (pollutants!) collected in real time from sensor box and shows them on a map
          • let the user to annotate his ‘journey’
          • let the user to see a real time graph showing pollutants
          • share data on social network

Communication scheme


Complete data path from sensor box to central server, passing through smartphone on which AirProbe is installed

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 and, if Bluetooth connection is available, they are sent to the smartphone on which AirProbe is running. When AirProbe receives data, it saves them on local database and shows them on application map and graph, to let the user to follow his journey and to be aware of the pollution level variations during the trip. If an Internet connection is up, AirProbe sends data to the central EveryAware server that stores them (or wait until Internet connection returns active).

Functionalities and different views


Each tab brings to a different functionality and view

Once AirProbe connects successfully to the sensor box through a Bluetooh connection, user can interact with its functionalities that are organized into different views, accessible via tabs. The above images shows the different functions/tabs that are, from left to right:

  • map view: shows user’s track and community values (the two modes are switchable)
  • graph view: shows recent pollutants values
  • share view: let the user to log on Facebook/Twitter to share annotations and air quality value
  • sensor box view: shows helpful details about sensor box  and status of connection


Map View mode 1: user’s track map


The track map view shows user’s actual journey. On the bottom, status icons are showed. From the left: sensor box gps, smartphone gps, Bluetooh, upload, Internet connection, displayed track length

In this mode, the map shows the actual journey of the user. The displayed track is composed by the georeferenced measures received in real time from the sensor box; its color varies in accordance with the level of pollution in each point. The track is interactive: user can long-tap on a point to query the track and know the air quality level average on that point and to know other information such as the number of total records involved by the user’s tap, the time of the first record and of the last. User can also vary the length of the displayed track up to a max of 60 minutes. At every moment, user can insert his own annotation by pressing the “+A” button on the top-right corner of the screen. An annotation is a subjective data that represent what user think at the moment of insertion.

Map View mode 2: community map


Community map mode. Each point is a different annotation and its color is in accordance with the measured level of pollution.

In this mode, the map shows the annotations and relative air quality values from community around the actual position of the user. Data are retrieved from the official server. Points represents georeferenced annotations inserted by users and can be tapped to let the user to see associated informations. The color of each point represents the concentration of pollution.

Graph View


Real time pollutants graph. Each pollutant is represented by a different color.

In this view a real time pollutants graph is displayed, so user can observe the concentration of each one of the eight showed pollutants and their variations in time. Each pollutants is showed with different color. As in map view, the length of the series of pollutants can vary up to a maximum of 60 minutes, from a minimum of 5.

Share data on social networks


A shared annotation on my Facebook wall, marked with pollutation level I was exposed when I wrote that, my Gps position and time.

In share view, user can log on Facebook and/or Twitter and share its own annotations when he creates them. The above image show an example of a shared annotation on my Facebook wall.

Other features


  • To avoid lost of data, AirProbe uses a Store’n’Forward mechanism that allows to locally store data when internet connection is not available and send them to the server when the connection becomes active. Store’n’Forward is exectuted at regular intervalls of time; in this way, there aren’t too much record to be sent in a single upload operation.
  • history data collected by sensor box when it is not connected to AirProbe can be downloaded when the Bluetooth connection between AirProbe and sensor box is estabilished


Developed front-end

A web application based on Google Earth for browser has been developed to show collected data on a map, in the form of a track. Each track is identified by its start time; each point of the track is extruded to represent the level of the selected pollutant in that point. User can choose to see one pollutant at a time from an array of eight. This application let the user to see previously stored track and to follow current recorded track, because AirProbe can send to the server, as receiving them , the values that receives from sensor box in real time. Actually this application runs only on Firefox browser.

A track recorded in Turin

A track record in Turin, near Mole Antonelliana

A track record in Pisa, Piazza dei Miracoli

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>