Microsoft IoT Solutions

James Yun IoT Technical Specialist WCB IoT Asia

© Corporation MB - That actually doesn't look too bad. I know where I'd like to go already

Azure 예) Office 365 Azure IoT Central Dynamics Connected Field Service (SaaS) (SaaS)

Azure RTOS Windows IoT Azure ML Azure Certified for IoT—Device Azure SQL Azure IoT Device SDK Catalog Azure Functions Azure IoT Edge Azure Cognitive Services Data Box Edge Azure Storage Microsoft IoT Offerings

Azure Azure IoT Central Azure IoT solution accelerators • Available in Azure Regions Azure IoT Platform Services Azure • Full functionality

• Azure Services & Management on-prem Azure Stack • Azure IoT Hub

• Deploy and manage cloud services Azure IoT Edge • Managed by Azure or Azure Stack

Linux & Windows Windows IoT, Linux • Azure IoT Edge runs on Windows and Linux

• Multi-device, multi-language, multi-OS Azure IoT Device SDK • Linux, iOS, Android, Windows, RTOS

Azure Sphere • Peerless security for MCU devices • Connect directly to Azure or via Azure IoT Edge Azure Sphere OS • Linux Kernel that modernizes MCU devices Azure RTOS Azure Sphere OS Azure RTOS • Comprehensive suite featuring high performance small, fast and reliable RTOS, middleware and tools RICH UI Kiosks, digital signage Smart phones ATMs

Medical diagnostics Gas pumps, Thermostats Refrigerators vending machines MRI, Xray devices POS devices Industrial robots SMALL LARGE

Home appliances PLCs/Indus. Fitness trackers Automation

Smoke alarms Drones Embedded Servers IOT Robot toys Gateways Sensors (Brakes, traffic, lights) Connector Boards Guardian modules NO UI Azure RTOS

RICH UI Kiosks, digital signage Smart phones ATMs

Medical diagnostics Gas pumps, Thermostats Refrigerators vending machines MRI, Xray devices POS devices Industrial robots SMALL LARGE

Home appliances PLCs/Indus. Fitness trackers Automation

Smoke alarms Drones Embedded Servers IOT Robot toys Gateways Sensors (Brakes, traffic, lights) Connector Boards Guardian modules NO UI Azure Sphere

RICH UI Kiosks, digital signage Smart phones ATMs

Medical diagnostics Gas pumps, Thermostats Refrigerators vending machines MRI, Xray devices POS devices Industrial robots SMALL LARGE

Home appliances PLCs/Indus. Fitness trackers Automation

Smoke alarms Drones Embedded Servers IOT Robot toys Gateways Sensors (Brakes, traffic, lights) Connector Boards Guardian modules NO UI Windows 10 IoT

RICH UI Kiosks, digital signage Smart phones ATMs

Medical diagnostics Gas pumps, Thermostats Refrigerators vending machines MRI, Xray devices POS devices Industrial robots SMALL LARGE

Home appliances PLCs/Indus. Fitness trackers Automation

Smoke alarms Drones Embedded Servers IOT Robot toys Gateways Sensors (Brakes, traffic, lights) Connector Boards Guardian modules NO UI Azure IoT

James Yun IoT Technical Specialist WCB IoT Asia End-to-end implementation

Completely customizable

Open-source microservices based architecture

Device connectivity and management

Azure IoT solution Dashboards, visualization, and insights accelerators Workflow automation and integration

Command and control

Preconfigured solutions

Remote Monitoring Connected Factory

Predictive Maintenance Device Simulation 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 Web App

Cosmos DB

Microservices C# simulator Microservices IoT Hub Logic Apps

VM Orchestrator VM Azure ML Fully hosted and managed by Microsoft

No cloud development expertise required

Device connectivity and management

Azure IoT Central Monitoring rules and triggered actions

User roles and permissions

Analytics, dashboards and visualization

Risk-free trial with simplified pricing Product modeler Device management

Device settings Analytics & dashboards

Template management Time-series Insights

Rules workflows Alerts and actions

User and identity management Establish bi-directional communication with billions of IoT devices

Enhance security with per device authentication

Provision devices at scale w/IoT Azure IoT Hub Hub Device Provisioning Service

Manage devices at scale with device management

Multi-language and open source SDKs Millions of Devices Billions of messages Per Device Certificates Multi-language, open source SDKs Scale up and down Per Device Enable/Disable HTTPS/AMQPS/MQTTS Declarative Message Routes TLS Security Send Telemetry File Upload X.509 Support WebSockets & Multiplexing Receive Commands IP Whitelisting/Blacklisting Azure Monitor Shared Access Polices Device Management Azure Resource Health Firmware/Software Updates Device Twins Configuration Management Queries & Jobs Replace or decommission Group devices and control devices after failure, upgrade access according to your cycle or service lifetime organization's needs

Monitor device inventory, health, Securely authenticate devices, and security while providing on-board for management and proactive remediation of issues provision for service

Provide updates, configuration and applications to assign the purpose of each device Azure IoT Hub Device Provisioning Service

DPS

IoT Hub US IoT Hub Japan IoT Hub India Move cloud and custom workloads to the edge, securely

Seamless deployment of AI and advanced analytics

Configure, update and monitor from the cloud Azure IoT Edge

Compatible with popular operating systems

Code symmetry between cloud and edge for easy development and testing

Secure solution from chipset to cloud

Tight coupling between software on device and IoT solution in the cloud

Capability Model

Device Metadata

Devices published their capability models and adhered to them Windows used the capability model to know how to interact with them Easy to model device Devices that capabilities, just work out of easy to the box with no generate device code required software skeleton

Device Capability Model

JSON-LD Schema Easy to certify plug and play devices Easy to develop device software Easy for Generated Device and ensure it customers and Agent just works with partners to find IoT solutions plug and play Azure IoT Device SDK devices that just work Capability Model Repository (Optional) Interface D2C IoT Device Message Routes C2D/MethodsTelemetry DeviceProperties Twin Custom Commands Solution Interface D2C Message Routes IoT Edge C2D/MethodsTelemetry DeviceProperties Twin Commands

Interface D2C Azure IoT Device Message Routes C2D/MethodsTelemetry Azure IoT DeviceProperties Twin IoT Hub & DPS IoT Edge Commands Central

IoT Device

Core Subsystems

Visualize data and learnings

Provision and send data from Stream processing and device to cloud rules evaluation over data

Device Management

Store data Integrate with business processes

Things Insights Actions Custom Cloud Management app Gateway Device registry/Management Custom Protocols Device (Cloud Monitoring Service, VM) Send commands

Applications Device AMQP, MQTT, HTTPS IoT Hub - Companion apps - Dashboards - Controllers - … Device Field Field bus / protocol Gateway AMQP, MQTT, HTTPS Device

Device Custom Management app OPC, HTTP, CoAP,… Cloud Field Device registry/Management Field bus / protocol Gateway Gateway (Cloud Monitoring Device VPN/ExpressRoute Service, VM) Send commands

MCU Device to Cloud E2E Architecture

System Azure IoT Hub Azure DPS Stream Analytics Azure Function DB Web App IoT Cloud ERP, CRM…

PC Example application User Application User Application Application Level software

Azure IoT Hub client library, DPS client library, JSON parser & serializer, MQTT client(used as transport layer by IoT Hub client library), C utilities

Azure C SDK TLS/SSL LwIP Network Cellular RTOS Utilities Middleware level

Component Drivers Hardware Abstraction Layer(HAL) CMSIS Drivers

MCU Cellular Ethernet Wi-Fi BLE GPS GPSSensors Hardware components

CUSTOM BOARD Development Kit Development Boards

Azure C SDK scenarios

Telemetry(D2C) C2D messages Device Twin Direct Methods Device Provisioning

Embedded C SDK : 14KB HTTPS MQTT Paho AMQP Mosquitoo Etc.

Open SSL Schannel Open SSL Etc. Schannel Mbed TLS Win 32 Win 32 Berkeley Berkeley Developer’s Choice Etc. Mbed C SDK with MQTT : 150KB Complete PIC scenario : 50KB

IoT Developer’s responsibility Azure Azure IoT Hub IoT Hub Microsoft’s responsibility Azure C SDK scenarios

Azure IoT Emb. Middleware C SDK

Azure RTOS

IoT Developer’s responsibility

Azure Microsoft’s responsibility IoT Hub Azure RTOS

James Yun IoT Technical Specialist WCB IoT Asia Microsoft IoT Offerings

Azure Azure IoT Central Azure IoT solution accelerators • Available in Azure Regions Azure IoT Platform Services Azure • Full functionality

• Azure Services & Management on-prem Azure Stack • Azure IoT Hub

• Deploy and manage cloud services Azure IoT Edge • Managed by Azure or Azure Stack

Linux & Windows Windows IoT, Linux • Azure IoT Edge runs on Windows and Linux

• Multi-device, multi-language, multi-OS Azure IoT Device SDK • Linux, iOS, Android, Windows, RTOS

Azure Sphere • Peerless security for MCU devices • Connect directly to Azure or via Azure IoT Edge Azure Sphere OS • Linux Kernel that modernizes MCU devices Azure RTOS Azure Sphere OS Azure RTOS • Comprehensive suite featuring high performance small, fast and reliable RTOS, middleware and tools General Purpose OS RTOS (Linux / Windows) Type of usage Non-time critical system / application Time or mission critical system / task.

Real-timeness Not near real time; at most soft real-time Highly deterministic behavior and timely response events and interrupts

Scheduling Non-preemptive. Optimized for throughput. pre-emptive priority based scheduling Fair Scheduling Interrupt Latency Delayed. Mainly due to premption latency Fast and Deterministic (ISR x Process) Context Switch ~100 usec ~ msec range < 10 usec range CPU Resources CPU intensive Lightweight MMU Required Optional Memory Footprint Large memory footprint in MB range low memory footprint. in KB range Building Blocks of Azure RTOS Azure Seamless Turnkey Solution for Constraint Security Centre Devices

ThreadX a high-performance real-time operating system kernel NetX Duo

USBX Azure Azure IoT FileX TraceX USB stack that provides host, device, and OTG support IoT Hub Embedded / Central C SDK OTA ThreadX FileX High performance embedded FAT file system (fault tolerance and flash memory wear leveling support)

NetX Duo Kernel TCP/IP IPV4/IPv6 embedded network stack that supports IPSec, TLS / DTLS security protocols

USBX GUIX TraceX Graphical view of real-time events tracing to analyze, debug and tune system-level behavior

GUIX 2D graphical user interfaces Secure Boot Microsoft Confidential • 95% of use cases / deployment are for devices that are either not connected to the internet or the cloud.

• Continue to support non-connected scenarios and already available supporting turnkey solution (like NetX, Embedded C SDK) will help device manufacturers easily connect to the cloud in near future

• Connected use cases will likely increase significantly

MCU

MCU Azure RTOS provides out-of-the-box secure connectivity to Azure IoT Hub and as well as Azure IoT Edge devices for local edge computing.

Azure IoT Azure

Azure IoT Central

Azure MCU Azure IoT Hub

MCU Address critical needs across the full spectrum of MCU and embedded-class IoT devices Azure Sphere Build real-time, highly- Azure RTOS Everything an embedded secured IoT devices Enables embedded developer needs to build a developers to quickly Support even the most highly secured device demanding environments build real-time software Reduce time to market with fast coding for all devices Demo https://github.com/azure-rtos

https://github.com/azure-rtos/azure-iot-preview Available Resources X-CUBE-AZURE

▪ STM32L4 Series, STM32F4 Series, STM32F7 Series

▪ FreeRTOS / Firmware

▪ Ethernet / Wi-Fi / LTE Cellular

▪ Azure IoT Device C SDK • Azure IoT Hub • X.509 authentication & Azure DPS • Azure IoT Central https://github.com/azure-rtos

https://github.com/azure-rtos/samples

https://github.com/azure-rtos/azure-iot-preview

https://github.com/azure-rtos/azure-iot-preview/releases STMicroelectronics Link https://github.com/Azure/azure-iot-sdk-c https://github.com/Azure/azure-c-shared-utility/blob/master/devdoc/porting_guide.md https://github.com/Azure/azure-sdk-for-c

https://azure.microsoft.com/ko-kr/services/rtos/

http://www.azureiotcentral.com

https://azure.microsoft.com/ko-kr/blog/build-with-azure-iot-central-and-iot-plug-and-play/

https://github.com/Azure/AzurePnPBridgePreview