IoT Camp 29.05.2015 IoT / practical usage Ulm / Artiso
Agenda
How do you define IoT? * Clemens Vasters; Architect; Microsoft Azure
Smart Gadgets / Devices
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 Entertainment Smart Healthcare Smart Building Home Smart Systems?
Krones AG
Demo Time Krones AG
Devices Linux, Android, ios, RTO, Windows IoT Architecture Windows IoT Devices Azure IoT Cloud Services
MS Approach Software as a Service Azure IoT Suite SaaS Platform as a Service Storage Service Bus / EventHub Compute Analytics (NRT, HD-Insight) PaaS
Devices Linux, Android, ios, RTO, Windows Azure IoT Suite Windows IoT Devices Cloud Services Azure IoT
Communication Patterns Telemetry Ingest That s easy Ingest rate Storage Security Command That s not so easy Security Latency Analyse @ Scale Big Data Data in Motion
Communication Patterns Telemetry Ingest Let s do the math 6 X 20 = 120 machines sensors / machine sensors / production line
Communication Patterns Telemetry Ingest Let s do the math 120 X 4 = 480 sensors / production line production lines / plant sensors / plant
Communication Patterns Telemetry Ingest Let s do the math 480 X 60 = 1,728,000 sensors / plant telemetry ingests / minute ingests / hour
Communication Patterns Telemetry Ingest Let s do the math 1,728,000 X 50 = 86,400,000 ingests / hour e.g. customers On a 24/7 basis ingests / hour Hyper Scale is needed
Services Service Bus / Event Hub Overview Service Bus Production Line(s) Relay Queue Interactive Dashboard(s) Event Hub Topic Notification
Services Service Bus / Event Hub Partitions Event Hub Service Bus Production Line(s) * 1 Mio Producers * 1 GB/sec aggregated per EventHub Consumer Group Reader 1 Reader 1 Reader 2 Reader 2 Reader 3 Reader 3.. Interactive Dashboard(s) Throughput Units 1 MB/s writes 2 MB/s reads
Demo Time Creation / Ingest
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();
Where are we? Ingest Egress
Egress / Transformation Analytics Data in Motion vs. Data at Rest Production Line(s) Service Bus Event Hub Storage Trend Calculation Dashboard(s) Telemetry Alarm Engine Data in Motion Data at Rest Data in Motion
Services Stream Analytics Production Line(s) Telemetry Service Bus Event Hub Stream Analytics Transform Temporal Joins Filter Aggregates Projections Time Windows Service Bus Event Hub Storage Enrich / Correlate Other Streams Data at Rest
Demo Time Stream Analytics
Where are we? Ingest Egress Analytics
Command & Control Production Line(s) Interactive Dashboard(s) Commands Secure & Low Latency 1:1; 1:n; n:m
Command & Control Production Line(s) Open Port Public IP / Dynamic DNS Command Dashboard(s)
Command & Control VPN Production Line(s) Dashboard(s) Command
Command & Control Service Assisted Communication Public address Full defendable Server platform Production Line(s) Cloud Dashboard(s) Outbound Connection Service Gateway Command No active listening (unlike VPN) Device initiated, outbound connections (like VPN) Automatic Port Mapping (like VPN) No open inbound ports; minimized attack surface
Command & Control Service Assisted Communication Building Blocks: Open Source Solutions: Azure Service Bus Queues, Azure Service BusTopic Subscriptions (Take care -> pricing, No. of clients) Azure Web Site + Redis Cache Nitrogen.Io Crossbar.Io
What is Crossbar.io? http://crossbar.io/iotcookbook/
Summary / Take Aways IoT & Microsoft Azure a perfect fit Azure Event Hub Azure Stream Analytics Azure Machine Learning Azure Storage Azure Sql Database End-To-End IoT Solution Microsoft IoT Suite
I
Cheat Sheet Code Snippets: Tessel 101: Arduino Yun 101: Crossbar.IO Slide Deck: https://github.com/dx-ted-emea/azure-tessel https://github.com/dx-ted-emea/iot-labs https://github.com/roberteichenseer/iot_masterclass http://www.connectthedots.io http://start.tessel.io/install http://www.arduino.cc/en/guide/arduinoyun http://crossbar.io/iotcookbook/ http://1drv.ms/1dzhqr9