Top Banner
Facilitating the Development of IoT Applications in Smart City Platforms Stefano Valtolina – Università degli Studi di Milano
16

Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

May 31, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

Facilitating the Development of IoT Applications in Smart City Platforms

Stefano Valtolina – Università degli Studi di Milano

Page 2: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

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

Page 3: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

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

Page 4: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

The Dashboard

4

Page 5: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

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

Page 6: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

• 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

Page 7: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

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

Page 8: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

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

Page 9: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

Creating Dashboard Using Node-RED

9

Page 10: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

IoT apps in Node-RED

10

Page 11: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

• 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

Page 12: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

Parametric and direct Discovery in

12

Page 13: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

Map-based Discovery in

13

Page 14: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

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

Page 15: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

Snap4City, MajorCities, June 2019

15

Page 16: Facilitating the Development of IoT Applications in Smart ... · City Platform, for: –Collecting and combing . IoT devices (sensors and actuators) or . services. for accessing .

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