getting started with aws iot and the dragon iot starter kit - aws may 2016 webinar series
Post on 08-Jan-2017
1.131 Views
Preview:
TRANSCRIPT
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
John Rotach
May 25, 2016
AWS IoTGetting Started
Today’s Webinar
Overview of AWS IoTBuild a Working DemoVideo
AWS IoT
DEVICE SDKSet of client libraries to
connect, authenticate and exchange messages
DEVICE GATEWAYCommunicate with devices
via MQTT and HTTP
AUTHENTICATIONAUTHORIZATION
Secure with mutual authentication and
encryption
RULES ENGINETransform messages based on rules and
route to AWS Services
AWS Services- - - - -
3P Services
DEVICE SHADOWPersistent thing state
during intermittent connections
APPLICATIONS
AWS IoT API
DEVICE REGISTRYIdentity and Management of
your things
Security and Identity
AUTHENTICATIONSecure with mutual authentication and
encryption
Security and Identity
TLS Mutual AuthenticationFine-Grained Permissions through PoliciesStandard Web Security
Device Gateway
Device Gateway
Standard protocols – MQTT / HTTPAWS front-end for devicesScalable, long-lived connectionsSecure by default – X509 certs, TLS 1.2, WebSockets
Topic Based Architecturebuilding3/chillers/unit5building3/pickers/unit9building1/chillers/unit1
Device Registry
THING REGISTRYIdentity and Management of
your things
Device Registry$ aws --region us-east-1 iot describe-thing --thing-name pump1{ "attributes": { "MN": "AB776", "install_date": "12-23-2011", "SN": "225458854" }, "thingName": "pump1", "defaultClientId": "pump1"}
Device Shadows
THING SHADOWPersistent thing state
during intermittent connections
Device Shadows
{
"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 shadowRetrieve 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
Device Shadows{
"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
}
Device Shadows{
"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”
Device Shadows{
"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”
Device Shadows{
"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”
Device Shadows{
"state" : {
“desired" : {
"engine" : "ON”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"reported" : {
"engine" : ”ON”,
“tires”: {
“LF”:40,
“RF”:38,
“LR”:37,
“RR”:39
},
“CCD”: {
“A”:0,
“B”:8,
“C”:7,
“D”:9
}
},
"version" : 10
}
"engine" : "ON”
Rules Engine
RULES ENGINETransform messages based on rules and
route to AWS Services
Rules Engine
building1/chillers/xx881building1/fans/aj982building3/chillers/ks434building1/radiators/ss243building2/chillers/fe324
"sql": "SELECT * FROM 'building1/#'""actions": [{ "dynamoDB":….
Rules Engine
building1/chillers/xx881building1/fans/aj982building3/chillers/ks434building1/radiators/ss243building2/chillers/fe324
"sql": "SELECT * FROM '+/chillers/+' WHERE coolant < 20""actions": [{"lambda":{"functionArn":... {"sns":{"topicArn":...
Rules Engine
Integrations
DynamoDB Kinesis Lambda S3 Elasticsearch* CloudWatch* (alarms + metrics) SNS Firehose SQS Republish
Transformations
round ceiling/floor trig – sin/cos/tan MD5 concatenation replace client ID topic tokens
Device SDKs
C-SDKRTOS, μControllers
JS-SDK Embedded Linux Platforms
Arduino YúnArduino
Mobile SDKsAndroid and iOS
Starter Kits
Demo Hardware
http://amzn.to/1RHEZGW
Arrow / QualcommDragonBoard 410c
http://amzn.to/1ZM5yu2
Seeed StudioBeagleBone Green
http://amzn.to/1Sdt8PM
IntelEdison
Demo Hardware
•Qualcomm® Snapdragon 410 processor, a Quad-core ARM® Cortex A53•WLAN 802.11b/g/n 2.4GHz, Bluetooth 4.1, On-board GPS•1GB LPDDR3 533MHz•Supports Android 5.1, Ubuntu Linux, Windows 10
Building an IoT Use Case
Use Case – Pool Pump
Actual customer story Control a device Intermittent connectivity Notification when synced
Use Case – Architecture Overview
AWS IoT
DeviceShadow
Rule SNS
Application (Console)
Device
Use Case – Pool Pump
Live walkthrough of building out this use case.
Video of Demo on Hardware
Questions After the Webinar?
General Pagehttp://aws.amazon.com/iot/
Developer Guidehttp://docs.aws.amazon.com/iot/latest/developerguide
AWS IoT Forumhttps://forums.aws.amazon.com/forum.jspa?forumID=210
Thank you!
top related