31
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. John Rotach January 26, 2016 AWS IoT Getting Started

AWS January 2016 Webinar Series - Getting Started with AWS IoT

Embed Size (px)

Citation preview

Page 1: AWS January 2016 Webinar Series - Getting Started with AWS IoT

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

John Rotach

January 26, 2016

AWS IoTGetting Started

Page 2: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Today’s Webinar

Overview of AWS IoTBuild a Working DemoVideo

Page 3: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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

Page 4: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Security and Identity

AUTHENTICATIONSecure with mutual authentication and

encryption

Page 5: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Security and Identity

TLS Mutual AuthenticationFine-Grained Permissions through PoliciesStandard Web Security

Page 6: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Device Gateway

Page 7: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Device Gateway

Standard protocols – MQTT / HTTPAWS front-end for devicesScalable, long-lived connectionsSecure by default – X509 certs, TLS 1.2

Topic Based Architecturebuilding3/chillers/unit5building3/pickers/unit9building1/chillers/unit1

Page 8: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Device Registry

THING REGISTRYIdentity and Management of

your things

Page 9: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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

Page 10: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Device Shadows

THING SHADOWPersistent thing state

during intermittent connections

Page 11: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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

Page 12: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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

}

Page 13: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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”

Page 14: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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”

Page 15: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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”

Page 16: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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”

Page 17: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Rules Engine

RULES ENGINETransform messages based on rules and

route to AWS Services

Page 18: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Rules Engine

building1/chillers/xx881building1/fans/aj982building3/chillers/ks434building1/radiators/ss243building2/chillers/fe324

"sql": "SELECT * FROM 'building1/#'""actions": [{ "dynamoDB":….

Page 19: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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":...

Page 20: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Rules Engine

Integrations

• DynamoDB• Kinesis• Lambda• S3• SNS• Firehose• SQS• Republish (AWS IoT)

Transformations

• round• ceiling/floor• trig – sin/cos/tan• MD5• concatination• replace• client ID• topic tokens

Page 21: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Device SDKs

C-SDKRTOS, μControllers

JS-SDK Embedded Linux Platforms

Arduino YúnArduino

Mobile SDKsAndroid and iOS

Page 22: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Starter Kits

Page 23: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Demo Hardware

http://amzn.to/1RHEZGW

Arrow / QualcommDragonBoard 410c

http://amzn.to/1ZM5yu2

Seeed StudioBeagleBone Green

http://amzn.to/1Sdt8PM

IntelEdison

Page 24: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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

Page 25: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Building an IoT Use Case

Page 26: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Use Case – Pool Pump

• Actual customer story• Control a device• Intermittent connectivity• Notification when synced

Page 27: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Use Case – Architecture Overview

AWS IoT

DeviceShadow

Rule SNS

Application (Console)

Device

Page 28: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Use Case – Pool Pump

Live walkthrough of building out this use case.

Page 29: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Hardware Video

Page 30: AWS January 2016 Webinar Series - Getting Started with AWS IoT

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

Page 31: AWS January 2016 Webinar Series - Getting Started with AWS IoT

Thank you!