Chapter 7Applications for Environmental Sensing inEveryAwareMartin Atzmueller1 , Martin Becker2,3 , Andrea Molino4 , Juergen Mueller1,3 , JanPeters5 , and Alina Sı̂rbu6Abstract This chapter provides a technical description of the EveryAware applications for air quality and noise monitoring. Specifically, we introduce AirProbe, formeasuring air quality, and WideNoise Plus for estimating environmental noise. Wealso include an overview on hardware components and smartphone-based measurement technology, and we present the according web backend, e. g., providing forreal-time tracking, data storage, analysis and visualizations.7.1 IntroductionParticipatory sensing allows to approach many research questions. Such areas include understanding patterns, semantics, and dynamics of social behavior (e. g.,. [4,7, 9, 11, 28, 29]) and its interaction with the sensor data collected by the corresponding applications. In this chapter, we introduce two such applications developed inthe EveryAware project for collecting different environmental sensor information,specifically concerning air quality and noise pollution. For details on participatoryenvironmental sensing please refer to Chapter “Sensing the environment” by Theunis, Stevens and Botteldooren in this part of the book. In order to facilitate theconnection between sensor data and subjective data, both applications provide functionality to collect impressions, perceptions, or user defined contents in form oftags. Corresponding results are for example detailed in this book in Part III, Chapter“Emergence of awareness and behavioral changes: the EA lesson” by Gravino et al.In particular, in this chapter we describe the AirProbe and WideNoise Plus applications. Both are utilizing smartphone-based data collection modules providingmeans for explicit subjective feedback and are backed by the versatile and flexi1. University of Kassel, Research Center for Information System Design · 2. University ofWuerzburg, Data Mining and Information Retrieval Group · 3. University of Hannover, L3S Research Center · 4. CSP · 6. VITO · 6. University of Bologna, Department of Computer Science andEngineering, Bologna, ItalyThis is a preprint of a Chapter in: Loreto et al. (eds.) Participatory Sensing, Opinionsand Collective Awareness. Springer Verlag, Berlin/Heidelberg, Germany. In Press1
2Atzmueller et al.ble EveryAware backend, built upon the Ubicon platform. The latter is further introduced by Atzmueller, Becker and Mueller in Chapter “Collective Sensing Platforms” in this part of the book. For recording the data, AirProbe utilizes a specialsensorbox for measuring air quality ( based on data such as NO2 , CO, O3 , VOC, temperature, and humidity) which then transmits its data using a smartphone, enablingmobile data collection, cf., . Similarly, WideNoise Plus provides the functionality for freely measuring environmental noise by using the smartphone’s built-inmicrophone.Both applications enable data access and inspection on the EveryAware webfrontend: The smartphone gathers data and transmits it to our server where it isaugmented and aggregated in order to provide comprehensive visualizations including for example noise pollution maps as mentioned in this book by Beate Wenigerin Part II, Chapter “Cartographic Visualization of Noise and Aspects of Public Understanding of this Information”. The applications have been used in several casestudies, for providing first insights into collectively organized data collection in suchobjective and subjective contexts, cf., [3, 4, 9, 11, 29].The remainder of this chapter is organized as follows: Section 7.2 describes theAirProbe application including the developed sensorbox and calibration steps. After that, Section 7.3 presents the WideNoise Plus application. Finally, Section 7.4concludes with a summary and interesting options for future work. Contents of thischapter have been partially compiled from existing material, cf., [11, 29], in particular sections 7.2 and 126.96.36.199 AirProbeAirProbe is a mobile application for collectively monitoring air quality. To this end acalibrated low-cost sensor box has been developed: It displays the collected data onconnected smartphones which are then used to upload the data to a central server.The data is then processed, enhanced and analyzed in order to generate feedbackin form of statistics and map views displayed by a specialized frontend on the EveryAware web frontend. The following sections cover the basic components of theAirProbe stack, i.e. the sensor box, the smartphone application and the web frontend. Further details, e. g., about the data models used in the EveryAware web backend and the underlying Ubicon platform are described by Atzmueller, Becker andMueller in Chapter “Collective Sensing Platforms” in this part of the book.7.2.1 The EveryAware Sensor BoxBelow, we first provide an overview on the EveryAware sensor box. After that, wegive a technical description, before we discuss calibration steps and model learning.
7 Applications for Environmental Sensing in EveryAware188.8.131.52 OverviewThe sensor box (see Figure 7.2) contains a sensor array of 8 commercially availablegas sensors and two meteorological sensors (temperature and humidity). The gassensor array consists of low-cost continuous sensors of CO, NOx, O3 and VOC,which are important pollutants in the urban outdoor environments. These pollutantsare either directly emitted by vehicles or other combustion processes, or formedfrom emitted precursors in the vehicle exhaust. The gas sensors were examined by arange of performance tests under laboratory and outdoor conditions. Laboratory testcycles with sensor exposure to known gas concentrations were performed, whereasoutdoor tests included comparison tests with reference measurements made withhigh-end reference monitors.Fig. 7.1 The Arduino board of the sensor box.184.108.40.206 Technical descriptionThe sensor box electronic system has been designed with the purpose of being alow-cost, open and scalable platform. It includes basic storage (micro SD card),positioning (GPS) and communication (Bluetooth) capabilities, and accomodates asensor shield able to host all gas sensors.The architecture of the SensorBox is based on Arduino – an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software.The micro-controller on the board can be easily programmed to accomplish thetasks of the project. This system was chosen because of the simplicity with whichit is possible to connect different component (shields) like GPS, Bluetooth or manyothers. Indeed, different shields are available on the market: they are ready to beconnected and often there is a library to start programming. Considering that thereis no need for complex data elaborations and that power consumption is an issue,Arduino is a good choice to have a prototype in short time. Furthermore, being anopen-source project it is be possible, as we did, to review all the schematic and makea custom board with reduced dimension and cost, improving some parts if needed.
4Atzmueller et al.The development of the SensorBox followed various steps: after having tested eachsingle device with the Arduino board, a first version of the SensorBox was producedin order to test the integration of the whole system and start testing. Then, a secondversion was designed with improvements on cost, weight, dimensions and signalintegrity. The main step achieved in the second version is the implementation of anew electronic design based on a four layers Printed Circuit Board (PCB). The sensor boards are positioned in an air-tight housing. A continuous air flow is generatedby a suction fen and an air outlet hole at the opposite side of the sensor box.The design is based on Arduino components and it is completely open, so thatanyone can reproduce and modify the hardware or even using the original hardwareand develop different software to be run on it.220.127.116.11 Sensor Box CalibrationIssues identified by laboratory and field testing included sensor sensitivity to temperature and humidity, sensor drift in time and sensitivity to other gasses. Additionally, measurement ranges were observed to vary between sensor boxes, with valuesdifficult to map directly to pollutant concentrations. Hence one needs to calibratedevices against a reference in order to control for these issues and obtain a measurement meaningful for the user. Calibration is a mandatory step when using low costor adapted sensors (see also chapters by J.Theunis, M. Stevens and D. Botteldoorenand by Ferreira, Kostakos and Schweizer in this volume). The target pollutant selected in this study was black carbon (BC), motivated by several reasons: BC is a relevant pollutant in urban environment by its adverse health effects ; BC is correlated with the gases that are measured by the sensor box, as learntfrom the outdoor tests ( Table 7.1); the availability of portable BC measurement devices (micro-aethalometers, AethLabs, Figure 7.2, also described in chapter by J.Theunis, M. Stevens and D. Botteldooren in this volume) which makes it possible to collect mobile BC data.Table 7.1 Correlation between reference gas measurements at urban environment.CONONO2O3BCReference monitorsCO NO NO2 O3 BC1.00 0.77 0.62 -0.55 0.830.77 1.00 0.76 -0.51 0.890.62 0.76 1.00 -0.53 0.81-0.55 -0.51 -0.53 1.00 -0.540.83 0.89 0.81 -0.54 1.00Calibration consisted in simultaneous measurements with the sensor boxes andthe reference device (field calibration), and then training a model that is able tomap the values measured by our sensor array with the values recorded by the reference. We have used artificial neural networks (ANNs)  for this regression task.
7 Applications for Environmental Sensing in EveryAware5The micro-aethalometers provide high quality measurements of black carbon (BC),however at a much higher cost (about 30 times more expensive than our sensor box).The field-calibration has been inspired by the works of Carotta et al.   ,Tsujita et al. , Kamionka et al.  and De Vito et al.  .Fig. 7.2 Microaethalometer: device used as a reference for calibration.Three types of data were used to train a calibration model, to account for threepossible use cases. These included stationary data where all sensor boxes were collocated (in the same place), mobile measurements performed with one or two boxesat a time, and indoor data. Calibration models were trained in four different cities:Antwerp, London, Kassel and Turin. The representativity of the datasets is crucial.We increased the representativity of the data by placing the measurement equipmentwithin the final area of deployment (city-specific), by collecting data continuouslyduring day and nighttime (stationary data) and by collecting data over quite a longperiod (10 days) right before the final deployment (sensor boxes were used in thefinal test case two weeks later).18.104.22.168 Data PreprocessingAlthough initially the possibility of building one calibration model for each boxwas intended, this would not have scaled very well, so we explored the possibilityof building one model for all sensor boxes. This has also the advantage that datafrom multiple boxes can be used, resulting, possibly, in better modelling performance. For this, we first compared sensor output for the different sensor boxes. Gassensors produce a signal with a value in [0, 5], however only part of this interval isactually used. It is the setting of the potentiometer (done by hand by our engineers)that determines the exact range, so differences between the output of the same sensors on different sensor boxes are impossible to avoid. However, in principle, thefluctuations should correlate. Figure 7.3 displays an example of two collocated sensor boxes and the sensor responses. While some sensors have similar ranges, someothers do not (for instance the dashed red sensor). However it appears that a linearscaling could bring the values in the same interval.Considering this, a scaling procedure was employed in order to enable the useof one model for all boxes. Using the entire stationary data when all boxes wereperforming measurements together, the active range of each sensor was determinedand then all data rescaled so that the active range falls to interval [0.2, 0.7]. Thisallows for measurements outside the range shown during the stationary measure-
6Atzmueller et al.Fig. 7.3 Comparison of sensor output for two sensor boxes.ments to appear in the future. Any future data will be scaled using the same scalingparameters extracted from the stationary collocated data. Temperature and humidity, that also vary from one box to another (due to small differences in air flowor position) were scaled to interval [0.1, 0.4]. This procedure allowed us to obtainan unique model for all sensor boxes in each location, instead of individual onesfor each box. Tests indicated no significant differences in model performance usingsensor box specific models or a more general model that is applied to sensor boxspecific rescaled sensor box signals.A different issue was data variability, both in BC values and sensor response.The BC values were post-processed by a noise reduction algorithm  to lowerthe high-frequency instrument noise that is observed when measuring at high frequency. BC levels were further smoothed by averaging over a 5 minute moving window. This value was deemed suitable by comparing outputs from two aethalometers,which become highly correlated at this resolution. So the BC value obtained fromthe model represents an average over the last five minutes of exposure. Comparingthe time series, we observed a lower sensitivity of the sensor box compared to theaethalometer, leading to delays in sensor response. To account for this, we used asmaller time window (60 seconds) to smooth the sensor output.22.214.171.124 Model training and testingAfter preprocessing, training and testing datasets were obtained for each location bycombining all data types available. An ANN model for each location was obtainedfrom the training data using backpropagation. Empirical tests showed that best performance was obtained with an ANN with one hidden layer of 10 neurons, as shownin Figure 7.4.
8"sensor""values"7 "7 Applications for Environmental Sensing in EveryAwareBC"Temperature"Humidity"Fig. 7.4 ANN topology for our calibration problem.All training has been repeated several times and the model with best behaviouron the test data was selected. Model performance was evaluated using 3 criteria: R2 ,root mean squared error (RMSE) and Pearson correlation coefficient between themodelled and the measured BC time series.Fig. 7.5 Model performance in TurinFigure 7.5 shows the result of calibration for Turin, obtained before the final testcase. Two time series are shown, one in red, representing the model output, one
8Atzmueller et al.in blue representing the data measured by the aethalometer, with evaluation criteriashown at the top, indicating very good overall results. While on training data the twotime series match very well, on test data the model appears to miss some of the fluctuations seen in the BC values. This shows that, in general, the model is successfulin identifying general trends in the pollution levels. However, sharp and short peaksare not handled very well by the model, and this is due to the lower sensitivity ofthe low cost sensors and their delayed response. However, the performance obtainedwas enough for the purposes of the project, i.e. participatory mapping of pollutionwith multiple devices, for enhancing environmental awareness.The ANN model was implemented both in the AirProbe application, to give theuser real time feedback from the sensor box, but also server side. This approach wastaken due to the fact that the sensor box has two working modes, one online andone offline. Computing model output for all offline records would have been toocomputationally expensive for an average smartphone, while server side this wasnot an issue.7.2.2 AirProbe Smartphone ApplicationAirProbe1 is a smartphone application for Android. It is used to read the data fromthe AirProbe sensor box, allows users to view, browse and annotate the data, and toupload it to the EveryAware server. Then, the data is further analyzed and processedin order to provide additional statistics and views via the EveryAware web platform.To associate the user with the uploaded data, the user first registers her accountfrom the EveryAware backend within the AirProbe smartphone application. Afterwards there are three operational modes the AirProbe smartphone application provides: the Live Track mode, which allows to view the currently measured air quality,the Browsing mode, which allows to browse and view already collected data, and theSynchronization mode, which is used for actively managing the uploading process.In the following, we will describe these three modes in detail.126.96.36.199 Live Track modeThe Live Track mode allows to monitor air quality components in real time. Whenstarting this mode, first the application will search for Bluetooth devices nearby andpresent the user with a list of found devices. Once the user has selected the sensorbox, AirProbe starts displaying real time data collected by the sensor box, using theBluetooth connection. The interface of the Live Track mode is composed of threedifferent views accessible from their corresponding tabs (Figure 7.6):1The AirProbe application is freely available for the Android platform and can be installed fromGoogle PlayStore.
7 Applications for Environmental Sensing in EveryAware9Map, where users can follow their own live track. The track is represented withdifferent colours, depending on real-time black carbon levels. The user can alsoadd annotations and share them on social networks (Facebook/Twitter), using thebuttons at the top right corner. The track length to be shown on the map can be of5, 15, 60 minutes. Live updating of the current position can be switched on andoff, through the top left buttons. The bar at the top represents the black carbonvalue using a coloured scale (from a blue/low value to a brown/high value).Graph, where the user can see a graph of the black carbon measurements as wellas of the raw data from pollutant sensors, in a variable time interval rangingfrom 1 to 30 minutes. The user can query the value registered by each sensor bytapping on the series. The graph is updated every two seconds.Monitor, where users can access statistics about collected data, connection information, the status of the sensor box and the installed sensors.Fig. 7.6 AirProbe screenshots: Live mode. AirProbe uses the Google Maps API to display maps( c 2014 Google ).188.8.131.52 Browsing modeThe Browsing mode enables the user to access aggregated air quality measurementsin the area from the server and browse their own tracks which are still on the phone.This working mode does not require an active Bluetooth connection to a sensor box.It is composed by three views, accessible from their corresponding tabs:Map, where the user can see the black carbon levels around his current position(Figure 7.7), by pressing the ”Get nearby BC levels” button. If a track from ”MyTracks” tab is selected, it is displayed on the map. The global black carbon levelsand selected track can be shown together.
10Atzmueller et al.Graph, where the raw pollutant and black carbon evolution, calculated for a selected track, are shown. However, only tracks which have been recorded in LiveMode have black carbon data.My Track, where the list of tracks available on the mobile device is shown. Oldertracks are automatically deleted once they have been uploaded to the server anda configurable time interval since their creation has passed.Fig. 7.7 AirProbe screenshots: Synchronization and Black Carbon map. AirProbe uses the GoogleMaps API to display maps ( c 2014 Google ).184.108.40.206 Synchronization modeIn this working mode, AirProbe reads data from the sensor box and uploads themto the EveryAware server (Figure 7.7). This allows the box to run without a smartphone. The user can then send the data to server in suitable conditions (e.g. wherebattery lifetime and/or connection billing are not a problem).7.2.3 AirProbe Web ApplicationThe AirProbe web application is part of the EveryAware backend  embeddedinto the Ubicon platform [3, 4] as described by Atzmueller, Becker and Mueller inChapter “Collective Sensing Platforms” in this part of the book. It processes thedata it receives from the AirProbe smartphone app, see Section 7.2.2, cleans it, applies Black Carbon calculation as described in Section 220.127.116.11, and provides severalstatistics and views for the user to analyze and understand her data. Furthermore,
7 Applications for Environmental Sensing in EveryAware11it supports case studies like the “AirProbe International Challenge” which is further described by Sı̂rbu et al.  and in Chapter “Experimental assessment of theemergence of awareness and its influence on behavioral changes: the EveryAwarelesson” by Gravino et al. in Part III of this book. In the following, we briefly introduce some statistics and views the web application provides and summarize thefunctionality used for the mentioned case study.7.2.4 Statistics and VisualizationsFor the AirProbe module the visualized information is represented by several viewsof the data including a map with different information layers as well as severalglobal and personal statistics. The OpenStreetMap-based2 map view visualizes thecollected data on a map which allows for an easy access to the data as well as forobtaining first insights. It provides a quantitative view by aggregating samples usingclusters, grids, as well as a heatmap view in order to emphasize the covered area ona global and on a personal level (see Figure 7.8).Fig. 7.8 A screenshot of a heatmap on the map page of AirProbe. The website map and heatmapwere generated using in-house developed tools and OpenStreetMap data ( c OpenStreetMap contributors for map data, used and redistributed under the CC-BY-SA licence ) .2http://openstreetmap.org/
12Atzmueller et al.Further statistics calculated by the AirProbe application include summaries likelatest overall measurement activity or air quality averages. Also, personal user profiles are available. Among other things, these profiles list “measurement sessions”.For each session a short summary of the user’s measuring activities is given. Sessions can further be viewed and explored for example by replaying the measuringprocess. A personal sessions overview can be seen in Figure 9(a). A view for exploring personal sessions can be seen in Figure 9(b).(a) This AirProbe view shows a user’s personal (b) This AirProbe view shows a view for explorsessions.ing individual user sessions.Fig. 7.9 AirProbe personal measurement sessions visualizations. The website map andtrack visualisation were generated using in-house developed tools and OpenStreetMap data( c OpenStreetMap contributors for map data, used and redistributed under the CC-BY-SA licence ) .7.2.5 APIC RankingsIn addition to the global and personal statistics, the web interface provides feedbackfor the users participating in case studies like the APIC (‘AirProbe InternationalChallenge”) . The APIC case study was held in order to gather large amounts ofair quality samples and behavioral shift patterns using the sensorboxes in the fourcities Antwerp, Kassel, London, and Turin.In order to keep the motivation and competitiveness as high as possible for theteams playing, we implemented a ranking mechanism balancing repetitive samplingand coverage. The map was divided into 10 by 10 meter grids. One point was givento a team when sampling within one such grid cell. When a team received a point
7 Applications for Environmental Sensing in EveryAware13in a particular cell, the player did not receive a point from this grid cell for half anhour. The results for each city as well as for each team have been visualized andupdated in regular intervals on the AirProbe website as can be seen in Figure 7.10.Figure 10(a) shows the ranking of each city visualizing the coverage and providingseveral statistics. Figure 10(b) shows a detailed view of the point-coverage of thecity.(a) APIC city ranking.(b) APIC point coverage for Kassel.Fig. 7.10 APIC ranking visualizations. The website map and heatmaps were generated using inhouse developed tools and OpenStreetMap data ( c OpenStreetMap contributors for map data, usedand redistributed under the CC-BY-SA licence ) .7.3 WideNoise PlusThere are various kinds of pollution that get often on the first page of newspapers.However, noise pollution is rarely cited even though it is something that constantlysurrounds us even if we are not aware.WideNoise Plus has been developed to record, monitor, and analyze such noisepollution and helps to better understand the user’s soundscape. Its predecessor wasdeveloped by WideTag Inc. and was acquired and extended by the EveryAwareteam. Good and bad noise is not the same as loud and silent noise. One vivid examples is a rock concert. It is extremely loud on the one hand, but is mainly forpleasure on the other hand. Thus, WideNoise Plus was extended in order to supportsubjective annotations in order to reflect the perceived quality of the recorded noise.WideNoise Plus is running for more than three years now. It is used, e.g., bythe citizens around the Heathrow airport to monitor noise pollution caused by airtraffic. Until now we collected more than 54,700 noise samples recorded by over
14Atzmueller et al.16,800 devices from all over the world. Insights into the corresponding data arereported, for example, by Becker et al. , Atzmueller et al. , or in this book inPart III, Chapter “Emergence of awareness and behavioral changes: the EveryAwarelesson” by Gravino et al.As a related system, Kanjo  presented the first system for collecting noisedata with mobile phones and discusses its implementation on a technical level. Thereare several existing platforms dedicated to specialized sensor data types. Maisonneuve et al.  present an approach for monitoring the noise pollution by the general public using the NoiseTube3 system. AirCasting4 is another platform, whichallows users to upload information about surrounding noise and air quality usingtheir mobile phones. In contrast to these systems, WideNoise Plus focuses on userfeedback in addition to recording noise. This feedback comes in two forms: userestimates of noise, and subjective data. User estimates help the user to gauge if theyasses the noise around them correctly. At the same time subjective data is collectedin the form of perceptions or tags. Perceptions range for example from a “social”feeling to solitude, or from “love” to “hate”, and tags may include anything the userfeels is relevant about the recorded noise. Thus, when accessing statistics the usercan find patterns in how noise affects her. Overall, and in contrast to other systems,WideNoise Plus is more focused on feedback from the user, thus, allowing for aenhanced learning process with regard to awareness concerning noise pollution.The remainder of this section is based on the article by Becker et al. .7.3.1 Smartphone ApplicationWideNoise Plus was developed for the two major mobile systems iOS and Androidin order give access to as many people as possible. It records the noise level ofthe soundscape using the build-in microphone of the smartphone. No audio track iscreated during recording, only the loudness level every 0.5 seconds; therefore, theprivacy of the user is ensured. The anonymous noise levels are transmitted to ourapplication server (see Section 7.3.2) through a RESTful web service. Both, sensordata and subjective perceptions are required to create a full sound report, so that theapplication consists of two main parts:1. Objective noise recordings.2. Subjective annotations.The noise recording part gives users a tool to take a noise sample through thesmartphone microphone. During the recording, the user is asked to guess the currentnoise level using a slider where a decibel scale is mapped. The user has also the possibility of extending the default sampling time of 5 seconds to 10 or 15 seconds. Inthis way, the app will perform a longer measurement while the user gets more time34http://noisetube.net/http://aircasting.org/
7 Applications for Environmental Sensing in EveryAware15to make the guess. After the recording, the noise level expressed in decibels (dB)is shown and compared to the estimation of the user. The sound level is illustratedwith an icon that allows a better understanding of the measured decibel value. Theicon categorize the noise level into the following groups (see Figure 11(a)): fallingfeather (i.e., [0, 30] dB), sleeping cat (i.e., ]30, 60] dB), TV show (i.e., ]60, 70] dB),car engine (i.e., ]70, 90] dB), dragster (i.e., ]90, 100] dB), t-rex (i.e., ]100, 115] dB),and rock concert (i.e., ]115, 120] dB). After the recording view, the users are asked toexpress their own subjective impression about the recorded noise. At first, they canexpress their opinion by moving four different sliders associated to the followingconcepts (see Figure 11(b)): love/hate, calm/hectic, alone/social, and nature/manmade. At second, they can associate free text tags to the noise to further expresstheir impression (see Figure 11(c)). Once the subjective information is attached, allthe information collected by the application is sent to the web application serveras soon as a working data connection is available. WideNoise Plus allows users toview a community map displaying the average noise level at nearby locations, byrelying on the statistical elaboration provided by the server (see Figure 11(d)). Asan integration with social networks, users can also share their own recordings via
Springer Verlag, Berlin/Heidelberg, Germany. In Press Chapter 7 Applications for Environmental Sensing in EveryAware Martin Atzmueller1, Martin Becker2;3, Andrea Molino4, Juergen Mueller1;3, Jan Peters5, and Alina Sˆırb u6 Abstract This chapter provides a technical description of the EveryAware applica-tio