SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Markku Lepisto
John Rotach
October 8, 2015
AWS IoT Deep Dive
Understanding Hardware Platforms,
Devices SDKs and Protocols
MBL313
AWS IoT
Any device can connect securelyAnyone can connect a device Getting started is easy
“Securely connect one or one-billion devices to AWS,
so they can interact with applications and other devices”
Security – IoT Requirements
Strong Authentication
Fine Grained Authorization
Secure Communication
Security – IoT Requirements
Strong Authentication
Secure Communication
Security – IoT Requirements
Strong Authentication
Secure Communication
Security – IoT Requirements
Strong Authentication
Secure Communication
Protect your Keys
Security – IoT Requirements
Strong Authentication
Secure Communication
Security – Secure Device
SDKs make it easy to be secure
TLS Mutual Authentication
We package a TLS software library with embedded C
Protocols / Interaction
Device Shadow
Protocols – MQTT
MQTTS vs HTTPS:
• 93x faster throughput
• 11.89x less battery to send
• 170.9x less battery to receive
• 50% less power to keep connected
• 8x less network overhead
Source:
http://stephendnicholas.com/archives/1217
• OASIS standard protocol (v3.1.1)
• Lightweight, pub-sub, transport protocol
that is useful for connected devices
• MQTT is used on oil rigs, connected
trucks, and many more sensitive and
resource-sensitive scenarios.
• Customers have needed to build,
maintain and scale a broker to use
MQTT with cloud applications
Protocols – MQTT – Use Cases
mydevices/#
mydevices/1
mydevices/2
mydevices/3
Protocols – MQTT – Use Cases
mydevices/4
mydevices/4
Protocols – MQTT – Use Cases
mydevices/4
mydevices/4
Protocols – MQTT – Use Cases
mydevices/to_all
mydevices/to_all
Protocols – MQTT – QoS 0
1
2
3
4
5
6
1,2,3,5,6
Protocols – MQTT – QoS 1
1
2
3
4
5
4
1,2,3,4,5,6
6
Protocols – MQTT – Keep Alive
PINGREQ
PINGRESP
Although TCP/IP in theory notifies you when a socket breaks, in practice, particularly on
things like mobile and satellite links, which often “fake” TCP over the air and put
headers back on at each end, it’s quite possible for a TCP session to “black hole”, i.e. it
appears to be open still, but in fact is just dumping anything you write to it onto the floor.
Andy Stanford-Clark on the topic “Why is the keep-alive needed?“ *
* https://groups.google.com/forum/#!msg/mqtt/zRqd8JbY4oM/XrMwlQ5TU0EJ
Protocols – AWS IoT Shadow
{
"state" : {
“desired" : {
"lights": { "color": "RED" },
"engine" : "ON"
},
"reported" : {
"lights" : { "color": "GREEN" },
"engine" : "ON"
},
"delta" : {
"lights" : { "color": "RED" }
} },
"version" : 10
}
Thing
Report its current state to one or multiple shadow
Retrieve its desired state from shadow
Mobile App
Set the desired state of a device
Get the last reported state of the device
Delete the shadow
Shadow
Shadow reports delta, desired
and reported states along with metadata and version
Protocols – AWS IoT Shadow Topics (MQTT)
$aws/things/{thing}/shadow/…
Publish
…/get: to get the latest shadow state
…/update: to update the shadow state
…/delete: to remove the shadow state
Subscribe
…/accepted: shadow accepted message
…/rejected: shadow rejected message
…/delta: differences between desired and reported
DEVICE SHADOW
Persistent thing state
during intermittent
connections
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : "ON”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"reported" : {
"engine" : ”OFF”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"version" : 10
}
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : "ON”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"reported" : {
"engine" : ”OFF”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"delta" : {
”engine" : “ON”
} },
"version" : 10
}
"engine" : ”ON”
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : "ON”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"reported" : {
"engine" : ”OFF”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"delta" : {
”engine" : “ON”
} },
"version" : 10
}
"engine" : ”OFF”
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : "ON”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"reported" : {
"engine" : ”OFF”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"delta" : {
”engine" : “ON”
} },
"version" : 10
}
"engine" : "ON”
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : "ON”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"reported" : {
"engine" : ”OFF”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"version" : 10
}
"engine" : "ON”
Getting Started with AWS IoT
How do I get started?
AWS IoT SDKs IoT Starter Kits
Getting Started – SDKs
Arduino (Arduino Yún)
Node.js (Ideal for Embedded Linux)
C – Embedded (Ideal for embedded OS)
Getting Started – Arduino Yún SDK
Arduino IDE
Libraries
Hardware Ecosystem
Getting Started – Arduino Yún SDK
Demo – Build your own AWS IoT Button
SELECT * FROM sdk/rules/lambda
Action: Lambda
Getting Started – Node.js SDK
Easy install with NPM
Supports Embedded
Linux Boards
High level, but easy
access to hardware
Getting Started – Node.js SDK
Getting Started – Embedded C SDK
Deeply embedded
Port to your platform
Delivered as source
w/ POSIX port
Getting Started –Embedded C SDK
Memory Conscious
TLS
MQTT Client
Shadow SDK
Examples
C SDK Porting – SDK Architecture
Hardware / OS
Timer Interface
MQTT Interface / Client
Custom Application
TLS Interface
Layered
Well-defined Interfaces
Porting Points
Thing Shadow
C SDK Porting – SDK Architecture
Hardware / OS
Timer Interface
MQTT Interface / Client
Custom Application
TLS Interface
Your application
The soul of the device
Thing Shadow
C SDK Porting – SDK Architecture
Hardware / OS
Timer Interface
MQTT Interface / Client
Custom Application
TLS Interface
Shadow SDK
Subscription Management
Version Tracking
Client Tokens
JSON Helpers
Thing Shadow
C SDK Porting – SDK Architecture
Hardware / OS
Timer Interface
MQTT Interface / Client
Custom Application
TLS Interface
Embedded MQTT Client
Interfaces
Thing Shadow
C SDK Porting – SDK Architecture
Hardware / OS
Timer Interface
MQTT Interface / Client
Custom Application
TLS Interface
You know how timers work
on your system
Thing Shadow
C SDK Porting – SDK Architecture
Hardware / OS
Timer Interface
MQTT Interface / Client
Custom Application
TLS Interface
Interface to the network
Raw sockets
TLS implementation included
Thing Shadow
C SDK Porting – SDK Architecture
Hardware / OS
Timer Interface
MQTT Interface / Client
Custom Application
TLS Interface
Your hardware
Thing Shadow
Demo of C SDK
Timers
Network
Yield()
Time on the device
Getting Started – Porting Story
Board Manufacturers
TLS + MQTT
Shadow
Pub/Sub - 8kb code, 4k RAM
Shadow – 11kb code, 6k RAM
(MQTT and SDK, no TLS, TCP/IP)
Official IoT Starter Kits, Powered by AWS
Official IoT Starter Kits on Variety of Platforms
Broadcom WICED
BCM4343W
On Threadx/Netx
Marvell
EZConnect
MW302
On FreeRTOS
Renasas RX63N
On Micrium OS
TI CC3200
On TI-RTOS
Microchip WCM
PIC32 Platform
Intel Edison
on Yocto Linux
Mediatek
LinkOne
on Linkit OS
Dragonboard
410c on
Ubuntu
Seeeduino
Arduino on
openWRT
Beaglebone
Green on
Debian
Demo
End-to-end Solution
Earthquake Monitoring
Marvell
MW300
MediaTek
LinkIt ONE
Arduino
Yún
AWS IoT
Topics
Rules
Amazon Kinesis
All
Amazon
SNS
> 5 G
Intel
Edison
AWS Lambda
State: Alarm
Shadow
AWS IoT
Any device can connect securelyAnyone can connect a device Getting started is easy
Thank you!
Remember to complete
your evaluations!

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Internet of Things on AWS
Internet of Things on AWSInternet of Things on AWS
Internet of Things on AWS
 
AWS IoT introduction
AWS IoT introductionAWS IoT introduction
AWS IoT introduction
 
(MBL311) NEW! AWS IoT: Securely Building, Provisioning, & Using Things
(MBL311) NEW! AWS IoT: Securely Building, Provisioning, & Using Things(MBL311) NEW! AWS IoT: Securely Building, Provisioning, & Using Things
(MBL311) NEW! AWS IoT: Securely Building, Provisioning, & Using Things
 
iNTRODUCTION TO AWS IOT
iNTRODUCTION TO AWS IOTiNTRODUCTION TO AWS IOT
iNTRODUCTION TO AWS IOT
 
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
(MBL312) NEW! AWS IoT: Programming a Physical World w/ Shadows & Rules
 
(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT
 
(MBL204) State of The Union: IoT Powered by AWS
(MBL204) State of The Union: IoT Powered by AWS(MBL204) State of The Union: IoT Powered by AWS
(MBL204) State of The Union: IoT Powered by AWS
 
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
Reply Bootcamp Rome - Mastering AWS - IoT BootcampReply Bootcamp Rome - Mastering AWS - IoT Bootcamp
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
 
AWS January 2016 Webinar Series - Getting Started with AWS IoT
AWS January 2016 Webinar Series - Getting Started with AWS IoTAWS January 2016 Webinar Series - Getting Started with AWS IoT
AWS January 2016 Webinar Series - Getting Started with AWS IoT
 
AWS IoT - Best of re:Invent Tel Aviv
AWS IoT - Best of re:Invent Tel AvivAWS IoT - Best of re:Invent Tel Aviv
AWS IoT - Best of re:Invent Tel Aviv
 
(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
 
Deep Dive on AWS IoT Core
Deep Dive on AWS IoT CoreDeep Dive on AWS IoT Core
Deep Dive on AWS IoT Core
 
(MBL203) Drones to Cars: Connecting the Devices in Motion to the Cloud
(MBL203) Drones to Cars: Connecting the Devices in Motion to the Cloud(MBL203) Drones to Cars: Connecting the Devices in Motion to the Cloud
(MBL203) Drones to Cars: Connecting the Devices in Motion to the Cloud
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
 
Srv204 Getting Started with AWS IoT
Srv204 Getting Started with AWS IoTSrv204 Getting Started with AWS IoT
Srv204 Getting Started with AWS IoT
 
Webinar - AWS 201 IoT with AWS - Smart devices powered by the cloud
Webinar - AWS 201 IoT with AWS - Smart devices powered by the cloudWebinar - AWS 201 IoT with AWS - Smart devices powered by the cloud
Webinar - AWS 201 IoT with AWS - Smart devices powered by the cloud
 
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim CruseAWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
 
February 2016 Webinar Series - Best Practices for IoT Security in the Cloud
February 2016 Webinar Series - Best Practices for IoT Security in the CloudFebruary 2016 Webinar Series - Best Practices for IoT Security in the Cloud
February 2016 Webinar Series - Best Practices for IoT Security in the Cloud
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 

Similar a (MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols

Similar a (MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols (20)

The Connected Home: Managing and Innovating with Offline Devices
The Connected Home: Managing and Innovating with Offline DevicesThe Connected Home: Managing and Innovating with Offline Devices
The Connected Home: Managing and Innovating with Offline Devices
 
Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...
Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...
Getting Started with AWS IoT and the Dragon IoT Starter Kit - AWS May 2016 We...
 
Introducing AWS IoT - Interfacing with the Physical World - Technical 101
Introducing AWS IoT - Interfacing with the Physical World - Technical 101Introducing AWS IoT - Interfacing with the Physical World - Technical 101
Introducing AWS IoT - Interfacing with the Physical World - Technical 101
 
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
 
Getting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar SeriesGetting Started with AWS IoT - September 2016 Webinar Series
Getting Started with AWS IoT - September 2016 Webinar Series
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit
 
IoT Smart Home
IoT Smart HomeIoT Smart Home
IoT Smart Home
 
AWS IoT & ML Recap - 20180423
AWS IoT & ML Recap - 20180423AWS IoT & ML Recap - 20180423
AWS IoT & ML Recap - 20180423
 
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
 
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 ...
 
3 Software Stacks for IoT Solutions
3 Software Stacks for IoT Solutions3 Software Stacks for IoT Solutions
3 Software Stacks for IoT Solutions
 
AWS IoT - Introduction - Pop-up Loft
AWS IoT - Introduction - Pop-up LoftAWS IoT - Introduction - Pop-up Loft
AWS IoT - Introduction - Pop-up Loft
 
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 
Iot gateway dream team - Eclipse Kura and Apache Camel
Iot gateway dream team - Eclipse Kura and Apache CamelIot gateway dream team - Eclipse Kura and Apache Camel
Iot gateway dream team - Eclipse Kura and Apache Camel
 
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
Overview of IoT Infrastructure and Connectivity at AWS & Getting Started with...
 
Sigfox + Arduino MKRFOX Workshop
Sigfox + Arduino MKRFOX WorkshopSigfox + Arduino MKRFOX Workshop
Sigfox + Arduino MKRFOX Workshop
 
IoT on azure
IoT on azureIoT on azure
IoT on azure
 
Bending the IoT to your will with JavaScript
Bending the IoT to your will with JavaScriptBending the IoT to your will with JavaScript
Bending the IoT to your will with JavaScript
 
QuadraSpace Protocol
QuadraSpace ProtocolQuadraSpace Protocol
QuadraSpace Protocol
 

Más de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Markku Lepisto John Rotach October 8, 2015 AWS IoT Deep Dive Understanding Hardware Platforms, Devices SDKs and Protocols MBL313
  • 2. AWS IoT Any device can connect securelyAnyone can connect a device Getting started is easy “Securely connect one or one-billion devices to AWS, so they can interact with applications and other devices”
  • 3. Security – IoT Requirements Strong Authentication Fine Grained Authorization Secure Communication
  • 4. Security – IoT Requirements Strong Authentication Secure Communication
  • 5. Security – IoT Requirements Strong Authentication Secure Communication
  • 6. Security – IoT Requirements Strong Authentication Secure Communication Protect your Keys
  • 7. Security – IoT Requirements Strong Authentication Secure Communication
  • 8. Security – Secure Device SDKs make it easy to be secure TLS Mutual Authentication We package a TLS software library with embedded C
  • 10. Protocols – MQTT MQTTS vs HTTPS: • 93x faster throughput • 11.89x less battery to send • 170.9x less battery to receive • 50% less power to keep connected • 8x less network overhead Source: http://stephendnicholas.com/archives/1217 • OASIS standard protocol (v3.1.1) • Lightweight, pub-sub, transport protocol that is useful for connected devices • MQTT is used on oil rigs, connected trucks, and many more sensitive and resource-sensitive scenarios. • Customers have needed to build, maintain and scale a broker to use MQTT with cloud applications
  • 11. Protocols – MQTT – Use Cases mydevices/# mydevices/1 mydevices/2 mydevices/3
  • 12. Protocols – MQTT – Use Cases mydevices/4 mydevices/4
  • 13. Protocols – MQTT – Use Cases mydevices/4 mydevices/4
  • 14. Protocols – MQTT – Use Cases mydevices/to_all mydevices/to_all
  • 15. Protocols – MQTT – QoS 0 1 2 3 4 5 6 1,2,3,5,6
  • 16. Protocols – MQTT – QoS 1 1 2 3 4 5 4 1,2,3,4,5,6 6
  • 17. Protocols – MQTT – Keep Alive PINGREQ PINGRESP Although TCP/IP in theory notifies you when a socket breaks, in practice, particularly on things like mobile and satellite links, which often “fake” TCP over the air and put headers back on at each end, it’s quite possible for a TCP session to “black hole”, i.e. it appears to be open still, but in fact is just dumping anything you write to it onto the floor. Andy Stanford-Clark on the topic “Why is the keep-alive needed?“ * * https://groups.google.com/forum/#!msg/mqtt/zRqd8JbY4oM/XrMwlQ5TU0EJ
  • 18. Protocols – AWS IoT Shadow { "state" : { “desired" : { "lights": { "color": "RED" }, "engine" : "ON" }, "reported" : { "lights" : { "color": "GREEN" }, "engine" : "ON" }, "delta" : { "lights" : { "color": "RED" } } }, "version" : 10 } Thing Report its current state to one or multiple shadow Retrieve its desired state from shadow Mobile App Set the desired state of a device Get the last reported state of the device Delete the shadow Shadow Shadow reports delta, desired and reported states along with metadata and version
  • 19. Protocols – AWS IoT Shadow Topics (MQTT) $aws/things/{thing}/shadow/… Publish …/get: to get the latest shadow state …/update: to update the shadow state …/delete: to remove the shadow state Subscribe …/accepted: shadow accepted message …/rejected: shadow rejected message …/delta: differences between desired and reported DEVICE SHADOW Persistent thing state during intermittent connections
  • 20. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : "ON”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "reported" : { "engine" : ”OFF”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "version" : 10 }
  • 21. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : "ON”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "reported" : { "engine" : ”OFF”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "delta" : { ”engine" : “ON” } }, "version" : 10 } "engine" : ”ON”
  • 22. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : "ON”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "reported" : { "engine" : ”OFF”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "delta" : { ”engine" : “ON” } }, "version" : 10 } "engine" : ”OFF”
  • 23. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : "ON”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "reported" : { "engine" : ”OFF”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "delta" : { ”engine" : “ON” } }, "version" : 10 } "engine" : "ON”
  • 24. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : "ON”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "reported" : { "engine" : ”OFF”, “tires”: { “LF”:40, “RF”:38, “LR”:37, “RR”:39 }, “CCD”: { “A”:0, “B”:8, “C”:7, “D”:9 } }, "version" : 10 } "engine" : "ON”
  • 25. Getting Started with AWS IoT How do I get started? AWS IoT SDKs IoT Starter Kits
  • 26. Getting Started – SDKs Arduino (Arduino Yún) Node.js (Ideal for Embedded Linux) C – Embedded (Ideal for embedded OS)
  • 27. Getting Started – Arduino Yún SDK Arduino IDE Libraries Hardware Ecosystem
  • 28. Getting Started – Arduino Yún SDK
  • 29. Demo – Build your own AWS IoT Button SELECT * FROM sdk/rules/lambda Action: Lambda
  • 30. Getting Started – Node.js SDK Easy install with NPM Supports Embedded Linux Boards High level, but easy access to hardware
  • 31. Getting Started – Node.js SDK
  • 32. Getting Started – Embedded C SDK Deeply embedded Port to your platform Delivered as source w/ POSIX port
  • 33. Getting Started –Embedded C SDK Memory Conscious TLS MQTT Client Shadow SDK Examples
  • 34. C SDK Porting – SDK Architecture Hardware / OS Timer Interface MQTT Interface / Client Custom Application TLS Interface Layered Well-defined Interfaces Porting Points Thing Shadow
  • 35. C SDK Porting – SDK Architecture Hardware / OS Timer Interface MQTT Interface / Client Custom Application TLS Interface Your application The soul of the device Thing Shadow
  • 36. C SDK Porting – SDK Architecture Hardware / OS Timer Interface MQTT Interface / Client Custom Application TLS Interface Shadow SDK Subscription Management Version Tracking Client Tokens JSON Helpers Thing Shadow
  • 37. C SDK Porting – SDK Architecture Hardware / OS Timer Interface MQTT Interface / Client Custom Application TLS Interface Embedded MQTT Client Interfaces Thing Shadow
  • 38. C SDK Porting – SDK Architecture Hardware / OS Timer Interface MQTT Interface / Client Custom Application TLS Interface You know how timers work on your system Thing Shadow
  • 39. C SDK Porting – SDK Architecture Hardware / OS Timer Interface MQTT Interface / Client Custom Application TLS Interface Interface to the network Raw sockets TLS implementation included Thing Shadow
  • 40. C SDK Porting – SDK Architecture Hardware / OS Timer Interface MQTT Interface / Client Custom Application TLS Interface Your hardware Thing Shadow
  • 41. Demo of C SDK Timers Network Yield() Time on the device
  • 42. Getting Started – Porting Story Board Manufacturers TLS + MQTT Shadow Pub/Sub - 8kb code, 4k RAM Shadow – 11kb code, 6k RAM (MQTT and SDK, no TLS, TCP/IP)
  • 43. Official IoT Starter Kits, Powered by AWS
  • 44. Official IoT Starter Kits on Variety of Platforms Broadcom WICED BCM4343W On Threadx/Netx Marvell EZConnect MW302 On FreeRTOS Renasas RX63N On Micrium OS TI CC3200 On TI-RTOS Microchip WCM PIC32 Platform Intel Edison on Yocto Linux Mediatek LinkOne on Linkit OS Dragonboard 410c on Ubuntu Seeeduino Arduino on openWRT Beaglebone Green on Debian
  • 46.
  • 47. Earthquake Monitoring Marvell MW300 MediaTek LinkIt ONE Arduino Yún AWS IoT Topics Rules Amazon Kinesis All Amazon SNS > 5 G Intel Edison AWS Lambda State: Alarm Shadow
  • 48. AWS IoT Any device can connect securelyAnyone can connect a device Getting started is easy