IoT end-to-end: porta i tuoi dati dal sensore al cloud
Erica Barone
ROME 18-19 MARCH 2016
IoT: gain value from Your Things
Connectivity Data AnalyticsYour Things
IoT is not just about collecting data, it’s about how you can use these data
to gain VALUE
Money New Business Models
Happy Customers
IoT sample scenarios
Pay per Print
Smart vending machines
Wearables forfitness and healthcare
Connected cars
Smart energy & Home Automation
Industrial automation
Many “Things” Microsoft IoT Services
Other “things”
Vehicles
SensorsChips
Buildings and Infrastructure Assets
LoB Assets
Devices
POS Terminals
Industrial devices ATMs
Medicaldevices
PCs/Laptops
Smart Phones
Power BI for Office 365
LOBServices
Cloud Platform and Services
Data and BI Services
HDInsight
Azure Machine Learning
Azure IoT Suite
Microsoft & IoT
But also…Universal Windows Platform
Presentation & Business Connectivity
Data Processing, Analytics and ManagementDevice Connectivity
Resource constrained
devices
Existing IoT devices
IoT SDK
Solution UX
Application Business Logic
Stream Processing and Analytics
Business Integratio
n Connector
s and Gateway(s
)
Field Gateway
Cloud Gateway
Data PathOptional solution componentIoT solution component
IoT SDK
Personal mobile devices
IP capable devices
IoT SDK
Business systemsDevice Provisioning and Management
IoT end-to-end scenario using Azure IoT services
IoT Hub
Stream Analytics
Azure Blob Storage
Power BI
Windows 10 IoT CoreUWP, C# Application
DHT11Temperature
Humidity Sensor
Raspberry Pi 3 Windows 10 IoT Core
Client application on RPI3
const string deviceConnectionString = "HostName=***;DeviceId=****;SharedAccessKey=***";
• Designed for IoT• Connect millions of devices
• Service assisted communications• Devices are not servers• Use IoT Hub to enable secure bi-
directional comms• Cloud-scale
messaging• Device-to-cloud and Cloud-to-
device• Durable messages (at least once
semantics)• Cloud-facing feedback
• Delivery receipts, expired messages
• Device communication errors
• Per-device authentication• Individual device identities and
credentials• Connection
multiplexing• Single device-cloud connection for
all communications (C2D, D2C)• Multi-protocol
• Natively supports AMQP, HTTP• Designed for extensibility to
custom protocols• Multi-platform
• Device SDKs available for multiple platforms (e.g. RTOS, Linux, Windows)
• Multi-platform Service SDK.
IoT Hub
https://azure.microsoft.com/en-us/services/iot-hub/
Stream Analytics
https://azure.microsoft.com/en-us/services/stream-analytics/
What else?
Device Connectivity – from sensor to cloud
* Field Gateway is currently a concept that may represent Microsoft, 3rd party or custom capabilities at a hardware or software level
Field Gateway*CoAP, AllJoyn, OPC
VPN/ExpressRoute
OPC, HTTP, CoAP
Field Gateway*CoAP, AllJoyn, OPC IoT Hub
AMQP, HTTPS
Protocol Gateway(Cloud
Service, VM)
AMQP, HTTPS
MQTT, Custom Protocols
Data PathOptional solution componentAzure IoT solution component
Device
IoT Client
Device
IoT Client
Device
IoT ClientDevice
Device
Device
Protocol Gateway(Cloud
Service, VM)
• Interface• AMQP and HTTPS device-side endpoint• AMQP service-side endpoint
• At-least-once semantics• Durable messages• Device acknowledges receipt
(Send - Receive - Abandon OR Complete)
• TTL and receipts• Per-message TTL• Per-message positive and negative receipts
• Command lifecycle pattern• Use correlated D2C for responses• Use feedback information to retry• Store command state in command registry
IoT Hub
Device id
C2D queueendpoint
D2C send endpoint
Device …
Device …
Device …
D2C receive endpoint
C2D send endpoint
IoT Hub management
Msg feedbackand monitoring endpoint
Send Command: from cloud to sensor
Azure Storage (Blog)
IoT HubWeb JobDevices
Back end systems and processes
C# simulator
Azure Stream Analytics
Web Job
Web App
Event HubSimulated
Device
Event Hub
Document DB
Event Processor Host
Dashboard
Device Portal
RUL Output
Telemetry History
Azure ML
TrainingData
TrainedModule
Input Dataset
Consumer Group
Job 2 Telemetry
Job 1 Device Info
A more complex solution architecture: Azure IoT Suite
Azure Machine Learning
Using known data, develop a model to predict unknown data.
DATA MACHINE LEARNING VALUE
• Web based UI• Share/collaborate• Drag&Drop visual design and development• ML Algorithms catalog• Extend with OSS R|Python scripts• Deploy/Publish/Scale rapidly (APIs)
Azure Data Lake
Azure SQL Data Warehouse
Azure Blob Storage
Big Data Storage
Business
apps
Custom apps
Sensors and devices
IoT devices
Smart objects
Azure IoT Hub
Predictive maintenance
Azure IoT Suite: predictive maintenance
https://www.microsoft.com/en-us/server-cloud/internet-of-things/azure-iot-suite.aspx
…and so much more!
References
• C# course - http://aka.ms/mvacs
• IoTHelpers on TecHeroes - http://aka.ms/thiot
• IoT Hub SDKs on GitHub - github.com/azure/azure-iot-sdks
• IoT Suite -
https://www.microsoft.com/en-us/server-cloud/internet-of-things/az
ure-iot-suite.aspx
• PowerBi O365 Trial -
https://powerbi.microsoft.com/it-it/documentation/powerbi-admin-si
gning-up-for-power-bi-with-a-new-office-365-trial