Internet of Things : my washing machine on Internet ?
-
Upload
paolo-patierno -
Category
Technology
-
view
793 -
download
0
description
Transcript of Internet of Things : my washing machine on Internet ?
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
MISC01- Internet of Things: la mia lavatrice collegata ad Internet?
Paolo Patierno – Valter Minute
[email protected] - @ppatierno
[email protected] - @VMinute
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Grazie a
Sponsor
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Agenda• Internet of Things?
• IoT Communication Patterns
• Reykjavik … a device gateway on Azure
• Azure Intelligent System Services … a quick intro
• Demo
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Who we are• Paolo Patierno
@ppatiernohttp://dotnetcampania.org/blogs/paolopat/default.aspx
http://www.embedded101.com/Blogs/PaoloPatierno.aspx
• Valter Minute@Vminutehttp://geekswithblogs.net/WindowsEmbeddedCookBook
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Who are you?• Developers
• Embedded Developers
• Developers in the Clouds
• NSA Agents
• Just realized that we are in the wrong room
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
IoT and Bing Bang Theory• https://www.youtube.com/watch?v=mqp8_ROAIJY
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
• 1 Trillion Connected Devices by 2015• 10 Billion Connected Devices by 2020
Internet Of Things Defined In Numbers (?)• 25 Billion Connected Devices by 2020• 50 Billion Connected Devices by 2020• * <Billion/Trillion/Petazillion> Connected Devices by 20**
• There are more Connected Devices than Human Beings
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
All Your Base Are Belong To Us• Computers are all around us
• Computers on our desks
• Computers in our pockets/backpacks
• Computers in our cars
• Computers in our washing machines
• Computers that we can swallow
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Embedded Devices• A computer that does not look like a computer can be called:
Embedded Device
• An Embedded Device connected to the Internet is an Internet Of Things Device
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
IoT “device”• An “IoT Device” does not exists
• You have IoT when you have Things (Devices) and Internet
• A Solution that Integrates Devices and Internet-Based Services is an IoT Product
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Internet of Things• IoT is not about devices connected to the Internet
• IoT is about devices using the Internet to communicate and provide services
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Data, data and more data• Collecting data is easy
• Aggregate, process and understand data is complex
• Extracting relevant information from big data collections is the key for a successful IoT solution
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
So, What About the Washing Machine?• Provide a better service
• Collect information
• Provide this information to the end user
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Stuck In Traffic• No Communication
• No Information
• Everybody Gets Stuck!
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Security and Privacy• Objects can be personal
• Objects can be used to collect personal information
• Servers should trust objects and their identities
• People no longer trust big corps
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Hello, Ciao, Grüetzi…• IoT needs standards
• Too many standards means no standard
• Big companies grouped in consortiums
• Communication protocols must meet low-bandwidth requirements
• Interoperability at server level is not always the best solution
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Develop for the IoT• Lots of client-side and server-side tools
• Interoperability is the Key
• Microsoft offers some components and tools
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
IoT Communication Patterns
Telemetry
Information flowing from a device to other systems for conveying status of device and environment
Inquiries
Requests from devices looking to gather required information or asking to initiate activities
Commands
Commands from other systems to a device or a group of devices to perform specific activities
Notifications
Information flowing from other systems to a device/group for conveying status changes in the world
1:N 1:N
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Device Gateway – Reykjavik project• IoT Gateway in the Cloud
• Based on Azure services : Service Bus Queues Topics/Subscriptions Event Hubs
• Released as open source on GitHub
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Why messaging ?• Asynchronous
decouple sender and receiver
• Patterns Publish/Subscribe Request/Reply (with correlation)
• Message durability and devices availability Temporal decoupling
• High rate traffic and high data throughput
• Big Data analysis and backend with its own pace Load leveling Load balancing
• Reliability and QoS
• Scalability
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Device Gateway Challenges• Connectivity
Addressability Heterogeneity Security Efficient Scale
• Messaging Telemetry Notifications Command/Query and Inquiries
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Service-Assisted Communications
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Device Gateway – Reference Architecture
1. Custom Protocol Gateway
2. Telemetry Pump and Adapters
3. Command Gateway
4. Provisioning Service and Metadata Store
Service Bus Messaging
Custom Protocol Gateway Host
MQTT CoAP …
Telemetry/Request Router
Notification/CommandRouter
Adapters Command API Host
Provisioning Service
Device Metadata and Key
Store
HD
Insi
ght
Biz
Talk
Orl
eans
Azu
re
Sto
rag
e
Azu
re D
bs
Serv
ice B
us
HTTP
HTTP
Devices
AMQP
1
2 3
4
Configuration
HTTP
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
How it works• Devices connect via open standard protocols
AMQP 1.0 and HTTP supported natively by the Service Bus MQTT, CoAP and others can be implemented via custom
gateway/adapter model Sockets secured via TLS (or a lightweight variant)
• Devices connect via proprietary protocols Custom protocol gateway needed for it
• Devices not IP capable connected by a field gateway
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
How it works• Each device has a dedicated Inbox/Outbox on the Gateway
Device sends telemetry/alerts and routes service invocations via its Inbox
Device receives commands and queries from its Outbox Correlated request/reply patterns can be implemented on top of
these two messaging channels The device knows, and has access to, only its own specific
Inbox/Outbox endpoints (URI’s)
Backend Components
Device Gateway
Outbox
InboxC
om
man
d A
PI
Pro
toco
l H
ead
Device
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Telemetry with Azure Service Bus
Topic SubsFilters
Service Bus
Device 2
Receiver 2b
Device 1
Device 3Receiver
2a
Alerts
Data
Receiver 1 Alert Processor
StoragePre-processor
• Parallel processing
• Different QoS levels
• Load balancing
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Commands with Azure Service Bus
TopicSubs Filters
Service Bus
Device 2
Device 1
Device 3Sender 2
Model A
Device 3
Sender 1
Model TModel T
Model A
• Delivery timeout (TTL)
• Spotty connectivity
• Traverse NAT/firewall
rel
Topic Subs
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Azure Intelligent System Services• http://
www.microsoft.com/windowsembedded/en-us/intelligent-systems-service.aspx
• Connection for heterogeneous devices
• Telemetry, alarms and commands
• Monitoring, control and analysis
• Currently in limited public preview
https://www.youtube.com/watch?v=NYpdNGl1hco
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
demoIoT Washing Machine!
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Windows CE
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
.Net Micro Framework - Netduino
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Q&ATutto il materiale di questa sessione su
http://www.communitydays.it/
Lascia il feedback su questa sessione dal sito,
potrai essere estratto per i nostri premi!
Seguici su
Twitter @CommunityDaysIT
Facebook http://facebook.com/cdaysit
#CDays14
#CDays14 – Roma - 23, 24 e 25 Settembre 2014
Reference• Internet of Things with Azure Service bus (Build 2014)
http://channel9.msdn.com/Events/Build/2014/3-635
• AMQP.Net Litehttp://amqpnetlite.codeplex.com/
• M2Mqtt projecthttp://www.m2mqtt.net
• Windows CE Board:http://www.toradex.com
• Netduinohttp://netduino.com/
• Clemens Vasters MSDN bloghttp://blogs.msdn.com/b/clemensv/