You are on page 1of 19

Azure IoT Overview

Janne.Koskinen@microsoft.com
TAMK IoT-seminaari
14.4.2016
LBI - Microsoft
Defining Internet of Things

Things Connectivity Data Analytics


Internet of Things opportunity
Microsoft’s investment principles for IoT
The Internet of Things starts with your things

 Provide connectivity to both existing


and new devices

 Facilitate new insights by harnessing


power of untapped data

 Enable fast solution development


Organizations are benefiting from IoT today

Lido Stone Works


However, IoT projects can be complex

Long Hard to Difficult to


timelines scale customize
Introducing Microsoft Azure IoT Hub

Azure IoT Hub is designed to connect your devices to Azure. It supports


 Millions of simultaneously connected devices
 Per-device authentication
 High throughput data ingestion
 Reliable command and control
Connect your devices to Azure

IoT Hub 10
1
0 0
IP-capable

1 1
1 0 1 10 01 1 0
0
0 1 0 1010
1
0 1010
0111

Event processing and insight


(e.g. hot and cold paths)

Cloud
PAN-devices

protocol
gateway
Device business logic,
Connectivity monitoring

Field
gateway

Application
device provisioning and management

field cloud
Why use IoT Hub?

Device-to-cloud messaging Cloud-to-device messaging

Scale up to millions of simultaneously connected devices

Device authentication & security

Service-facing device connectivity monitoring

IoT protocols, device resource optimization


IoT Hub endpoints

Your IoT Hub


Event processing
(hot and cold path)
D2C send
endpoint
D2C receive
endpoint 1
C2D queue 10
1
1
0 0
1
1
10 01 1 0
0
endpoint 0
1 0 1 0 1010
0 1010
0111
device C2D send endpoint
Device id

Device …
Msg feedback Device business logic,
and monitoring Connectivity monitoring
endpoint
Device …

Field GW / Device identity Device provisioning


Device … management
Cloud GW IoT Hub and management
management
Azure IoT Suite SDKs

Device-facing Service-facing
For devices and field gateway For back-ends and cloud gateway

Platforms Languages
RTOS (FreeRTOS) .NET C#
Linux Java
(Ubuntu, Debian, Fedora, Raspbian, Angstrom) Node
Windows 7/8/10
ARM mbed
Android
iOS
Microsoft Azure IoT Suite
Capture and analyze untapped data to transform your business

Connect and scale Analyze and act Integrate and transform


with efficiency on new data business processes

Analytics

Device Registry

Real-time Rules and Actions


operating And
systems more Dashboards & Visualization
Accelerate time to value with preconfigured solutions

Get started in minutes Fine-tuned to specific assets and processes

Modify existing rules and alerts Highly visual for your real-time operational data

Add your devices and begin tailor to your needs Integrate with back-end systems
Why Azure IoT Suite

Connect millions of devices and integrate your business systems


with new insights to transform your business.

Get started quickly with preconfigured solutions for common


Azure IoT Suite IoT scenarios.

Leverage a worldwide ecosystem of experienced IoT partners to


tailor IoT solutions to your needs.
Getting Started

 Start with business plan

 Get executive buy-in

 Leverage Quick Start consultation

 Start your Azure IoT experience at

www.InternetofYourThings.com
Appendix
var Protocol = require('azure-iot-device-amqp').Amqp;
var Client = require('azure-iot-device').Client;
var Message = require('azure-iot-device').Message;

var connectionString = '[IoT device connection string]';


var client = Client.fromConnectionString(connectionString, Protocol);

var connectCallback = function (err) {


console.log('Client connected');
client.on('message', function (msg) {
console.log('Id: ' + msg.messageId + ' Body: ' + msg.data);
client.complete(msg, printResultFor('completed'));
});

var sendInterval = setInterval(function () {


var windSpeed = 10 + (Math.random() * 4); // range: [10, 14]
var data = JSON.stringify({ deviceId: 'myFirstDevice', windSpeed: windSpeed });
var message = new Message(data);
message.properties.add('myproperty', 'myvalue');
console.log('Sending message: ' + message.getData());
client.sendEvent(message, printResultFor('send'));
}, 2000);
};

client.open(connectCallback);

function printResultFor(op) {
console.log(op);
}

You might also like