SlideShare une entreprise Scribd logo
1  sur  34
#devsum15@tomconte tconte@microsoft.com
Field
Gateway
Device
Connectivity & Management
Devices
RTOS,Linux,Windows,Android,iOS
Cloud Gateway
Event Hubs
Field
Gateway
Protocol
Adaptation
Field
Gateway
Device
Connectivity & Management
Analytics &
Operationalized Insights
Devices
RTOS,Linux,Windows,Android,iOS
Protocol
Adaptation
Batch Analytics & Visualizations
Azure HDInsight, AzureML, Power BI,
Azure Data Factory
Hot Path Analytics
Azure Stream Analytics, Azure HDInsight Storm
Hot Path Business Logic
Service Fabric & Actor Framework
Cloud Gateway
Event Hubs
&
IoT Hub
Field
Gateway
Protocol
Adaptation
Field
Gateway
Device
Connectivity & Management
Analytics &
Operationalized Insights
Presentation &
Business Connectivity
Devices
RTOS,Linux,Windows,Android,iOS
Protocol
Adaptation
Batch Analytics & Visualizations
Azure HDInsight, AzureML, Power BI,
Azure Data Factory
Hot Path Analytics
Azure Stream Analytics, Azure HDInsight Storm
Presentation &
Business Connectivity
App Service, Websites
Dynamics, BizTalk Services,
Notification Hubs
Hot Path Business Logic
Service Fabric & Actor Framework
Cloud Gateway
Event Hubs
&
IoT Hub
Field
Gateway
Protocol
Adaptation
Devices Device Connectivity Storage Analytics Presentation & Action
Event Hubs SQL Database
Machine
Learning
App Service
Service Bus
Table/Blob
Storage
Stream
Analytics
Power BI
External Data
Sources
DocumentDB HDInsight
Notification
Hubs
External Data
Sources
Data Factory Mobile Services
BizTalk Services
{ }
IoT Sweet Spot $1000 PCs$400 Phones
Cost
Computational Capabilities
Memory/Storage Capacity
Energy Consumption/Source
$1
Sensor
$10000
Server
Component Quality
(CG)NAT
Firewall
Router
Isolated
Network
Service
Gateway
Client
Port Mapping is
automatic,
outbound
Device does not
actively listen for
unsolicited traffic
No inbound ports
open, attack surface
is minimized
Public address, full
and well defendable
server platform
Q
Q
Device Identity
Registry/Directory
Connections are device-
initiated and outbound
Field
Gateway
Access Control
Policies
const char *server = "arduinouno.azure-mobile.net";
if (client.connect(server, 80)) {
sprintf(buffer, "POST /tables/%s HTTP/1.1", table_name);
client.println(buffer);
sprintf(buffer, "Host: %s", server);
sprintf(buffer, "X-ZUMO-APPLICATION: %s", ams_key);
client.println("Content-Type: application/json");
sprintf(buffer, "{"value": %d}", value);
client.print("Content-Length: ");
client.println(strlen(buffer));
client.println();
client.println(buffer);
void send_request(int value)
proc.begin("curl");
proc.addParameter("-k");
proc.addParameter("-X");
proc.addParameter("POST");
proc.addParameter("-H");
proc.addParameter("Content-Type:application/json");
proc.addParameter("-H");
proc.addParameter("Authorization:" + sas_key);
proc.addParameter("-d");
proc.addParameter("{"value":" + String(value) + "}");
proc.addParameter("https://" + server + "/" + hub_name + 
"/publishers/" + device_name + "/messages");
proc.run();
var options = {
hostname: namespace + '.servicebus.windows.net',
port: 443,
path: '/' + hubname + '/publishers/' + devicename + '/messages',
method: 'POST',
headers: {
'Authorization': my_sas,
'Content-Length': payload.length,
'Content-Type': 'application/atom+xml;type=entry;charset=utf-8'
}
};
var req = https.request(options, function(res) {
res.on('data', function(d) {
process.stdout.write(d);
});
});
http://eventhubssasgenerator.azurewebsites.net/
function create_sas_token(uri, key_name, key)
{
// Token expires in one hour
var expiry = moment().add(1, 'hours').unix();
var string_to_sign = encodeURIComponent(uri) + 'n' + expiry;
var hmac = crypto.createHmac('sha256', key);
hmac.update(string_to_sign);
var signature = hmac.digest('base64');
var token = 'SharedAccessSignature sr=' + 
encodeURIComponent(uri) + '&sig=' + 
encodeURIComponent(signature) + '&se=' 
+ expiry + '&skn=' + key_name;
return token;
}
function upload_picture(name, image)
{
var options = {
hostname: blob_host,
port: 443,
path: '/' + blob_container + '/' + name + blob_sas,
method: 'PUT',
headers: {
'Content-Length' : image.length,
'x-ms-blob-type' : 'BlockBlob',
'Content-Type' : 'image/jpeg'
}
};
var req = https.request(options, function(res) {
res.on('data', function(d) {
process.stdout.write(d);
});
});
import sys
import commands
from proton import *
address = "amqps://send:xxxx@demohub.servicebus.windows.net/yun";
# Create Proton objects
messenger = Messenger()
# Create AMQP message
message = Message()
message.body = sys.argv[1]
message.address = address
messenger.put(message)
messenger.send()
address = new Address(sbNamespace, 5671, keyName, keyValue);
connection = new Connection(address);
session = new Session(connection);
sendLink = new SenderLink(
session,
"send-link:" + entity,
entity);
var messageValue = Encoding.UTF8.GetBytes(data);
// AMQP supports 3 types of body, here we use Data.
var message = new Message() { BodySection = 
new Data() { Binary = messageValue } };
sendLink.Send(message);
Using AmqpNetLite: http://amqpnetlite.codeplex.com/
https://github.com/dx-ted-emea/iot-labs
https://github.com/MSOpenTech/connectthedots
https://github.com/ms-iot/samples
http://hypernephelist.com/
https://github.com/ms-iot/virtual-shields-arduino/
https://github.com/ms-iot/virtual-shields-universal
https://github.com/ms-iot/remote-wiring
https://github.com/ms-iot/windows-remote-arduino-samples
DevSum'15 : Microsoft Azure and Things

Contenu connexe

Similaire à DevSum'15 : Microsoft Azure and Things

Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
FIWARE
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
Tom Croucher
 

Similaire à DevSum'15 : Microsoft Azure and Things (20)

Architecting io t solutions with microisoft azure ignite tour version
Architecting io t solutions with microisoft azure ignite tour versionArchitecting io t solutions with microisoft azure ignite tour version
Architecting io t solutions with microisoft azure ignite tour version
 
Create The Internet of Your Things example of a real system - Laurent Ellerbach
Create The Internet of Your Things example of a real system - Laurent EllerbachCreate The Internet of Your Things example of a real system - Laurent Ellerbach
Create The Internet of Your Things example of a real system - Laurent Ellerbach
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive Boston
 
Micro app-framework
Micro app-frameworkMicro app-framework
Micro app-framework
 
Arduino and the real time web
Arduino and the real time webArduino and the real time web
Arduino and the real time web
 
Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
 
Building applications with Serverless Framework and AWS Lambda
Building applications with Serverless Framework and AWS LambdaBuilding applications with Serverless Framework and AWS Lambda
Building applications with Serverless Framework and AWS Lambda
 
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
Athens IoT meetup #7 - Create the Internet of your Things - Laurent Ellerbach...
 
Socket.io
Socket.ioSocket.io
Socket.io
 
Towards a Serverless Platform for Edge AI
Towards a Serverless Platform for Edge AITowards a Serverless Platform for Edge AI
Towards a Serverless Platform for Edge AI
 
Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)
Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)
Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)
 
(MBL303) Build Mobile Apps for IoT Devices and IoT Apps for Devices
(MBL303) Build Mobile Apps for IoT Devices and IoT Apps for Devices(MBL303) Build Mobile Apps for IoT Devices and IoT Apps for Devices
(MBL303) Build Mobile Apps for IoT Devices and IoT Apps for Devices
 
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
 
Drive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerDrive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteer
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
 
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 ...
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
 
Expanding APIs beyond the Web
Expanding APIs beyond the WebExpanding APIs beyond the Web
Expanding APIs beyond the Web
 
Hacking google cloud run
Hacking google cloud runHacking google cloud run
Hacking google cloud run
 
HashiConf Digital 2020: HashiCorp Vault configuration as code via HashiCorp T...
HashiConf Digital 2020: HashiCorp Vault configuration as code via HashiCorp T...HashiConf Digital 2020: HashiCorp Vault configuration as code via HashiCorp T...
HashiConf Digital 2020: HashiCorp Vault configuration as code via HashiCorp T...
 

Plus de Thomas Conté

Azure Web Camp : Moteur de Recherche
Azure Web Camp : Moteur de RechercheAzure Web Camp : Moteur de Recherche
Azure Web Camp : Moteur de Recherche
Thomas Conté
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
Thomas Conté
 
TechDays 2014 : tour d'horizon de Java dans Azure
TechDays 2014 : tour d'horizon de Java dans AzureTechDays 2014 : tour d'horizon de Java dans Azure
TechDays 2014 : tour d'horizon de Java dans Azure
Thomas Conté
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobile
Thomas Conté
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
Thomas Conté
 

Plus de Thomas Conté (17)

Node.JS Paris Meetup - the Tessel microcontroller, Azure and Project Oxford
Node.JS Paris Meetup - the Tessel microcontroller, Azure and Project OxfordNode.JS Paris Meetup - the Tessel microcontroller, Azure and Project Oxford
Node.JS Paris Meetup - the Tessel microcontroller, Azure and Project Oxford
 
Tessel + Azure IoT hackathon intro
Tessel + Azure IoT hackathon introTessel + Azure IoT hackathon intro
Tessel + Azure IoT hackathon intro
 
Azure Web Camp : Cache Distribué
Azure Web Camp : Cache DistribuéAzure Web Camp : Cache Distribué
Azure Web Camp : Cache Distribué
 
Azure Web Camp : Moteur de Recherche
Azure Web Camp : Moteur de RechercheAzure Web Camp : Moteur de Recherche
Azure Web Camp : Moteur de Recherche
 
Azure Web Camp : NoSQL
Azure Web Camp : NoSQLAzure Web Camp : NoSQL
Azure Web Camp : NoSQL
 
Running Java workloads in Microsoft Azure
Running Java workloads in Microsoft AzureRunning Java workloads in Microsoft Azure
Running Java workloads in Microsoft Azure
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
TechDays 2014 : tour d'horizon de Java dans Azure
TechDays 2014 : tour d'horizon de Java dans AzureTechDays 2014 : tour d'horizon de Java dans Azure
TechDays 2014 : tour d'horizon de Java dans Azure
 
Linux on azure
Linux on azureLinux on azure
Linux on azure
 
Architecture d'une application Facebook pour Windows Azure
Architecture d'une application Facebook pour Windows AzureArchitecture d'une application Facebook pour Windows Azure
Architecture d'une application Facebook pour Windows Azure
 
JavaScript pour les développeurs .NET
JavaScript pour les développeurs .NETJavaScript pour les développeurs .NET
JavaScript pour les développeurs .NET
 
Presentation: Java in the Cloud with Windows Azure
Presentation: Java in the Cloud with Windows AzurePresentation: Java in the Cloud with Windows Azure
Presentation: Java in the Cloud with Windows Azure
 
Présentation Windows Azure - MS Days 2011
Présentation Windows Azure - MS Days 2011Présentation Windows Azure - MS Days 2011
Présentation Windows Azure - MS Days 2011
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobile
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
TechDays 2010 (CLO301) : Windows Azure Comment Migrer Une Application
TechDays 2010 (CLO301) : Windows Azure Comment Migrer Une ApplicationTechDays 2010 (CLO301) : Windows Azure Comment Migrer Une Application
TechDays 2010 (CLO301) : Windows Azure Comment Migrer Une Application
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows Azure
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

DevSum'15 : Microsoft Azure and Things

Notes de l'éditeur

  1. Before you can do anything with your data, you must first get it into Azure. This is what is typically called the "ingestion" or "ingress" stage of an overall IoT architecture.
  2. Depending on the type of device you have, and how it is deployed physically, you may or may not be able to reach the Cloud directly.
  3. Also depending on your device and scenario, you may or may not be able to use secure protocols like SSL. It is usually very desirable to have all communication from the device to the Cloud authenticated and encrypted.
  4. Let's look at a few types of devices that you might want to use to prototype or develop IoT projects:
  5. - Simple MCU-based boards: Arduino Uno, Due ... - Advanced MCU-based boards with onboard network: Tessel, Arduino Yun ... - Full computing platform in embedded form factor: Raspberry Pi, BeagleBone Black ... - Back to simple MCU-based boards: using a more powerful device as a field gateway   We are going to look at these different types of devices and how to connect them to Azure.
  6. Simple boards: these do not have the CPU or RAM to run full networking stacks or secure protocols. You can add a network shield but it only gives you some basic HTTP capabilities, without SSL. But this is enough to get started sending simple data, for example using Azure Mobile Services.
  7. (or any other WebAPI)
  8. Advanced boards: these are capable of running a full secure TCP/IP stack. This means you can securely send data over HTTPS or AMQP to Azure IoT services like Device Hub or Event Hubs. MIPS @400MHz 64 MB DDR2
  9. Using these advanced boards, you also access other Azure services.
  10. Full boards: using the Raspberry Pi and BBB, everything is possible. You have access to all the usual Linux libraries and tools. 900MHz quad-core ARM Cortex-A7 CPU 1GB RAM
  11. But you can also use Windows 10! Yay! This opens the full power of Universal Windows Apps that you can run on both embedded devices and full-power platforms like PCs or smartphones.
  12. Now back to our simple boards: using an RPi or BBB, you can build a field gateway that will act as a middleman, receiving unsecure data and forwarding it to Azure over a secure channel.