SlideShare a Scribd company logo
1 of 85
Download to read offline
Azure Digital Twins -
how to deal with
more complex IoT
ecosystem - from
device to analytics
2.5 h MAX!!!!!!!
Tomasz Kopacz,
tkopacz@microsoft.com
Plan
IoT Plug and Play
Concept of Digital Twins
Implementation in Azure Digital Twins
Usage of Azure Digital Twins and Azure Services
And – how to work with DATA and IoT and ADT
Context – not only
“small devices”
Rather:
General, Microsoft IoT Components
IoT PnP – to
define standards
for devices
{
"Temperature": 23
}
or ?
{
"Temp": 23
}
or ?
{
"temperaturka": 23
}
or ?
{
"data":
[
{
"timestamp": "2021-01-01 01:01:01.123",
"typeOfMeasurement": "Temperature",
"value": 23
}
]
}
Devices Solutions
IoT Today
Tight coupling between software on device and IoT solution in the cloud
Because of: telemetry format, how to interpret data, how to send commands etc.
Demo
Challenges with “model-less” devices
(and – recap – how to “debug” telemetry!)
PCs
Peripherals
We had a similar challenge in the past
PCs
Peripherals
Devices published their capability models and adhered to them
Windows used the capability model to know how to interact with them
Capability
Model
Device
Metadata
https://web.archive.org/web/20040616023120/http://www.microsoft.com/whdc/system/pnppwr/pnp/default.mspx
1999 - local docs
That was solved in Windows with Plug and Play
Introducing IoT Plug and Play
Simplifies device interactions in IoT solutions with an open modeling language
Devices Solutions
Devices self-describe capabilities based on open Digital Twins Definition Language.
Solutions can automatically adapt to devices
All without custom code
Interfac
e
Describe interaction model in DTDL
Open modeling language
Describe device capability and
interaction model
Each device model has a unique ID: Digital Twin Model ID (DTMI).
Each device model consists of a set of interfaces.
Interfaces describe attributes of the device:
telemetry, property, command
Single or multiple components.
The solution can query and parse the Device model to understand the
interaction model.
Model ID
JSON-LD
Interfac
e
Interfaces
Telemetry
Property
Command
Component
Azure Digital Twins alignment
TheIoTPlugandPlaydevice
modelbecomesoneofthe
twinsinthegraph.
Allows addition of (plug)
IoT device into the graph.
Allows interaction with
(play) IoT device and data
from it in the graph.
IoT Plug and Play is fully
aligned with Azure
Digital Twins.
Digital Twin enables the
creation of knowledge
graphs based on digital
models of physical
environment.
Allows creation of
relationships among twins.
Enriches twins by adding
metadata and attributes.
IoT Plug and Play device model =
Digital Twin model
• A schema that describes device capabilities and
attributes
• Written in DTDL v2 based on JSON-LD
• DTDL v2 for schemas, semantics
https://aka.ms/dtdl
Tools for device model authoring
• Visual Studio / Visual Studio Code
• Extensions for model authoring
• DTDL Parser Library
• For syntax check
This new industry standard is a
collaborative effort between Microsoft
and the Digital Twin Consortium.
Base: JSON-LLD
https://json-ld.org/
Linking “data”
Used in Device Twins, Azure
Twins.
Also: in general RDF (Semantic
Web Resource Description
Framework) and many other
standards
{
"@context":
"@id":
"@type":
"displayName":
"description": "Device Model Example",
"contents": [
{
"@type":
"Temperature"],
"name":
"displayName":
"description":
"schema":
"unit":
},
Temperature sensor
Telemetry payload
{“temp” : “12.34”}
"dtmi:dtdl:context;2",
"dtmi:com:mycompany:Thermostat;1",
"Interface",
"IoT Plug and Play Device",
"Device Model Example",
["Telemetry",
"Temperature"],
"temp",
"Temperature Data",
"Temperature in degrees Celsius.",
"double",
"degreeCelsius"
Without device model
“temp is 12.34”
With device model
“Temperature is 12.34
degrees in Celsius”
DTDL v2
Model ID
Telemetry type
Schema
Unit
Semantic temperature
Interface type
Name of data
DTDL
Demo – ok – browsing models ;)
Usage – „UI”
Device model
& interface
definition
Telemetry, property, command
❶ Author device model
❷ Add model ID announcement to app
Model ID
Announcement
Connect
❷ Resolve Model
❶ Retrieve model ID
Device
Catalog
❹ Certify device
❸ Publish/share model definition
Model ID
Device model &
interface definition
Plug and Play OP Traditional OP
Model driven UI/UX
Implement IoT Plug and Play convention
based on the device model
• Model ID announcement: minimum required
• Telemetry – Data from device to cloud
• Writable properties – Settings from cloud to device
• Read-only properties – Reported by device
• Commands – Invoking method on device from cloud
• Follows IoT Plug and Play convention
Model ID
Telemetry
Properties
Commands
IoT Plug and Play conventions
• Devices must follow the conventions when
exchanging messages with IoT Hub.
• This ensures consistency in the device model
and metadata in the messages.
• Learn more about IoT Plug and Play conventions.
• (open it!)
Model ID
"reported": {
"thermostat1": {
"__t": "c",
"targetTemperature": {
"value": 23,
"ac": 200,
"av": 3,
"ad": "complete“
}
}
}
Solution needs to access to the model definition file
(JSON file)
• Through Azure IoT Model Repository
• Through your own repository such as GitHub or file share
Models are immutable
• Approved models in public model repository are immutable
Access through Azure IoT model repository
• Microsoft-hosted public model repository
• Custom model repository
• Supports HTTP API and local file access
• Model Repo Client SDK
Model ID Model ID
Model Contents
Model
Resolution
Model ID
Model Contents
Device Model
Z:AzFY21-PaaS0316-IoT-Hub2022IotPnP
iot-plugandplay-modelsdtmi
Demo
IoT vs IoT PnP (C#)
How to work with writable properties/desired state/commands
PnP – playing with Model from code (Device Twins queries)
Custom model in folder
JS, C/C++ IoT Hub SDK and PnP
JS
C/C++
const client =Client.fromConnectionString(deviceConnectionString, Protocol);
try {
// Add the modelId here
await client.setOptions(modelIdObject);
await client.open();
deviceHandle = IoTHubDeviceClient_LL_CreateFromConnectionString(cnn, MQTT_Protocol));
// Sets the name of ModelId for this PnP device.
// This *MUST* be set before the client is connected to IoTHub. We do not automatically connect when the
// handle is created, but will implicitly connect to subscribe for device method and device twin callbacks below.
iothubResult = IoTHubDeviceClient_LL_SetOption(deviceHandle, OPTION_MODEL_ID, modelId));
...
iothubResult = IoTHubDeviceClient_LL_SetDeviceMethodCallback(deviceHandle, callback, NULL)...
iothubResult = IoTHubDeviceClient_LL_SetDeviceTwinCallback(deviceHandle, callback, (void*)deviceHand)
...
What if we have many sensors? Like –
humidity and temperature and “switch” – in
single device
Enables creation of a device
model interface as an assembly
of other interfaces
Default device model is a single
interface (or component-less) model
@context: DTDL2
@id: Model ID
@type: Interface
Contents [
]
@type: Component
@schema: Model ID A
@type: Component
@schema: Model ID B
@context: DTDL2
@id: Model ID A
@type: Interface
Contents [
:
]
@context: DTDL2
@id: Model ID B
@type: Interface
Contents [
:
]
(Gateway patterns)
Transparent
IoT Hub-aware devices connect
as leaf devices
Protocol translation
Module talks to leaf devices and
acts as a single device in IoT
Hub
Identity translation
Module talks to leaf devices and
impersonates/manages
identities of leaf devices as
unique devices in IoT Hub
IoT Plug and Play bridge
bridge architecture
Capabilities
Open Source
https://github.com/Azure/iot-plug-and-play-bridge
Extensibility: https://github.com/Azure/iot-plug-and-play-
bridge/blob/master/pnpbridge/docs/author_adapter.md
Set of structures and pointers to methods (telemetry etc)
Also: serialpnp - Serial PnP protocol – Arduino, STM
Can be run as
Use pnpbridge_bin.exe / pnpbridge_bin to run the bridge native application
Use pnpbridgesvc.exe to run the bridge as a service on an IoT device or gateway running
windows
Use pnpbridge_module to run the bridge as a module on an IoT edge runtime running linux.
Demo
Windows, laptop and IoT PnP Gateway
DPS (and PnP) – to manage MANY devices
Zero-touch provisioning to a single IoT solution without hardcoding IoT Hub connection
information at the factory (initial setup)
Load-balancing devices across multiple hubs
Connecting devices to their owner's IoT solution based on sales transaction data (multitenancy)
Connecting devices to a particular IoT solution depending on use-case (solution isolation)
Connecting a device to the IoT hub with the lowest latency (geo-sharding)
Reprovisioning based on a change in the device
Rolling the keys used by the device to connect to IoT Hub (when not using X.509 certificates to
connect)
device DPS
IoT
hub
5. Connects
1. Asks for hub 2. Creates ID
4. Returns hub 3. Returns ID
Zero touch provisioning
Connect to IoT Hub through DPS
SecurityProvider symmetricKeyProvider = new
SecurityProviderSymmetricKey(parameters.DeviceId, parameters.DeviceSymmetricKey, null);
ProvisioningTransportHandler mqttTransportHandler =
new ProvisioningTransportHandlerMqtt();
ProvisioningDeviceClient pdc = ProvisioningDeviceClient.Create(parameters.DpsEndpoint,
parameters.DpsIdScope,
symmetricKeyProvider, mqttTransportHandler);
var pnpPayload = new ProvisioningRegistrationAdditionalData
{ JsonData = $"{{ "modelId": "{ModelId}" }}" };
DeviceRegistrationResult dpsRegistrationResult = await
pdc.RegisterAsync(pnpPayload, cancellationToken);
var authMethod = new DeviceAuthenticationWithRegistrySymmetricKey(
dpsRegistrationResult.DeviceId, parameters.DeviceSymmetricKey);
var options = new ClientOptions { ModelId = ModelId };
DeviceClient deviceClient = DeviceClient.Create(dpsRegistrationResult.AssignedHub,
authMethod, TransportType.Mqtt, options);
///We have deviceClient based on IoT Hub assigned by DPS based on enrollment rules
Demo
PnP (Phone) and DPS
(Azure)
Building the IoT Plug and Play ecosystem – 2021 and beyond
Azure IoT Device Catalog
Azure Marketplace
Customers
Device providers Solution providers
Device providers
Build devices that self-describe and integrate
seamlessly with any Azure IoT cloud
solution.
Reduces firmware development and
maintenance effort with a single firmware for
all solutions.
Increase visibility to solution developers via
the Azure Certified Device Catalog.​
Solution providers
Accelerate solutions without writing
embedded code.
Find devices with the capabilities to
fit your solution needs.
Reach more customers by promoting your
solutions in the Azure Marketplace.
Azure Certified Device Program overview
The Azure Certified Device Program currently offers three device certifications
Certification Promise Requirements Targeted Devices
Azure Certified Device
Works with
IoT Hub
• Device to Cloud telemetry
• Device Provisioning with DPS
• Microcontroller
• IoT Devices
• IoT Edge Devices
• Edge Appliances
• Edge Stack
Edge Managed
IoT Edge
RT works
• Device Provisioning with DPS
• IoT Edge RT running on Moby container subsystem
• Moby & Edge Security Manager preinstalled
• IoT Edge Devices
• Edge Appliances
• Edge Stack
IoT Plug and Play – New!
Simplify
IoT
solution
• IoT Plug and Play device model compliance
• Including Azure Certified Device requirements
• D2C telemetry
• Device Provisioning with DPS
• Microcontroller
• IoT Devices
• IoT Edge Devices
IoT Plug and Play certification requirements
Technical requirements
• Device model(s) describing the device and peripherals.
• Support Device to Cloud message (D2C) with the IoT Plug and Play convention.
• Support Device Provisioning Service (DPS) with one or more device authentication types:
• Symmetric Key
• X.509
• Trusted Platform Module (TPM)
• Model ID announcement
• During device provisioning through DPS
• During the MQTT connection
• Publish device model to Model Repo provided by Microsoft
Optional features
• Cloud to Device (C2D) message
• Device method (or direct method)
• Device properties, writable and non-writable
Yesss…. It was all for SINGLE device
What can we do to work effectively in more “complex”
environments?
Intro to Digital Twins and Azure Digital Twins
Digital twin?
Wikipedia definition + comments
A digital twin is a virtual
representation that serves as the
real-time digital counterpart of a
physical object or process. […] the
first practical definition of digital twin
originated from NASA in an attempt
to improve physical model simulation
of spacecraft in 2010
[…] Digital twins were anticipated
by David Gelernter's 1991 book Mirror
Worlds.[…] Grieves proposed the
digital twin as the conceptual model
underlying product
lifecycle management (PLM).
By Wilmjakob - Own work, CC BY-SA 4.0,
https://commons.wikimedia.org/w/index.php?curid=93687174
Towards Connected
Environments
As connected solutions continue
to evolve, businesses are looking
to connect entire environments
Connected Assets Connected Environments Connected Ecosystems
Banks
Finance
Plants
Factories
Industrial Sites
Utilities
Manufacturing Stores
Warehouses
Distribution
Centers
Malls
Micro-fulfillment
Retail
Building
Office
Entertainment
Restaurants
Hotels
Enterprise
Campus
Real Estate
Public Spaces
Arenas &
Stadiums
Transportation Hubs
Subway &
Train Stations
Ports
Utilities
Water Treatment
Facilities
Cities & Government
Hospitals
Labs
Pharmacies
Clinics
Retirement
Facilities
Healthcare
Farms
Water Supply
Power
Storage
Processing
Agriculture
Schools
Campuses
Virtual
Environments
Education
Generating
Power Stations
Substations
Energy
Connected Environments
Azure Digital Twins
REST
API
External Compute
Handles business logic and data processing
Client Apps
Manage models and the digital twins graph
Digital Twins
Definition
Language
A Z U R E D I G I T A L
T W I N S G R A P H
IoT Hub
Workflow integration
(e.g. Logic Apps)
Business systems/services
integration via REST APIs
Workflow integration
(e.g. Logic Apps)
Cold Storage
ADX
Analytics
Azure Digital Twins
IoT solutions that model the real world
Demo
Design ADT - DTDL, tools, validator etc
https://github.com/Azure/opendigitaltwins-
dtdl/blob/master/DTDL/v2/dtdlv2.md
https://github.com/Azure/opendigitaltwins-tools
(converter from Web Ontology Language (OWL) and many others!)
Azure Digital Twins
{
"@id": “dtmi:example:Station;1",
"@type": "Interface",
"extends": “dtmi:example:Room;1",
"contents": [
{
"@type": "Property",
"name": “isOccupied",
"schema": "boolean“
},
{
"@type": “Property",
"name": “hasAVSystem",
"schema": “boolean“
},
{
"@type": "Property",
"name": “capacity",
"schema": “integer“
}
],
"@context": "dtmi:dtdl:context;2"
}
▪ Create custom domain models using “Digital Twins Definition Language” (DTDL)
▪ ADT Models describe twins in terms of
▪ Telemetry
▪ Properties
▪ Relationships
▪ Components
▪ Models define semantic relationships to connect twins into a knowledge graph
▪ Models can specialize other twins using inheritance
▪ Digital Twins Definition Language is aligned with
▪ IoT Plug and Play
▪ ADX Model
▪ https://github.com/Azure/opendigitaltwins-dtdl
Model any environment, connect sensors and business systems to the model.
Control the present, track the past and predict the future
Open Modeling
Language
Live Execution
Environment
Input from IoT &
Business Systems
Digital Twin
Partnerships
Output to ADX,
Storage & Analytics
Important to remember!
Property
• Data fields that represent the state of an entity.
Telemetry
• Measurements or events, based on sensor readings. Stream of data – NOT STORED in
ADT
Component
• Defines an assembly of other interfaces, that make up a model.
Relationship
• Represents how your model interacts with other models. Defines the graph of related
entities.
Azure Digital Twins
Model any environment, connect sensors and business systems to the model.
Control the present, track the past and predict the future
▪ Create a live execution environment from the DTDL models in
Azure Digital Twins
▪ Twin instances and relationships form a live graph representation
of the environment
▪ Use a rich event system to drive business logic and data
processing. Use external compute such as Azure Functions
▪ Extract insights from the live execution environment with a
powerful query API
▪ Query using rich search conditions, including property values,
relationships, relationship properties, type information and more Azure Digital Twins
Azure Digital Twins Graph
Zone 1
Track 1 Track 2 Track 3
Station 1
Region 1
Train 1
Switch 1
Access
Gate 1
Access
Gate 2
DTDL
Open Modeling
Language
Live Execution
Environment
Input from IoT &
Business Systems
Digital Twin
Partnerships
Output to ADX,
Storage & Analytics
Azure Digital Twins
Model any environment, connect sensors and business systems to the model.
Control the present, track the past and predict the future
▪ Use IoT Hub to connect to IoT and IoT Edge devices to keep the
live execution environment up to date
▪ Use a new or an existing IoT Hub (IoT Hub is no longer internal
to Azure Digital Twins)
▪ Drive Azure Digital Twins from other data sources using REST
APIs or create a Logic Apps connector
Azure Digital Twins
Azure Digital Twins Graph
Zone 1
Track 1 Track 2 Track 3
Station 1
Region 1
Train 1
Switch 1
Access
Gate 1
Access
Gate 2
{REST}
Open Modeling
Language
Live Execution
Environment
Input from IoT &
Business Systems
Digital Twin
Partnerships
Output to ADX,
Storage & Analytics
IoT Hub
Logic Apps
REST APIs
Azure Digital Twins
Model any environment, connect sensors and business systems to the model.
Control the present, track the past and predict the future
▪ Use event routes to send data to downstream services
via Event Hub, Event Grid or Service Bus
▪ Store data in Azure Data Lake Storage Gen 2, analyze
data with Azure Synapse and other Microsoft data tools
for analytics, integrate workflow with Logic Apps
▪ Connect Azure Digital Twins to ADX to track time series
history of each node
▪ Aligned Time Series Model in Azure Time Series Insights
mastered from Azure Digital Twins
Azure Data Lake
Storage Gen 2
ADX
Actions
Synapse
Analytics
Azure Digital Twins
Azure Digital Twins Graph
Zone 1
Track 1 Track 2 Track 3
Station 1
Region 1
Train 1
Switch 1
Access
Gate 1
Access
Gate 2
Open Modeling
Language
Live Execution
Environment
Input from IoT &
Business Systems
Digital Twin
Partnerships
Output to ADX,
Storage & Analytics
{REST}
IoT Hub
Logic Apps
REST APIs
Generic flow in complex IoT Environment
Reminder: Azure Digital Twins alignment
TheIoTPlugandPlaydevice
modelbecomesoneofthe
twinsinthegraph.
Allows addition of (plug)
IoT device into the graph.
Allows interaction with
(play) IoT device and data
from it in the graph.
IoT Plug and Play is fully
aligned with Azure
Digital Twins.
Digital Twin enables the
creation of knowledge
graphs based on digital
models of physical
environment.
Allows creation of
relationships among twins.
Enriches twins by adding
metadata and attributes.
Demo
Azure Digital Twins – ready to use „environment”, fast “demo”
Reference diagrams
A – setup ADT
B – flow from IoT to DT (real life)
C – update ADT based on internal relations (between twins)
Twins
definition
Flows
(And real-time client update)
Important
Device Twin (IoT Hub)
JSON documents that store device
state information, including metadata,
configurations, and conditions
Virtual “view” for SINGLE PHYSICAL device
Another explanation: Mapping physical
state to the virtual object
Scenarios:
Query object (devices) which have certain
values. WITHOUT communicating with
physical device
Like: Last “firmware” version to get devices
that need to be updated
Azure Digital Twin
Model of connected devices,
ecosystem.
DTDL Ontology: components, properties, …
Unified view of the current and desired state
of the property.
Synchronization with Real World
(May contain data from many devices twin)
Scenarios:
A tool for observing and analyzing the
large, complex, connected IoT environment
A modeling and simulation tool to check
“what if”
Ontology (in information science, not philosophy !)
ADT Ontology for Energy Grid
https://github.com/Azure/opendigitaltwins-energygrid/
Smart Building
SmartCities
Extending Ontologies
Also: Tags for model – Haystack.org
https://docs.microsoft.com/en-us/azure/digital-twins/how-to-use-tags
You can use the concept of tags to
further identify and categorize your
digital twins. In particular, users may
want to replicate tags from existing
systems, such as Haystack
ADT REST API
Control Plane
• Management (names, digital twins instance etc)
• Set up Endpoints (Service Bus / Event Hub / Event Grid) + private
endpoints
Data Plane
• Event Routes (which endpoints should be connected)
• Digital Twins Model and Twins Management (components,
telemetry, relationship (graph) updates)
• Query for Twins (with relations)
Queries - examples
SELECT * FROM DIGITALTWINS T WHERE T.firmw = '1.1' AND T.$dtId in ['123', '456'] AND T.Temperature = 70
SELECT * FROM DIGITALTWINS WHERE IS_DEFINED(Location) AND IS_DEFINED(tags.red) AND IS_NUMBER(T.Temp)
SELECT * FROM DIGITALTWINS DT WHERE IS_OF_MODEL(DT, 'dtmi:example:thing;1', exact)
SELECT target FROM DIGITALTWINS source JOIN target RELATED source.feeds WHERE source.$dtId = ‘src-twin'
SELECT source FROM DIGITALTWINS source JOIN target RELATED source.feeds WHERE target.$dtId = ‘trgt-twin'
SELECT T, SBT, R FROM DIGITALTWINS T JOIN SBT RELATED T.servicedBy R WHERE T.$dtId = 'ABC' AND
R.reportedCondition = 'clean'
SELECT COUNT() FROM DIGITALTWINS Room... AND Room.$dtId IN ['room1', 'room2']
SELECT Consumer.name AS consumerName, Edge.prop1 AS first, Edge.prop2 AS second, Factory.area AS
factoryArea FROM DIGITALTWINS Factory JOIN Consumer RELATED Factory.customer Edge WHERE Factory.$dtId = 'A'
SELECT Room FROM DIGITALTWINS Floor JOIN Room RELATED Floor.contains WHERE Floor.$dtId IN
['floor1','floor2'] AND Room. Temperature > 72 AND IS_OF_MODEL(Room, 'dtmi:com:contoso:Room;1')
SELECT device FROM DIGITALTWINS space JOIN device RELATED space.has WHERE space.$dtid = 'Room 123' AND
device.$metadata.model = 'dtmi:contoso:com:DigitalTwins:MxChip:3' AND has.role = 'Operator'
SELECT Room FROM DIGITALTWINS Room JOIN Thermostat RELATED Room.Contains WHERE Thermostat.$dtId = 'id1'
SELECT Room FROM DIGITALTWINS Floor JOIN Room RELATED Floor.Contains WHERE Floor.$dtId = 'floor11' AND
IS_OF_MODEL(Room, 'dtmi:contoso:com:DigitalTwins:Room;1')
ADT Pricing structure
Query payment “model”
Azure Digital Twins Query Unit (QU) abstracts away the system
resources like CPU, IOPS, and memory
Allowing you to track usage in Query Units instead.
Affected by:
The complexity of the query
The size of the result set (so a query returning 10 results will consume more QUs
than a query of similar complexity that returns just one result)
(Concept similar to Cosmos DB pricing model)
Demo
Simple ADT .NET Client
Crash course through selected Azure Services
Azure Function: Logic and Data processing
Logic Apps
Event Grid / Service Bus
SignalR
Azure Maps (exterior and INTERIOR – custom maps!)
(and Event Hub)
ADT and DATA
Generic Lambda Architecture
Crash course through selected DATA Azure Services
Custom code, “reader” - discussion
Azure Blob / Azure Data Lake v2
Stream Insight
Azure Data Explorer and Synapse
(Everything in VM)
How to get telemetry in SCALE
Therefore: Consumer Group per “reader” (or type of processing)
And – IoT Hub is using Event Hub
On-demand/ Interactive
real-time analytics
Alerts and actions
Real-time apps
Real-time dashboards
On-demand dashboards
Data warehousing
Batch and ML training
Storage / archival
Continuous/ Streaming
real-time analytics
Streaming Data
Logs, Files
Customer
sentiment data
Weather data
Business
Applications
Demo
Stream Analytics (for copying & demo & )
https://docs.microsoft.com/en-us/azure/stream-analytics/stream-
analytics-stream-analytics-query-patterns
Local VS Code Emulator
Demo Flow (start with simple API)
Telemetry
To Stream
Analytics to do
“Join”
Output To
Function
Which will update
ADT with
“calculated
simulation values”
Demo
Not so simple ADT use cases
Also: Official examples from SDK:
D:TS_EXP2022azure-sdk-for-
netsdkdigitaltwinsAzure.DigitalTwins.CoreAzure.DigitalTwins.Core.sln
(align tags and .net version)
Main Samples:
(https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/digitaltwins)
https://docs.microsoft.com/en-us/azure/digital-twins/tutorial-end-to-end
https://docs.microsoft.com/en-us/azure/digital-twins/how-to-integrate-azure-signalr
https://docs.microsoft.com/en-us/azure/digital-twins/how-to-send-twin-to-twin-events
Introducing Azure Data Explorer (ADX or Synapse
ADX)!
Any append-
only stream of
records
High volume
High velocity
High variance
(structured, semi-
structured, free-text)
Relational query
model:
Filter, aggregate,
join, calculated
columns, …
Fully-
managed
PaaS, Vanilla,
Database
Purpose built
Rapid iterations to
explore the data
A big data analytics cloud platform
optimized for interactive, ad-hoc queries
Microsoft’s Journey with Azure Data Explorer
35+ PB
Data ingested
daily
20+Billion
Queries per month
2+ Exabyte
Total Data Size
Azure Data Explorer
Roles
Telemetry: IoT Hub
Model: Azure Digital Twins & PnP
Ingest, Links, query, scale: ADX
Create a cluster with Streaming (to get telemetry)
Oneslider - Azure Data Explorer • Metrics and time-series data
• Text search and text analytics
• Multi-dimensional/relational
analysis
Comprehensive Strength
• Simple and powerful
• Publicly available
• Data Exploration
• Rich relational query language
• Full text Search
• ML Extensibility
Analytics Query language
• Scale out in hardware
• Scale out across geos
• Granular resource utilization
Control
• Cross geo queries
High performance over large data sets
• Low Latency ingestion
• Schema management
• Compression and indexing
• Retention
• Hot/cold resource allocation
Data Ingestion and Management
Demo – ADX (and how to ingest from IoT)
https://dataexplorer.azure.com/clusters/fy22adxiot.westeurope/databases
/tk01?tenant=72f988bf-86f1-41af-91ab-
2d7cd011db47&login_hint=tkopacz%40microsoft.com
https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/
Summary
Summary
IoT Hub PnP
We need standards & metadata per “type” of sensor, telemetry, commands, …
Azure Digital Twins
We need graph for complex IoT Ecosystem
The rest of Azure
We need flexible ways to do model processing/simulation/tracking/analysis/…
Thank you,
ANY questions?
Tomasz Kopacz
tkopacz@microsoft.com

More Related Content

What's hot

Hybrid- and Multi-Cloud by design - IBM Cloud and your journey to Cloud
Hybrid- and Multi-Cloud by design - IBM Cloud and your journey to CloudHybrid- and Multi-Cloud by design - IBM Cloud and your journey to Cloud
Hybrid- and Multi-Cloud by design - IBM Cloud and your journey to CloudAleksandar Francuz
 
Data platform modernization with Databricks.pptx
Data platform modernization with Databricks.pptxData platform modernization with Databricks.pptx
Data platform modernization with Databricks.pptxCalvinSim10
 
Azure Compute, Networking and Storage Overview
Azure Compute, Networking and Storage OverviewAzure Compute, Networking and Storage Overview
Azure Compute, Networking and Storage OverviewAzure Riyadh User Group
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application ModernizationKarina Matos
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)James Serra
 
Introduction to Azure IaaS
Introduction to Azure IaaSIntroduction to Azure IaaS
Introduction to Azure IaaSRobert Crane
 
Migrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with ConfidenceMigrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with ConfidenceDavid J Rosenthal
 
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML Engineers
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML EngineersIntro to Vertex AI, unified MLOps platform for Data Scientists & ML Engineers
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML EngineersDaniel Zivkovic
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App ModernizationPhi Huynh
 
Defining Your Cloud Strategy
Defining Your Cloud StrategyDefining Your Cloud Strategy
Defining Your Cloud StrategyInternap
 
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdfSuresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdfAWS Chicago
 
Azure fundamentals
Azure   fundamentalsAzure   fundamentals
Azure fundamentalsRaju Kumar
 
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)Naoki (Neo) SATO
 
Best Practice on using Azure OpenAI Service
Best Practice on using Azure OpenAI ServiceBest Practice on using Azure OpenAI Service
Best Practice on using Azure OpenAI ServiceKumton Suttiraksiri
 
Global Azure Bootcamp Pune 2023 - Lead the AI era with Microsoft Azure.pdf
Global Azure Bootcamp Pune 2023 -  Lead the AI era with Microsoft Azure.pdfGlobal Azure Bootcamp Pune 2023 -  Lead the AI era with Microsoft Azure.pdf
Global Azure Bootcamp Pune 2023 - Lead the AI era with Microsoft Azure.pdfAroh Shukla
 
Databricks for Dummies
Databricks for DummiesDatabricks for Dummies
Databricks for DummiesRodney Joyce
 

What's hot (20)

Hybrid- and Multi-Cloud by design - IBM Cloud and your journey to Cloud
Hybrid- and Multi-Cloud by design - IBM Cloud and your journey to CloudHybrid- and Multi-Cloud by design - IBM Cloud and your journey to Cloud
Hybrid- and Multi-Cloud by design - IBM Cloud and your journey to Cloud
 
Data platform modernization with Databricks.pptx
Data platform modernization with Databricks.pptxData platform modernization with Databricks.pptx
Data platform modernization with Databricks.pptx
 
Azure Compute, Networking and Storage Overview
Azure Compute, Networking and Storage OverviewAzure Compute, Networking and Storage Overview
Azure Compute, Networking and Storage Overview
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application Modernization
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
 
Introduction to Azure IaaS
Introduction to Azure IaaSIntroduction to Azure IaaS
Introduction to Azure IaaS
 
Migrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with ConfidenceMigrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with Confidence
 
Azure Digital Twins
Azure Digital TwinsAzure Digital Twins
Azure Digital Twins
 
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML Engineers
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML EngineersIntro to Vertex AI, unified MLOps platform for Data Scientists & ML Engineers
Intro to Vertex AI, unified MLOps platform for Data Scientists & ML Engineers
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Defining Your Cloud Strategy
Defining Your Cloud StrategyDefining Your Cloud Strategy
Defining Your Cloud Strategy
 
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdfSuresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
 
Azure fundamentals
Azure   fundamentalsAzure   fundamentals
Azure fundamentals
 
Machine Learning Operations & Azure
Machine Learning Operations & AzureMachine Learning Operations & Azure
Machine Learning Operations & Azure
 
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
Microsoft + OpenAI: Recent Updates (Machine Learning 15minutes! Broadcast #74)
 
Best Practice on using Azure OpenAI Service
Best Practice on using Azure OpenAI ServiceBest Practice on using Azure OpenAI Service
Best Practice on using Azure OpenAI Service
 
Global Azure Bootcamp Pune 2023 - Lead the AI era with Microsoft Azure.pdf
Global Azure Bootcamp Pune 2023 -  Lead the AI era with Microsoft Azure.pdfGlobal Azure Bootcamp Pune 2023 -  Lead the AI era with Microsoft Azure.pdf
Global Azure Bootcamp Pune 2023 - Lead the AI era with Microsoft Azure.pdf
 
Databricks for Dummies
Databricks for DummiesDatabricks for Dummies
Databricks for Dummies
 
Multi Cloud Architecture Approach
Multi Cloud Architecture ApproachMulti Cloud Architecture Approach
Multi Cloud Architecture Approach
 

Similar to Azure Digital Twins.pdf

Internet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujoseInternet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujoseSonu Jose
 
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Amazon Web Services
 
Metaverse and Digital Twins on Enterprise-Public.pdf
Metaverse and Digital Twins on Enterprise-Public.pdfMetaverse and Digital Twins on Enterprise-Public.pdf
Metaverse and Digital Twins on Enterprise-Public.pdf湯米吳 Tommy Wu
 
Integration of Things (Sam Vanhoutte @Iglooconf 2017)
Integration of Things (Sam Vanhoutte @Iglooconf 2017) Integration of Things (Sam Vanhoutte @Iglooconf 2017)
Integration of Things (Sam Vanhoutte @Iglooconf 2017) Codit
 
Azure Internet of Things
Azure Internet of ThingsAzure Internet of Things
Azure Internet of ThingsAlon Fliess
 
Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEBenjamin Cabé
 
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBMData Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBMmfrancis
 
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...Amazon Web Services
 
Datapalooza: A Music Festival Themed ML & IoT Workshop
Datapalooza: A Music Festival Themed ML & IoT WorkshopDatapalooza: A Music Festival Themed ML & IoT Workshop
Datapalooza: A Music Festival Themed ML & IoT WorkshopAmazon Web Services
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT FrameworkPaul Evans
 
Azure IoT & ML Recap - 20180503
Azure IoT & ML Recap - 20180503Azure IoT & ML Recap - 20180503
Azure IoT & ML Recap - 20180503Jamie (Taka) Wang
 
Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...
Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...
Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...Microsoft Tech Community
 
Architecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureArchitecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureAlon Fliess
 
A serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoringA serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoringCodeValue
 
A serverless IoT Story From Design to Production and Monitoring
A serverless IoT Story From Design to Production and MonitoringA serverless IoT Story From Design to Production and Monitoring
A serverless IoT Story From Design to Production and MonitoringMoaid Hathot
 
IAB3948 Wiring the internet of things with Node-RED
IAB3948 Wiring the internet of things with Node-REDIAB3948 Wiring the internet of things with Node-RED
IAB3948 Wiring the internet of things with Node-REDPeterNiblett
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksAmazon Web Services
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 

Similar to Azure Digital Twins.pdf (20)

IoT on azure
IoT on azureIoT on azure
IoT on azure
 
Internet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujoseInternet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujose
 
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
 
Metaverse and Digital Twins on Enterprise-Public.pdf
Metaverse and Digital Twins on Enterprise-Public.pdfMetaverse and Digital Twins on Enterprise-Public.pdf
Metaverse and Digital Twins on Enterprise-Public.pdf
 
Integration of Things (Sam Vanhoutte @Iglooconf 2017)
Integration of Things (Sam Vanhoutte @Iglooconf 2017) Integration of Things (Sam Vanhoutte @Iglooconf 2017)
Integration of Things (Sam Vanhoutte @Iglooconf 2017)
 
Azure Internet of Things
Azure Internet of ThingsAzure Internet of Things
Azure Internet of Things
 
Use Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDEUse Eclipse technologies to build a modern embedded IDE
Use Eclipse technologies to build a modern embedded IDE
 
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBMData Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
 
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
 
Datapalooza: A Music Festival Themed ML & IoT Workshop
Datapalooza: A Music Festival Themed ML & IoT WorkshopDatapalooza: A Music Festival Themed ML & IoT Workshop
Datapalooza: A Music Festival Themed ML & IoT Workshop
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT Framework
 
Build 2019 Recap
Build 2019 RecapBuild 2019 Recap
Build 2019 Recap
 
Azure IoT & ML Recap - 20180503
Azure IoT & ML Recap - 20180503Azure IoT & ML Recap - 20180503
Azure IoT & ML Recap - 20180503
 
Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...
Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...
Azure IoT Edge: a breakthrough platform and service running cloud intelligenc...
 
Architecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureArchitecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft Azure
 
A serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoringA serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoring
 
A serverless IoT Story From Design to Production and Monitoring
A serverless IoT Story From Design to Production and MonitoringA serverless IoT Story From Design to Production and Monitoring
A serverless IoT Story From Design to Production and Monitoring
 
IAB3948 Wiring the internet of things with Node-RED
IAB3948 Wiring the internet of things with Node-REDIAB3948 Wiring the internet of things with Node-RED
IAB3948 Wiring the internet of things with Node-RED
 
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech TalksEssential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
Essential Capabilities of an IoT Cloud Platform - AWS Online Tech Talks
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 

More from Tomasz Kopacz

24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdf24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdfTomasz Kopacz
 
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
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open sourceTomasz Kopacz
 
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Tomasz Kopacz
 
Visual Studio - zastosowania
Visual Studio - zastosowaniaVisual Studio - zastosowania
Visual Studio - zastosowaniaTomasz Kopacz
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachTomasz Kopacz
 
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...Tomasz Kopacz
 
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...Tomasz Kopacz
 
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyćIt w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyćTomasz Kopacz
 
Big data on Azure for Architects
Big data on Azure for ArchitectsBig data on Azure for Architects
Big data on Azure for ArchitectsTomasz Kopacz
 
(Azure) Machine Learning 2015
(Azure) Machine Learning 2015(Azure) Machine Learning 2015
(Azure) Machine Learning 2015Tomasz Kopacz
 
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Tomasz Kopacz
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...Tomasz Kopacz
 
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Tomasz Kopacz
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz
 

More from Tomasz Kopacz (17)

24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdf24032022 Zero Trust for Developers Pub.pdf
24032022 Zero Trust for Developers Pub.pdf
 
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
 
O danych w 2016
O danych w 2016O danych w 2016
O danych w 2016
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
 
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Visual Studio – jak zorganizować pracę używając Scrum i GIT?
Visual Studio – jak zorganizować pracę używając Scrum i GIT?
 
Visual Studio - zastosowania
Visual Studio - zastosowaniaVisual Studio - zastosowania
Visual Studio - zastosowania
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
 
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
Kiedy napadnie na nas pralka – jak budować bezpieczne systemy internet of thi...
 
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...Windows 10, internet of things, komunikacja duplex   od kabli do odrobiny azu...
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...
 
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyćIt w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
It w roku 201x – dom, szkoła, potem praca. no i – jak tu (i czego!) uczyć
 
Big data on Azure for Architects
Big data on Azure for ArchitectsBig data on Azure for Architects
Big data on Azure for Architects
 
(Azure) Machine Learning 2015
(Azure) Machine Learning 2015(Azure) Machine Learning 2015
(Azure) Machine Learning 2015
 
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...
 
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...Mts 2013   tomasz kopacz - windows 8, office 365, workflow manager, windows a...
Mts 2013 tomasz kopacz - windows 8, office 365, workflow manager, windows a...
 
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...Mts 2013   tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
Mts 2013 tomasz kopacz - wydajność aplikacji dla windows 8 - jak ją mierzyć...
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
Tomasz Kopacz MTS 2012 Azure - Co i kiedy użyć (IaaS vs paas vshybrid cloud v...
 

Recently uploaded

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Recently uploaded (20)

Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Azure Digital Twins.pdf

  • 1. Azure Digital Twins - how to deal with more complex IoT ecosystem - from device to analytics 2.5 h MAX!!!!!!! Tomasz Kopacz, tkopacz@microsoft.com
  • 2. Plan IoT Plug and Play Concept of Digital Twins Implementation in Azure Digital Twins Usage of Azure Digital Twins and Azure Services And – how to work with DATA and IoT and ADT
  • 3. Context – not only “small devices”
  • 6. IoT PnP – to define standards for devices { "Temperature": 23 } or ? { "Temp": 23 } or ? { "temperaturka": 23 } or ? { "data": [ { "timestamp": "2021-01-01 01:01:01.123", "typeOfMeasurement": "Temperature", "value": 23 } ] }
  • 7. Devices Solutions IoT Today Tight coupling between software on device and IoT solution in the cloud Because of: telemetry format, how to interpret data, how to send commands etc.
  • 8. Demo Challenges with “model-less” devices (and – recap – how to “debug” telemetry!)
  • 9. PCs Peripherals We had a similar challenge in the past
  • 10. PCs Peripherals Devices published their capability models and adhered to them Windows used the capability model to know how to interact with them Capability Model Device Metadata https://web.archive.org/web/20040616023120/http://www.microsoft.com/whdc/system/pnppwr/pnp/default.mspx 1999 - local docs That was solved in Windows with Plug and Play
  • 11. Introducing IoT Plug and Play Simplifies device interactions in IoT solutions with an open modeling language Devices Solutions Devices self-describe capabilities based on open Digital Twins Definition Language. Solutions can automatically adapt to devices All without custom code
  • 12. Interfac e Describe interaction model in DTDL Open modeling language Describe device capability and interaction model Each device model has a unique ID: Digital Twin Model ID (DTMI). Each device model consists of a set of interfaces. Interfaces describe attributes of the device: telemetry, property, command Single or multiple components. The solution can query and parse the Device model to understand the interaction model. Model ID JSON-LD Interfac e Interfaces Telemetry Property Command Component
  • 13. Azure Digital Twins alignment TheIoTPlugandPlaydevice modelbecomesoneofthe twinsinthegraph. Allows addition of (plug) IoT device into the graph. Allows interaction with (play) IoT device and data from it in the graph. IoT Plug and Play is fully aligned with Azure Digital Twins. Digital Twin enables the creation of knowledge graphs based on digital models of physical environment. Allows creation of relationships among twins. Enriches twins by adding metadata and attributes.
  • 14. IoT Plug and Play device model = Digital Twin model • A schema that describes device capabilities and attributes • Written in DTDL v2 based on JSON-LD • DTDL v2 for schemas, semantics https://aka.ms/dtdl Tools for device model authoring • Visual Studio / Visual Studio Code • Extensions for model authoring • DTDL Parser Library • For syntax check This new industry standard is a collaborative effort between Microsoft and the Digital Twin Consortium.
  • 15. Base: JSON-LLD https://json-ld.org/ Linking “data” Used in Device Twins, Azure Twins. Also: in general RDF (Semantic Web Resource Description Framework) and many other standards
  • 16. { "@context": "@id": "@type": "displayName": "description": "Device Model Example", "contents": [ { "@type": "Temperature"], "name": "displayName": "description": "schema": "unit": }, Temperature sensor Telemetry payload {“temp” : “12.34”} "dtmi:dtdl:context;2", "dtmi:com:mycompany:Thermostat;1", "Interface", "IoT Plug and Play Device", "Device Model Example", ["Telemetry", "Temperature"], "temp", "Temperature Data", "Temperature in degrees Celsius.", "double", "degreeCelsius" Without device model “temp is 12.34” With device model “Temperature is 12.34 degrees in Celsius” DTDL v2 Model ID Telemetry type Schema Unit Semantic temperature Interface type Name of data
  • 17. DTDL Demo – ok – browsing models ;)
  • 19. Device model & interface definition Telemetry, property, command ❶ Author device model ❷ Add model ID announcement to app Model ID Announcement Connect ❷ Resolve Model ❶ Retrieve model ID Device Catalog ❹ Certify device ❸ Publish/share model definition Model ID Device model & interface definition Plug and Play OP Traditional OP Model driven UI/UX
  • 20. Implement IoT Plug and Play convention based on the device model • Model ID announcement: minimum required • Telemetry – Data from device to cloud • Writable properties – Settings from cloud to device • Read-only properties – Reported by device • Commands – Invoking method on device from cloud • Follows IoT Plug and Play convention Model ID Telemetry Properties Commands
  • 21. IoT Plug and Play conventions • Devices must follow the conventions when exchanging messages with IoT Hub. • This ensures consistency in the device model and metadata in the messages. • Learn more about IoT Plug and Play conventions. • (open it!) Model ID "reported": { "thermostat1": { "__t": "c", "targetTemperature": { "value": 23, "ac": 200, "av": 3, "ad": "complete“ } } }
  • 22. Solution needs to access to the model definition file (JSON file) • Through Azure IoT Model Repository • Through your own repository such as GitHub or file share Models are immutable • Approved models in public model repository are immutable Access through Azure IoT model repository • Microsoft-hosted public model repository • Custom model repository • Supports HTTP API and local file access • Model Repo Client SDK Model ID Model ID Model Contents Model Resolution Model ID Model Contents Device Model Z:AzFY21-PaaS0316-IoT-Hub2022IotPnP iot-plugandplay-modelsdtmi
  • 23. Demo IoT vs IoT PnP (C#) How to work with writable properties/desired state/commands PnP – playing with Model from code (Device Twins queries) Custom model in folder
  • 24. JS, C/C++ IoT Hub SDK and PnP JS C/C++ const client =Client.fromConnectionString(deviceConnectionString, Protocol); try { // Add the modelId here await client.setOptions(modelIdObject); await client.open(); deviceHandle = IoTHubDeviceClient_LL_CreateFromConnectionString(cnn, MQTT_Protocol)); // Sets the name of ModelId for this PnP device. // This *MUST* be set before the client is connected to IoTHub. We do not automatically connect when the // handle is created, but will implicitly connect to subscribe for device method and device twin callbacks below. iothubResult = IoTHubDeviceClient_LL_SetOption(deviceHandle, OPTION_MODEL_ID, modelId)); ... iothubResult = IoTHubDeviceClient_LL_SetDeviceMethodCallback(deviceHandle, callback, NULL)... iothubResult = IoTHubDeviceClient_LL_SetDeviceTwinCallback(deviceHandle, callback, (void*)deviceHand) ...
  • 25. What if we have many sensors? Like – humidity and temperature and “switch” – in single device
  • 26. Enables creation of a device model interface as an assembly of other interfaces Default device model is a single interface (or component-less) model @context: DTDL2 @id: Model ID @type: Interface Contents [ ] @type: Component @schema: Model ID A @type: Component @schema: Model ID B @context: DTDL2 @id: Model ID A @type: Interface Contents [ : ] @context: DTDL2 @id: Model ID B @type: Interface Contents [ : ]
  • 27. (Gateway patterns) Transparent IoT Hub-aware devices connect as leaf devices Protocol translation Module talks to leaf devices and acts as a single device in IoT Hub Identity translation Module talks to leaf devices and impersonates/manages identities of leaf devices as unique devices in IoT Hub
  • 28. IoT Plug and Play bridge
  • 31. Open Source https://github.com/Azure/iot-plug-and-play-bridge Extensibility: https://github.com/Azure/iot-plug-and-play- bridge/blob/master/pnpbridge/docs/author_adapter.md Set of structures and pointers to methods (telemetry etc) Also: serialpnp - Serial PnP protocol – Arduino, STM Can be run as Use pnpbridge_bin.exe / pnpbridge_bin to run the bridge native application Use pnpbridgesvc.exe to run the bridge as a service on an IoT device or gateway running windows Use pnpbridge_module to run the bridge as a module on an IoT edge runtime running linux.
  • 32. Demo Windows, laptop and IoT PnP Gateway
  • 33. DPS (and PnP) – to manage MANY devices Zero-touch provisioning to a single IoT solution without hardcoding IoT Hub connection information at the factory (initial setup) Load-balancing devices across multiple hubs Connecting devices to their owner's IoT solution based on sales transaction data (multitenancy) Connecting devices to a particular IoT solution depending on use-case (solution isolation) Connecting a device to the IoT hub with the lowest latency (geo-sharding) Reprovisioning based on a change in the device Rolling the keys used by the device to connect to IoT Hub (when not using X.509 certificates to connect) device DPS IoT hub 5. Connects 1. Asks for hub 2. Creates ID 4. Returns hub 3. Returns ID Zero touch provisioning
  • 34. Connect to IoT Hub through DPS SecurityProvider symmetricKeyProvider = new SecurityProviderSymmetricKey(parameters.DeviceId, parameters.DeviceSymmetricKey, null); ProvisioningTransportHandler mqttTransportHandler = new ProvisioningTransportHandlerMqtt(); ProvisioningDeviceClient pdc = ProvisioningDeviceClient.Create(parameters.DpsEndpoint, parameters.DpsIdScope, symmetricKeyProvider, mqttTransportHandler); var pnpPayload = new ProvisioningRegistrationAdditionalData { JsonData = $"{{ "modelId": "{ModelId}" }}" }; DeviceRegistrationResult dpsRegistrationResult = await pdc.RegisterAsync(pnpPayload, cancellationToken); var authMethod = new DeviceAuthenticationWithRegistrySymmetricKey( dpsRegistrationResult.DeviceId, parameters.DeviceSymmetricKey); var options = new ClientOptions { ModelId = ModelId }; DeviceClient deviceClient = DeviceClient.Create(dpsRegistrationResult.AssignedHub, authMethod, TransportType.Mqtt, options); ///We have deviceClient based on IoT Hub assigned by DPS based on enrollment rules
  • 35. Demo PnP (Phone) and DPS (Azure)
  • 36. Building the IoT Plug and Play ecosystem – 2021 and beyond Azure IoT Device Catalog Azure Marketplace Customers Device providers Solution providers Device providers Build devices that self-describe and integrate seamlessly with any Azure IoT cloud solution. Reduces firmware development and maintenance effort with a single firmware for all solutions. Increase visibility to solution developers via the Azure Certified Device Catalog.​ Solution providers Accelerate solutions without writing embedded code. Find devices with the capabilities to fit your solution needs. Reach more customers by promoting your solutions in the Azure Marketplace.
  • 37. Azure Certified Device Program overview The Azure Certified Device Program currently offers three device certifications Certification Promise Requirements Targeted Devices Azure Certified Device Works with IoT Hub • Device to Cloud telemetry • Device Provisioning with DPS • Microcontroller • IoT Devices • IoT Edge Devices • Edge Appliances • Edge Stack Edge Managed IoT Edge RT works • Device Provisioning with DPS • IoT Edge RT running on Moby container subsystem • Moby & Edge Security Manager preinstalled • IoT Edge Devices • Edge Appliances • Edge Stack IoT Plug and Play – New! Simplify IoT solution • IoT Plug and Play device model compliance • Including Azure Certified Device requirements • D2C telemetry • Device Provisioning with DPS • Microcontroller • IoT Devices • IoT Edge Devices
  • 38. IoT Plug and Play certification requirements Technical requirements • Device model(s) describing the device and peripherals. • Support Device to Cloud message (D2C) with the IoT Plug and Play convention. • Support Device Provisioning Service (DPS) with one or more device authentication types: • Symmetric Key • X.509 • Trusted Platform Module (TPM) • Model ID announcement • During device provisioning through DPS • During the MQTT connection • Publish device model to Model Repo provided by Microsoft Optional features • Cloud to Device (C2D) message • Device method (or direct method) • Device properties, writable and non-writable
  • 39. Yesss…. It was all for SINGLE device What can we do to work effectively in more “complex” environments?
  • 40. Intro to Digital Twins and Azure Digital Twins
  • 42. Wikipedia definition + comments A digital twin is a virtual representation that serves as the real-time digital counterpart of a physical object or process. […] the first practical definition of digital twin originated from NASA in an attempt to improve physical model simulation of spacecraft in 2010 […] Digital twins were anticipated by David Gelernter's 1991 book Mirror Worlds.[…] Grieves proposed the digital twin as the conceptual model underlying product lifecycle management (PLM). By Wilmjakob - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=93687174
  • 43. Towards Connected Environments As connected solutions continue to evolve, businesses are looking to connect entire environments Connected Assets Connected Environments Connected Ecosystems
  • 44. Banks Finance Plants Factories Industrial Sites Utilities Manufacturing Stores Warehouses Distribution Centers Malls Micro-fulfillment Retail Building Office Entertainment Restaurants Hotels Enterprise Campus Real Estate Public Spaces Arenas & Stadiums Transportation Hubs Subway & Train Stations Ports Utilities Water Treatment Facilities Cities & Government Hospitals Labs Pharmacies Clinics Retirement Facilities Healthcare Farms Water Supply Power Storage Processing Agriculture Schools Campuses Virtual Environments Education Generating Power Stations Substations Energy Connected Environments
  • 45. Azure Digital Twins REST API External Compute Handles business logic and data processing Client Apps Manage models and the digital twins graph Digital Twins Definition Language A Z U R E D I G I T A L T W I N S G R A P H IoT Hub Workflow integration (e.g. Logic Apps) Business systems/services integration via REST APIs Workflow integration (e.g. Logic Apps) Cold Storage ADX Analytics Azure Digital Twins IoT solutions that model the real world
  • 46. Demo Design ADT - DTDL, tools, validator etc https://github.com/Azure/opendigitaltwins- dtdl/blob/master/DTDL/v2/dtdlv2.md https://github.com/Azure/opendigitaltwins-tools (converter from Web Ontology Language (OWL) and many others!)
  • 47. Azure Digital Twins { "@id": “dtmi:example:Station;1", "@type": "Interface", "extends": “dtmi:example:Room;1", "contents": [ { "@type": "Property", "name": “isOccupied", "schema": "boolean“ }, { "@type": “Property", "name": “hasAVSystem", "schema": “boolean“ }, { "@type": "Property", "name": “capacity", "schema": “integer“ } ], "@context": "dtmi:dtdl:context;2" } ▪ Create custom domain models using “Digital Twins Definition Language” (DTDL) ▪ ADT Models describe twins in terms of ▪ Telemetry ▪ Properties ▪ Relationships ▪ Components ▪ Models define semantic relationships to connect twins into a knowledge graph ▪ Models can specialize other twins using inheritance ▪ Digital Twins Definition Language is aligned with ▪ IoT Plug and Play ▪ ADX Model ▪ https://github.com/Azure/opendigitaltwins-dtdl Model any environment, connect sensors and business systems to the model. Control the present, track the past and predict the future Open Modeling Language Live Execution Environment Input from IoT & Business Systems Digital Twin Partnerships Output to ADX, Storage & Analytics
  • 48. Important to remember! Property • Data fields that represent the state of an entity. Telemetry • Measurements or events, based on sensor readings. Stream of data – NOT STORED in ADT Component • Defines an assembly of other interfaces, that make up a model. Relationship • Represents how your model interacts with other models. Defines the graph of related entities.
  • 49. Azure Digital Twins Model any environment, connect sensors and business systems to the model. Control the present, track the past and predict the future ▪ Create a live execution environment from the DTDL models in Azure Digital Twins ▪ Twin instances and relationships form a live graph representation of the environment ▪ Use a rich event system to drive business logic and data processing. Use external compute such as Azure Functions ▪ Extract insights from the live execution environment with a powerful query API ▪ Query using rich search conditions, including property values, relationships, relationship properties, type information and more Azure Digital Twins Azure Digital Twins Graph Zone 1 Track 1 Track 2 Track 3 Station 1 Region 1 Train 1 Switch 1 Access Gate 1 Access Gate 2 DTDL Open Modeling Language Live Execution Environment Input from IoT & Business Systems Digital Twin Partnerships Output to ADX, Storage & Analytics
  • 50. Azure Digital Twins Model any environment, connect sensors and business systems to the model. Control the present, track the past and predict the future ▪ Use IoT Hub to connect to IoT and IoT Edge devices to keep the live execution environment up to date ▪ Use a new or an existing IoT Hub (IoT Hub is no longer internal to Azure Digital Twins) ▪ Drive Azure Digital Twins from other data sources using REST APIs or create a Logic Apps connector Azure Digital Twins Azure Digital Twins Graph Zone 1 Track 1 Track 2 Track 3 Station 1 Region 1 Train 1 Switch 1 Access Gate 1 Access Gate 2 {REST} Open Modeling Language Live Execution Environment Input from IoT & Business Systems Digital Twin Partnerships Output to ADX, Storage & Analytics IoT Hub Logic Apps REST APIs
  • 51. Azure Digital Twins Model any environment, connect sensors and business systems to the model. Control the present, track the past and predict the future ▪ Use event routes to send data to downstream services via Event Hub, Event Grid or Service Bus ▪ Store data in Azure Data Lake Storage Gen 2, analyze data with Azure Synapse and other Microsoft data tools for analytics, integrate workflow with Logic Apps ▪ Connect Azure Digital Twins to ADX to track time series history of each node ▪ Aligned Time Series Model in Azure Time Series Insights mastered from Azure Digital Twins Azure Data Lake Storage Gen 2 ADX Actions Synapse Analytics Azure Digital Twins Azure Digital Twins Graph Zone 1 Track 1 Track 2 Track 3 Station 1 Region 1 Train 1 Switch 1 Access Gate 1 Access Gate 2 Open Modeling Language Live Execution Environment Input from IoT & Business Systems Digital Twin Partnerships Output to ADX, Storage & Analytics {REST} IoT Hub Logic Apps REST APIs
  • 52. Generic flow in complex IoT Environment
  • 53. Reminder: Azure Digital Twins alignment TheIoTPlugandPlaydevice modelbecomesoneofthe twinsinthegraph. Allows addition of (plug) IoT device into the graph. Allows interaction with (play) IoT device and data from it in the graph. IoT Plug and Play is fully aligned with Azure Digital Twins. Digital Twin enables the creation of knowledge graphs based on digital models of physical environment. Allows creation of relationships among twins. Enriches twins by adding metadata and attributes.
  • 54. Demo Azure Digital Twins – ready to use „environment”, fast “demo”
  • 55. Reference diagrams A – setup ADT B – flow from IoT to DT (real life) C – update ADT based on internal relations (between twins) Twins definition Flows
  • 57. Important Device Twin (IoT Hub) JSON documents that store device state information, including metadata, configurations, and conditions Virtual “view” for SINGLE PHYSICAL device Another explanation: Mapping physical state to the virtual object Scenarios: Query object (devices) which have certain values. WITHOUT communicating with physical device Like: Last “firmware” version to get devices that need to be updated Azure Digital Twin Model of connected devices, ecosystem. DTDL Ontology: components, properties, … Unified view of the current and desired state of the property. Synchronization with Real World (May contain data from many devices twin) Scenarios: A tool for observing and analyzing the large, complex, connected IoT environment A modeling and simulation tool to check “what if”
  • 58. Ontology (in information science, not philosophy !)
  • 59. ADT Ontology for Energy Grid https://github.com/Azure/opendigitaltwins-energygrid/
  • 63. Also: Tags for model – Haystack.org https://docs.microsoft.com/en-us/azure/digital-twins/how-to-use-tags You can use the concept of tags to further identify and categorize your digital twins. In particular, users may want to replicate tags from existing systems, such as Haystack
  • 64. ADT REST API Control Plane • Management (names, digital twins instance etc) • Set up Endpoints (Service Bus / Event Hub / Event Grid) + private endpoints Data Plane • Event Routes (which endpoints should be connected) • Digital Twins Model and Twins Management (components, telemetry, relationship (graph) updates) • Query for Twins (with relations)
  • 65. Queries - examples SELECT * FROM DIGITALTWINS T WHERE T.firmw = '1.1' AND T.$dtId in ['123', '456'] AND T.Temperature = 70 SELECT * FROM DIGITALTWINS WHERE IS_DEFINED(Location) AND IS_DEFINED(tags.red) AND IS_NUMBER(T.Temp) SELECT * FROM DIGITALTWINS DT WHERE IS_OF_MODEL(DT, 'dtmi:example:thing;1', exact) SELECT target FROM DIGITALTWINS source JOIN target RELATED source.feeds WHERE source.$dtId = ‘src-twin' SELECT source FROM DIGITALTWINS source JOIN target RELATED source.feeds WHERE target.$dtId = ‘trgt-twin' SELECT T, SBT, R FROM DIGITALTWINS T JOIN SBT RELATED T.servicedBy R WHERE T.$dtId = 'ABC' AND R.reportedCondition = 'clean' SELECT COUNT() FROM DIGITALTWINS Room... AND Room.$dtId IN ['room1', 'room2'] SELECT Consumer.name AS consumerName, Edge.prop1 AS first, Edge.prop2 AS second, Factory.area AS factoryArea FROM DIGITALTWINS Factory JOIN Consumer RELATED Factory.customer Edge WHERE Factory.$dtId = 'A' SELECT Room FROM DIGITALTWINS Floor JOIN Room RELATED Floor.contains WHERE Floor.$dtId IN ['floor1','floor2'] AND Room. Temperature > 72 AND IS_OF_MODEL(Room, 'dtmi:com:contoso:Room;1') SELECT device FROM DIGITALTWINS space JOIN device RELATED space.has WHERE space.$dtid = 'Room 123' AND device.$metadata.model = 'dtmi:contoso:com:DigitalTwins:MxChip:3' AND has.role = 'Operator' SELECT Room FROM DIGITALTWINS Room JOIN Thermostat RELATED Room.Contains WHERE Thermostat.$dtId = 'id1' SELECT Room FROM DIGITALTWINS Floor JOIN Room RELATED Floor.Contains WHERE Floor.$dtId = 'floor11' AND IS_OF_MODEL(Room, 'dtmi:contoso:com:DigitalTwins:Room;1')
  • 66. ADT Pricing structure Query payment “model” Azure Digital Twins Query Unit (QU) abstracts away the system resources like CPU, IOPS, and memory Allowing you to track usage in Query Units instead. Affected by: The complexity of the query The size of the result set (so a query returning 10 results will consume more QUs than a query of similar complexity that returns just one result) (Concept similar to Cosmos DB pricing model)
  • 68. Crash course through selected Azure Services Azure Function: Logic and Data processing Logic Apps Event Grid / Service Bus SignalR Azure Maps (exterior and INTERIOR – custom maps!) (and Event Hub)
  • 71. Crash course through selected DATA Azure Services Custom code, “reader” - discussion Azure Blob / Azure Data Lake v2 Stream Insight Azure Data Explorer and Synapse (Everything in VM)
  • 72. How to get telemetry in SCALE Therefore: Consumer Group per “reader” (or type of processing) And – IoT Hub is using Event Hub
  • 73. On-demand/ Interactive real-time analytics Alerts and actions Real-time apps Real-time dashboards On-demand dashboards Data warehousing Batch and ML training Storage / archival Continuous/ Streaming real-time analytics Streaming Data Logs, Files Customer sentiment data Weather data Business Applications
  • 74. Demo Stream Analytics (for copying & demo & ) https://docs.microsoft.com/en-us/azure/stream-analytics/stream- analytics-stream-analytics-query-patterns Local VS Code Emulator
  • 75. Demo Flow (start with simple API) Telemetry To Stream Analytics to do “Join” Output To Function Which will update ADT with “calculated simulation values”
  • 76. Demo Not so simple ADT use cases Also: Official examples from SDK: D:TS_EXP2022azure-sdk-for- netsdkdigitaltwinsAzure.DigitalTwins.CoreAzure.DigitalTwins.Core.sln (align tags and .net version) Main Samples: (https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/digitaltwins) https://docs.microsoft.com/en-us/azure/digital-twins/tutorial-end-to-end https://docs.microsoft.com/en-us/azure/digital-twins/how-to-integrate-azure-signalr https://docs.microsoft.com/en-us/azure/digital-twins/how-to-send-twin-to-twin-events
  • 77. Introducing Azure Data Explorer (ADX or Synapse ADX)! Any append- only stream of records High volume High velocity High variance (structured, semi- structured, free-text) Relational query model: Filter, aggregate, join, calculated columns, … Fully- managed PaaS, Vanilla, Database Purpose built Rapid iterations to explore the data A big data analytics cloud platform optimized for interactive, ad-hoc queries
  • 78. Microsoft’s Journey with Azure Data Explorer 35+ PB Data ingested daily 20+Billion Queries per month 2+ Exabyte Total Data Size Azure Data Explorer
  • 79. Roles Telemetry: IoT Hub Model: Azure Digital Twins & PnP Ingest, Links, query, scale: ADX
  • 80. Create a cluster with Streaming (to get telemetry)
  • 81. Oneslider - Azure Data Explorer • Metrics and time-series data • Text search and text analytics • Multi-dimensional/relational analysis Comprehensive Strength • Simple and powerful • Publicly available • Data Exploration • Rich relational query language • Full text Search • ML Extensibility Analytics Query language • Scale out in hardware • Scale out across geos • Granular resource utilization Control • Cross geo queries High performance over large data sets • Low Latency ingestion • Schema management • Compression and indexing • Retention • Hot/cold resource allocation Data Ingestion and Management
  • 82. Demo – ADX (and how to ingest from IoT) https://dataexplorer.azure.com/clusters/fy22adxiot.westeurope/databases /tk01?tenant=72f988bf-86f1-41af-91ab- 2d7cd011db47&login_hint=tkopacz%40microsoft.com https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/
  • 84. Summary IoT Hub PnP We need standards & metadata per “type” of sensor, telemetry, commands, … Azure Digital Twins We need graph for complex IoT Ecosystem The rest of Azure We need flexible ways to do model processing/simulation/tracking/analysis/…
  • 85. Thank you, ANY questions? Tomasz Kopacz tkopacz@microsoft.com