SlideShare a Scribd company logo
1 of 63
Download to read offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ian Massingham,
Chief Evangelist (EMEA),
Amazon Web Services
@IanMmmm
27 October 2016
The Life of an AWS IoT Thing
Topics for this session
Getting Started: What is AWS IoT
Device prototyping
Creating device keys & certificates
Register certificates on first use
Attaching policies to certificates
The AWS IoT Thing Registry
Communicating with Things
Store & retrieve device state with the Device Shadow
Getting started: What is AWS IoT?
AWS: hyperscale infrastructure for connected devices
Amazon SNS 

Mobile Push 

and Notifications
AWS Lambda
Run Code in
Response to Events
Amazon DynamoDB
Predictable and Scalable
NoSQL Data Store
Amazon Kinesis
Streaming Analytics
Amazon Redshift
Petabyte-Scale 

Data Warehouse
…and more
Amazon API Gateway
Build, Deploy, and Manage
APIs
Amazon Cognito
User Identity and Data
Synchronization
IoT isn’t new to AWS with previous customer success
Amazon SNS 

Mobile Push 

and Notifications
Amazon
DynamoDB
Predictable and
Scalable NoSQL
Data Store
AWS Lambda
Run Code in
Response to Events
Amazon Redshift
Petabyte-Scale 

Data Warehouse
…and more
Amazon
API Gateway
Build, Deploy, &
Manage APIs
Amazon Kinesis
Streaming Analytics
Amazon Cognito
User Identity and
Data Synchronization
AWS IoT: simplify & accelerate IoT development
Amazon SNS 

Mobile Push 

and Notifications
Amazon
DynamoDB
Predictable and
Scalable NoSQL
Data Store
AWS Lambda
Run Code in
Response to Events
Amazon Redshift
Petabyte-Scale 

Data Warehouse
…and more
Amazon
API Gateway
Build, Deploy, &
Manage APIs
Amazon Kinesis
Streaming Analytics
Amazon Cognito
User Identity and
Data Synchronization
AWS IoT
Connect Devices to
the Cloud
AWS IoT
“Securely connect one or one billion devices to AWS, 

so they can interact with applications and other devices”
AWS IoT
Message Broker
AWS-grade security
Rules engine
Device Shadows
Device Registry
Managed Platform
Seamless integration
with all of AWS
AWS IoT
Device prototyping
Get Started with the AWS IoT Device SDK
C SDK
(Ideal for embedded
OS)
JavaScript SDK
(Ideal for Embedded
Linux Platforms)
Arduino Library
(Arduino Yun)
Mobile SDK
(Android and iOS)
Python SDK Java SDK
https://aws.amazon.com/blogs/iot/introducing-aws-iot-device-sdks-for-java-and-python/
Prototyping with the Raspberry Pi
• Raspberry Pi hardware

• Electronics Starter Kits
• One examples is the SunFounder 37 modules Sensor Kit v2.0 for
Raspberry Pi 3, 2, Model B+ with 40-Pin GPIO Extension Board &
Jump Wires
• Example tutorial
• Raspberry Pi Sense Hat (optional fun)
• https://www.raspberrypi.org/products/sense-hat/
Setting up the Raspberry Pi GPIO & Sense Hat
Your own electronics/sensor build
C (for embedded C)
http://wiringpi.com
Python Wrapper Module for WiringPI
https://github.com/WiringPi/WiringPi-Python
For the Sense Hat
Python Module
https://github.com/RPi-Distro/python-sense-hat
Official IoT Starter Kits, Powered by AWS
Dragonboard 410c
(by Arrow)
Beaglebone Green
(by Seeed Studio)
Seeeduino Cloud
(by Seeed Studio)
Intel Edison
(by Seeed Studio)
MediaTek LinkIt One
(by Seeed Studio)
Broadcom BCM4343W
(by Avnet)
Marvell EasyConnect
(By Marvell)
Renesas RX63N
(by Micrium)
Microchip WCM
(by Microchip)
Ti Launchpad
(By Ti)
Prototype Thing
Thing Shadow
State Sync
MQTT Topics
Pub/Sub
Messaging
Production Thing
Thing Shadow
State Sync
MQTT Topics
Pub/Sub
Messaging
Creating device keys & certificates
AWS IoT security: authentication and authorization
AUTHENTICATION
Secure with mutual
authentication and encryption
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
Securing and identifying Things
- Secure Bi-Directional Pipe
- Anonymous
- Secure Bi-Directional Pipe
- Anonymous
Securing and Identifying Things: Mutual Auth TLS
- Secure Bi-Directional Pipe
- Anonymous
- Secure Bi-Directional Pipe
- Mutual Proof of Identity
AWS IoT security
Demo: AWS IoT Console
Creating certificates & keys
Key & certificate creation with the AWS CLI
Getting keys & certificates onto
your devices
Getting keys & certificates onto your devices
• Simple at the device prototyping stage
• Copy or flash them (& the CA cert) onto your device
• More complex in volume manufacturing
• Still copying or flashing keys & certs, but the numbers
increase
• Use AWS SDKs/CLI to automate key & certificate creation.
Provide keys & certificates to your device manufacturing
partners
Register on first use
https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/
Just-in-Time Registration of Device Certificates
Register your
CA Cert with
AWS IoT
Sign device certs
with your CA cert
$aws/events/certificates/	
registered/<caCertificateID>
{	
		"certificateId":	"<certificateID>",	
		"caCertificateId":	"<caCertificateId>",	
		"timestamp":	"<timestamp>",	
		"certificateStatus":	"PENDING_ACTIVATION",	
		"awsAccountId":	“<awsAccountId>",	
}
AWS IoT
MQTT Endpoint
New certificate state set to
PENDING_ACTIVATION
AWS IoT Rule invokes
AWS Lambda function
AWS Lambda function
activates certificate &
attaches policy
New certificate state set to
ACTIVE
Attaching policies to certificates
Attaching policies to devices
AWS IoT policies are JSON documents. They follow the
same conventions as IAM policies.
{	
				"Version":	"2012-10-17",	
				"Statement":	[{	
								"Effect":	"Allow",	
								"Action":["iot:Publish"],	
								"Resource":	["arn:aws:iot:us-east-1:123456789012:topic/foo/bar"]	
				},	
				{	
								"Effect":	"Allow",	
								"Action":	["iot:Connect"],	
								"Resource":	["*"]	
								}]	
}
http://docs.aws.amazon.com/iot/latest/developerguide/authorization.html
Policy Actions
iot:Publish	
iot:Subscribe	
iot:Recieve	
iot:Connect	
iot:UpdateThingShadow	
iot:GetThingShadow	
iot:DeleteThingShadow
Attaching policies to certificates (devices)
$	aws	iot	create-policy	--policy-name	<value>		
--policy-document	<JSON	policy	document>	
$	aws	iot	attach-principle-policy		
--policy-name	<value>		
--principal	<certificate	ARN>
The AWS IoT Thing Registry
AWS IoT Registry
THING REGISTRY
Identity and Management of
your things
REGISTRY
Identity and Management of
your things
AWS IoT Registry
• Static attributes associated to Thing
• Firmware version
• Serial Numbers
• Device Type
• Device Group
• Device Description
• Sensor description
• Support and Maintenance
• Reference Manual URL
• Part # reference
• Reference to external support system
AWS IoT Registry: Create & List Things
http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html
$	aws	iot	create-thing	--thing-name	"MyLightBulb"	--attribute-payload	"{"attributes":	{"wattage":"75",	”model":"123"}}"	
{	
				"thingArn":	"arn:aws:iot:eu-west-1:554625704737:thing/MyLightBulb",	
				"thingName":	"MyLightBulb"	
}	
$	aws	iot	list-things	
{	
				"things":	[	
							{	
												"attributes":	{	
																"model":	"123",		
																"wattage":	"75"	
												},		
												"version":	1,		
												"thingName":	"MyLightBulb"	
								}	
				]	
}
AWS IoT Registry: Search for Things
http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html
$		aws	iot	list-things	--attribute-name	"wattage"	--attribute-value	“75"	
{	
				"things":	[	
								{	
												"thingTypeName":	"StopLight",		
												"attributes":	{	
																"model":	"123",		
																"wattage":	"75"	
												},		
												"version":	3,		
												"thingName":	"MyLightBulb"	
								},		
								{	
												"thingTypeName":	"LightBulb",		
												"attributes":	{	
																"model":	"123",		
																"wattage":	"75"	
												},		
												"version":	1,		
												"thingName":	"MyRGBLight"	
								}	
				]	
}
AWS IoT Registry: Thing Types
http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html
Thing types allow you to store description and configuration
information that is common to all things associated with the
same thing type.
For example, you can define a LightBulb thing type. All
things associated with the LightBulb thing type share a set
of attributes.
aws	iot	create-thing-type	--thing-type-name	"LightBulb"		
--thing-type-properties	"thingTypeDescription=light	bulb	type,	searchableAttributes=wattage,model"
Communicating with Things
AWS IoT Message Broker
DEVICE GATEWAY
Communicate with devices via
MQTT and HTTP
AWS IoT Message Broker
MQTT
MQTT 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
AWS IoT Message Broker : managed service
Highly Scalable
Device Gateway
Millions of devices
sending billions of
messages
Subscribers
Publishers
AWS IoT Rules Engine
RULES ENGINE
Transform messages
based on rules and route
to AWS Services
AWS IoT Rules Engine
Simple & familiar syntax
- SQL Statement to define topic filter
- Optional WHERE clause
- Advanced JSON support
Functions improve signal : noise
- String manipulation (regex support)
- Mathematical operations
- Context-based helper functions
- Crypto support
- UUID, Timestamp, rand, etc.
AWS IoT Rules Engine basics
SELECT * FROM ‘things/thing-2/color’
WHERE color = ‘red’
AWS IoT Rules Engine’s flexibility
SELECT *, clientId() as MQTTClientId
FROM 'one/rule'
WHERE
startsWith(topic(2), 'IME33') AND
(state = 'INIT' OR hydro_temp >
surface_temp)",
"actions":
[{
"republish": {
"topic": "controllers/
${substring(topic(3), 3, 5)}",
}]
http://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-functions.html
AWS IoT Rules Engine
Complex Evaluations
Respond to the fleet, not just a single unit. Dozens of functions() available.
Multiple / Simultaneous Actions
Sometimes a situation requires you to take many actions.
AWS IoT Rules Engine actions
RULES ENGINE
Transform messages
based on rules and route
to AWS Services
AWS Services
- - - - -
3P Services
AWS Services
- - - - -
3P Services
1. AWS Services

(Direct Integration)
Rules Engine
Actions
AWS IoT Rules Engine
LambdaSNS SQS
S3 Amazon KinesisDDB RDS
Amazon

Redshift
Amazon Glacier
EC2
3. External Endpoints

(via Lambda and SNS)
Rules Engine connects AWS
IoT to External Endpoints and
AWS Services.
2. Rest of AWS

(via Amazon Kinesis,
Lambda, S3, and more)
AWS IoT Rules Engine Actions
Rules Engine evaluates inbound
messages published into AWS IoT,
and transforms and delivers to the
appropriate endpoint based on
business rules.
External endpoints can be reached
via Lambda and Simple Notification
Service (SNS).
Invoke a Lambda function
Put object in an S3 bucket
Insert, Update, Read from a
DynamoDB table
Publish to an SNS Topic 

or Endpoint
Publish to an Amazon Kinesis
stream
Actions
Amazon Kinesis Firehose
Republish to AWS IoT
Store & retrieve device state
with the Device Shadow
AWS IoT Thing Shadow
THING SHADOW
Persistent thing state during
intermittent connections
SHADOW
Persistent thing state during
intermittent connections
APPLICATIONS
AWS IoT Device Shadows
AWS IoT Thing Shadow
Shadow
AWS IoT Shadow Flow
Shadow
Device SDK
1. Device Publishes Current State
2. Persist JSON Data Store
3. App requests device’s current state
4. App requests change the state
5. Device Shadow syncs
updated state
6. Device Publishes Current State
7. Device Shadow confirms state change
AWS IoT
AWS IoT Device Shadow - Simple Yet Powerful
{
"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 shadows
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
AWS IoT Device Shadow Topics (MQTT)
Thing SDK makes it easy for you to
build shadow functionality into your
device so it can automatically
synchronize the state with the device.
AWS IoT Thing Shadow
UPDATE: $aws/things/{thingName}/shadow/update
DELTA: $aws/things/{thingName}/shadow/update/delta
GET: $aws/things/{thingName}/shadow/get
DELETE: $aws/things/{thingName}/shadow/delete
Sensor Reported Desired Delta
LED1 RED YELLOW
LED1 = Yellow
TEMP = 60FACCEL X=1,Y=5,Z=4 X=1,Y=5,Z=4
TEMP 83F 60F
Updating device firmware
AWS IoT – Device Management
S3 Holds Versioned Firmware Distributions
Organize and secure your firmware binaries in S3
Message Broker notifies groups of the fleet using Topic Patterns
Alert the fleet (or part of it) of the update, and send the URL to the S3 download
Firmware Update
Stored in S3
Event Hook -> Lambda
Publish to groups of devices
• Ability to update global
or within a Region
• Rules Engine keeps
state of updates and
tracks progress in a
DynamoDB Table
• Store Version in Registry
Entry
Replacing/Retiring devices
Replacing/Retiring devices
Revoking Device Certificates
Then it’s just a matter of creating & deploying a new device
& attaching the same policy to the new device’s certificate
$	aws	iot	update-certificate	--certificate-id	<certificateId>	--new-status	REVOKED
aws.amazon.com/iot/
Thank you!
Ian Massingham,
Chief Evangelist (EMEA),
Amazon Web Services
@IanMmmm
Questions?

More Related Content

What's hot

롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017
롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017
롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

What's hot (20)

Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWS
 
AWS Cloud trail
AWS Cloud trailAWS Cloud trail
AWS Cloud trail
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
 
BDA311 Introduction to AWS Glue
BDA311 Introduction to AWS GlueBDA311 Introduction to AWS Glue
BDA311 Introduction to AWS Glue
 
AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
AWS Lambda and Serverless Cloud
AWS Lambda and Serverless CloudAWS Lambda and Serverless Cloud
AWS Lambda and Serverless Cloud
 
AWS AutoScaling
AWS AutoScalingAWS AutoScaling
AWS AutoScaling
 
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 
Fundamentals of AWS Security
Fundamentals of AWS SecurityFundamentals of AWS Security
Fundamentals of AWS Security
 
Introduction to AWS Cost Management
Introduction to AWS Cost ManagementIntroduction to AWS Cost Management
Introduction to AWS Cost Management
 
AWS Lambda Features and Uses
AWS Lambda Features and UsesAWS Lambda Features and Uses
AWS Lambda Features and Uses
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
AWS CloudFormation Masterclass
AWS CloudFormation MasterclassAWS CloudFormation Masterclass
AWS CloudFormation Masterclass
 
Implementing your landing zone - FND210 - AWS re:Inforce 2019
Implementing your landing zone - FND210 - AWS re:Inforce 2019 Implementing your landing zone - FND210 - AWS re:Inforce 2019
Implementing your landing zone - FND210 - AWS re:Inforce 2019
 
AWS glue technical enablement training
AWS glue technical enablement trainingAWS glue technical enablement training
AWS glue technical enablement training
 
AWS Builders Online Series | AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저
AWS Builders Online Series | AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저AWS Builders Online Series | AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저
AWS Builders Online Series | AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저
 
AWS VPC Fundamental
AWS VPC FundamentalAWS VPC Fundamental
AWS VPC Fundamental
 
롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017
롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017
롯데닷컴의 AWS 클라우드 활용 사례 - AWS Summit Seoul 2017
 
Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )Auto scaling using Amazon Web Services ( AWS )
Auto scaling using Amazon Web Services ( AWS )
 

Viewers also liked

Viewers also liked (20)

Storage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon GlacierStorage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon Glacier
 
(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
 
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
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
 
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
 
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
 
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
 
AWS re:Invent 2016: Delighting Customers Through Device Data with Salesforce ...
AWS re:Invent 2016: Delighting Customers Through Device Data with Salesforce ...AWS re:Invent 2016: Delighting Customers Through Device Data with Salesforce ...
AWS re:Invent 2016: Delighting Customers Through Device Data with Salesforce ...
 
Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301Developing Connected Applications with AWS IoT - Technical 301
Developing Connected Applications with AWS IoT - Technical 301
 
Hands-on with AWS IoT (November 2016)
Hands-on with AWS IoT (November 2016)Hands-on with AWS IoT (November 2016)
Hands-on with AWS IoT (November 2016)
 
AWS IoT introduction
AWS IoT introductionAWS IoT introduction
AWS IoT introduction
 
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
AWS re:Invent 2016: Introduction to AWS IoT in the Cloud (IOT204)
 
AWS re:Invent 2016: IoT Security: The New Frontiers (IOT302)
AWS re:Invent 2016: IoT Security: The New Frontiers (IOT302)AWS re:Invent 2016: IoT Security: The New Frontiers (IOT302)
AWS re:Invent 2016: IoT Security: The New Frontiers (IOT302)
 
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
AWS re:Invent 2016: 1-Click Enterprise Innovation with the AWS IoT Button (IO...
 
Getting Started with AWS IoT, Devices & SDKs
Getting Started with AWS IoT, Devices & SDKsGetting Started with AWS IoT, Devices & SDKs
Getting Started with AWS IoT, Devices & SDKs
 
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...
 
AWS for IoT
AWS for IoTAWS for IoT
AWS for IoT
 
(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
 
(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
 

Similar to The Lifecycle of an AWS IoT Thing

AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
Amazon Web Services Korea
 

Similar to The Lifecycle of an AWS IoT Thing (20)

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 ...
 
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
 
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
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
 
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
 
AWS物聯網基礎架構及連線概覽
AWS物聯網基礎架構及連線概覽AWS物聯網基礎架構及連線概覽
AWS物聯網基礎架構及連線概覽
 
Connecting to AWS IoT
Connecting to AWS IoTConnecting to AWS IoT
Connecting to AWS IoT
 
Internet of Things on AWS
Internet of Things on AWSInternet of Things on AWS
Internet of Things on AWS
 
Reply Webinar Online - Mastering AWS - IoT Advanced
Reply Webinar Online - Mastering AWS - IoT AdvancedReply Webinar Online - Mastering AWS - IoT Advanced
Reply Webinar Online - Mastering AWS - IoT Advanced
 
AWS IoT Webinar
AWS IoT WebinarAWS IoT Webinar
AWS IoT Webinar
 
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
 
Developing Connected Applications with Amazon Web Services IoT
Developing Connected Applications with Amazon Web Services IoTDeveloping Connected Applications with Amazon Web Services IoT
Developing Connected Applications with Amazon Web Services IoT
 
Leeds IoT Meetup - Nov 2017
Leeds IoT Meetup - Nov 2017Leeds IoT Meetup - Nov 2017
Leeds IoT Meetup - Nov 2017
 
Web + AWS + IoT, how to
Web + AWS + IoT, how to Web + AWS + IoT, how to
Web + AWS + IoT, how to
 
Getting started with AWS IoT on Raspberry Pi
Getting started with AWS IoT on Raspberry PiGetting started with AWS IoT on Raspberry Pi
Getting started with AWS IoT on Raspberry Pi
 
Architecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureArchitecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft Azure
 
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법  (김무현 솔루션즈 아키텍트)
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT Framework
 
IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...
IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...
IoT at Scale: Monitor and Manage Devices with AWS IoT Device Management (IOT3...
 
사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집
사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집
사물 인터넷을 위한 AWS FreeRTOS 소개 - 트랙1, Community Day 2018 re:Invent 특집
 

More from 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
 

More from 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
 

Recently uploaded

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
 
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
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
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...
 
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
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
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 use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
"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 ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
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...
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

The Lifecycle of an AWS IoT Thing

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ian Massingham, Chief Evangelist (EMEA), Amazon Web Services @IanMmmm 27 October 2016 The Life of an AWS IoT Thing
  • 2. Topics for this session Getting Started: What is AWS IoT Device prototyping Creating device keys & certificates Register certificates on first use Attaching policies to certificates The AWS IoT Thing Registry Communicating with Things Store & retrieve device state with the Device Shadow
  • 3. Getting started: What is AWS IoT?
  • 4. AWS: hyperscale infrastructure for connected devices Amazon SNS 
 Mobile Push 
 and Notifications AWS Lambda Run Code in Response to Events Amazon DynamoDB Predictable and Scalable NoSQL Data Store Amazon Kinesis Streaming Analytics Amazon Redshift Petabyte-Scale 
 Data Warehouse …and more Amazon API Gateway Build, Deploy, and Manage APIs Amazon Cognito User Identity and Data Synchronization
  • 5. IoT isn’t new to AWS with previous customer success Amazon SNS 
 Mobile Push 
 and Notifications Amazon DynamoDB Predictable and Scalable NoSQL Data Store AWS Lambda Run Code in Response to Events Amazon Redshift Petabyte-Scale 
 Data Warehouse …and more Amazon API Gateway Build, Deploy, & Manage APIs Amazon Kinesis Streaming Analytics Amazon Cognito User Identity and Data Synchronization
  • 6. AWS IoT: simplify & accelerate IoT development Amazon SNS 
 Mobile Push 
 and Notifications Amazon DynamoDB Predictable and Scalable NoSQL Data Store AWS Lambda Run Code in Response to Events Amazon Redshift Petabyte-Scale 
 Data Warehouse …and more Amazon API Gateway Build, Deploy, & Manage APIs Amazon Kinesis Streaming Analytics Amazon Cognito User Identity and Data Synchronization AWS IoT Connect Devices to the Cloud
  • 7. AWS IoT “Securely connect one or one billion devices to AWS, 
 so they can interact with applications and other devices”
  • 8. AWS IoT Message Broker AWS-grade security Rules engine Device Shadows Device Registry Managed Platform Seamless integration with all of AWS
  • 11. Get Started with the AWS IoT Device SDK C SDK (Ideal for embedded OS) JavaScript SDK (Ideal for Embedded Linux Platforms) Arduino Library (Arduino Yun) Mobile SDK (Android and iOS) Python SDK Java SDK https://aws.amazon.com/blogs/iot/introducing-aws-iot-device-sdks-for-java-and-python/
  • 12. Prototyping with the Raspberry Pi • Raspberry Pi hardware
 • Electronics Starter Kits • One examples is the SunFounder 37 modules Sensor Kit v2.0 for Raspberry Pi 3, 2, Model B+ with 40-Pin GPIO Extension Board & Jump Wires • Example tutorial • Raspberry Pi Sense Hat (optional fun) • https://www.raspberrypi.org/products/sense-hat/
  • 13. Setting up the Raspberry Pi GPIO & Sense Hat Your own electronics/sensor build C (for embedded C) http://wiringpi.com Python Wrapper Module for WiringPI https://github.com/WiringPi/WiringPi-Python For the Sense Hat Python Module https://github.com/RPi-Distro/python-sense-hat
  • 14. Official IoT Starter Kits, Powered by AWS Dragonboard 410c (by Arrow) Beaglebone Green (by Seeed Studio) Seeeduino Cloud (by Seeed Studio) Intel Edison (by Seeed Studio) MediaTek LinkIt One (by Seeed Studio) Broadcom BCM4343W (by Avnet) Marvell EasyConnect (By Marvell) Renesas RX63N (by Micrium) Microchip WCM (by Microchip) Ti Launchpad (By Ti)
  • 15. Prototype Thing Thing Shadow State Sync MQTT Topics Pub/Sub Messaging
  • 16. Production Thing Thing Shadow State Sync MQTT Topics Pub/Sub Messaging
  • 17. Creating device keys & certificates
  • 18. AWS IoT security: authentication and authorization AUTHENTICATION Secure with mutual authentication and encryption AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption
  • 19. Securing and identifying Things - Secure Bi-Directional Pipe - Anonymous - Secure Bi-Directional Pipe - Anonymous
  • 20. Securing and Identifying Things: Mutual Auth TLS - Secure Bi-Directional Pipe - Anonymous - Secure Bi-Directional Pipe - Mutual Proof of Identity
  • 22. Demo: AWS IoT Console Creating certificates & keys
  • 23. Key & certificate creation with the AWS CLI
  • 24. Getting keys & certificates onto your devices
  • 25. Getting keys & certificates onto your devices • Simple at the device prototyping stage • Copy or flash them (& the CA cert) onto your device • More complex in volume manufacturing • Still copying or flashing keys & certs, but the numbers increase • Use AWS SDKs/CLI to automate key & certificate creation. Provide keys & certificates to your device manufacturing partners
  • 27. https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/ Just-in-Time Registration of Device Certificates Register your CA Cert with AWS IoT Sign device certs with your CA cert $aws/events/certificates/ registered/<caCertificateID> { "certificateId": "<certificateID>", "caCertificateId": "<caCertificateId>", "timestamp": "<timestamp>", "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": “<awsAccountId>", } AWS IoT MQTT Endpoint New certificate state set to PENDING_ACTIVATION AWS IoT Rule invokes AWS Lambda function AWS Lambda function activates certificate & attaches policy New certificate state set to ACTIVE
  • 28. Attaching policies to certificates
  • 29. Attaching policies to devices AWS IoT policies are JSON documents. They follow the same conventions as IAM policies. { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action":["iot:Publish"], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/foo/bar"] }, { "Effect": "Allow", "Action": ["iot:Connect"], "Resource": ["*"] }] } http://docs.aws.amazon.com/iot/latest/developerguide/authorization.html Policy Actions iot:Publish iot:Subscribe iot:Recieve iot:Connect iot:UpdateThingShadow iot:GetThingShadow iot:DeleteThingShadow
  • 30. Attaching policies to certificates (devices) $ aws iot create-policy --policy-name <value> --policy-document <JSON policy document> $ aws iot attach-principle-policy --policy-name <value> --principal <certificate ARN>
  • 31. The AWS IoT Thing Registry
  • 32. AWS IoT Registry THING REGISTRY Identity and Management of your things REGISTRY Identity and Management of your things
  • 33. AWS IoT Registry • Static attributes associated to Thing • Firmware version • Serial Numbers • Device Type • Device Group • Device Description • Sensor description • Support and Maintenance • Reference Manual URL • Part # reference • Reference to external support system
  • 34. AWS IoT Registry: Create & List Things http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html $ aws iot create-thing --thing-name "MyLightBulb" --attribute-payload "{"attributes": {"wattage":"75", ”model":"123"}}" { "thingArn": "arn:aws:iot:eu-west-1:554625704737:thing/MyLightBulb", "thingName": "MyLightBulb" } $ aws iot list-things { "things": [ { "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MyLightBulb" } ] }
  • 35. AWS IoT Registry: Search for Things http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html $ aws iot list-things --attribute-name "wattage" --attribute-value “75" { "things": [ { "thingTypeName": "StopLight", "attributes": { "model": "123", "wattage": "75" }, "version": 3, "thingName": "MyLightBulb" }, { "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1, "thingName": "MyRGBLight" } ] }
  • 36. AWS IoT Registry: Thing Types http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html Thing types allow you to store description and configuration information that is common to all things associated with the same thing type. For example, you can define a LightBulb thing type. All things associated with the LightBulb thing type share a set of attributes. aws iot create-thing-type --thing-type-name "LightBulb" --thing-type-properties "thingTypeDescription=light bulb type, searchableAttributes=wattage,model"
  • 38. AWS IoT Message Broker DEVICE GATEWAY Communicate with devices via MQTT and HTTP
  • 39. AWS IoT Message Broker
  • 40. MQTT MQTT 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
  • 41. AWS IoT Message Broker : managed service Highly Scalable Device Gateway Millions of devices sending billions of messages Subscribers Publishers
  • 42. AWS IoT Rules Engine RULES ENGINE Transform messages based on rules and route to AWS Services
  • 43. AWS IoT Rules Engine
  • 44. Simple & familiar syntax - SQL Statement to define topic filter - Optional WHERE clause - Advanced JSON support Functions improve signal : noise - String manipulation (regex support) - Mathematical operations - Context-based helper functions - Crypto support - UUID, Timestamp, rand, etc. AWS IoT Rules Engine basics SELECT * FROM ‘things/thing-2/color’ WHERE color = ‘red’
  • 45. AWS IoT Rules Engine’s flexibility SELECT *, clientId() as MQTTClientId FROM 'one/rule' WHERE startsWith(topic(2), 'IME33') AND (state = 'INIT' OR hydro_temp > surface_temp)", "actions": [{ "republish": { "topic": "controllers/ ${substring(topic(3), 3, 5)}", }] http://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-functions.html
  • 46. AWS IoT Rules Engine Complex Evaluations Respond to the fleet, not just a single unit. Dozens of functions() available. Multiple / Simultaneous Actions Sometimes a situation requires you to take many actions.
  • 47. AWS IoT Rules Engine actions RULES ENGINE Transform messages based on rules and route to AWS Services AWS Services - - - - - 3P Services AWS Services - - - - - 3P Services
  • 48. 1. AWS Services
 (Direct Integration) Rules Engine Actions AWS IoT Rules Engine LambdaSNS SQS S3 Amazon KinesisDDB RDS Amazon Redshift Amazon Glacier EC2 3. External Endpoints
 (via Lambda and SNS) Rules Engine connects AWS IoT to External Endpoints and AWS Services. 2. Rest of AWS
 (via Amazon Kinesis, Lambda, S3, and more)
  • 49. AWS IoT Rules Engine Actions Rules Engine evaluates inbound messages published into AWS IoT, and transforms and delivers to the appropriate endpoint based on business rules. External endpoints can be reached via Lambda and Simple Notification Service (SNS). Invoke a Lambda function Put object in an S3 bucket Insert, Update, Read from a DynamoDB table Publish to an SNS Topic 
 or Endpoint Publish to an Amazon Kinesis stream Actions Amazon Kinesis Firehose Republish to AWS IoT
  • 50. Store & retrieve device state with the Device Shadow
  • 51. AWS IoT Thing Shadow THING SHADOW Persistent thing state during intermittent connections SHADOW Persistent thing state during intermittent connections APPLICATIONS
  • 52. AWS IoT Device Shadows
  • 53. AWS IoT Thing Shadow Shadow
  • 54. AWS IoT Shadow Flow Shadow Device SDK 1. Device Publishes Current State 2. Persist JSON Data Store 3. App requests device’s current state 4. App requests change the state 5. Device Shadow syncs updated state 6. Device Publishes Current State 7. Device Shadow confirms state change AWS IoT
  • 55. AWS IoT Device Shadow - Simple Yet Powerful { "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 shadows 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
  • 56. AWS IoT Device Shadow Topics (MQTT) Thing SDK makes it easy for you to build shadow functionality into your device so it can automatically synchronize the state with the device. AWS IoT Thing Shadow UPDATE: $aws/things/{thingName}/shadow/update DELTA: $aws/things/{thingName}/shadow/update/delta GET: $aws/things/{thingName}/shadow/get DELETE: $aws/things/{thingName}/shadow/delete Sensor Reported Desired Delta LED1 RED YELLOW LED1 = Yellow TEMP = 60FACCEL X=1,Y=5,Z=4 X=1,Y=5,Z=4 TEMP 83F 60F
  • 58. AWS IoT – Device Management S3 Holds Versioned Firmware Distributions Organize and secure your firmware binaries in S3 Message Broker notifies groups of the fleet using Topic Patterns Alert the fleet (or part of it) of the update, and send the URL to the S3 download Firmware Update Stored in S3 Event Hook -> Lambda Publish to groups of devices • Ability to update global or within a Region • Rules Engine keeps state of updates and tracks progress in a DynamoDB Table • Store Version in Registry Entry
  • 60. Replacing/Retiring devices Revoking Device Certificates Then it’s just a matter of creating & deploying a new device & attaching the same policy to the new device’s certificate $ aws iot update-certificate --certificate-id <certificateId> --new-status REVOKED
  • 62. Thank you! Ian Massingham, Chief Evangelist (EMEA), Amazon Web Services @IanMmmm