IoTSummit - Introduction to IoT Hub

Post on 23-Jan-2017

245 views 1 download

Transcript of IoTSummit - Introduction to IoT Hub

INTERNET OF THINGS SUMMIT

Introdution to IoT Hubfor DevelopersMarco António Silva – madasi@microsoft.com

Session Objectives And Takeaways• Session Objectives:

• Learn about Azure IoT offer• Azure IoT Suite Overview• Preconfigured Solutions

• What they are• How they work

• Key Takeaways:• Microsoft is in the IoT business• Comprehensive Solution• Accelerate Time to Value• Tell developers: you are covered…. And if you

are not, let us know!

Connected “Things” by 2020:26 billionGartner

Market for IoT by 2020:$1.9 trillionIDC

Microsoft’s view on IoT• Seems like the key here is Cloud… right??•Need to deliver advanced analytics services•Need to deliver solid data ingestion services•Need to offer SDKs for all the devices/platforms/protocols/languages on the planet•Need to deliver integrated solutions (PaaS then SaaS)

Remotemonitoring

Predictivemaintenan

ce

Asset management

Azure IoT SuiteAzure services (IoT and others)

Microsoft Cloud offer for IoT

Accelerate time to valueGet started quickly with preconfigured solutions for common IoT scenarios.

Rich partner networkLeverage a worldwide ecosystem of experienced IoT partners to tailor IoT solutions to your needs.

Comprehensive solution Connect millions of devices and integrate your business systems with new insights to transform your business.

Azure IoT Suite

Microsoft Azure IoT Suite

Analyze and act on new data

Integrate and transform

business processes

Connect and scale with efficiency

Business Systems1010100111010010110101010110100011010001011

And more

Real-time operating systems

Rules and ActionsAnalytics

Dashboards & Visualization

Benefit from a comprehensive solution

Microsoft Azure IoT SuiteRemote monitoring

Devices

Azure IoT Suite Remote Monitoring Solution

Back end systems and processes

C# simulatorEvent Hub

Storage blobs DocumentDB

Web/Mobile App

Stream Analytics Logic Apps

Azure Active Directory

IoT Hub Web Jobs

Power BI

Finish with your Internet of Things applicationStart quickly with preconfigured solutions

• Fine-tuned to specific assets and processes

• Highly visual for your real-time operational data

• Integrate with back-end systems

• Get started in minutes• Modify existing rules and

alerts• Add your devices and begin

tailor to your needs

Tailor Azure IoT Suite to your needs using preconfigured solutions

Remote Monitoring

Web Job

Simulated Device

IoT Hub

Consumer Group

Azure Stream Analytics

Device Info

Telemetry

Threshold rules

Event Hub

Event Hub

DocumentDB (Device

Registry)

Web Job

Event Processor

Host

Device Simulators

Web App

Dashboard

Device Portal

Azure Storage (blob)

Telemetry History

Rules Events (Alarm History)

Threshold Definitions

Demonstração

IoT Suite – Remote Monitoring

Azure IoT Suite Components

Device Connectivity & ManagementData Ingestion and Command & ControlStream Processing & Predictive AnalyticsWorkflow AutomationDashboards and Visualization

Intelligent Connectivity

Azure IoT Suite

Intelligent Insights

Cortana Analytic Suite

Intelligent Actions

Dynamics

Microsoft IoT Stack

And what if I want to build my own thing?

Developer SDKs & Tools• Azure SDKs• Open source SDKs for Azure IoT Hub• github.com/azure/azure-iot-sdks• Service Client SDK – C#, Java, JavaScript• Device Client SDK – C, JavaScript, Java, C#

• Open source preconfigured solutions for IoT Suite• Tools• X-Plat CLI tool: iothub-explorer• Windows tool: DeviceExplorer

Developer SDKs & Tools• Coming soon• Python device SDK• Private Preview for Device Management features• More…

• In the backlog• Android device client• iOS device client• WAY More…

C device clientIOTHUB_CLIENT_HANDLE iotHubClientHandle;IOTHUB_MESSAGE_HANDLE message; /* Create IoT Hub Client instance */iotHubClientHandle = IoTHubClient_CreateFromConnectionString(connectionString, AMQP_Protocol); /* Setting Message call back, so we can receive Commands. */IoTHubClient_SetMessageCallback(iotHubClientHandle, ReceiveMessageCallback, &receiveContext); /* Now that we are ready to receive commands, let's send a message */sprintf_s(msgText, sizeof(msgText), "{\"deviceId\":\"myFirstDevice\",\"data\":%.2f}", rand()%4+2 );message.messageHandle = IoTHubMessage_CreateFromByteArray((const unsigned char*)msgText, strlen(msgText)); IoTHubClient_SendEventAsync(iotHubClientHandle, message, SendConfirmationCallback, &message);

JS device clientvar clientFromConnectionString = require('azure-iot-device-amqp').clientFromConnectionString;var Message = require('azure-iot-device').Message;// Create the IoT Hub client instancevar client = clientFromConnectionString(connectionString);// Prepare and send messagevar data = JSON.stringify({ deviceId: 'myFirstDevice', windSpeed: windSpeed });var message = new Message(data);message.properties.add('myproperty', 'myvalue');client.sendEvent(message, printResultFor('send'));// Receive messages from Cloudclient.on('message', function (msg) { console.log('Id: ' + msg.properties.messageId + ' Body: ' + msg.body); receiver.complete(msg, function () { console.log('completed'); });});client.on('errorReceived', function (err) { console.warn(err);});

Demonstração

IoT Hub – Sending and Receiving Messages

Resources for Developers• Azure IoT Dev center: • www.azure.com/iotdev

• All SDKs and libraries are open source:• www.github.com/azure/azure-iot-sdks

• Check out our samples:• aka.ms/azureiotsamples

Azure Certified for IoThttp://aka.ms/azureiotcertified

ObrigadoMarco António Silvamadasi@microsoft.com