IoTWORLD® Air Quality

Air quality monitoring in smart buildings is of paramount importance for both people well-being and for the energy efficient management of HVAC (Heating Ventilation and Air Conditioning) systems. Regarding people’s well-being, Carbon dioxide (CO2) levels are regarded as a standard for air quality. In fact, according to the Standard of The American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE), CO2 concentrations above 1000 ppm provoke severe effects on people’s well-being such as discomfort, feel dizzy or feel headache. In this regard, next table (introduced by Max von Pettenkofer) establishes the relation between CO2 concentration levels and the indoor air quality.


 The air quality is monitored in two different buildings by means of CO2 sensors as CO2 concentration level is the standard parameter to assess the air quality. Moreover, temperature and humidity sensors are deployed, as these are parameters directly related to the people’s well-being. More specifically, the IoTWORLD® implementation for this setup is described next.


In CTTC’s building B6, the air quality of one room is monitored by means of one CO2 sensor and two humidity and temperature sensors. The CO2 sensor is connected to a WSN node whereas each pair of humidity and temperature sensors is connected to a WSN node. The CO2 Engine K30 sensor by SenseAir was considered to obtain the desired CO2 measurements. Regarding the WSN node, the Zolertia Z1 mote is used.

The connection between the CO2 Engine K30 sensor and the Zolertia Z1 WSN node is done through I2C (Inter-Integrated Circuit) communication protocol, see next figure:


Regarding the temperature and humidity sensors, the SHT11 sensors by Sensirion have been selected. The WSN nodes gather the measurements, provided by the sensors, and send them periodically to a WSN node sink by means of a one hop wireless channel. On its turn, the WSN sink is connected via USB to the control centre. It is worth mention that the WSN nodes support Contiki OS, an open-source operating system for the Internet of Things (IoT). Contiki permits to manage easily the communication between the peripherals, i.e. the sensors, and the WSN nodes and also between WSN nodes.

The control centre, consists of several sub blocks and has several functionalities which will be described next, by means of the next figure, which contains a detailed description of the control centre.


First, the WSN sink receives the measurements sent by the WSN sources. These data are sent to the server, which stores the measurements in a database. The server is written in JavaScript and the communication with the database is done by means of SQL queries. Moreover, the server manages the communication through internet with remote users. This permits the users to visualize remotely the air quality. To this end, in the user side we use a web application. More specifically, we rely on Sencha Touch, which is a high-performance HTML5 mobile application framework, which enables developers to build powerful applications for various operating systems, including iOS and Android. Thereby, by means of this web application, the user can see plots of the CO2 measurements. More specifically, real time plots and statistics of the last minutes and hours are displayed.

As it is shown above, the air quality is measured in another CTTC building called “CTTC building B4”. The experimental setup in this building is as follows and it is detailed in the next figure.


The air quality is measured by means of CO2 sensors in two different places of the building. The first one is located in the ground floor of the building, and its identifier is “9”, whereas the other sensor is located in the first floor and its identifier is “15”. As it can be observed, a multihop WSN is considered between the CO2 sensors and the gateway (GW). The GW consists of two components. The first one is a WSN sink, which receives the CO2 measurements forwarded by the multihop WSN. The WSN sink node is connected via USB to a Raspberry Pi 2, whose aim is to take the measurements of the WSN sink and to send them via SQL queries to the Cloud database. It is worth to mention that the software that permits to perform the SQL queries is based on Python language.

Last but not least it is important to specify how the multihop WSN relays the CO2 measurements from the source nodes to the sink node. The protocol implemented for this purpose is called Routing Protocol for Low power and Lossy Networks (RPL). The main objective of RPL protocol is to address the routing problem in sensor networks, i.e. setting up and maintaining reliable paths as well as promptly detecting link failures without wasting energy and communication resources.

Monitoring Web Application

The IoTWORLD® Air Quality experiment is running continuously. CO2 measurements can be checked in real-time through the following link:


This work has been partially supported by ESEE project, funded by ENIAC Joint Undertaking under grant agreement n. 324284