@andybareweb
Connecting IoT
Andy Cross, Director Elastacloud Ltd
Windows Azure MVP
Da zee zij oek.
Thank you, sponsors!
The Cloud for
Modern Business
Grab your benefit
aka.ms/azuretry
Deploy fast in the
cloud, scale elastically
and minimize test
cost
Activate your Windows Azure MSDN
benefit at no additional charge
aka.ms/msdnsubscr
IoT fundamentals
Billions of internet connected devices
All varying device capabilities
Devices sometimes online
Android emergent but expensive
Silicon solutions without software
Software solutions on generic hardware
This session
Largely practical
*we need luck for this to work!*
Demonstrates the state of the art with Microsoft technologies
Covers patterns and futures
Firstly - Scenario
A million internet connected, distributed heat sensors
In homes, maybe connected to intelligent heating systems
Perhaps these work in buildings (‘tenants’)
We require 4 communication types:
Notification: Send message to device
Command: Send message and receive a response
Inquiry: Receive message and send a response
Telemetry: Receive a message from the device
M2M Information Exchange 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
Notifications
Commands from other
systems to a device or a
group of devices to
perform specific
activities
Information flowing
from other systems to a
device (-group) for
conveying status
changes in the rest of
the world
Supporting Tech 1 -> Client
We will be using NETMF and the Netduino Plus 2.
We will be using only Open Source client libraries in order that smaller
devices can reimplement or lighten the library weight
Ethernet connected as a baseline; it is possible to connect via wifi/gsm etc,
but the demo gods are fickle.
Supporting Tech 2 -> Cloud
We are using Windows Azure’s storage services
These do not require SSL and this eases the load on our stack – BUT BEWARE WHAT
THIS MEANS FOR YOUR APP
Queue -> For command and control
Table -> For logs and reporting structured data
Blob -> For reporting unstructured data
Demo
NETMF storage basics
Demo
NETMF storage GB -> PB
Demo
4 types of Device Communication
Futures
What does the future of devices and Azure hold?
What haven’t we done today?
With more capable devices:
Secure connections via SSL
Cipher of message content
With a better client library:
Use of Shared Access Signatures for authentication
Or a totally different approach:
Windows Azure Service Bus
Why Service Bus
Lightweight protocols:
AMQP
Built in security
High scalability targets
Throughput
Number of Queues
Pub/Sub technologies suit multiple devices
What might be even better?
Front the Service Bus with MQTT as a custom Protocol
Binary transfer technology, with no ceremony
Lightweight, secure
With SB underneath this is scalable
Providing the fronting tier is itself scalable; Windows Azure
Final Thought: WTF do I do with the
data?
A billion devices connected has the capability to produce a huge amount of
data
Azure Storage can cope with this but … how do I derive meaning from it?
Answer: Using Big Data Technologies; see my afternoon session on Big Data:
Data Liberty in an age POST Sql.
Thanks
Questions?
The slide of disaster (snafu fallback!)
For M2M on Azure; follow @clemensv watch Subscribe:
http://channel9.msdn.com/Blogs/Subscribe
If you don’t hate me already … ;-0
My AzureConf 2012 video:
http://channel9.msdn.com/Events/windowsazure/AzureConf2012/A06
My netmfazurestorage lib https://github.com/andycross/netmfazurestorage
Sign up for an Azure Free Trial: http://www.windowsazure.com/enus/pricing/free-trial/