SlideShare a Scribd company logo
AWS IoT and building an Internet connected camera
Timothée Cruse, Solutions Architect,
Amazon Web Services
Healthcare and Life
Sciences
Municipal Infrastructure Smart Home Retail
Manufacturing, Logistics &
Supply Chain
Agriculture Education Automotive
AWS customers are connecting physical things
to the cloud in every industry imaginable.
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
Complexities of IoT
• Security
• Infrastructure
• Scale
• Distribution
• Device Management
• Online vs. Offline
• Hardware
• …
Millions of
Devices / Producers
Millions of
Users / Consumers /
Devices
connecting
AWS IoT
Any device can connect securelyAnyone can connect a
device
Getting started is easy
“Securely connect one or one-billion devices to AWS,
so they can interact with applications and other devices”
AWS IoT
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP and WebSockets
Protocols – MQTT
MQTTS 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
Protocols – HTTPS and MQTT over WebSockets
HTTPS:
• AWS HTTPS Restful API
• SigV4 authentication
• POST - Publish to topics and
shadow
• GET - Read shadow
MQTT over WebSockets:
• Ideal for web and dash-
boarding
• SigV4 authentication
• Can be used standalone
• Publisher / Subscriber
Protocols – MQTT – Use Cases
mydevices/#
mydevices/1
mydevices/2
mydevices/3
Protocols – MQTT – Use Cases
mydevices/4
mydevices/4
Protocols – MQTT – Use Cases
mydevices/4
mydevices/4
Protocols – MQTT – Use Cases
mydevices/to_all
mydevices/to_all
Protocols – MQTT – QoS 0
1
2
3
4
5
6
1,2,3,5,6
Protocols – MQTT – QoS 1
1
2
3
4
5
4
1,2,3,4,5,6
6
AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP and WebSockets
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
TLS + Cert
Device SDKs
C-SDK
(Ideal for embedded OS)
JS-SDK
(Ideal for Embedded
Linux Platforms)
Arduino Library
(Arduino Yun)
Mobile SDK
(Android and iOS)
Security
• Strong Authentication
• Secure Communication
• TLS Mutual Authentication
• Packaged in the SDKs
AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP and WebSockets
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
TLS + Cert
RULES ENGINE
Transform messages
based on rules and
route to AWS Services
AWS Services
- - - - -
3P Services
AWS IoT Rules Engine Basics
SELECT * FROM ‘things/thing-2/color’
WHERE color = ‘red’
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
Rules Engine evaluates inbound
messages published into AWS IoT,
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 a Kinesis stream
Actions
Kinesis Firehose
Republish to AWS IoT
Publish to ElasticSearch
AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP and WebSockets
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
TLS + Cert
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
Protocols – AWS IoT Shadow
{
"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
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
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : "OFF”,
“light”: “green”
},
"reported" : {
"engine" : ”OFF”,
“light”, “green”
},
},
"version" : 10
}
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : "OFF”,
“light”: “green”
},
"reported" : {
"engine" : ”OFF”
“light”: “green”
},
},
"version" : 10
}
"engine" : ”OFF”,
“light”: “green”
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : ”ON”,
”light”: “green”
},
"reported" : {
"engine" : ”OFF”,
“light”: “green”
},
"delta" : {
"engine" : ”ON”
},
},
"version" : 10
"engine" : ”ON”
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : ”ON”,
”light”: “green”
},
"reported" : {
"engine" : ”OFF”,
“light”: “green”
},
"delta" : {
"engine" : ”ON”
},
},
"version" : 10
"engine" : ”ON”
Protocols – AWS IoT Shadow Use Case
{
"state" : {
“desired" : {
"engine" : ”ON”,
“light”: “green”
},
"reported" : {
"engine" : ”ON”,
“light”: “green”
},
},
"version" : 10
}
"engine" : ”ON”,
“light”: “green”
AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTP and WebSockets
AUTHENTICATION
AUTHORIZATION
Secure with mutual
authentication and encryption
TLS + Cert
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
DEVICE REGISTRY
Identity and Management of
your things
Official IoT Starter Kits, Powered by AWS
Official IoT Starter Kits on Variety of Platforms
Broadcom WICED
BCM4343W
On Threadx/Netx
Marvell
EZConnect
MW302
On FreeRTOS
Renasas RX63N
On Micrium OS
TI CC3200
On TI-RTOS
Microchip WCM
PIC32 Platform
Intel Edison
on Yocto Linux
Mediatek
LinkOne
on Linkit OS
Dragonboard
410c on
Ubuntu
Seeeduino
Arduino on
openWRT
Beaglebone
Green on
Debian
SONOS
”A 10 year old product can do things that hadn't been invented 10 years
ago. Most importantly, going forward, people will expect your product to
improve, and if it isn't being updated and getting better, you're literally being
left behind.” – SONOS
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
Let’s build an Internet
connected camera!
What we’ll need
• Raspberry Pi with Camera module (already setup and ready to go)
• NodeJS installed on the Raspberry PI
• AWS IoT, Amazon Cognito, Amazon S3
• A couple lines of code!
AWS IoT Amazon S3Amazon
Cognito
Architecture
AWS IoT
Amazon S3
Amazon
Cognito
Architecture – Step 1
(Subscribe) camera/button AWS IoT
Amazon S3
Amazon
Cognito
Architecture – Step 2
AWS IoT
Amazon S3
Load website from S3 (static web)
Amazon
Cognito
Architecture – Step 3
(Subscribe) camera/button AWS IoT
Amazon S3
(Subscribe) camera/uploaded
Amazon
Cognito
Architecture – Step 4
(Subscribe) camera/button
(Publish) camera/button
{ event: “press” }
AWS IoT
Amazon S3
(Subscribe) camera/uploaded
Amazon
Cognito
Architecture – Step 5
AWS IoT
Amazon S3
(Subscribe) camera/uploaded
Amazon
Cognito
Architecture – Step 6
AWS IoT
Amazon S3
Upload 1463811192.jpg to S3
(Subscribe) camera/uploaded
Amazon
Cognito
Architecture – Step 7
AWS IoT
Amazon S3
(Publish) camera/uploaded
{ filename: “1463811192.jpg” }
(Subscribe) camera/uploaded
Amazon
Cognito
Architecture – Step 8
AWS IoT
Amazon S3
Fetch image from S3 and display it
Amazon
Cognito
AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse
Step 1.1: IAM Security – Raspberry Pi
• IAM User for uploading
images to S3 (Access Key ID /
Secret Access Key)
• Restrict access to only
specified bucket
AWS
IAM
Step 1.2: IAM Security – Web (websockets)
• Amazon Cognito identity pool
• Unauthenticated Role
• Gives access to our website
to AWS IoT websockets
Amazon
Cognito
AWS
IAM
Step 1.3: AWS IoT (Thing / Policy / Certificate)
Create:
Thing: “pi-camera”
Policy: “pi-camera-policy”
Certificate:
certificate.pem.crt
private.pem.key
Attach policy and thing to
certificate
Step2:RaspberryPi(Node.js)
(IoTminimumcode)
Step3:TestitwithMQTT
Step 4: Web – WebSockets
• Using websockets requires signing requests to AWS
• http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html
• AWSLabs Sample code
• https://github.com/awslabs/aws-iot-examples
Demo
Insert video demo here - Innovate - Tim Cruse IoT.mp4
Duration 00.06.01
Online Labs & Training
Gain confidence and hands-on
experience with AWS.
Watch free Instructional Videos and
explore Self-Paced Labs
Instructor Led Classes
Learn how to design, deploy and
operate highly available, cost-effective
and secure applications on AWS in
courses led by qualified AWS instructors
Validate your technical expertise
with AWS and use practice exams
to help you prepare for AWS
Certification
AWS Certification
More info at http://aws.amazon.com/training
Thank You for Attending AWS Innovate
We hope you found it interesting!
Do provide us with your feedback for the session and complete the feedback form.
Let us know your thoughts of today’s event and how we can improve the event
experience for you in the future.

More Related Content

PDF
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
PDF
Hands-on with AWS IoT (November 2016)
PDF
Workshop AWS IoT @ IoT World Paris
PDF
AWS Innovate 2016 : Opening Keynote - Glenn Gore
PDF
Amazon AWS IoT 利用 AWS IoT 開發智慧家居解決方案
PDF
AWS Innovate: Smart Deployment on AWS - Andy Kim
PDF
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
PDF
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
Hands-on with AWS IoT (November 2016)
Workshop AWS IoT @ IoT World Paris
AWS Innovate 2016 : Opening Keynote - Glenn Gore
Amazon AWS IoT 利用 AWS IoT 開發智慧家居解決方案
AWS Innovate: Smart Deployment on AWS - Andy Kim
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...

Similar to AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse (14)

PPTX
Reply Webinar Online - Mastering AWS - IoT Foundations
PPTX
Jeremy Cowan's AWS user group presentation "AWS Greengrass & IoT demo"
PDF
Workshop AWS IoT @ SIDO
PPTX
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
PDF
Connecting the Unconnected: IoT Made Simple
PPTX
Reply Webinar Online - Mastering AWS - IoT Advanced
PDF
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
PDF
AWS NYC Meetup - May 2017 - "AWS IoT and Greengrass"
PPTX
AWS IoT
PPTX
Creator IoT Framework
PPTX
IoT on azure
PDF
Hands-on with AWS IoT
PPTX
IoT Smart Home
PDF
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
Reply Webinar Online - Mastering AWS - IoT Foundations
Jeremy Cowan's AWS user group presentation "AWS Greengrass & IoT demo"
Workshop AWS IoT @ SIDO
Reply Bootcamp Rome - Mastering AWS - IoT Bootcamp
Connecting the Unconnected: IoT Made Simple
Reply Webinar Online - Mastering AWS - IoT Advanced
AWS IoT 핸즈온 워크샵 - AWS IoT 소개 및  AWS 서비스 연동 방법 (김무현 솔루션즈 아키텍트)
AWS NYC Meetup - May 2017 - "AWS IoT and Greengrass"
AWS IoT
Creator IoT Framework
IoT on azure
Hands-on with AWS IoT
IoT Smart Home
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
Ad

More from Amazon Web Services Korea (20)

PDF
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
PDF
[D3T1S06] Neptune Analytics with Vector Similarity Search
PDF
[D3T1S03] Amazon DynamoDB design puzzlers
PDF
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
PDF
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
PDF
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
PDF
[D3T1S02] Aurora Limitless Database Introduction
PDF
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
PDF
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 2
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 1
PDF
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
PDF
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
PDF
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
PDF
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
PDF
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
PDF
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
PDF
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
PDF
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
PDF
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
[D3T1S06] Neptune Analytics with Vector Similarity Search
[D3T1S03] Amazon DynamoDB design puzzlers
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
[D3T1S02] Aurora Limitless Database Introduction
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 1
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Ad

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Spectroscopy.pptx food analysis technology
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
The AUB Centre for AI in Media Proposal.docx
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectroscopy.pptx food analysis technology

AWS Innovate: Building an Internet Connected Camera with AWS IoT- Tim Cruse

  • 1. AWS IoT and building an Internet connected camera Timothée Cruse, Solutions Architect, Amazon Web Services
  • 2. Healthcare and Life Sciences Municipal Infrastructure Smart Home Retail Manufacturing, Logistics & Supply Chain Agriculture Education Automotive AWS customers are connecting physical things to the cloud in every industry imaginable.
  • 4. Complexities of IoT • Security • Infrastructure • Scale • Distribution • Device Management • Online vs. Offline • Hardware • … Millions of Devices / Producers Millions of Users / Consumers / Devices connecting
  • 5. AWS IoT Any device can connect securelyAnyone can connect a device Getting started is easy “Securely connect one or one-billion devices to AWS, so they can interact with applications and other devices”
  • 6. AWS IoT DEVICE GATEWAY Communicate with devices via MQTT, HTTP and WebSockets
  • 7. Protocols – MQTT MQTTS 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
  • 8. Protocols – HTTPS and MQTT over WebSockets HTTPS: • AWS HTTPS Restful API • SigV4 authentication • POST - Publish to topics and shadow • GET - Read shadow MQTT over WebSockets: • Ideal for web and dash- boarding • SigV4 authentication • Can be used standalone • Publisher / Subscriber
  • 9. Protocols – MQTT – Use Cases mydevices/# mydevices/1 mydevices/2 mydevices/3
  • 10. Protocols – MQTT – Use Cases mydevices/4 mydevices/4
  • 11. Protocols – MQTT – Use Cases mydevices/4 mydevices/4
  • 12. Protocols – MQTT – Use Cases mydevices/to_all mydevices/to_all
  • 13. Protocols – MQTT – QoS 0 1 2 3 4 5 6 1,2,3,5,6
  • 14. Protocols – MQTT – QoS 1 1 2 3 4 5 4 1,2,3,4,5,6 6
  • 15. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT, HTTP and WebSockets AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption TLS + Cert
  • 16. Device SDKs C-SDK (Ideal for embedded OS) JS-SDK (Ideal for Embedded Linux Platforms) Arduino Library (Arduino Yun) Mobile SDK (Android and iOS)
  • 17. Security • Strong Authentication • Secure Communication • TLS Mutual Authentication • Packaged in the SDKs
  • 18. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT, HTTP and WebSockets AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption TLS + Cert RULES ENGINE Transform messages based on rules and route to AWS Services AWS Services - - - - - 3P Services
  • 19. AWS IoT Rules Engine Basics SELECT * FROM ‘things/thing-2/color’ WHERE color = ‘red’ 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.
  • 20. AWS IoT Rules Engine Rules Engine evaluates inbound messages published into AWS IoT, 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 a Kinesis stream Actions Kinesis Firehose Republish to AWS IoT Publish to ElasticSearch
  • 21. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT, HTTP and WebSockets AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption TLS + Cert 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
  • 22. Protocols – AWS IoT Shadow { "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 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. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : "OFF”, “light”: “green” }, "reported" : { "engine" : ”OFF”, “light”, “green” }, }, "version" : 10 }
  • 24. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : "OFF”, “light”: “green” }, "reported" : { "engine" : ”OFF” “light”: “green” }, }, "version" : 10 } "engine" : ”OFF”, “light”: “green”
  • 25. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : ”ON”, ”light”: “green” }, "reported" : { "engine" : ”OFF”, “light”: “green” }, "delta" : { "engine" : ”ON” }, }, "version" : 10 "engine" : ”ON”
  • 26. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : ”ON”, ”light”: “green” }, "reported" : { "engine" : ”OFF”, “light”: “green” }, "delta" : { "engine" : ”ON” }, }, "version" : 10 "engine" : ”ON”
  • 27. Protocols – AWS IoT Shadow Use Case { "state" : { “desired" : { "engine" : ”ON”, “light”: “green” }, "reported" : { "engine" : ”ON”, “light”: “green” }, }, "version" : 10 } "engine" : ”ON”, “light”: “green”
  • 28. AWS IoT DEVICE SDK Set of client libraries to connect, authenticate and exchange messages DEVICE GATEWAY Communicate with devices via MQTT, HTTP and WebSockets AUTHENTICATION AUTHORIZATION Secure with mutual authentication and encryption TLS + Cert 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 DEVICE REGISTRY Identity and Management of your things
  • 29. Official IoT Starter Kits, Powered by AWS
  • 30. Official IoT Starter Kits on Variety of Platforms Broadcom WICED BCM4343W On Threadx/Netx Marvell EZConnect MW302 On FreeRTOS Renasas RX63N On Micrium OS TI CC3200 On TI-RTOS Microchip WCM PIC32 Platform Intel Edison on Yocto Linux Mediatek LinkOne on Linkit OS Dragonboard 410c on Ubuntu Seeeduino Arduino on openWRT Beaglebone Green on Debian
  • 31. SONOS ”A 10 year old product can do things that hadn't been invented 10 years ago. Most importantly, going forward, people will expect your product to improve, and if it isn't being updated and getting better, you're literally being left behind.” – SONOS
  • 33. Let’s build an Internet connected camera!
  • 34. What we’ll need • Raspberry Pi with Camera module (already setup and ready to go) • NodeJS installed on the Raspberry PI • AWS IoT, Amazon Cognito, Amazon S3 • A couple lines of code! AWS IoT Amazon S3Amazon Cognito
  • 36. Architecture – Step 1 (Subscribe) camera/button AWS IoT Amazon S3 Amazon Cognito
  • 37. Architecture – Step 2 AWS IoT Amazon S3 Load website from S3 (static web) Amazon Cognito
  • 38. Architecture – Step 3 (Subscribe) camera/button AWS IoT Amazon S3 (Subscribe) camera/uploaded Amazon Cognito
  • 39. Architecture – Step 4 (Subscribe) camera/button (Publish) camera/button { event: “press” } AWS IoT Amazon S3 (Subscribe) camera/uploaded Amazon Cognito
  • 40. Architecture – Step 5 AWS IoT Amazon S3 (Subscribe) camera/uploaded Amazon Cognito
  • 41. Architecture – Step 6 AWS IoT Amazon S3 Upload 1463811192.jpg to S3 (Subscribe) camera/uploaded Amazon Cognito
  • 42. Architecture – Step 7 AWS IoT Amazon S3 (Publish) camera/uploaded { filename: “1463811192.jpg” } (Subscribe) camera/uploaded Amazon Cognito
  • 43. Architecture – Step 8 AWS IoT Amazon S3 Fetch image from S3 and display it Amazon Cognito
  • 45. Step 1.1: IAM Security – Raspberry Pi • IAM User for uploading images to S3 (Access Key ID / Secret Access Key) • Restrict access to only specified bucket AWS IAM
  • 46. Step 1.2: IAM Security – Web (websockets) • Amazon Cognito identity pool • Unauthenticated Role • Gives access to our website to AWS IoT websockets Amazon Cognito AWS IAM
  • 47. Step 1.3: AWS IoT (Thing / Policy / Certificate) Create: Thing: “pi-camera” Policy: “pi-camera-policy” Certificate: certificate.pem.crt private.pem.key Attach policy and thing to certificate
  • 50. Step 4: Web – WebSockets • Using websockets requires signing requests to AWS • http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html • AWSLabs Sample code • https://github.com/awslabs/aws-iot-examples
  • 51. Demo Insert video demo here - Innovate - Tim Cruse IoT.mp4 Duration 00.06.01
  • 52. Online Labs & Training Gain confidence and hands-on experience with AWS. Watch free Instructional Videos and explore Self-Paced Labs Instructor Led Classes Learn how to design, deploy and operate highly available, cost-effective and secure applications on AWS in courses led by qualified AWS instructors Validate your technical expertise with AWS and use practice exams to help you prepare for AWS Certification AWS Certification More info at http://aws.amazon.com/training
  • 53. Thank You for Attending AWS Innovate We hope you found it interesting! Do provide us with your feedback for the session and complete the feedback form. Let us know your thoughts of today’s event and how we can improve the event experience for you in the future.