The widespread availability of mobile devices, significantly changed the market making them attractive to an endless number of always connected applications and services. At the same time, academia and companies focused and invested significantly on the Internet of Things (IoT) and the Machine- to-Machine (M2M) paradigm. IoT and M2M are inherently ready to be integrated with the World Wide Web and many approaches and techniques have been shared and extended. In this scenario many actors start talking and defining the concept of Web of Thing (WoT) envisioning a world where devices are exposed using WWW languages. In this session, you will be briefly introduced to the main concepts that characterize and define the Internet of Things and how mobile devices will play a fundamental role in the upcoming global scenario. The session will introduce and present the characteristics of the main approaches and protocols adopted in M2M and IoT applications (in particular CoAP, CoSIP, MQTT, and HTTP) and how they could be used on the Android platform through some key libraries and examples. Main challenges that will be faces during the talk are related to the communication among heterogeneous devices, the protocols management and the dynamic service discovery.
More than Just Lines on a Map: Best Practices for U.S Bike Routes
The Android Platform in the “era” of Internet of Things - Droidcon Italy 2014
1. The Android Platform
in the “era” of Internet of Things
Marco Picone, Ph.D.
Università degli Studi di Parma
@marcopk
Droidcon Torino - 2014
2. @me
I am a Postdoctoral Research Associate at the University of
Parma. I have received from the same University the Dr. Ing.
degree (Master) in Computer Engineering "cum laude" in 2008
and the Ph.D. degree in Information Technologies in 2012.
My research activity focuses mainly on:
-
Distributed and Peer-to-Peer Systems
-
Vehicle-to-Vehicle and Vehicle-to-Infrastructure
communications
-
Mobile & Pervasive Computing
-
Internet of Things, Wireless Sensor Networks and Mobile
based Sensing
http://wasnlab.tlc.unipr.it/people/picone/
@marcopk
http://dsg.ce.unipr.it
http://mobdev.ce.unipr.it/
4. Where we started ?
Since from the beginning of the Internet, there was the
desire to connect more “things” to it.
Source: ARPANET Completion
Report: January 4, 1978.
http://www.youtube.com/watch?
v=vuiBTJZfeo8
http://www.lk.cs.ucla.edu/index.html
5. Where are we today ?
The internet now connects billions devices anywhere!
http://internet-map.net
7. The mobile-centric world
WiFi
WiFi Direct
3G/4G
Bluetooth
NFC
Social Accounts
Address Book
Phone Calls
Location
(GPS, 3G, WiFi)
Shared Data
Phone
/
Tablet
NFC
Payment
Remote
Services
Browsing Data
Photos / Videos
...........
Smart
TV/Display
8. The mobile-centric world
“What a difference 8 years
makes: St. Peter’s Square
in 2005 and yesterday”
Mobile Devices changed almost the entire ICT world in
terms of new and already existing software, hardware and
services !
9. What’s next ?
Wearable Computing Revolution in 2014 ?
Glasses
Motion Sensors
Smart Watches
SDK
“Mobile handsets & tablets are
attraction points for surrounding
personal smart devices”
10. Where we will be in the next years ?
The internet will connect from 10 billion to 15 billion devices !
50 billion in 2020 ?
Internet of
Things Age
http://www.ericsson.com/res/docs/
whitepapers/wp-50-billions.pdf
http://www.businessinsider.com/
internet-of-things-billions-ofconnected-devices-2014-1
11. The Internet of Things (IoT)
“A network of networks with billions of uniquely
identified physical smart objects organized in an
Internet-like structure”
“Smart Objects are items such as sensors,
consumer devices, and enterprise assets that
are connected to both the Internet and each
other”
12. The Internet of Things (IoT)
The vision of IoT is to integrate at the same time new and existing approaches and
technologies (such as Mobile & Pervasive Computing, Machine-to-Machine,Ambient
Intelligence, Wearable technology, Cloud Computing etc ...) to:
•
Properly use existing protocols and define new standards
•
Manage Heterogeneity and dynamism at different levels
(Physical, Data Link, Network, Transport, Session, Presentation and Application)
•
Open the networks to new services and technologies
•
Open the data to create new aggregated and enriched services
13. IoT Application Scenarios
Parking
Building
Lighting
Grid
Mobility
Health
Agriculture
....
Several of these sub-systems have been already studied as isolated networks.
The vision of IoT is, starting from the existing experience, to design new approaches and
technologies to connect all these subsystems in a smart Internet-like structure where the keyconcepts are Integration & interoperability among services and data analysis.
14. The Information Flow
Machine-to-Machine
Sensor Stream
Human-to-Machine
Crowdsourcing
Improve Efficiency
“Big Data”
Analytics
Offer New Services
Information-to-Machine
Internet
Power Application
Feedbacks & Updates
18. IoT Open Challenges
The main challenges that have to be faced in the IoT world are:
- Allow the connectivity of thousands of different devices in the same area using different
access technologies and protocols
-
Manage heterogeneity and dynamism through Service Discovery and Protocol
Translation
- Efficiently collect data from different sources
- Process collected data
- Adapt and improve the deployed systems
- Provide new services
19. IoT and Sensor Network HW & SW
-
Sensing and actuation capabilities
-
Contiki OS
-
8, 16 or 32-bit MCU
-
Tiny OS
•
•
More and more 32-bit,
-
Arduino-like
i.e. ARM Cortex M3
-
Linux-like
-
Small memory (tens or hundreds of kB)
-
Power source: battery or mains
Low-power radio (e.g. sub-GHz, 2.4
GHz)
Sometimes with energy harvesting
Mainly for constrained nodes
20. IoT Protocols
HTTP XMPP MQTT
...
CoAP
TCP
...
UDP
IP [ IPv6 (6LoWPAN + RPL) or IPv4]
WiFi
ZigBee/802.15.4
Sensor Stream
Traditional IP stack !
Many IETF Standards
PLC
Bluetooth
IP connects a variety
of link layers
Wired or wireless
...
21. IoT Transport Layer
Like in the traditional
Internet: TCP and
UDP
HTTP XMPP MQTT
...
CoAP
TCP
No specific adaptation
(other than 6LoWPAN
compression)
...
UDP
IP [ IPv6 (6LoWPAN + RPL) or IPv4]
WiFi
ZigBee/802.15.4
Sensor Stream
PLC
Bluetooth
...
22. IoT Application Layer
A variety of application
layers
HTTP XMPP MQTT
Borrowed from the
Internet (HTTP, XMPP)
or not (CoAP, MQTT)
...
CoAP
TCP
Most common goal:
enable RESTful
interaction
...
UDP
IP [ IPv6 (6LoWPAN + RPL) or IPv4]
WiFi
ZigBee/802.15.4
Sensor Stream
PLC
Bluetooth
...
23. IoT Application Protocols
-
CoAP [UDP]: is used for resource constrained, low-power sensors and
devices connected via lossy networks, especially when there is a high number
of sensors and devices within the network.
-
HTTP (with a RESTful approach) [TCP]: is particularly attractive for connecting
consumer devices, given the near universal availability of HTTP stacks for various
platforms.
-
MQTT [TCP]: is a machine-to-machine (M2M)/"Internet of Things" connectivity
protocol. It was designed as an extremely lightweight publish/subscribe
messaging transport. It is useful for connections with remote locations where a
small code footprint is required and/or network bandwidth is at a premium.
24. IoT Real Scenario
The Internet
REST API
Smart Object (SO)
IoT Network
Client
IoT Hub
Internet Server
Client
HTTP
Data Cache
S
Server
HTTP
Data Storage
CoAP
IoT Hub
S
CoAP
S
CoAP
Server
Data Storage
Data Storage, Processing,
Aggregation and Distribution
S
CoAP
S
CoAP
Data Source/Stream, manage Incoming
and Outgoing requests/responses SO
25. IoT Real Scenario
The Internet
IoT Network
Client
HTTP
Smart Objects
cooperate among
them and with the
IoT Hub
Data Cache
S
Server
HTTP
Data Storage
CoAP
IoT Hub
S
CoAP
S
CoAP
Server
Data Storage
S
CoAP
S
CoAP
26. IoT Real Scenario
The Internet
IoT Network
Client
HTTP
Smart Objects
cooperate among
them and with the
IoT Hub
Data Cache
S
Server
HTTP
Data Storage
CoAP
IoT Hub
S
CoAP
S
CoAP
Server
Data Storage
S
CoAP
Smart Objects
that go directly to
Internet
S
CoAP
27. IoT Real Scenario
The Internet
Client
HTTP
IoT Network
IoT Hub is the bridge
between the Internet and
the IoT. Translates
protocols and cache data.
Smart Objects
cooperate among
them and with the
IoT Hub
Data Cache
S
Server
HTTP
Data Storage
CoAP
IoT Hub
S
CoAP
S
CoAP
Server
Data Storage
S
CoAP
Smart Objects
that go directly to
Internet
S
CoAP
28. Real Scenario with Mobile Devices
The Internet
IoT Network
The Internet
Data Cache
IoT Network
S
Server
HTTP
Data Storage
CoAP
IoT Hub
HTTP
HTTP
HTTP
S
CoAP
S
CoAP
CoAP
S
29. REpresentational State Transfer (REST)
-
REST is an architectural model based on clients and servers, based on the HTTP protocol
All requests are related to resources (identified by a URI) and are represented by a document
containing the details of its state, e.g. a JSON- or XML-formatted document
- It is possible to perform 4 operations on a resource, each mapped to a HTTP request method:
• GET: retrieve the state of the resource identified by the given URI
• POST: create a new resource with the supplied state
• PUT: update an existing resource identified by the given URI with the supplied state
• DELETE: delete the resource identified by the given URI
-
Advantages of the REST paradigm are: standard, uniform interfaces, semantics of HTTP methods,
stateless.
30. REST vs. Web Services
REST Resource
SOAP Service
WSDL/
WADL
JSON-WSP
WSDL/
WADL
application/xml
application/json
application/soap+xml
<?xml?>
<temp unit=“C”>50
</temp>
GET /sensor/temp
{
“temp”=50,
“unit”=”C”
}
GET /sensor/temp
HTTP
mysensor.example.com
Header
Body
RequestSensor(temp)
POST /sensor/service
31. CoAP Protocol
-
Application-layer protocol designed to be used by constrained devices in terms of
computational capabilities, which may feature limited battery and operate in
constrained (low-power and lossy) networks
-
Designed by the IETF CoRE Working Group - draft 18 now in RFC queue
-
Support for multicast communication
-
REST communication paradigm
Lightweight, binary protocol that can be translated to HTTP easily in order to
guarantee the integration with the WWW
CoAP runs on top of a lightweight transport, i.e. UDP
Request/response communication model, support for asynchronous message
exchange
32. CoAP and REST
-
CoAP uses the four methods GET, POST, PUT, and DELETE in the same way as HTTP to
operate on resources
-
GET: instructs the CoAP server to retrieve the representation of the targeted resource;
responses are 2.05 Content or 2.03 Valid in case of success, 4.04 Not Found
-
POST: instructs the server to create the resource; response is 2.01 Created
PUT: instructs the server to update the targeted resource; response is 2.04 Changed
DELETE: instructs the server to delete the targeted resource; response is 2.02 Deleted
both in case the resource was deleted or did not exist
33. Service Discovery
-
Service Discovery is a fundamental component in dynamic
environments to allow consumer devices and applications to
find and interact with available services.
-
Other Networks
SD could be performed:
• In the local network [e.g. automatically accessing a
building and connecting to the available WiFi Network]
Internet
• Through different networks [e.g. Inside a target geographic
region, “which services are available around me now ?”]
-
Different Technologies could be used
• Central infrastructure or repository
• Distributed or peer-to-peer architecture
• Multicast-based protocols
S
S
S
S
Local Network
34. Voilà Project
-
The Voilà Project allows to build IoT Networks where involved Actors & Smart Objects
automatically and without any configuration discover, connect to or disconnect from the
network using the service discovery protocol and standard protocols such as HTTP &
CoAP.
- Voilà involves
- CoAP implementation to the last IETF Draft (Java, Android, and Arduino) (Contiki soon ? )
- Service discovery procedures in local networks and distributed overlays
- IoT Hub implementation with:
• Protocol Translation (HTTP <-> CoAP)
• Resource Directory
• Proxy functionalities
39. Internet of Things & Smart Cities Event
http://phdschool.tlc.unipr.it
The aim of the Ph.D. School has been to address young
researchers to the forefront of research activity on Smart
Cities & Internet of Things, by presenting state-of-the-art
research together with the current and future challenges.
International speakers from academia and industry gave
lectures tailoring their research field for an interdisciplinary
audience. A dedicated discussion panel focused on the
interaction and the collaboration between academia and
industry in order to depict the future vision of Smart Cities
and IoT.
2014 Call - Join the Community !
sponsored by