Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Facilitating the Development of IoT Applications in Smart City Platforms
Stefano Valtolina – Università degli Studi di Milano
The Snap4City project
• Pre-Commercial Procurement (PCP) Project within the H2020 EU Project SELECT4CITIES (http://www.select4cities.eu/)– Join proposal with the University of Florence
• The project goal is to develop an –open, standardized, data-driven, service-oriented and user-centric
platform• Experimented on large scale cases:
– Florence, Antwerp, Helsinki
2
Requirements and Objectives
• Snap4City serves as a City Platform, for: –Collecting and combing IoT devices (sensors and actuators) or services for
accessing real-time and historical data• The integration is carried out by the use of a city ontology (Km4City)
–Creating and sharing IoT applications that allow:• Managing events that happen in the city (about weather conditions, mobility,
cultural events, emergency or critical situations,….)
–Performing data analysis based on KPI, maps, data trends, charts, etc. and carried out by using machine learning, statistics, reasoning techniques
3
Design of IoT Applications
• IoT applications that can:– Acquire data from heterogeneous sensors (w.r.t. to their format, communication
protocol, semantic)– Aggregate, combine, transform data according to the analysis to carried out– Send commands to different actuators
• City operators need to design IoT applications– Operators who are experts in a specific domain but not experts in programming
5
• A EUD approach that can simplify– the process of configuration of IoT devices and – make uniform the representation of the events – without forcing operators to get bogged down in writing code
• What is the most suitable interaction style?
Visual tools for empowering city operators
6
Visual tools for empowering city operators
• Wiring composition drawing graphs– to connect nodes for integrating and wiring together devices, APIs and services – to carry out data processing such as transformation, filtering, routing, aggregation,
enrichment of data– Commercial solutions:
• e.g. Talend Studio[3], StreamBase Studio[4], Waylay.io [5]
– Free and Open source solutions:• Eclipse Kura [6] l, Node-RED [7], and Flogo [8]
[3] www.talend.com [4], www.streambase.com [5], www.waylay.io[6] https://eclipse.github.io/kura/, [7] https://nodered.org, [8] https://tibcosoftware.github.io/flogo/
7
Visual flow editors: pros and cons
• They provide operators with:– a familiar interaction used in several city Dashboards:
• ClouT [9], REPLICATE H2020 [10], CityPulse [11] and SmartSantander [12]– They provide rich user interfaces for supporting full application lifecycles
• But in some cases:– they require to use programming languages paradigms– they offer a poor library of nodes for accessing different types of IoT sources
• Most promising solution -> Node-RED• Mature; wide community, a rich library of nodes for getting data by using common
protocols such as MQTT, AMQP and NGSI
[9] [ClouT link; [10] REPLICATE link; [11] CityPulse link; [12] SmartSantander link
8
• Node-RED nodes for: –Acquiring data from heterogeneous IoT devices according to the
protocol used by different IoT brokers–Harmonizing the schema of each source according to a common
format–Enabling insertion of functions for applying ETL operations
Node-RED nodes for faciliting the IoT design
11
Node-Red IoT-Directory
• Support for the development of flows for the acquisition of the data– Automatic configuration of the IoT devices– Uniform representation of the generated events
• Send commands to actuators:– Automatic configuration of the IoT broker– Automatic preparation of the messages to sent to the actuators through the IoT Brokers
14
Conclusion and future works
• We created two Node-RED building nodes that have been integrated into the Snap4City platform with the aim of supporting city operators in designing effective dataflows
• A solution based on a EUD strategy that aims at supporting city operators who are not computer experts, but experts in specific domains such as monitoring weather, traffic, quality of water and air, or events that happen in the city
• We need:– to devise a library of parameterizable JavaScript function nodes for carrying out data-
processing without forcing operators to write JavaScript code– to provide operators with an assistant that help them in discovering most interesting IoT
devices or suitable data-processing functions according to their needs by using machine learning techniques
16