IoT Camp
29.05.2015
Ulm / Artiso
How do you define IoT?
Grid
Renewables
Oil/Gas/Coal
Recovery and
Distribution
Points
of Sale
Restaurants
Hotels
Fuel
Stations
Patients
Clinics
Hospitals
Nursing
Homes
Mobile
Care
Safety
Security
Comfort
Lighting
Automation
Manufacturing
Integration and
Automation
Remote
Servicing
Predictive and
Reactive
Maintenance
Water
Waste
Pollution
Control
Fire
Emergency
Public
Safety
Law
Enforcement
Letters
Packages
Containers
Tanks
Bulkware
Games
Events
Sports
Television
Streaming
Traffic
Buses
Cars
Trucks
Trains
Vessels
Aircraft
Bikes
Smart
Energy
Smart Pro
Services
Smart
Retail
Smart
Mobility
Smart
Logistics
Smart
Factory
Smart
Cities
Smart
Entertain-ment
Smart
Health-care
Smart
Building
Home
Smart Systems?
Demo Time
Krones AG
IoT Architecture
Windows IoT Azure IoT
De vices Linu x, A ndr oi d, iOS , RTO, W indows
MS Approach
Software as a Service
Azure IoT Suite
Platform as a Service
• Storage
• Service Bus / EventHub
• Compute
• Analytics (NRT, HD-Insight)
• …
SaaS
Azure IoT Suite
Windows IoT
Azure IoT
De vices Linu x, A ndr oi d, iOS , RTO, W indows
Communication Patterns
Telemetry
Ingest
Command
That‘s easy …
•
Ingest rate
•
Storage
•
Security
•
…
That‘s not so easy …
•
Security
•
Latency
•
…
Analyse
@ Scale
Big Data
•
Data in Motion
Communication Patterns
Telemetry
Ingest
6
machines
20
sensors /
machine
X
120
sensors
/
production
line
=
Communication Patterns
Telemetry
Ingest
4
production
lines
/
plant
120
sensors /
production
line
X
480
sensors
/
plant
=
Communication Patterns
Telemetry
Ingest
480
sensors
/
plant
60
telemetry
ingests
/
minute
X
1,728,000
ingests
/
hour
=
Communication Patterns
Telemetry
Ingest
1,728,000
ingests
/
hour
50
e.g.
customers
X
86,400,000
ingests
/
hour
=
Let‘s do the math …
On a 24/7 basis
Services – Service Bus / Event Hub
Overview
Service Bus
Relay
Queue
Topic
Notification
Event
Hub
Interactive Dashboard(s)
Production Line(s)
Services – Service Bus / Event Hub
Partitions
Service Bus
Interactive Dashboard(s)
Production Line(s)
* 1 Mio Producers
* 1 GB/sec aggregated
per EventHub
Event Hub
Reader 1 Reader 2 Reader 3 …. Reader 1 Reader 2 Reader 3 ….Consumer Group
Throughput Units
1 MB/s writes
2 MB/s reads
Demo Time
Node.js Code
var https = require('https'); var crypto = require('crypto');
var namespace = 'RobEichDevEventHub-ns'; var hubname ='demoeventhub';
var partitionKey = 'mytessel';
var eventHubAccessKeyName = 'EventHubKey'; var createdSAS = 'SharedAccessSignature sr=https%3A%2F%2FRobEichDevEventHub-Fmytessel%2Fmessages&sig=cmwmWeUD%2FBvXC %2FnzgPqbe1Kx4TB8NrksSZrOQK%2FjbaA%3D&se= 1417774602&skn=EventHubKey'; // Payload to send var payload = '{\"Temperature\":\"37.0\",\"Humidity\":\"0.4\"}';
// Send the request to the Event Hub var options = {
hostname: namespace + '.servicebus.windows.net', port: 443,
path: '/' + hubname + '/publishers/' + partitionKey + '/messages', method: 'POST', headers: { 'Authorization': createdSAS, 'Content-Length': payload.length, 'Content-Type': 'application/atom+xml;type=entry;charset=utf-8' } };
var req = https.request(options, function(res) { res.on('data', function(d) { process.stdout.write(d); }); }); req.on('error', function(e) { console.log('error'); console.error(e); }); req.write(payload); req.end();