SlideShare a Scribd company logo
1 of 89
davidjones@Sportronics.com.au
@CEDriverWiz
http://embedded101.com/blogs/David-Jones
Agenda
• One Windows
• Azure
• Windows 10 IoT-Core
• Internet of Things
• Azure IoT
• IoT Hub, Service Bus etc
• Azure IoT Suite
A work in progress
IoT
HoloLens
Surface Hub
Windows Desktop
Windows Phone
Xbox
ONE CORE OS
ONE APP PLATFORM
ONE STOREWindows 10
Windows 10
Phone Small Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-OnesPhablet Large Tablet
Classic
Laptop
Xbox
IoT
Surface Hub
Holographic
One Core OS
Base OS
App and Device platform
Runtimes and frameworks
Windows
for …
Form factor–appropriate
shell experience
Device-specific scenario
support
Windows
for phones
Familiar mobile shell
Rich telephony
Windows phone app
compatibility
Windows
for PCs
Familiar desktop shell
Broad hardware ecosystem
Windows desktop application
compatibility
Windows
on Xbox
10’ shell experience
Shared gaming experiences
Xbox One
game and app compatibility
Windows 10
• There is Core functionality
• You just need the Windows 10 SDK
• You build a “generic” Universal Windows Platform (UWP) App
and it will run all Windows 10 devices.
• Then there are Platform (SDK) Extensions:
• Desktop
• Mobile
• IoT-Core
• Team
• Others:
• Xbox
• HoloLens
Add a reference to a Platform Extension SDK
Platform Extension Runtime Checks
• You can provide checks in code when using Extension APIs that
conditionally run code if that platform is present.
• “Windows.Foundation.Metadata.ApiInformation” that contains the
following interfaces:
• IsApiContractPresent.
• IsEnumNameValuePresent.
• IsEventPresent.
• IsMethodPresent.
• IsPropertyPresent.
• IsTypePresent.
• IsWritablePropertyPresent.
Validation Code for GPIO
using Windows.Foundation.Metadata;
…
…
if (ApiInformation.IsApiContractPresent
("Windows.Devices.DevicesLowLevelContract", 1))
{
//doing something with GPIO
}
• Other available contracts :
• Windows.Foundation.FoundationContract.
• Windows.Foundation.UniversalApiContract.
• Windows.Foundation.RemoveFromThisBadContract.
Windows 10 IoT-Core
IoT-Core Capabilities and Requirements
• Windows 10 IoT has a subset of functionality from Windows 10 desktop
but has extra IO features:
• GPIO, Interrupts
• I2C, SPI, RS232
• Ethernet, WiFi, Bluetooth
• There is a set of validated USB devices
• There is a reduction in the requirements for storage and memory with 4GB
and 512MB/256MB:
• Recommended 8G storage (eg on SDCard)
• Systems can be headless:
• Headed requires 512MB (Generally uses HDMI or LCD)
• Headless only requires 256MB
IoT-Core App Technology
• The main application technology is Universal Apps:
• In the headed mode, the standard UAP UI stack is available for fully
interactive apps.
• In headless mode, there is no UI stack available and apps are not interactive.
Headless mode apps can be thought of as services.
IoT-Core Apps
• Only one startup app is permitted which becomes the UI. There is no
shell:
• The startup app IS the shell.
• Background tasks are supported.
• Console apps are supported but without UI and a subset of the
existing Win32API.
• There is a tool for checking existing Console Win32 apps for Win32 API
requirements against those available in Win 10 IoT.
IoT-Core Command line utilities
• There is a set of command line OS utilities, for example shutdown.
https://developer.microsoft.com/en-us/windows/iot/win10/tools/commandlineutils
• Examples:
• Task scheduler:
• To view the current list of scheduled tasks, use the schtasks.exe command. You can create new tasks with the /create switch or
run on-demand tasks with the /run switch. For a full list of supported parameters, use schtasks.exe /?
• Device drivers:
• The device console utility is useful in identifying and managing installed devices and drivers. For a full list of parameters, use
devcon.exe /?
• Registry Access:
• If you need to access the registry to view or modify settings, use the reg.exe /? Command for the full list of supported
parameters
• In the default startup app there a command line pane
• Requires enabling
• Can be actioned remotely
• We want large scale manageability though
IoT-Core Remote Access
• Can access remotely to action command line utilities.
• PowerShell
• SSH not Telnet
• Windows 10 IoT Remote Client (Like Remote Desktop)
• Use the Command line pane
• Device Manager
• This is available for most Windows 10 devices
• Is a web service on the device for remote management
• Note for IoT-Core uses port 8080. eg http://minwinpc:8080
• Also
• Remote File Share
• FTP
IoT-Core Unavailable APIs
• Many APIs are not available because
• Hardware would not be on these devices: eg Phone functionality
• To complex
• Doesn’t make sense for a dedicated, single purpose device
• Just isn’t available, eg Popups
• See
• For universal code need to make these API calls conditional on not
being an IoT device
• Eg Popups were originally just ignored, whereas in the public release they
generate an error.
IoT-Core Supported Devices
• ARM
• Raspberry Pi 2b and Raspberry PI 3
• Dragonboard 410C
• X86
• Minnowboard Max
• Others (not directly supported by Microsoft)
• Toradex Colibri T30 (Nvidia COU)
Is Certified for IoT though
IoT-Core Supported Peripherals
• A broad subset of Windows 10 desktop peripherals
• If it runs on the desktop it possibly runs under IoT-Core
• Though might need ARM driver version ( cf x86)
• The are some Iot-Core specific peripherals that are supported (eg
Sensors)
• Lost of “Hats”
• Also others can be added if compatible using the devcon utility.
• https://developer.microsoft.com/en-
us/windows/iot/win10/supportedinterfaces
FEZ HAT
GrovePi+ Board
DHT11 temperature
and humidity sensor
IoT Sensor
Boards
Grove Starter Kit for 96Boards
(Dragonboard 410c)
Developing for Windows 10 IoT-Core
• Visual Studio 2015 with latest Update (2 or 3)
• Community Edition is OK
• Windows 10 SDK (Latest)
• OS Image installed on device (Latest)
• Windows 10 IoT Dashboard
• Window 10 IoT Remote Client
• Getting started:
• https://developer.microsoft.com/en-us/windows/iot
• Docs:
• https://developer.microsoft.com/en-us/windows/iot/Docs
• Samples on GitHub
• https://github.com/ms-iot/samples
Internet of Things
IoT
What is the Internet of Things?
• The seamless interconnection of spatially spread heterogeneous
devices via the cloud
• Devices collect and transmit data.
• The cloud stores, analyzes and disseminates the raw and processed data
• Devices respond to the data.
• Other
• Heterogeneous connectivity/protocols
• Heterogeneous device OSs.
IoT Device Communication Patterns
1:N 1:N
CLOUD
Telemetry
Information flowing
from device to system
conveying device state
Commands
Commands from
system to a device or
device group to
perform specific
action
Rules
Simple if then
conditional command
sequences that
provide edge
intelligence to devices
and gateways
Alarms
State based
notifications from
devices or cloud sent
back to devices
IoT: Extracting insights thru Analytics
Descriptive analytics
• Summarize and tell what
happened
• Starts with Exploratory
Data Analysis (usually
creates more questions
than answers)
• Descriptive statistics (i.e.
counts, sums, averages,
percentages, min, max and
simple arithmetic: + − × ÷)
• Summarizes certain
groupings or filtered
versions of data
Predictive analytics
• Summarize and tell what
could happen
• Focused on using data you
have to predict data that
you don’t have
• Predictive analytics are not
limited to the time domain
( e.g. fraud detection)
Prescriptive analytics
• Summarize predictions of
what will happen based on
a model
• Ability to take actions
based on the predicted
outcome of the model
(usually in an automated
way)
• Has a feedback system that
collects data for each type
of action
IoT Systems , what we want:
• Simplicity
• Manageability
• Deployment & Updates
• Monitoring and fixes
• Scalability
• Extensibility
• Reliability
• Analytics
• Security
The Cloud: Azure
• Devices direct data to and consume data from the cloud.
• Sensors and actuators
• Use
• SQL data bases hosted on Azure directly
• Azure Web Services etc
• Azure Storage
• Azure Mobile Services
• Azure Cloud Services
• etc
Single Device: Azure Mobile Services
• Arduino device uploading sensor data to Azure Mobile Service V1&2
• https://ardjson.codeplex.com/
• Windows Embedded Compact Version: https://cejson.codeplex.com/
• Mobile Service 1&2
• 1 uses integer ID, 2 uses Guid ID
• Simple as you pass data as JSON
• Has a backend SQL database
• But a Mobile Service uses unstructured tables
• If a new field is present in a record, it just adds it to the table’s fields
• Can add some service side scripts to process data coming in and out
• Eg Add a DateTime stamp
• Hard to do any complex processing
• Azure App Services are now recommended
Single Device: Azure Mobile Services
• Arduino device uploading sensor data to Azure Mobile Service V1&2
• https://ardjson.codeplex.com/
• Windows Embedded Compact Version: https://cejson.codeplex.com/
• Mobile Service 1&2
• 1 uses integer ID, 2 uses Guid ID
• Simple as you pass data as JSON
• Has a backend SQL database
• But a Mobile Service uses unstructured tables
• If a new field is present in a record, it just adds it to the table’s fields
• Can add some service side scripts to process data coming in and out
• Eg Add a DateTime stamp
• Hard to do any complex processing
• Azure App Services are now recommended
Azure IoT
Azure IoT Hub
IoT Hub
Azure IoT Hub is a fully managed service that enables reliable and secure
bidirectional communications between millions of IoT devices and a solution
back end. Azure IoT Hub:
• Provides reliable device-to-cloud and cloud-to-device messaging at scale.
• Enables secure communications using per-device security credentials and
access control.
• Provides extensive monitoring for device connectivity and device identity
management events.
• Includes device libraries for the most popular languages and platforms
Ref: What is IoT Hub?
IoT Hub Features
• Per-device authentication and secure connectivity..
• Monitoring of device connectivity operations..
• An extensive set of device libraries.
• Azure IoT device SDKs
• Variety of languages and platforms
• Managed languages, such as C#, Java, and JavaScript.
• Scalability
• Azure IoT Hub scales to millions of simultaneously connected devices
• And millions of events per second.
• IoT protocols and extensibility.
• Use the device libraries,
• Enables devices to natively use the MQTT v3.1.1, HTTP 1.1, or AMQP 1.0
• Can extend IoT Hub to provide support for custom protocols using Gateways
Communication Patterns
• Event-based device-to-cloud.
• Can process events immediately
• Store for analysis
• Retains event data for up to 7 days
• Reliable cloud-to-device messaging (or commands). The solution back end
• Can use IoT Hub to send messages with an at-least-once delivery guarantee to
individual devices.
• Time-to-live setting
• Back end can request both delivery and expiration receipts.
• Upload files and cached sensor data to the cloud.
• Devices can upload files to Azure Storage using by IoT Hub.
• The Hub can generate notifications when files arrive in the cloud to enable the back
end to process them
Gateways
• Protocol Gateway
• In cloud
• Convert between devices’ protocols and that of the Hub
• Eg MQTT to AMQP
• Field Gateway
• Locally in region of devices
• Run analytics on the edge
• Make time-sensitive decisions that can reduce latency
• Provide device management services
• Enforce security and privacy constraints
• Can also perform protocol translation.
Microsoft Azure IoT Hub S3 edition
generally available
Pricing | Azure IoT Hub webpage
Microsoft Azure IoT Hub S3 addresses enterprise scenarios where you
have a large number of devices that generate large amounts of data and
must transmit messages frequently. Each unit of the S3 edition lets you
transmit up to 300 million messages per day. Azure IoT Hub S3 is the
fourth edition in the Azure IoT Hub family; the others are Free, S1, and S2.
Announcement (7/7/16):
Azure IoT Hub Pricing ($A US East Coast)
Edition Type Price (per month)
Total number of
Messages/day
Message meter size
Free Free 8,000 0.5 KB
S1 $63.69 400,000 4 KB
S2 $636.85 6,000,000 4 KB
S3 $6,368.50 300,000,000 4 KB
See number of Hubs per subscription later: Eg Free = 1
Azure Service Bus
Service Bus Communication Mechanisms
• Queues
• one-directional communication.
• Each queue acts as an intermediary (sometimes called a broker)
• Stores sent messages until they are received.
• Each message is received by a single recipient.
• Topics,
• One-directional communication
• Using subscriptions-a single topic can have multiple subscriptions.
• Like a queue, a topic acts as a broker, but each subscription
• Can optionally use a filter to receive only messages that match specific criteria.
• Relays, which provide
• Bi-directional communication. Unlike queues and topics, a relay
• Doesn't store in-flight messages-it's not a broker.
• Just passes them on to the destination application.
• Event Hubs
• Provide event and telemetry ingress to the cloud at massive scale
• Low latency and high reliability.
Relay
Queue Topic
Service Bus Consumer Group
• Allows several applications to independently read data from an IoT
Hub
Service Bus Messaging:
Queue v Topic Patterns
Ref: http://microsoftintegration.guru/2015/03/03/azure-event-hubs-vs-azure-messaging/
Service Bus Event Hub
• Multiple Consumers
• Read at own rate
• Ie. at different parts of stream
Ref: http://microsoftintegration.guru/2015/03/03/azure-event-hubs-vs-azure-messaging/
Event Hubs v Service Bus Messaging
• Message Retention
• SB Messaging: Live until it is consumed, expires and the queue exists
• Event Hub: All messages are live for 7 days
• Messaging:
• Peek/lock/delete
• Event Hub:
• Receiver does not remove messages from the stream
• Manages its own pointer to where it is reading in the queue
• Scale up in SB Messaging by having competing Consumer groups.
• One group will consume the msg
• With Event Hub have multiple partitions with one processor per partition
• Messaging:
• Can replay messages as they aren’t removed from stream when “consumed”
• Event Hub: You can randomly change index of msg being examined
• Errant msgs can be removed by an agent in SB Messaging
• Not in Event Hub
• Replay will give it again
Provisioning IoT Hub
The Uri
Provision a Consumer Group:
powerbi
Registering a Device
Device Registration
• A Device needs to be registered to communicate with IoT Hub
• To authenticate the device
• To communicate securely
• Can be done in a number of ways:
• Using Device Explorer
• Command Line iothub-explorer
• Using Device Portal
• (Coming) IoT Dashboard (New version later this month, Sh!)
• Connected Service for Azure IoT Hub: Visual Studio Add-In
• Can be implemented in two ways
• Using Connection String and Device ID
• Embedded in application
• Using TPM
• An API to get credentials on device
Using Device Explorer
• Manage devices connecting to your IoT hub.
• Can register a device with your IoT hub,
• Monitor messages devices
• Send messages to devices
• UI Version:
• Prebuilt: https://github.com/Azure/azure-iot-sdks/releases/download/2016-06-
30/SetupDeviceExplorer.msi
• Source: https://github.com/Azure/azure-iot-sdks/tree/master/tools/DeviceExplorer
• Command line version discussion here:
• https://blogs.windows.com/buildingapps/2015/12/09/windows-iot-core-and-azure-iot-hub-putting-the-i-in-iot/
• On Management tab you Create a new Device Registration
• You create the Device ID
• You want the Connection string and Primary Key
• Collect all data and save to Notepad (Right click
Using Device Explorer
Command line: iothub-explorer
• Run admin command prompt after installed
iothub-explorer <Hub connection string> create <deviceID
Using Device Portal
• Only works on latest
versions of IoT-Core
• Run web browser
http://minwinpc:8080
• Choose TPM tab
Using IoT Dashboard (Coming)
Connected Services Option
• Create a new UWP project.
• Right click on Services
• Selected add Connected Service
• Choose Azure IoT Hub
• Adds AzureIoTHub class with two methods:
• To send messages to the IoT Hub
• SendDeviceToCloudMessageAsync()
• To start listening to messages from the IoT Hub
• ReceiveCloudToDeviceMessageAsync()
• When creating service have two options
• Use connection string
• Use TPM (AzureIoTHub method on next page was for TPM)
public static async Task SendDeviceToCloudMessageAsync()
{
TpmDevice myDevice = new TpmDevice(0); //Use logical device 0 on the TPM
string hubUri = myDevice.GetHostName();
string deviceId = myDevice.GetDeviceId();
string sasToken = myDevice.GetSASToken();
var deviceClient = DeviceClient.Create(
hubUri,
AuthenticationMethodFactory.
CreateAuthenticationWithToken(
deviceId, sasToken), TransportType.Amqp);
var str = "Hello, Cloud from a secure C# app!";
var message = new Message(Encoding.ASCII.GetBytes(str));
await deviceClient.SendEventAsync(message);
}
Hub Registered Devices on Azure Portal
Demo: UWP Hub Registered App
https://github.com/djaus2/AzureHubRegisterIoT
Stream Analytics
Stream Analytics
• You stream data to hub as Json or CSV data
• You create a new Stream Analytics Job (In Classic Portal ??)
• This includes creating an SQL query for the data stream
• Get started with Azure Stream Analytics to process data from IoT
devices
PowerBI
Can consume the Stream
Azure IoT Suite
About
• You can bolt together your IoT solution
• Using custom devices,
• Creating:
• IoT Hubs
• Service Buses
• Stream Analytics
• PowerBI etc.
• Engineering your own
• Deployment
• Monitoring
• Maintainence
• Scalabilty etc.
• Or use a preconfigured solution: Azure IoT Suite
Azure IoT Suite
• Collect data from devices
• Analyse data streams in-motion
• Store and query large data sets
• Visualize both real-time and historical data
• Integrate with back-office systems
Azure IoT Suite packages together Azure IoT services with preconfigured
solutions. These preconfigured solutions
Azure IoT services in Azure IoT Suite
The preconfigured solutions typically use the following services:
• Azure IoT Hub service (the core)
• Provides the device-to-cloud and cloud-to-device messaging capabilities and acts as the gateway to the cloud
and the other key IoT Suite services. The service enables you to receive messages from your devices at scale,
and send commands to your devices.
• •Azure Stream Analytics
• provides in-motion data analysis. IoT Suite leverages this service to process incoming telemetry, perform
aggregation, and detect events. The preconfigured solutions also use stream analytics to process
informational messages that contain data such as metadata or command responses from devices. The
solutions use Stream Analytics to process the messages from your devices and deliver those messages to
other services.
• Azure Storage and Azure DocumentDB
• Provide the data storage capabilities. The preconfigured solutions use blob storage to store telemetry and to
make it available for analysis. The solutions use DocumentDB to store device metadata and enable the device
management capabilities of the solutions.
• Azure Web Apps and Microsoft Power BI
• Provide the data visualization capabilities. The flexibility of Power BI enables you to quickly build your own
interactive dashboards that use IoT Suite data
IoT Suite Preconfigured Solutions
• Predictive maintenance
• Anticipate maintenance needs and avoid unscheduled downtime by
connecting and monitoring your devices for predictive maintenance
• Remote monitoring
• Connect and monitor your devices to analyse untapped data and improve
business outcomes by automating processes.
• https://www.azureiotsuite.com/
Coming
davidjones@Sportronics.com.au
@CEDriverWiz
http://embedded101.com/blogs/David-Jones

More Related Content

What's hot

IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)Mirco Vanini
 
Monitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyMonitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyKarl Ots
 
Getting started with Azure Event Grid - Webinar with Steef-Jan Wiggers
Getting started with Azure Event Grid - Webinar with Steef-Jan WiggersGetting started with Azure Event Grid - Webinar with Steef-Jan Wiggers
Getting started with Azure Event Grid - Webinar with Steef-Jan WiggersCodit
 
Azure IoT Hub: what is it and why we select other solution (production projec...
Azure IoT Hub: what is it and why we select other solution (production projec...Azure IoT Hub: what is it and why we select other solution (production projec...
Azure IoT Hub: what is it and why we select other solution (production projec...Katherine Golovinova
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Io t world_2016_iot_smart_gateways_moe
Io t world_2016_iot_smart_gateways_moeIo t world_2016_iot_smart_gateways_moe
Io t world_2016_iot_smart_gateways_moeShawn Moe
 
ITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteApp
ITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteAppITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteApp
ITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteAppITProceed
 
Windows iot barone
Windows iot baroneWindows iot barone
Windows iot baroneDotNetCampus
 
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = AwesomenessCloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = AwesomenessKarl Ots
 
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Karl Ots
 
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...Tom Kerkhove
 
Arbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact SourcingArbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact SourcingPaula Cardenau
 
Creating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCreating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCallon Campbell
 
Manage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreManage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreMarco Parenzan
 
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...Karl Ots
 

What's hot (20)

IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)
 
Monitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyMonitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and why
 
Getting started with Azure Event Grid - Webinar with Steef-Jan Wiggers
Getting started with Azure Event Grid - Webinar with Steef-Jan WiggersGetting started with Azure Event Grid - Webinar with Steef-Jan Wiggers
Getting started with Azure Event Grid - Webinar with Steef-Jan Wiggers
 
Azure Digital Twins
Azure Digital TwinsAzure Digital Twins
Azure Digital Twins
 
IOT-Demo
IOT-DemoIOT-Demo
IOT-Demo
 
Azure IoT Hub: what is it and why we select other solution (production projec...
Azure IoT Hub: what is it and why we select other solution (production projec...Azure IoT Hub: what is it and why we select other solution (production projec...
Azure IoT Hub: what is it and why we select other solution (production projec...
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Io t world_2016_iot_smart_gateways_moe
Io t world_2016_iot_smart_gateways_moeIo t world_2016_iot_smart_gateways_moe
Io t world_2016_iot_smart_gateways_moe
 
ITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteApp
ITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteAppITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteApp
ITPROCEED_WorkplaceMobility_Delivering applications with Azure RemoteApp
 
IoT & Azure
IoT & AzureIoT & Azure
IoT & Azure
 
AWS IoT 深入探討
AWS IoT 深入探討AWS IoT 深入探討
AWS IoT 深入探討
 
Microsoft Azure and IoT – how to use
Microsoft Azure and IoT – how to useMicrosoft Azure and IoT – how to use
Microsoft Azure and IoT – how to use
 
Windows iot barone
Windows iot baroneWindows iot barone
Windows iot barone
 
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = AwesomenessCloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
 
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
 
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
Intelligent Cloud Conference 2018 - Building secure cloud applications with A...
 
Arbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact SourcingArbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact Sourcing
 
Creating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCreating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event Grid
 
Manage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreManage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and more
 
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
 

Viewers also liked

Connecting IoT devices to Azure
Connecting IoT devices to AzureConnecting IoT devices to Azure
Connecting IoT devices to AzureGuy Barrette
 
Internet of things (IoT) with Azure
Internet of things (IoT) with AzureInternet of things (IoT) with Azure
Internet of things (IoT) with AzureVinoth Rajagopalan
 
Azure IoT Hub: 30 minutes Intro & Demo
Azure IoT Hub: 30 minutes Intro & DemoAzure IoT Hub: 30 minutes Intro & Demo
Azure IoT Hub: 30 minutes Intro & DemoAndri Yadi
 
Office 365 Development - Office Add-ins & Microsoft Graph
Office 365 Development - Office Add-ins & Microsoft GraphOffice 365 Development - Office Add-ins & Microsoft Graph
Office 365 Development - Office Add-ins & Microsoft Graphİbrahim KIVANÇ
 
Windows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİMWindows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİMİbrahim KIVANÇ
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net coreSébastien Ollivier
 
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei datiDispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei datiMoreno Gentili
 
Deep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsDeep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsTomasz Kopacz
 
Building IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & AzureBuilding IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & AzureMostafa
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 DevelopmentShahed Chowdhuri
 
Deploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureDeploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureMichele Aponte
 
Azure service fabric: a gentle introduction
Azure service fabric: a gentle introductionAzure service fabric: a gentle introduction
Azure service fabric: a gentle introductionAlessandro Melchiori
 
.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKER.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKERJosé Barbosa
 
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016Renato Groff
 
Blueprint for creating a Secure IoT Product
Blueprint for creating a Secure IoT ProductBlueprint for creating a Secure IoT Product
Blueprint for creating a Secure IoT ProductGuy Vinograd ☁
 
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)Chen Cheng-Wei
 

Viewers also liked (20)

Connecting IoT devices to Azure
Connecting IoT devices to AzureConnecting IoT devices to Azure
Connecting IoT devices to Azure
 
Internet of things (IoT) with Azure
Internet of things (IoT) with AzureInternet of things (IoT) with Azure
Internet of things (IoT) with Azure
 
IoT on Azure
IoT on AzureIoT on Azure
IoT on Azure
 
Azure iot
Azure iotAzure iot
Azure iot
 
Azure IoT Hub: 30 minutes Intro & Demo
Azure IoT Hub: 30 minutes Intro & DemoAzure IoT Hub: 30 minutes Intro & Demo
Azure IoT Hub: 30 minutes Intro & Demo
 
Windows IoT
Windows IoTWindows IoT
Windows IoT
 
Office 365 Development - Office Add-ins & Microsoft Graph
Office 365 Development - Office Add-ins & Microsoft GraphOffice 365 Development - Office Add-ins & Microsoft Graph
Office 365 Development - Office Add-ins & Microsoft Graph
 
Windows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİMWindows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİM
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net core
 
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei datiDispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
 
Deep dive into service fabric after 2 years
Deep dive into service fabric after 2 yearsDeep dive into service fabric after 2 years
Deep dive into service fabric after 2 years
 
Building IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & AzureBuilding IoT solutions using Windows 10 IoT Core & Azure
Building IoT solutions using Windows 10 IoT Core & Azure
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 Development
 
Deploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureDeploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on Azure
 
Azure service fabric: a gentle introduction
Azure service fabric: a gentle introductionAzure service fabric: a gentle introduction
Azure service fabric: a gentle introduction
 
.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKER.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKER
 
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
 
Blueprint for creating a Secure IoT Product
Blueprint for creating a Secure IoT ProductBlueprint for creating a Secure IoT Product
Blueprint for creating a Secure IoT Product
 
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
摩登開發團隊的DevOps之道 (@DevOpsTaiwan)
 

Similar to Windows 10 IoT, Azure and the Internet of Things

Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureVinoth Rajagopalan
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidSam Bowne
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA NITIN GUPTA
 
DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04
DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04
DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04Aritra Sarkar
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - SeminarAkshay Sharma
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - SeminarAkshay Sharma
 
Distributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDDistributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDMichael Blackstock
 
Null mumbai-reversing-IoT-firmware
Null mumbai-reversing-IoT-firmwareNull mumbai-reversing-IoT-firmware
Null mumbai-reversing-IoT-firmwareNitesh Malviya
 
Hacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreHacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreNick Landry
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android pptvijaymashre
 
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Codit
 

Similar to Windows 10 IoT, Azure and the Internet of Things (20)

Android OS
Android OSAndroid OS
Android OS
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
 
Lick my Lollipop
Lick my LollipopLick my Lollipop
Lick my Lollipop
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: Android
 
128-ch4.pptx
128-ch4.pptx128-ch4.pptx
128-ch4.pptx
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04
DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04
DuinOS controlled Rover with MATLAB 2009 and Android GingerBread - 2012-11-04
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Google android os
Google android osGoogle android os
Google android os
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
 
Introduction to Android - Seminar
Introduction to Android - SeminarIntroduction to Android - Seminar
Introduction to Android - Seminar
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
 
Distributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-REDDistributed Data Flow for the Web of Things: Distributed Node-RED
Distributed Data Flow for the Web of Things: Distributed Node-RED
 
Null mumbai-reversing-IoT-firmware
Null mumbai-reversing-IoT-firmwareNull mumbai-reversing-IoT-firmware
Null mumbai-reversing-IoT-firmware
 
Hacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreHacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT Core
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android ppt
 
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
Living on the (IoT) edge (Sam Vanhoutte @TechdaysNL 2017)
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Windows 10 IoT, Azure and the Internet of Things

  • 1.
  • 3. Agenda • One Windows • Azure • Windows 10 IoT-Core • Internet of Things • Azure IoT • IoT Hub, Service Bus etc • Azure IoT Suite A work in progress
  • 4. IoT HoloLens Surface Hub Windows Desktop Windows Phone Xbox ONE CORE OS ONE APP PLATFORM ONE STOREWindows 10
  • 5. Windows 10 Phone Small Tablet 2-in-1s (Tablet or Laptop) Desktops & All-in-OnesPhablet Large Tablet Classic Laptop Xbox IoT Surface Hub Holographic
  • 6. One Core OS Base OS App and Device platform Runtimes and frameworks Windows for … Form factor–appropriate shell experience Device-specific scenario support Windows for phones Familiar mobile shell Rich telephony Windows phone app compatibility Windows for PCs Familiar desktop shell Broad hardware ecosystem Windows desktop application compatibility Windows on Xbox 10’ shell experience Shared gaming experiences Xbox One game and app compatibility
  • 7.
  • 8.
  • 9.
  • 10. Windows 10 • There is Core functionality • You just need the Windows 10 SDK • You build a “generic” Universal Windows Platform (UWP) App and it will run all Windows 10 devices. • Then there are Platform (SDK) Extensions: • Desktop • Mobile • IoT-Core • Team • Others: • Xbox • HoloLens
  • 11. Add a reference to a Platform Extension SDK
  • 12. Platform Extension Runtime Checks • You can provide checks in code when using Extension APIs that conditionally run code if that platform is present. • “Windows.Foundation.Metadata.ApiInformation” that contains the following interfaces: • IsApiContractPresent. • IsEnumNameValuePresent. • IsEventPresent. • IsMethodPresent. • IsPropertyPresent. • IsTypePresent. • IsWritablePropertyPresent.
  • 13. Validation Code for GPIO using Windows.Foundation.Metadata; … … if (ApiInformation.IsApiContractPresent ("Windows.Devices.DevicesLowLevelContract", 1)) { //doing something with GPIO } • Other available contracts : • Windows.Foundation.FoundationContract. • Windows.Foundation.UniversalApiContract. • Windows.Foundation.RemoveFromThisBadContract.
  • 15. IoT-Core Capabilities and Requirements • Windows 10 IoT has a subset of functionality from Windows 10 desktop but has extra IO features: • GPIO, Interrupts • I2C, SPI, RS232 • Ethernet, WiFi, Bluetooth • There is a set of validated USB devices • There is a reduction in the requirements for storage and memory with 4GB and 512MB/256MB: • Recommended 8G storage (eg on SDCard) • Systems can be headless: • Headed requires 512MB (Generally uses HDMI or LCD) • Headless only requires 256MB
  • 16. IoT-Core App Technology • The main application technology is Universal Apps: • In the headed mode, the standard UAP UI stack is available for fully interactive apps. • In headless mode, there is no UI stack available and apps are not interactive. Headless mode apps can be thought of as services.
  • 17. IoT-Core Apps • Only one startup app is permitted which becomes the UI. There is no shell: • The startup app IS the shell. • Background tasks are supported. • Console apps are supported but without UI and a subset of the existing Win32API. • There is a tool for checking existing Console Win32 apps for Win32 API requirements against those available in Win 10 IoT.
  • 18. IoT-Core Command line utilities • There is a set of command line OS utilities, for example shutdown. https://developer.microsoft.com/en-us/windows/iot/win10/tools/commandlineutils • Examples: • Task scheduler: • To view the current list of scheduled tasks, use the schtasks.exe command. You can create new tasks with the /create switch or run on-demand tasks with the /run switch. For a full list of supported parameters, use schtasks.exe /? • Device drivers: • The device console utility is useful in identifying and managing installed devices and drivers. For a full list of parameters, use devcon.exe /? • Registry Access: • If you need to access the registry to view or modify settings, use the reg.exe /? Command for the full list of supported parameters • In the default startup app there a command line pane • Requires enabling • Can be actioned remotely • We want large scale manageability though
  • 19. IoT-Core Remote Access • Can access remotely to action command line utilities. • PowerShell • SSH not Telnet • Windows 10 IoT Remote Client (Like Remote Desktop) • Use the Command line pane • Device Manager • This is available for most Windows 10 devices • Is a web service on the device for remote management • Note for IoT-Core uses port 8080. eg http://minwinpc:8080 • Also • Remote File Share • FTP
  • 20. IoT-Core Unavailable APIs • Many APIs are not available because • Hardware would not be on these devices: eg Phone functionality • To complex • Doesn’t make sense for a dedicated, single purpose device • Just isn’t available, eg Popups • See • For universal code need to make these API calls conditional on not being an IoT device • Eg Popups were originally just ignored, whereas in the public release they generate an error.
  • 21. IoT-Core Supported Devices • ARM • Raspberry Pi 2b and Raspberry PI 3 • Dragonboard 410C • X86 • Minnowboard Max • Others (not directly supported by Microsoft) • Toradex Colibri T30 (Nvidia COU) Is Certified for IoT though
  • 22. IoT-Core Supported Peripherals • A broad subset of Windows 10 desktop peripherals • If it runs on the desktop it possibly runs under IoT-Core • Though might need ARM driver version ( cf x86) • The are some Iot-Core specific peripherals that are supported (eg Sensors) • Lost of “Hats” • Also others can be added if compatible using the devcon utility. • https://developer.microsoft.com/en- us/windows/iot/win10/supportedinterfaces
  • 23. FEZ HAT GrovePi+ Board DHT11 temperature and humidity sensor IoT Sensor Boards Grove Starter Kit for 96Boards (Dragonboard 410c)
  • 24. Developing for Windows 10 IoT-Core • Visual Studio 2015 with latest Update (2 or 3) • Community Edition is OK • Windows 10 SDK (Latest) • OS Image installed on device (Latest) • Windows 10 IoT Dashboard • Window 10 IoT Remote Client • Getting started: • https://developer.microsoft.com/en-us/windows/iot • Docs: • https://developer.microsoft.com/en-us/windows/iot/Docs • Samples on GitHub • https://github.com/ms-iot/samples
  • 26. What is the Internet of Things? • The seamless interconnection of spatially spread heterogeneous devices via the cloud • Devices collect and transmit data. • The cloud stores, analyzes and disseminates the raw and processed data • Devices respond to the data. • Other • Heterogeneous connectivity/protocols • Heterogeneous device OSs.
  • 27.
  • 28. IoT Device Communication Patterns 1:N 1:N CLOUD Telemetry Information flowing from device to system conveying device state Commands Commands from system to a device or device group to perform specific action Rules Simple if then conditional command sequences that provide edge intelligence to devices and gateways Alarms State based notifications from devices or cloud sent back to devices
  • 29. IoT: Extracting insights thru Analytics Descriptive analytics • Summarize and tell what happened • Starts with Exploratory Data Analysis (usually creates more questions than answers) • Descriptive statistics (i.e. counts, sums, averages, percentages, min, max and simple arithmetic: + − × ÷) • Summarizes certain groupings or filtered versions of data Predictive analytics • Summarize and tell what could happen • Focused on using data you have to predict data that you don’t have • Predictive analytics are not limited to the time domain ( e.g. fraud detection) Prescriptive analytics • Summarize predictions of what will happen based on a model • Ability to take actions based on the predicted outcome of the model (usually in an automated way) • Has a feedback system that collects data for each type of action
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. IoT Systems , what we want: • Simplicity • Manageability • Deployment & Updates • Monitoring and fixes • Scalability • Extensibility • Reliability • Analytics • Security
  • 40. The Cloud: Azure • Devices direct data to and consume data from the cloud. • Sensors and actuators • Use • SQL data bases hosted on Azure directly • Azure Web Services etc • Azure Storage • Azure Mobile Services • Azure Cloud Services • etc
  • 41. Single Device: Azure Mobile Services • Arduino device uploading sensor data to Azure Mobile Service V1&2 • https://ardjson.codeplex.com/ • Windows Embedded Compact Version: https://cejson.codeplex.com/ • Mobile Service 1&2 • 1 uses integer ID, 2 uses Guid ID • Simple as you pass data as JSON • Has a backend SQL database • But a Mobile Service uses unstructured tables • If a new field is present in a record, it just adds it to the table’s fields • Can add some service side scripts to process data coming in and out • Eg Add a DateTime stamp • Hard to do any complex processing • Azure App Services are now recommended
  • 42. Single Device: Azure Mobile Services • Arduino device uploading sensor data to Azure Mobile Service V1&2 • https://ardjson.codeplex.com/ • Windows Embedded Compact Version: https://cejson.codeplex.com/ • Mobile Service 1&2 • 1 uses integer ID, 2 uses Guid ID • Simple as you pass data as JSON • Has a backend SQL database • But a Mobile Service uses unstructured tables • If a new field is present in a record, it just adds it to the table’s fields • Can add some service side scripts to process data coming in and out • Eg Add a DateTime stamp • Hard to do any complex processing • Azure App Services are now recommended
  • 44.
  • 46. IoT Hub Azure IoT Hub is a fully managed service that enables reliable and secure bidirectional communications between millions of IoT devices and a solution back end. Azure IoT Hub: • Provides reliable device-to-cloud and cloud-to-device messaging at scale. • Enables secure communications using per-device security credentials and access control. • Provides extensive monitoring for device connectivity and device identity management events. • Includes device libraries for the most popular languages and platforms Ref: What is IoT Hub?
  • 47.
  • 48. IoT Hub Features • Per-device authentication and secure connectivity.. • Monitoring of device connectivity operations.. • An extensive set of device libraries. • Azure IoT device SDKs • Variety of languages and platforms • Managed languages, such as C#, Java, and JavaScript. • Scalability • Azure IoT Hub scales to millions of simultaneously connected devices • And millions of events per second. • IoT protocols and extensibility. • Use the device libraries, • Enables devices to natively use the MQTT v3.1.1, HTTP 1.1, or AMQP 1.0 • Can extend IoT Hub to provide support for custom protocols using Gateways
  • 49. Communication Patterns • Event-based device-to-cloud. • Can process events immediately • Store for analysis • Retains event data for up to 7 days • Reliable cloud-to-device messaging (or commands). The solution back end • Can use IoT Hub to send messages with an at-least-once delivery guarantee to individual devices. • Time-to-live setting • Back end can request both delivery and expiration receipts. • Upload files and cached sensor data to the cloud. • Devices can upload files to Azure Storage using by IoT Hub. • The Hub can generate notifications when files arrive in the cloud to enable the back end to process them
  • 50. Gateways • Protocol Gateway • In cloud • Convert between devices’ protocols and that of the Hub • Eg MQTT to AMQP • Field Gateway • Locally in region of devices • Run analytics on the edge • Make time-sensitive decisions that can reduce latency • Provide device management services • Enforce security and privacy constraints • Can also perform protocol translation.
  • 51.
  • 52. Microsoft Azure IoT Hub S3 edition generally available Pricing | Azure IoT Hub webpage Microsoft Azure IoT Hub S3 addresses enterprise scenarios where you have a large number of devices that generate large amounts of data and must transmit messages frequently. Each unit of the S3 edition lets you transmit up to 300 million messages per day. Azure IoT Hub S3 is the fourth edition in the Azure IoT Hub family; the others are Free, S1, and S2. Announcement (7/7/16):
  • 53. Azure IoT Hub Pricing ($A US East Coast) Edition Type Price (per month) Total number of Messages/day Message meter size Free Free 8,000 0.5 KB S1 $63.69 400,000 4 KB S2 $636.85 6,000,000 4 KB S3 $6,368.50 300,000,000 4 KB See number of Hubs per subscription later: Eg Free = 1
  • 55. Service Bus Communication Mechanisms • Queues • one-directional communication. • Each queue acts as an intermediary (sometimes called a broker) • Stores sent messages until they are received. • Each message is received by a single recipient. • Topics, • One-directional communication • Using subscriptions-a single topic can have multiple subscriptions. • Like a queue, a topic acts as a broker, but each subscription • Can optionally use a filter to receive only messages that match specific criteria. • Relays, which provide • Bi-directional communication. Unlike queues and topics, a relay • Doesn't store in-flight messages-it's not a broker. • Just passes them on to the destination application. • Event Hubs • Provide event and telemetry ingress to the cloud at massive scale • Low latency and high reliability.
  • 56.
  • 58. Service Bus Consumer Group • Allows several applications to independently read data from an IoT Hub
  • 59. Service Bus Messaging: Queue v Topic Patterns Ref: http://microsoftintegration.guru/2015/03/03/azure-event-hubs-vs-azure-messaging/
  • 60. Service Bus Event Hub • Multiple Consumers • Read at own rate • Ie. at different parts of stream Ref: http://microsoftintegration.guru/2015/03/03/azure-event-hubs-vs-azure-messaging/
  • 61. Event Hubs v Service Bus Messaging • Message Retention • SB Messaging: Live until it is consumed, expires and the queue exists • Event Hub: All messages are live for 7 days • Messaging: • Peek/lock/delete • Event Hub: • Receiver does not remove messages from the stream • Manages its own pointer to where it is reading in the queue • Scale up in SB Messaging by having competing Consumer groups. • One group will consume the msg • With Event Hub have multiple partitions with one processor per partition • Messaging: • Can replay messages as they aren’t removed from stream when “consumed” • Event Hub: You can randomly change index of msg being examined • Errant msgs can be removed by an agent in SB Messaging • Not in Event Hub • Replay will give it again
  • 63.
  • 65.
  • 66.
  • 67. Provision a Consumer Group: powerbi
  • 69. Device Registration • A Device needs to be registered to communicate with IoT Hub • To authenticate the device • To communicate securely • Can be done in a number of ways: • Using Device Explorer • Command Line iothub-explorer • Using Device Portal • (Coming) IoT Dashboard (New version later this month, Sh!) • Connected Service for Azure IoT Hub: Visual Studio Add-In • Can be implemented in two ways • Using Connection String and Device ID • Embedded in application • Using TPM • An API to get credentials on device
  • 70. Using Device Explorer • Manage devices connecting to your IoT hub. • Can register a device with your IoT hub, • Monitor messages devices • Send messages to devices • UI Version: • Prebuilt: https://github.com/Azure/azure-iot-sdks/releases/download/2016-06- 30/SetupDeviceExplorer.msi • Source: https://github.com/Azure/azure-iot-sdks/tree/master/tools/DeviceExplorer • Command line version discussion here: • https://blogs.windows.com/buildingapps/2015/12/09/windows-iot-core-and-azure-iot-hub-putting-the-i-in-iot/ • On Management tab you Create a new Device Registration • You create the Device ID • You want the Connection string and Primary Key • Collect all data and save to Notepad (Right click
  • 72. Command line: iothub-explorer • Run admin command prompt after installed iothub-explorer <Hub connection string> create <deviceID
  • 73. Using Device Portal • Only works on latest versions of IoT-Core • Run web browser http://minwinpc:8080 • Choose TPM tab
  • 75. Connected Services Option • Create a new UWP project. • Right click on Services • Selected add Connected Service • Choose Azure IoT Hub • Adds AzureIoTHub class with two methods: • To send messages to the IoT Hub • SendDeviceToCloudMessageAsync() • To start listening to messages from the IoT Hub • ReceiveCloudToDeviceMessageAsync() • When creating service have two options • Use connection string • Use TPM (AzureIoTHub method on next page was for TPM)
  • 76. public static async Task SendDeviceToCloudMessageAsync() { TpmDevice myDevice = new TpmDevice(0); //Use logical device 0 on the TPM string hubUri = myDevice.GetHostName(); string deviceId = myDevice.GetDeviceId(); string sasToken = myDevice.GetSASToken(); var deviceClient = DeviceClient.Create( hubUri, AuthenticationMethodFactory. CreateAuthenticationWithToken( deviceId, sasToken), TransportType.Amqp); var str = "Hello, Cloud from a secure C# app!"; var message = new Message(Encoding.ASCII.GetBytes(str)); await deviceClient.SendEventAsync(message); }
  • 77. Hub Registered Devices on Azure Portal
  • 78. Demo: UWP Hub Registered App https://github.com/djaus2/AzureHubRegisterIoT
  • 80. Stream Analytics • You stream data to hub as Json or CSV data • You create a new Stream Analytics Job (In Classic Portal ??) • This includes creating an SQL query for the data stream • Get started with Azure Stream Analytics to process data from IoT devices
  • 83. About • You can bolt together your IoT solution • Using custom devices, • Creating: • IoT Hubs • Service Buses • Stream Analytics • PowerBI etc. • Engineering your own • Deployment • Monitoring • Maintainence • Scalabilty etc. • Or use a preconfigured solution: Azure IoT Suite
  • 84. Azure IoT Suite • Collect data from devices • Analyse data streams in-motion • Store and query large data sets • Visualize both real-time and historical data • Integrate with back-office systems Azure IoT Suite packages together Azure IoT services with preconfigured solutions. These preconfigured solutions
  • 85. Azure IoT services in Azure IoT Suite The preconfigured solutions typically use the following services: • Azure IoT Hub service (the core) • Provides the device-to-cloud and cloud-to-device messaging capabilities and acts as the gateway to the cloud and the other key IoT Suite services. The service enables you to receive messages from your devices at scale, and send commands to your devices. • •Azure Stream Analytics • provides in-motion data analysis. IoT Suite leverages this service to process incoming telemetry, perform aggregation, and detect events. The preconfigured solutions also use stream analytics to process informational messages that contain data such as metadata or command responses from devices. The solutions use Stream Analytics to process the messages from your devices and deliver those messages to other services. • Azure Storage and Azure DocumentDB • Provide the data storage capabilities. The preconfigured solutions use blob storage to store telemetry and to make it available for analysis. The solutions use DocumentDB to store device metadata and enable the device management capabilities of the solutions. • Azure Web Apps and Microsoft Power BI • Provide the data visualization capabilities. The flexibility of Power BI enables you to quickly build your own interactive dashboards that use IoT Suite data
  • 86. IoT Suite Preconfigured Solutions • Predictive maintenance • Anticipate maintenance needs and avoid unscheduled downtime by connecting and monitoring your devices for predictive maintenance • Remote monitoring • Connect and monitor your devices to analyse untapped data and improve business outcomes by automating processes. • https://www.azureiotsuite.com/
  • 87.