This document discusses Microsoft IoT solutions using Azure. It introduces Internet of Things concepts and why the cloud is important for IoT. It describes key Azure IoT services like Event Hubs and Stream Analytics. Popular IoT protocols like MQTT and AllJoyn are covered. Microsoft operating systems for IoT devices from Windows Embedded to Windows 10 IoT editions are explained. Finally, it demos connecting devices to Azure services and discusses the Connect the Dots open source project.
2. Who am I ?
Vinoth Rajagopalan
Project Lead – Windows Embedded Products & IoT
e-con systems India Pvt Ltd
MVP- Windows Embedded
3. Topics
• Internet of Things – An Intro
• Why Cloud for IoT
• Azure IoT services
• IoT Protocols
• Microsoft OS for IoT
• Devices for IoT
• Demo
4. Internet of Things (IoT)
• Connecting Heterogeneous systems
seamlessly in to information network to
achieve business and social values
• 25 Billion Connected things on 2020 (
More than Human population in the
world)
• IoT, M2M , Intelligent systems etc..
Converging the same
• Examples
• Smart Home, Smart City, Smart Hospitals,
Smart …..
5. Evolution of IoT
• Earlier IoT systems
• Expensive on installing and maintaining
• Difficult implementation (No standard protocols, services etc..)
• Why IoT is booming?
• Cheaper hardware (sensors, processor boards, RF devices etc..)
• More standardization on Hardware platforms
• M2M protocols and easy connectivity of Heterogeneous systems
6. Why Cloud (Azure) for IoT?
• Cloud - Back bone of IoT
• Highly scalable
• Connecting millions of devices
• Enormous storage, processing capacity
• Connecting Heterogeneous systems
• PCs, Mobiles, bigger devices to smaller
devices running on various OS
• Data Analysis to create business value
• (ex) Vending Machines
• Variety of cloud services
7.
8. Azure Event hub
• Part of Azure Service Bus
• Handling Telemetry Messages from devices, Apps and websites
• Logging millions of events/second
• Connect millions of devices across platforms
• Time-based event buffering
• Elastic scale in order to accommodate variable load profiles
• Accessible through AMQP and HTTP protocols
10. Azure Stream Analytics
• Real-time stream processing in the cloud
• Processing Millions of Events / second
• Simple SQL-like language to define your stream processing logic
• No hardware to deploy
12. 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
13. Popular IoT Protocols
• Alljoyn (https://allseenalliance.org/)
• Open source framework for IoT
• Initiated by Qualcomm and now it is growing bigger (Maintained by Allseen
Alliance)
• SDKs available for Windows/WEC, Linux, Android, iOS,
• .net MicroFramework (Available soon)
• SDK types
• Standard SDK
• Thin client SDK – for resource constrained devices
• Microsoft adopting this as a service in Windows 10 (various versions)
14. Popular IoT Protocols
• MQTT (http://mqtt.org/)
• Available in the industry for more than 10 Year
• Open standard by IBM and adopted by many org
• Extremely lightweight publish/subscribe messaging transport
• Support for Windows/WEC, .net Micro framework, Linux, Android, iOS,
• Broker (server)/ Client Mechanism
• https://m2mqtt.codeplex.com/ - .net code for MQTT
15. Windows IoT AllJoyn Device Network
Internet/Cloud
Windows can bridge AllJoyn to other proximal networks and remote device networks via the cloud
Proximal Network
AllJoyn Node
Other Proximal
Devices
Windows IoT
AllJoyn Cloud Bridge
3rd party
device
cloud
AllJoyn Thin
Client
16. Azure for IoT future roadmap
• Azure IoT suite
• Evolution of Azure Intelligent systems services
• Based on Azure service bus
• Device Repository, Event storage, Set Alerts, Commands and perform
Analytics
• Device Gateway – Reykjavik project
• IoT Gateway in the Cloud
• Based on Service Bus
• Queues
• Topics/Subscriptions
• Event Hubs
• Released as open source on GitHub
• Access using HTTP, AMQP, MQTT, CoAP and custom protocol gateway
17. Device Gateway – Core Architectural
Concepts
1. Custom Protocol
Gateway
2. Telemetry Pump
and Adapters
3. Command Gateway
4. Provisioning
Service and
Metadata Store
Windows Azure Service Bus Messaging
Custom Protocol Gateway Host
MQTT CoAP … …
Telemetry/Request
Router
Notification/Command Router
Adapters Command API Host
Provisioning
Service
Device
Metadata
and Key
Store
HDInsight
BizTalkSv/Sr
Orleans
AzureStorage
SQL
SB
HTTP
HTTP
Devices
AMQP
1
2 3
4
Configs
18. Microsoft OS for IoT
• Windows Embedded Compact
• Used to build any X86 and ARM core based devices (earlier version support
MIPS Arch)
• Extremely customized
• OS foot print on MBs (<100MB)
• Suitable for devices with low power, low processing core(300 MHz to 1GHz
and above) and RAM (64 MB to ~3 GBs) and minimum ~64MB and above
• Native Win32 and .Net CF
• Broader range of connectivity support
• Windows Embedded Handheld
• Earlier WEH is based on Windows Embedded compact based kernel
• Latest versions are based on Windows Phone 8.1 Kernel
• License provided selected OEM
19. Microsoft OS for IoT ( Cont..)
• Windows Embedded Standard/Industry
• X86 based devices
• Customized version of Windows PC operating systems
• Image foot prints are larger and similar to PC but it is componentised
• .NET Micro Framework
• Open source OS
• ARM Architecture (ARM7, ARM9 and ARM Cortex M)
• Suitable for resource constrained devices (256 KB of Flash and 64KB of RAM)
• C# Managed code ( A sub set of .net base class libraries)
• https://amqpnetlite.codeplex.com/ - AMQP for accessing Service Bus ( Event
hubs)
20. Windows Embedded Family
Portable
media Consumer Thin Client
Industrial
Automation Telematics Robotics
Entertainment Medical
Industrial
Automation Thin Client
Point of
Service
Kiosks Entertainment
Server appliances
Kiosks
21. Windows 10 IoT Editions
For Industry Devices
Desktop Shell, Win32 apps
1 GB RAM, 16 GB Storage
For Mobile Devices
Modern Shell
Mobile Chassis requirement
512 MB RAM, 4 GB storage
For Small Devices
Dedicated devices
No Shell/Store/MS Apps
256MB RAM, 2GB storage
Universal Apps
Windows Device Services
• On all Windows IoT clients
• Extends value of Windows for OEMs
• OS telemetry, update management,
interoperability
• Azure IoT-ready
Requires desktop or desktop apps–
Win32, .NET, WPF, etc. ?
Requires a Shell experience, multiple
applications, Windows first-party
applications, or mobile voice?
Otherwise
22. Windows 10 – For Small devices
Sharks Cove
• Intel ® Atom™ Processor Z3735G, 2M Cache, 4 Core,
1.33GHz up to 1.88GHz
• Supports Connected Standby
MinnowBoard MAX
• Intel® Atom™ E3800 processor
• Open Hardware Platform (Gerbers & Layout)
Qualcomm DragonBoard™ 410C
• Qualcomm Snapdragon 410 (APQ8016)
• 1GB LPDDR3, 4GB eMMC
23. Raspberry Pi 2
Bringing the power of Windows to the
Maker community
Hardware specs:
• Broadcom 2836 900MHz quad-core ARM Cortex-A7
CPU
• 1GB LPDDR2 SDRAM
• MicroSD, Ethernet, USB, HDMI
• GPIO, I2C, I2S, SPI
• www.windowsondevices.com
24. Arduino
• What is Arduino?
• Arduino is an open-source electronics platform
• Based on easy-to-use hardware and software.
• It's intended for anyone making innovative projects.
• Boards, Off-The-Shelf Shields, IJW Software, Kits
• http://www.arduino.cc/
• Hardware
• Variety of Implementations
• All implement the same hardware interface (or superset), same physical pin locations
• Arduino (various) ARM ATmega328 etc MPU
• .NET MF: Netduino
• Intel Galileo (Runs Headless version of Win 8.1)
• 86Duino (x86 Like Galileo but support Windows Embedded Compact)
26. • Headers on both sides of board will mount a shield plug
directly in
• Meant to be stackable
• IO Hardware physically implemented to plug into Arduino sockets
• Standard Drivers
• Same driver source will run shield on all variants of Arduino
• Sensors, Network, WiFi, Sensors, Actuators etc
• Shield List
• http://shieldlist.org/
27. Connect The Dots
• Connect tiny devices to Microsoft Azure
services to build IoT solutions
• www.connectthedots.io
• Open source project by Microsoft Open
Technologies
• Multiple client platforms
• Windows
• Linux
• .NET microframework
• Arduino
• Azure-based services and front-end