# A Social Environmental Sensor Network Integrated within a Web GIS Platform
## 3 Implementation
### Network Architecture
The two-way communication among fixed sensor nodes and the server is implemented using the MQTT protocol, which enables message interchange through topics using a publishing subscribing procedure. Moreover, since MQTT is an extremely lightweight protocol, designed to require small code footprint and network bandwidth, guarantees a significantly small message size. Moreover, it is available for many heterogeneous devices and programming languages and fully compatible with all platforms that have been used within our system. Data sharing infrastructure is based on a network server acting as a web service. It consists of a Node.js server and an MQTT broker, both deployed on the Heroku cloud development platform. Ultimately, a non relational database model has been selected for data management and storage of the recordings. MonogDB manages data as individual text documents (JSON) with distinct structure (field and values). In addition to the server, database is based on mLab [37] cloud storage service. Finally, the Android App is developed with Ionic framework [38] that offers simplicity whereas supporting Angular.Js front-end development standard. Ionic utilizes ngCordova [39] framework which functions on top of npm Javascript package [40]. The app is equipped with functional and visualization capabilities, allowing the user to control, monitor and assess environmental quality (Figure 5). Base station's role on this application is to collect and transmit data to a repository. In addition to this, our project exploits the plethora of android platform capabilities. It offers the user live reading and control alongside with geographical overlay of the recordings. The embedded Web Map is developed through the Mapbox platform that represents current and past recordings along with their spatial representation (Figure 6). It provides user an extended apprehension of environmental quality in any given place and time the sensors are deployed. Figure 4: Android App schema. Figure 5: Data Acquisition on the Android application; Presented values within each line are: Relative Humidity, Temperature, Heat Index, Luminosity, CH4 ppm, CO ppm, dB, longitude, latitude. ## 5 Use Case Scenarios

The system has at its disposal multiversal capabilities which allows repeatability among various cases. Assessing environmental quality is a complex multi-parameter procedure and a deployment schema has been created for the purpose of the specific research work. At the operational level, the recording device may be used for both portable and fixed operation while on both occasions requires Internet access for data transmission. Portable sensors depend on Android for spatial recordings and network connection. While being fixed, they have predefined location and autonomous connectivity. The latter is fastened in specific building infrastructures with the aim of providing the system with continuous baseline data. This operates as a filtering mechanism that minimizes the possibility of spatial errors. On the other hand mobile measurements supply the monitoring system with risk indicators on a given route the sensor has \"passed through\". Repeated traverses on the same route or on specific spatial points could possibly indicate spatial propagation of nuisance derivatives. The main idea is situated at the operation of the sensor on systematic itineraries by frequent commuters based on un-complicated reproduction of methodology. Human is an indispensable factor on implementing the aforementioned complex monitoring procedure. The evaluation of the receptive environment is based on criteria originating from qualitative measurements [5]. Small scale implementation and minimum resources restrict wider operation with several nodes dispatched into different locations. The application requires continuous operation of at least two sensing devices (portable and fixed) in order to replete the database with spatial and numerical records and subsequently produce optimal representation and highlight probable system errors or weaknesses.