SlideShare a Scribd company logo
AWS IoT & GreenGrass
Jeremy Cowan, Enterprise Solutions Architect
jicowan@amazon.com
25billion devices by 2020
Everyday things will be connected…
http://www.washingtonpost.com/sf/brand-connect/wp-content/uploads/sites/3/2015/05/cc_heroimage_v2.jpg
Jeremy Cowan's AWS user group presentation "AWS Greengrass & IoT demo"
Jeremy Cowan's AWS user group presentation "AWS Greengrass & IoT demo"
AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP
and Web Sockets
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
RULES ENGINE
Transform messages
based on rules and
route to AWS Services
AWS Services
- - - - -
3P Services
DEVICE SHADOW
Persistent thing state
during intermittent
connections
APPLICATIONS
AWS
IoT API
DEVICE REGISTRY
Identity and Management of
your things
MQTT Primer
MQ Telemetry Transport – the IoT protocol
 Senders ‘Publish’ to topics and send messages
 Receivers ‘Subscribe’ to topics and receive messages
 All subscribers receive all messages sent to a topic
 Topic names can be subscribed to using ‘wildcards’
topicname/path
Use the path depth
that makes sense for
your application
MQTT Primer
Pub: sensors/temp/room1
If the receiver subscribes to the
exact full path, they only receive
messages sent to the exact full path
All messages published on
this topic are received by all
subscribers to the topic
Sub: sensors/temp/room1
MQTT Primer
Pub: sensors/temp/room1
The plus (+) matches exactly one
item in the topic hierarchy so here
the subscriber will receive
messages for all sensors in room 1
All messages published on
this topic are received by all
subscribers to the topic
Sub: sensors/+/room1
Pub: sensors/temp/room1
The Hash (#) means the subscriber
will receive messages for all
temperature sensors in all rooms
All messages published on
this topic are received by all
subscribers to the topic
Sub: sensors/temp/#
MQTT Primer
AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP
and Web Sockets
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
RULES ENGINE
Transform messages
based on rules and
route to AWS Services
AWS Services
- - - - -
3P Services
DEVICE SHADOW
Persistent thing state
during intermittent
connections
APPLICATIONS
AWS
IoT API
DEVICE REGISTRY
Identity and Management of
your things
Device Shadow
• Plan for devices to lose connectivity
– Device may need to shut down when idle to conserve battery.
– Device may be stable, but the network could be unreliable.
• Send devices commands through Shadows
– Instead of wrangling custom topics and keeping state yourself, use the
Device Shadow to abstract away the topics and connectivity issues.
• Query device state through Shadows
– The Device Shadow is always available, even if the device is not.
• Addresses message ordering for command and control
– Uses optimistic locking (version number)
Device Shadow
Thing
reported
state
desired
state
MQTT
AWS Lambda
The device itself is the
source of truth for the
‘reported’ state.
Interested parties set
the ‘desired’ state to
request a change to the
state of the device.
• Used to request a change to device state
Interested parties request device state change through the JSON payload.
• Difference between ‘reported’ and ‘desired’
triggers a ‘delta’ message to the device
The AWS IoT device shadow compares the ‘reported’ state with the ‘desired’ state,
and any properties of ‘desired’ not present or different in the ‘reported’ state are
notified via a ‘delta’ message.
‘Desired’ state
AWS IoT Reserved Topics
$aws/things/SmartHub/shadow/update
Topic names that begin with
$aws are reserved for AWS IoT
special uses, such as addressing
the device shadow for a thing.
The Device Shadow listens to a well-known topic and
interprets the JSON payload it receives.
You can publish well-formed messages to
$aws/things/SmartHub/shadow/update
to update the shadow, or more conveniently,
use the aws-iot-sdk abstractions.
AWS IoT SDKs
• Supported languages / environments
• Python
• Embedded C
• iOS
• Android
• Javascript
• NodeJS
• Java
• Arduino Yun
• Support device shadow and custom topics
Built on top of Paho MQTT client library, the SDKs abstract
the device shadow but allow direct pub/sub
• Fully documented
Rich documentation with examples on GitHub
AWS IoT – How Do You Connect a Device?
1. Provision a certificate
AWS IoT can generate the Cert/Public/Private keys for you
Alternatively, BYO certificate to more easily integrate with existing workflows
2. Attach an IoT Policy
Associate an IoT Policy document with the certificate to scope down what the
certificate holder can do
3. Connect over MQTT
Use the AWS IoT SDKs or roll-your-own
4. Send some data
Publish a payload!
AWS IoT – How Do You Secure Communications?
• Mutual authentication X.509 certificate-based auth
– When devices connect to the AWS IoT broker, they use certificate-based
authentication. You assign policies to certificates.
• AWS SigV4
– When browsers use WebSockets, connections are signed using SigV4, which
identifies the user principal that you can attach AWS IoT policies to.
• Amazon Cognito simplifies signing SigV4 requests
– Takes care of steps necessary to create a unique identifier for users and
retrieve temporary, limited-privilege AWS credentials.
AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP
and Web Sockets
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
RULES ENGINE
Transform messages
based on rules and
route to AWS Services
AWS Services
- - - - -
3P Services
DEVICE SHADOW
Persistent thing state
during intermittent
connections
APPLICATIONS
AWS
IoT API
DEVICE REGISTRY
Identity and Management of
your things
Rules Engine
• Augment or filter data received from a device.
• Write data received to an Amazon DynamoDB database.
• Save a file to Amazon S3.
• Send a push notification to all users of Amazon SNS.
• Publish data to an Amazon SQS queue.
• Invoke a Lambda function to extract data.
• Push data into Elastic Search.
• Process messages from a large number
of devices using Amazon Kinesis.
• Republish the message to another MQTT topic.
Example Rule
SELECT * FROM '#'
The entire contents
of the MQTT message
All messages that arrive at
the message broker
Example Rule
SELECT * FROM
'$aws/things/SmartHub/shadow/update'
The entire contents
of the MQTT message
Only messages as part of a
shadow update request
Example Rule
SELECT state.reported.info as info
FROM '$aws/things/SmartHub/shadow/update'
WHERE state.reported.target="LightBulb"
Just the ‘info’ property in the
reported state message
Only messages that have a
‘target’ value set to ‘LightBulb’
Demo:
Color Cube Demo
http://bit.ly/2nS3GVN

More Related Content

PPTX
AWS Greengrass
yaman dua
 
PDF
AWS IoT Services Overview- IoT Core, Monitoring, Analytics by Jake Scherrer
AWS Chicago
 
PPTX
Derive Insight from IoT data in minute with AWS
Adrian Hornsby
 
PPTX
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
Andrea Mercanti
 
PDF
Workshop AWS IoT @ IoT World Paris
Julien SIMON
 
PDF
Mark Johnson's AWS Chicago Healthcare Slides - 2016
AWS Chicago
 
PDF
AWS NYC Meetup - May 2017 - "AWS IoT and Greengrass"
Chris Munns
 
PDF
Connecting the Unconnected: IoT Made Simple
Danilo Poccia
 
AWS Greengrass
yaman dua
 
AWS IoT Services Overview- IoT Core, Monitoring, Analytics by Jake Scherrer
AWS Chicago
 
Derive Insight from IoT data in minute with AWS
Adrian Hornsby
 
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
Andrea Mercanti
 
Workshop AWS IoT @ IoT World Paris
Julien SIMON
 
Mark Johnson's AWS Chicago Healthcare Slides - 2016
AWS Chicago
 
AWS NYC Meetup - May 2017 - "AWS IoT and Greengrass"
Chris Munns
 
Connecting the Unconnected: IoT Made Simple
Danilo Poccia
 

Similar to Jeremy Cowan's AWS user group presentation "AWS Greengrass & IoT demo" (20)

PDF
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
Amazon Web Services Korea
 
PPTX
Reply Webinar Online - Mastering AWS - IoT Foundations
Andrea Mercanti
 
PDF
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
Amazon Web Services Korea
 
PPTX
AWS IoT
Djordje Simic
 
PDF
An Introduction to AWS IoT
Danilo Poccia
 
PDF
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
Amazon Web Services Korea
 
PDF
EE5111 a0195042 j_iot_project_report_update
JingmingPeng1
 
PPTX
Temperature and light intensity sensor
owatheowais
 
PDF
Intro to AWS IoT - Pop-up Loft London
Boaz Ziniman
 
PDF
Aws iot
Ruqaiya Khanam
 
PDF
Hands-on with AWS IoT
Julien SIMON
 
PDF
Hands-on with AWS IoT (November 2016)
Julien SIMON
 
PPTX
Plant monitoring System- AWS Community day Bengaluru 2019
Sekhar Rangam
 
PDF
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
AWS Germany
 
PPTX
Reply Webinar Online - Mastering AWS - IoT Advanced
Andrea Mercanti
 
PDF
An Intro to AWS IoT
Scott Stewart
 
PPTX
IoT Smart Home
Sergey Seletsky
 
PDF
AWS IoT Deep Dive - AWS IoT Web Day
AWS Germany
 
PDF
An Introduction to AWS IoT - Web Summit Lisbon
Boaz Ziniman
 
PPTX
Web + AWS + IoT, how to
Indeema Software Inc.
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
Amazon Web Services Korea
 
Reply Webinar Online - Mastering AWS - IoT Foundations
Andrea Mercanti
 
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
Amazon Web Services Korea
 
AWS IoT
Djordje Simic
 
An Introduction to AWS IoT
Danilo Poccia
 
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
Amazon Web Services Korea
 
EE5111 a0195042 j_iot_project_report_update
JingmingPeng1
 
Temperature and light intensity sensor
owatheowais
 
Intro to AWS IoT - Pop-up Loft London
Boaz Ziniman
 
Hands-on with AWS IoT
Julien SIMON
 
Hands-on with AWS IoT (November 2016)
Julien SIMON
 
Plant monitoring System- AWS Community day Bengaluru 2019
Sekhar Rangam
 
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
AWS Germany
 
Reply Webinar Online - Mastering AWS - IoT Advanced
Andrea Mercanti
 
An Intro to AWS IoT
Scott Stewart
 
IoT Smart Home
Sergey Seletsky
 
AWS IoT Deep Dive - AWS IoT Web Day
AWS Germany
 
An Introduction to AWS IoT - Web Summit Lisbon
Boaz Ziniman
 
Web + AWS + IoT, how to
Indeema Software Inc.
 
Ad

More from AWS Chicago (20)

PPTX
Kathie Kinde Clark - Elevate Your Professional Footprint: LinkedIn Masterclass
AWS Chicago
 
PDF
Jason Anderson From Dirt Roads to Highways: Simplifying DevOps and Cloud Inf...
AWS Chicago
 
PDF
Aman Sardana and Vijay Kumar Soni - Navigating Hybrid Cloud Challenges for ...
AWS Chicago
 
PDF
Ben Blair Operating Safely in a Vibe Coding World
AWS Chicago
 
PPTX
Joseph Morotti Enhancing customer experience through Amazon Connect and Gene...
AWS Chicago
 
PPTX
Craig Johnson When VPCs Attack: Real-Life Cloud Networking Fails (and Fixes)
AWS Chicago
 
PDF
Peter Sankauskas Access Denied: Understanding & Debugging AWS IAM
AWS Chicago
 
PDF
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
PDF
Bob Fornal The Impact of Testing on a DevOps Pipeline
AWS Chicago
 
PDF
Jason Butz Chaos Engineering with FIS and Lambda Functions
AWS Chicago
 
PPTX
Automated VPC migration into centralized inspection architecture with AWS Gat...
AWS Chicago
 
PDF
Julia Furst Morgado The Lazy Guide to Kubernetes with EKS Auto Mode + Karpenter
AWS Chicago
 
PDF
Bob Fornal - Active Career Management AWS Community Day Midwest 2025
AWS Chicago
 
PDF
Edwin Moedano Monitoring and Observability of Lambdas with Cloudwatch and Po...
AWS Chicago
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PPTX
Nathan Hiscock Architecting secure, scalable, cost-efficient computer vision...
AWS Chicago
 
PDF
AWS Community Day Midwest 2025 Julia Furst Morgado The Lazy Guide to Kuberne...
AWS Chicago
 
PDF
Steven Seaney - Simplifying and Streamlining AWS Control Tower Deployments
AWS Chicago
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PPTX
Paul Chin Jr. Data Gone in 60 Seconds: A Serverless ETL Heist
AWS Chicago
 
Kathie Kinde Clark - Elevate Your Professional Footprint: LinkedIn Masterclass
AWS Chicago
 
Jason Anderson From Dirt Roads to Highways: Simplifying DevOps and Cloud Inf...
AWS Chicago
 
Aman Sardana and Vijay Kumar Soni - Navigating Hybrid Cloud Challenges for ...
AWS Chicago
 
Ben Blair Operating Safely in a Vibe Coding World
AWS Chicago
 
Joseph Morotti Enhancing customer experience through Amazon Connect and Gene...
AWS Chicago
 
Craig Johnson When VPCs Attack: Real-Life Cloud Networking Fails (and Fixes)
AWS Chicago
 
Peter Sankauskas Access Denied: Understanding & Debugging AWS IAM
AWS Chicago
 
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
Bob Fornal The Impact of Testing on a DevOps Pipeline
AWS Chicago
 
Jason Butz Chaos Engineering with FIS and Lambda Functions
AWS Chicago
 
Automated VPC migration into centralized inspection architecture with AWS Gat...
AWS Chicago
 
Julia Furst Morgado The Lazy Guide to Kubernetes with EKS Auto Mode + Karpenter
AWS Chicago
 
Bob Fornal - Active Career Management AWS Community Day Midwest 2025
AWS Chicago
 
Edwin Moedano Monitoring and Observability of Lambdas with Cloudwatch and Po...
AWS Chicago
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
Nathan Hiscock Architecting secure, scalable, cost-efficient computer vision...
AWS Chicago
 
AWS Community Day Midwest 2025 Julia Furst Morgado The Lazy Guide to Kuberne...
AWS Chicago
 
Steven Seaney - Simplifying and Streamlining AWS Control Tower Deployments
AWS Chicago
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Paul Chin Jr. Data Gone in 60 Seconds: A Serverless ETL Heist
AWS Chicago
 
Ad

Recently uploaded (20)

PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Software Development Methodologies in 2025
KodekX
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 

Jeremy Cowan's AWS user group presentation "AWS Greengrass & IoT demo"

  • 1. AWS IoT & GreenGrass Jeremy Cowan, Enterprise Solutions Architect [email protected]
  • 3. Everyday things will be connected… http://www.washingtonpost.com/sf/brand-connect/wp-content/uploads/sites/3/2015/05/cc_heroimage_v2.jpg
  • 6. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT, HTTP and Web Sockets AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption RULES ENGINE Transform messages based on rules and route to AWS Services AWS Services - - - - - 3P Services DEVICE SHADOW Persistent thing state during intermittent connections APPLICATIONS AWS IoT API DEVICE REGISTRY Identity and Management of your things
  • 7. MQTT Primer MQ Telemetry Transport – the IoT protocol  Senders ‘Publish’ to topics and send messages  Receivers ‘Subscribe’ to topics and receive messages  All subscribers receive all messages sent to a topic  Topic names can be subscribed to using ‘wildcards’ topicname/path Use the path depth that makes sense for your application
  • 8. MQTT Primer Pub: sensors/temp/room1 If the receiver subscribes to the exact full path, they only receive messages sent to the exact full path All messages published on this topic are received by all subscribers to the topic Sub: sensors/temp/room1
  • 9. MQTT Primer Pub: sensors/temp/room1 The plus (+) matches exactly one item in the topic hierarchy so here the subscriber will receive messages for all sensors in room 1 All messages published on this topic are received by all subscribers to the topic Sub: sensors/+/room1
  • 10. Pub: sensors/temp/room1 The Hash (#) means the subscriber will receive messages for all temperature sensors in all rooms All messages published on this topic are received by all subscribers to the topic Sub: sensors/temp/# MQTT Primer
  • 11. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT, HTTP and Web Sockets AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption RULES ENGINE Transform messages based on rules and route to AWS Services AWS Services - - - - - 3P Services DEVICE SHADOW Persistent thing state during intermittent connections APPLICATIONS AWS IoT API DEVICE REGISTRY Identity and Management of your things
  • 12. Device Shadow • Plan for devices to lose connectivity – Device may need to shut down when idle to conserve battery. – Device may be stable, but the network could be unreliable. • Send devices commands through Shadows – Instead of wrangling custom topics and keeping state yourself, use the Device Shadow to abstract away the topics and connectivity issues. • Query device state through Shadows – The Device Shadow is always available, even if the device is not. • Addresses message ordering for command and control – Uses optimistic locking (version number)
  • 13. Device Shadow Thing reported state desired state MQTT AWS Lambda The device itself is the source of truth for the ‘reported’ state. Interested parties set the ‘desired’ state to request a change to the state of the device.
  • 14. • Used to request a change to device state Interested parties request device state change through the JSON payload. • Difference between ‘reported’ and ‘desired’ triggers a ‘delta’ message to the device The AWS IoT device shadow compares the ‘reported’ state with the ‘desired’ state, and any properties of ‘desired’ not present or different in the ‘reported’ state are notified via a ‘delta’ message. ‘Desired’ state
  • 15. AWS IoT Reserved Topics $aws/things/SmartHub/shadow/update Topic names that begin with $aws are reserved for AWS IoT special uses, such as addressing the device shadow for a thing.
  • 16. The Device Shadow listens to a well-known topic and interprets the JSON payload it receives. You can publish well-formed messages to $aws/things/SmartHub/shadow/update to update the shadow, or more conveniently, use the aws-iot-sdk abstractions.
  • 17. AWS IoT SDKs • Supported languages / environments • Python • Embedded C • iOS • Android • Javascript • NodeJS • Java • Arduino Yun • Support device shadow and custom topics Built on top of Paho MQTT client library, the SDKs abstract the device shadow but allow direct pub/sub • Fully documented Rich documentation with examples on GitHub
  • 18. AWS IoT – How Do You Connect a Device? 1. Provision a certificate AWS IoT can generate the Cert/Public/Private keys for you Alternatively, BYO certificate to more easily integrate with existing workflows 2. Attach an IoT Policy Associate an IoT Policy document with the certificate to scope down what the certificate holder can do 3. Connect over MQTT Use the AWS IoT SDKs or roll-your-own 4. Send some data Publish a payload!
  • 19. AWS IoT – How Do You Secure Communications? • Mutual authentication X.509 certificate-based auth – When devices connect to the AWS IoT broker, they use certificate-based authentication. You assign policies to certificates. • AWS SigV4 – When browsers use WebSockets, connections are signed using SigV4, which identifies the user principal that you can attach AWS IoT policies to. • Amazon Cognito simplifies signing SigV4 requests – Takes care of steps necessary to create a unique identifier for users and retrieve temporary, limited-privilege AWS credentials.
  • 20. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT, HTTP and Web Sockets AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption RULES ENGINE Transform messages based on rules and route to AWS Services AWS Services - - - - - 3P Services DEVICE SHADOW Persistent thing state during intermittent connections APPLICATIONS AWS IoT API DEVICE REGISTRY Identity and Management of your things
  • 21. Rules Engine • Augment or filter data received from a device. • Write data received to an Amazon DynamoDB database. • Save a file to Amazon S3. • Send a push notification to all users of Amazon SNS. • Publish data to an Amazon SQS queue. • Invoke a Lambda function to extract data. • Push data into Elastic Search. • Process messages from a large number of devices using Amazon Kinesis. • Republish the message to another MQTT topic.
  • 22. Example Rule SELECT * FROM '#' The entire contents of the MQTT message All messages that arrive at the message broker
  • 23. Example Rule SELECT * FROM '$aws/things/SmartHub/shadow/update' The entire contents of the MQTT message Only messages as part of a shadow update request
  • 24. Example Rule SELECT state.reported.info as info FROM '$aws/things/SmartHub/shadow/update' WHERE state.reported.target="LightBulb" Just the ‘info’ property in the reported state message Only messages that have a ‘target’ value set to ‘LightBulb’

Editor's Notes

  • #2: Greeting Role Today – IoT / Connected devices
  • #5: Take amazon for example… if we build apps to monitor a single robot, we’d have quite a bit of a challenge managing our logistics operations. Hundreds of thousands or robots like these from Amazon Robotics in our fullfillment centers globally These are all working in concert with our commerce business to get packages to customers in a quick, safe and reliable manner. 1 hour in some areas! (starter kit plug?)
  • #7: Out prime:now service uses contract drivers in some areas
  • #8: so, if you’re not aware, we have a decent size delivery business. In addition to the trucks, we have other methods of delivery… My next point, the purpose of the thing doesn’t dictate how it can be measured
  • #9: And, of course the drone. The point again… various ways of delivering packages... Machines w/ the same function. VERY different requirements for monitoring and management.
  • #29: Many applications can’t rely exclusively on the cloud for control There are privacy or regulatory constraints with localized data IoT applications may rely on timely decisions Things have to work even when connectivity is not available Building cloud-enabled devices that work offline required maintaining separate code bases for local and cloud execution Transition slide between Technicolor: customer transforming product with AWS IoT Edge to Rio Tinto: Customer Transforming entire industry ecosystem with AWS IoT + AWS IoT Edge Cloud Service – it’s updated like one! Since launch: -Jokes, Star Trek Nimoy, Rocks paper Scissors, sports scores, Pandora, home automation, ITTT. Do not use the following (COPPA): -Dr. Suess