Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Getting Started with AWS IoT - September 2016 Webinar Series

2,211 views

Published on

AWS IoT is a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices.

In this webinar, we will discuss how constrained devices can leverage AWS IoT to send data to the cloud and receive commands back to the device from the cloud using the protocol of their choice. We will use the AWS IoT Starter Kit to demonstrate building a real connected product, securely connect with AWS IoT using MQTT, WebSockets, and HTTP protocols, and show how developers and businesses can leverage features of AWS IoT like Device Shadows, and the Rules Engine, which provides message processing and integration with other AWS services.


Learning Objectives:
• Introduction to the Internet of Things
• Understand what AWS IoT is and an introduction to the Internet of Things
• Understand connecting a device
• Understand using the Device Gateway, Rules Engine, Device Registry, and Device Shadows

Who Should Attend:
• IoT Developers

Published in: Technology
  • Be the first to comment

Getting Started with AWS IoT - September 2016 Webinar Series

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Michael Garcia, Sr. Technical Program Manager AWS IoT September 29, 2016 AWS IoT Getting Started @michaelgarcia__
  2. 2. Today’s webinar Hands-On AWS IoT Get started ! AWS IoT Starter Kit
  3. 3. Challenges Many SDKs & Tools Scalability Security & Management Cloud Powered Apps Big Data & Analytics & predictions
  4. 4. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT 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 HTTP DEVICE REGISTRY Identity and Management of your things
  5. 5. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages
  6. 6. AWS IoT Device SDKs Arduino Yún Arduino Mobile SDKs Android and iOS C-SDK RTOS, μControllers JS-SDK Embedded Platforms Java Embedded Platforms Python Embedded Platforms https://aws.amazon.com/iot/sdk/
  7. 7. Security and Identity AUTHENTICATION Secure with mutual authentication and encryption
  8. 8. Security and Identity TLS Mutual Authentication Fine-Grained Permissions through Policies Standard Web Security
  9. 9. Mutual Auth TLS www.mywebsite.com - Secure Pipe - Anonymous - Secure Bi-Directional Pipe - Mutual Proof of Identity
  10. 10. AWS IoT Authentication & Authorization
  11. 11. Device Gateway
  12. 12. AWS IoT Message Broker
  13. 13. 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
  14. 14. MQTT Publishers SubscribersTOPIC ‘mytopic’ Publish to ‘mytopic’ Subscribe to ‘mytopic’
  15. 15. MQTT Publishers SubscribersTOPIC ‘mytopic’
  16. 16. MQTT Publishers SubscribersTOPIC ‘mytopic1’ ‘mytopic2’ ‘mytopic3’
  17. 17. AWS IoT Message Broker : managed service Highly Scalable Device Gateway Millions of devices sending billions of messages Subscribers Publishers
  18. 18. Device Registry THING REGISTRY Identity and Management of your things
  19. 19. 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" }
  20. 20. Device Shadows THING SHADOW Persistent thing state during intermittent connections
  21. 21. AWS IoT Device Shadows
  22. 22. 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 shadow 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
  23. 23. 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 }
  24. 24. Device Shadows { "state" : { “desired" : { "engine" : ”OFF”, “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”
  25. 25. 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”
  26. 26. 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”
  27. 27. 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”
  28. 28. 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
  29. 29. AWS IoT Rules Engine
  30. 30. Rules Engine building1/chillers/xx881 building1/fans/aj982 building3/chillers/ks434 building1/radiators/ss243 building2/chillers/fe324 "sql": "SELECT * FROM 'building1/#'" "actions": [{ "dynamoDB":….
  31. 31. Rules Engine building1/chillers/xx881 building1/fans/aj982 building3/chillers/ks434 building1/radiators/ss243 building2/chillers/fe324 "sql": "SELECT * FROM 'building1/#'" "actions": [{ "dynamoDB":….
  32. 32. AWS IoT Rules Engine SELECT DATA FROM TOPIC WHERE FILTER THEN ACTION
  33. 33. AWS IoT – SQL Reference SELECT DATA FROM… • SELECT * • SELECT deviceid, temp • SELECT coords.latitude • SELECT a.another_level.b • Returns {“b” : 3} • SELECT a..b • Returns {“b” : 3} { “deviceid” : “iot123”, “temp” : 54, “humidity” : 32, “coords” : { “latitude” : 47.615694, “longitude” : -122.3359976 }, “a” : { “another_level” : { {“b” : 3}, {“b” : 5} }} } SAMPLE PAYLOAD
  34. 34. AWS IoT – SQL Reference SELECT DATA FROM… • SELECT deviceid AS client • SELECT md5(deviceid) AS hashed_id Substitution Templates • ${expression} • ${topic() - md5(deviceid)} • ${deviceid - temp} { “deviceid” : “iot123”, “temp” : 54, “humidity” : 32, “coords” : { “latitude” : 47.615694, “longitude” : -122.3359976 }, “a” : { “another_level” : { {“b” : 3}, {“b” : 5} }} } SAMPLE PAYLOAD
  35. 35. AWS IoT – SQL Reference SELECT DATA FROM TOPIC WHERE FILTER • Like scanning a database table • Default source is an MQTT topic EXAMPLES: • FROM mqtt(‘my/topic’) • FROM mqtt(‘my/wildcard/+/topic’) • FROM (‘my/topic’)
  36. 36. AWS IoT – SQL Reference SELECT DATA FROM TOPIC WHERE FILTER Token Meaning Example = Equal, comparison color = 'red' <> Not Equal, comparison color <> 'red' AND Logical AND color = 'red' AND siren = 'on' OR Logical OR color = 'red' OR siren = 'on' () Parenthesis, grouping color = 'red' AND (siren = 'on' OR isTest) + Addition, arithmetic 5 + 3 - Substitution, arithmetic 5 - 4 / Division, arithmetic 8 / 2
  37. 37. AWS IoT – SQL Reference SELECT DATA FROM TOPIC WHERE FILTER THEN ACTION LambdaSNS SQS S3 Amazon KinesisDDB RDS Amazon Redshift Amazon Glacier EC2 3rd party
  38. 38. AWS IoT Starter Kit
  39. 39. AWS IoT Button https://aws.amazon.com/iot/button/
  40. 40. AWS IoT Starter Kits
  41. 41. Hands-On
  42. 42. Hands-On !
  43. 43. Get started !
  44. 44. Pricing • Pay as you go. No minimum fees. • $5 per million messages published to, or delivered by, AWS IoT. • Free Tier: 250,000 messages per month for 12 months. AWS IoT https://aws.amazon.com/
  45. 45. Re:Invent 2015 Mobile & IoT Source: https://www.youtube.com/playlist?list=PLhr1KZpdzukcBfuUdMOKc94mnrQhBpdmw
  46. 46. Resources http://aws.amazon.com/iot/developer-resources/ http://aws.amazon.com/iot/getting-started/
  47. 47. Monday, October 24, 2016 JW Marriot Austin https://aws.amazon.com/events/devday- austin Free, one-day developer event featuring tracks, labs, and workshops around Serverless, Containers, IoT, and Mobile
  48. 48. Thank you!

×