Download presentation
Presentation is loading. Please wait.
Published byChristopher Rogers Modified over 6 years ago
1
9/11/2018 1:44 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
2
Azure IoT : A developer’s deep dive
9/11/2018 1:44 PM P4046 Azure IoT : A developer’s deep dive Olivier Bloch Senior Program manager © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
3
An example of IoT Solution
9/11/2018 1:44 PM An example of IoT Solution Devices Azure IoT Suite Remote Monitoring Back end systems and processes Web/ Mobile App Storage blobs DocumentDB How does it work? As mentioned; the solution is a combination of multiple back-end components. This architecture diagram shows the individual Microsoft products and services that are utilized. Reference Architecture for Remote Monitoring solution, what products are used and why? -> Provision simulated devices with a C# device emulator running .Net. Create agents for Linux, iOS, Android and other platforms with C and Java language support. IoT Hub manages the two way communication between cloud and device and creates a secure command and control channel. Azure Stream Analytics creates and manages jobs to recognize threshold values or detect alarm triggers, sending this information where it needs to be escalated. Event Hub is queried by a web job running an event processor host to determine where and alarm or alert needs to be pushed – such as sending an alert to dashboard for a human operator to take action. Logic Apps are used to create more complex work loads and integrate into line of business and other proprietary applications. Document DB stores all the metadata and device properties for each connected device. Blobs store telemetry information and telemetry data. Other tools such as Azure Machine Learning and PowerBI can access this information for data visualization or processing advanced analytics. Webapp – Dashboard code is available in Github allowing it to be fully customized by the user to align with a scenario or be relevant for an enterprise application. Azure Active Directory controls user ID’s and access, allowing the service to be shared with relevant decision makers within the business but restrict access to certain controls or devices. PowerBI is used for both open-source embedded components within the dashboard and also for complex external analytics of trends and patterns across all stored data. IoT Hub Stream Analytics Event Hub Web Jobs Logic Apps © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
4
IoT Hub endpoints IoT Hub Build 2015 9/11/2018 1:44 PM
Event Hub, Service Bus Topics, Service Bus Queues, Others... (hot and cold path) IoT Hub D2C custom endpoints Device Device id D2C send endpoint Event processing (hot and cold path) D2C receive endpoint C2D queue endpoint Device management, device business logic, Connectivity monitoring Twin endpoint C2D send endpoint Methods endpoint Msg feedback and monitoring endpoint Gateway IoT Hub exposes a set of conceptual endpoints to access its functionalities. There are two endpoints for each device: one to send D2C msgs, one to receive C2D msgs. Devices can connect two both endpoints over the same connection. FGW and CGW are able to represent multiple devices by simultaneously connecting to D2C and C2D endpoints for many devices at the same time. On the app back-end side, the D2C receive endpoint is used by the event processing pipeline (ASA, Storm, custom, …), and by the device runtime logic component, which handles requests and command responses that come from devices. The device runtime logic component also uses the C2D send endpoint to send notifications and commands to devices. It also uses the msg feedback and monitoring endpoint. This is critical for IoT solutions where devices are reachable only through IoT Hub. In these very common scenarios, any problem on the connectivity between device and IoT Hub cannot just be reported as errors back to the device, but also to the app back-end in the form of events on this feedback endpoint. This makes possible the kind of monitoring that is required to achieve high operability of an IoT solution. In addition to these runtime endpoint, IoT Hub also has a device identity mgmt endpoint that is used by your solution’s device provisioning and mgmt component. Finally, an IoT Hub Manage endpoint is used to set security, functional, performance parameters. Device … Twins endpoint Device… Devices Methods endpoint Device … Device identity management Device provisioning and authorization IoT Hub management © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
5
ABC for developing with Azure IoT Hub
Microsoft Build 2017 9/11/2018 1:44 PM ABC for developing with Azure IoT Hub Create an Azure IoT Hub Create Device Identities Use the client SDKs (service and device) Use the dev tools to debug/monitor Play with the Azure IoT Starter Kits © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
6
Pick your favorite to create a hub
Microsoft Build 2017 9/11/2018 1:44 PM Pick your favorite to create a hub Azure Portal ARM template Azure CLI (v2.0 Python) (v1.0 Node.js) Powershell © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
7
Some developers tools IoTHub-explorer : node based CLI
Microsoft Build 2017 9/11/2018 1:44 PM Some developers tools IoTHub-explorer : node based CLI npm install -g iothub-explorer Device Explorer: Windows app Installer in releases of github.com/azure/azure-iot-sdk-csharp Device discovery CLI npm install -g device-discovery-cli IoTHub Diagnostics tool npm install -g iothub-diagnostics Azure IoT Toolkit Extension for Visual Studio Code Look for « Azure IoT Toolkit » in the VS Code extensions library Arduino Extension for Visual Studio Code Look for « Arduino » in the VS Code extensions library © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
8
Open Source SDKs Microsoft Build 2017 9/11/2018 1:44 PM
© Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
9
SDKs IoT Hub Build 2015 9/11/2018 1:44 PM
Event Hub, Service Bus Topics, Service Bus Queues, Others... (hot and cold path) Other SDKs IoT Hub D2C custom endpoints Device Device SDKs C (ANSI C99) C# (.Net Standard 1.3) JS (Node 4.0+) Java (1.7+) Python (2.7, 3.4) Device id D2C send endpoint Event processing (hot and cold path) Event Hub SDKs C (ANSI C99) C# (.Net Standard 1.3) JS (Node 4.0+) Java D2C receive endpoint C2D queue endpoint Device management, device business logic, Connectivity monitoring Service SDKs C# (.Net, UWP) JS (Node 4.0+) Java (1.7+) Python (2.7, 3.4) C (ANSI C99) Twin endpoint C2D send endpoint Methods endpoint Msg feedback and monitoring endpoint Gateway Device … Gateway SDK Runtime: C (ANSI C99) Modules: C# (.Net, .Net Core) JS (Node 4.0+) Java (1.7+) IoT Hub exposes a set of conceptual endpoints to access its functionalities. There are two endpoints for each device: one to send D2C msgs, one to receive C2D msgs. Devices can connect two both endpoints over the same connection. FGW and CGW are able to represent multiple devices by simultaneously connecting to D2C and C2D endpoints for many devices at the same time. On the app back-end side, the D2C receive endpoint is used by the event processing pipeline (ASA, Storm, custom, …), and by the device runtime logic component, which handles requests and command responses that come from devices. The device runtime logic component also uses the C2D send endpoint to send notifications and commands to devices. It also uses the msg feedback and monitoring endpoint. This is critical for IoT solutions where devices are reachable only through IoT Hub. In these very common scenarios, any problem on the connectivity between device and IoT Hub cannot just be reported as errors back to the device, but also to the app back-end in the form of events on this feedback endpoint. This makes possible the kind of monitoring that is required to achieve high operability of an IoT solution. In addition to these runtime endpoint, IoT Hub also has a device identity mgmt endpoint that is used by your solution’s device provisioning and mgmt component. Finally, an IoT Hub Manage endpoint is used to set security, functional, performance parameters. Twins endpoint Device… Devices Methods endpoint Device … Device identity management Device provisioning and authorization IoT Hub management © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
10
Device SDKs platform/OS support
Microsoft Build 2017 9/11/2018 1:44 PM Device SDKs platform/OS support Android (Java or Xamarin) Arduino Debian Linux (v 7.5) ESP8266 Fedora Linux (v 20) FreeRTOS iOS (Xamarin) mbed OS (v 2.0) OpenWRT Raspbian Linux (v 3.18) STM32 TI RTOS Ubilinux (v3.0) Ubuntu Linux (v 14.04) Windows Desktop (7, 8, 10) Windows IoT Core (v 10) Windows Server (v 2012 R2) Yocto Linux (v 2.1) … and more © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
11
Packages and libraries
Microsoft Build 2017 9/11/2018 1:44 PM Packages and libraries NuGet C on Windows .Net Apt-get C on Linux (Ubuntu/Debian) Npm Node.js Maven Java PyPI Python Arduino lib Mbed lib © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
12
Demo Olivier Bloch Microsoft Build 2017 9/11/2018 1:44 PM
© Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
13
Twitter demo architecture
Microsoft Build 2017 9/11/2018 1:44 PM Twitter demo architecture © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
14
Azure IoT Starter Kits Quickly build IoT prototypes that leverage Azure IoT H/W bundle +Step-by-step tutorials Created by “Certified for IoT” Partners Learn more:
15
Step-by-step tutorials
Microsoft Build 2017 9/11/2018 1:44 PM Step-by-step tutorials Learn more: © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
16
Training for Azure IoT Training provider Class Price
Microsoft Build 2017 9/11/2018 1:44 PM Training for Azure IoT Training provider Class Price Developing IoT Solutions with Azure IoT Free (auditing) or $99 (certificate of completion) Introduction to Azure IoT Free Azure IoT Essentials IoT for the Enterprise Paid (Free 7-day trial, $19/month afterwards) Internet of Things with Azure Paid (Free 7-day trial, $29/month afterwards) Building IoT Solutions with Azure Paid (Free 7-day trial, $29.95/month afterwards) Learn more: © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
17
9/11/2018 1:44 PM Call to action Check out the Starter Kits and the Getting Started tutorials. Continue your education at #MSBuild © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
18
9/11/2018 1:44 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.