Jul 12, 2015
IoT
Paolo Patierno
Microsoft MVP Windows Embedded / IoT
@ppatierno
12/3/2014 1
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Who am I ? Contacts
12/3/2014 2
• Senior Software Engineer
• Microsoft MVP Windows Embedded / IoT
• «Embedded101» board of director member
– http://www.embedded101.com/Blogs/PaoloPatierno.aspx
• «DotNetCampania» member
– http://dotnetcampania.org/blogs/paolopat/default.aspx
• «TinyCLR.it» member
– http://www.tinyclr.it
– http://it.linkedin.com/in/paolopatierno
• AllSeen Alliance «sponsored» member for AllJoin project
• Eclipse «committer» for Paho project
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
T I
12/3/2014 3
CLOUD ?
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
IoT Communication Patterns
12/3/2014 4
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
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Challenges
12/3/2014 5
• Connectivity
– Addressability
– Heterogeneity
– Security
– Efficient Scale
• Messaging
– Telemetry
– Notifications
– Command/Query and Inquiries
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Why messaging ?
12/3/2014 6
• 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
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Service-Assisted Communications
12/3/2014 7
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Device Gateway – Reykjavik project
12/3/2014 8
• IoT Gateway in the Cloud
• Based on Azure services : Service Bus
– Queues
– Topics/Subscriptions
– Event Hubs
• Will be released as open source on
GitHub
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Device Gateway – Reference Architecture
12/3/2014 9
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
How it works
12/3/2014 10
• 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
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
How it works
12/3/2014 11
• 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
Inbox
Co
mm
an
d A
PI
Pro
toco
l H
ead
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Telemetry with Azure Service Bus
12/3/2014 12
• Parallel processing
• Different QoS levels
• Load balancing
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Commands with Azure Service Bus
12/3/2014 13
• Delivery timeout
• Spotty connectivity
• Traverse NAT/firewall
| www.toradex.com Toradex® is a registered trademark of Montadex GmbH
Azure Intelligent System Services
12/3/2014 14
• 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