Professional Documents
Culture Documents
REPEAT 1 Best Practices For IoT Architecture Using AWS Smart Product Solution ARC339-R1
REPEAT 1 Best Practices For IoT Architecture Using AWS Smart Product Solution ARC339-R1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
Why and what is a smart product?
Demo UI
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Manufacturing industry trends
Smart
Factory
product
PRODUCT LOYALTY
UPTIME CUSTOMER SATISFACTION
Manufacturing
flywheel
R&D
NPS
New product
introduction
LOWER CHANGEOVER
CHANGEOVER
Smart Product Use Cases
Customer Engagement
Remote Control &
Analytics & ML
Usage & Fleet Analytics Management
OEM Ecosystem
As a Service
AR/VR Telemetry
New Business Models
Zero Downtime Smart Product
Quality
Predictive Maintenance Security
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Smart product solution
The smart product solution is a deployable reference architecture
demonstrating the “art of the possible” and enabling manufacturers to
jump-start development of innovative smart product services
• Default devices: HVAC (heating, ventilation, and air conditioning)
Command status
Amazon SNS Amazon S3 Device
AWS IoT Amazon CloudFront
bucket users
Device Defender
Device command
API service
Event message Smart product data
AWS IoT Core
proxy
HVAC devices
Amazon API Amazon Cognito
with AWS IoT
Just-in-time Gateway
Greengrass core
registration AWS Lambda Amazon DynamoDB
or IoT device SDK
Notification service
AWS Lambda
AWS Lambda Amazon SNS AWS Lambda
Device registration process
{
"templateBody" : "... ”,
IoT rule Create rule and Attach provisioning "roleArn" : ”... ”
Lambda function template and role to CA }
Register certificate
Send MQTT event
(Status = PENDING_ACTIVATE)
AWS Lambda
Device command
API service
Smart product data
AWS IoT Core
HVAC devices
Amazon API Amazon Cognito
with AWS IoT
Just-in-time Gateway
Greengrass core
registration AWS Lambda Amazon DynamoDB
or IoT device SDK
AWS Lambda
AWS Lambda Amazon SNS AWS Lambda
Just-in-time registration workflow
$aws/events/certificates/registered/#
1. Creates policy
2. Attaches policy to certificate
3. Attaches certificate to thing
Smart product solution IoT policy
Action Resource
iot:Connect • arn:aws:iot:${region}:${accountId}:client/${iotThingName}
iot:GetThingShadow • arn:aws:iot:${region}:${accountId}:thing/${iotThingName}
iot:UpdateThingShadow • arn:aws:iot:${region}:${accountId}:thing/${iotThingName}
• arn:aws:iot:${region}:${accountId}:topic/${telemetryTopic}/${iotThingName}
• arn:aws:iot:${region}:${accountId}:topic/${eventTopic}/${iotThingName}
iot:Publish
• arn:aws:iot:${region}:${accountId}:topic/${commandTopic}/${iotThingName}
• arn:aws:iot:${region}:${accountId}:topic/$aws/things/${iotThingName}/shadow/*
• arn:aws:iot:${region}:${accountId}:topicfilter/$aws/things/${iotThingName}/shadow/*
iot:Subscribe
• arn:aws:iot:${region}:${accountId}:topicfilter/${commandTopic}/${iotThingName}
• arn:aws:iot:${region}:${accountId}:topic/$aws/things/${iotThingName}/shadow/*
iot:Receive
• arn:aws:iot:${region}:${accountId}:topic/${commandTopic}/${iotThingName}
How to search registered devices
• Use AWS IoT Device Management fleet indexing to find devices easily.
AWS IoT
Device
Management
Event message proxy
Owner web console
Amazon S3 Device
bucket Amazon CloudFront users
AWS Amplify
API service
Event message Smart product data
AWS IoT Core
proxy
HVAC devices
Amazon API Amazon Cognito
with AWS IoT
Gateway
Greengrass core
AWS Lambda Amazon DynamoDB
or IoT device SDK
Notification service
smartproduct/event/#
Heavy Workload
HVAC devices
with AWS IoT
Greengrass core
or IoT device SDK
Possible services to analyze IoT telemetry data
• Designed specifically for IoT • General-purpose tool • Build your own data
• Storage of time-series data designed to easily process analytics solution
streaming data • One message, one object
• Device-specific data
enrichment • Real-time processing • Integration with other AWS
• Queries on large datasets analytics services including
Amazon Athena
• Predictive fleet maintenance
Telemetry analytics workflow
Convert temperature
and time
IoT device certificate
smartproduct/telemetry/#
Telemetry Lambda
IoT rule function
Pipeline Lambda function activity
"timestamp": 1570054142005 }
}
Amazon QuickSight integration
Device command
Owner web console
Command status
Amazon S3 Device
bucket Amazon CloudFront users
AWS Lambda
AWS Amplify
Device command
API service
Smart product data
AWS IoT Core
HVAC devices
Amazon API Amazon Cognito
with AWS IoT
Gateway
Greengrass core
Amazon DynamoDB
or IoT device SDK
AWS Lambda
Device command workflow
smartproduct/command/#
Update command Command table
IoT rule Command status
Lambda function
Two different ways to handle remote commands
{ {
"desired": { "commandId": "uuid-of-command",
"targetTemperature": "68" "deviceId": "device-unique-id",
}, "status": "pending",
"reported": { "details": {
"targetTemperature": "70" "targetTemperature": "70"
}, }
"delta": { }
"targetTemperature": "68"
}
}
AWS IoT Device Defender
AWS IoT
Device Defender
CA certificate revoked but device certificates still active Critical CA certificate True
AWS CodeCommit AWS CodePipeline AWS CodeBuild AWS Cloud AWS CloudFormation
Development Kit
Smart Product Solution has its own CI/CD pipeline, so when code
change happens, CI/CD pipeline automatically builds the source code
and deploy again.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Resources
Visit aws.amazon.com/training/path-architecting/
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
Beomseok Lee Steve Blackwell
beomseok@amazon.com stevbla@amazon.com
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.