3. AWS IoT: simplify and accelerate IoT development
Amazon SNS
Mobile Push
and Notifications
Amazon
DynamoDB
Predictable and
Scalable NoSQL
Data Store
AWS Lambda
Run Code in
Response to Events
Amazon Redshift
Petabyte-Scale
Data Warehouse
…and more
Amazon
API Gateway
Build, Deploy, and
Manage APIs
Amazon Kinesis
Streaming Analytics
Amazon Cognito
User Identity and
Data Synchronization
AWS IoT
Connect Devices to
the Cloud
4. AWS IoT
DEVICE SDK
Set of client libraries to
connect, authenticate and
exchange messages
DEVICE GATEWAY
Communicate with devices via
MQTT, HTTPS & WebSocket
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. Pace of innovation
AWS IoT Beta Launch
MQTT, HTTP
Rule Engine
Registry
C, Node SDK
Shadow
GA Launch
IPv6 Support
iOS SDK
CloudWatch integration
Android SDK
New Rule Actions
CloudWatch Logs
CloudWatch Alarms
Elastic Search
New Region: Germany, Singapore
Bring Your Own Certificate
Integration with CloudTrail
Amazon Machine Learning
24h WebSocket connections
Rule Engine versions
OCT 15 DEC 15 JAN 16 MAR 16 APR16 NEXT
A LOT ;-)
MQTT over WebSocket
MQTT client in Console
Custom Keep Alive intervals
Logging configuration in
Console
7. Device Gateway
Millions of devices
and apps can
connect over
MQTT,
WebSockets,
and HTTP 1.1
Powerful
Pub/Sub Broker
with Long-lived
bi-directional
messages
9. 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
18. Rules Engine
SELECT *
FROM ‘things/thing-2/color’
WHERE color = ‘red’
Simple & Familiar
Syntax
SQL Statement to
define topic filter
with JSON support
Functions improve
signal : noise
20. AWS IoT Rules Engine
SELECT DATA FROM TOPIC WHERE FILTER
THEN ACTION
21. AWS IoT – SQL Reference
SELECT DATA FROM TOPIC WHERE FILTER
• Properties from the JSON Object in the payload
• “.” Operator
• “..” Operator
• “*” Operator
• Apply functions to attribute value
24. 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’)
25. 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
26. AWS IoT – SQL Reference
SELECT DATA FROM TOPIC WHERE FILTER
Token Meaning Example
< Less than, comparison color = 'red'
<= Less than or equal color <> 'red'
> Greater than, comparison color = 'red' AND siren = 'on'
>= Greater than or equal color = 'red' OR siren = 'on'
CASE …
WHEN …
THEN …
ELSE …
END
Case statement CASE location
WHEN 'home’
THEN 'off'
WHEN 'work’
THEN 'on' ELSE 'silent' END
27. AWS IoT Rules Engine’s flexibility
SELECT *, clientId() as MQTTClientId
FROM 'one/rule'
WHERE
startsWith(topic(2), 'IME33') AND
(state = 'INIT' OR hydro_temp >
surface_temp)",
"actions":
[{
"republish": {
"topic":
"controllers/${substring(topic(3),
3, 5)}",
}]
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
30. AWS IoT Rules Engine & Amazon SNS
SNS can do Mobile Push Notifications (Apple/Google/Amazon/Windows phones)
It can also notify per SMS, Email, HTTP Post.
SNS
2
34. AWS IoT Shadow Flow
Shadow
Device SDK
1. Device Publishes Current State
2. Persist JSON Data Store
3. App requests device’s current state
4. App requests change the state
5. Device Shadow syncs
updated state
6. Device Publishes Current State
7. Device Shadow confirms state change
AWS IoT
35. AWS IoT Device Shadow - Simple Yet Powerful
{
"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 shadows
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
36. AWS IoT Device Shadow Topics (MQTT)
Thing SDK (C-SDK, JS-SDK)
makes it easy for you to build
shadow functionality into your device
so it can automatically synchronize
the state with the device.
AWS IoT Thing Shadow
UPDATE: $aws/things/{thingName}/shadow/update
DELTA: $aws/things/{thingName}/shadow/update/delta
GET: $aws/things/{thingName}/shadow/get
DELETE: $aws/things/{thingName}/shadow/delete
Sensor Reported Desired Delta
LED1 RED YELLOW
LED1 =
Yellow
TEMP = 60F
ACCEL X=1,Y=5,Z=4 X=1,Y=5,Z=4
TEMP 83F 60F
38. AWS IoT Registry
• Static attributes associated to Thing
• Firmware version
• Serial Numbers
• Device Type
• Device Group
• Device Description
• Sensor description
• Support and Maintenance
• Reference Manual URL
• Part # reference
• Reference to external support system
39. AWS IoT – Device Management
S3 Holds Versioned Firmware Distributions
Organize and secure your firmware binaries in S3
Message Broker notifies groups of the fleet using Topic Patterns
Alert the fleet (or part of it) of the update, and send the URL to the S3 download
Firmware Update
Stored in S3
Publish to groups of devices
• Ability to update global
or within a Region
• Rules Engine keeps
state of updates and
tracks progress in a
DynamoDB Table
• Store Version in
Registry Entry
41. Three Ways to Analyze Data
Retrospective
analysis and
reporting
Here-and-now
real-time processing
and dashboards
Predictions
to enable smart
applications
Past Data Present Data Future Data
42. Three Ways to Analyze Data
Retrospective
analysis and
reporting
Here-and-now
real-time processing
and dashboards
Predictions
to enable smart
applications
Amazon Kinesis
AWS Lambda
Amazon DynamoDB
Amazon EC2
Amazon Elastic Search
Amazon Redshift
Amazon RDS
Amazon S3
Amazon EMR
Amazon Quicksight
Amazon Machine
Learning
43. Pricing
• Pay as you go. No minimum fees.
• $5 per million messages published to, or delivered
by, AWS IoT.
• AWS IoT does not charge for deliveries to the
following AWS services: Amazon S3, Amazon
DynamoDB, AWS Lambda, Amazon Kinesis,
Amazon SNS, and Amazon SQS.
• Free Tier: 250,000 messages per month for 12
months.
AWS IoT
45. John Deere
Connects Growers, Data & Machines
manufactures agricultural, construction, and
forestry machinery, diesel engines, drivetrains
used in heavy equipment, and lawn care
equipment.
Using the AWS cloud, John Deere
can help farmers take action on real-
time developments on their farms,
plant more efficiently, and improve
the yield of their crops.
• John Deere’s mission: connect people, technology,
and insights to advance agriculture in a sustainable
fashion.
• Uses AWS to stream, analyze, store, and share data
collected by 200,000 telematics-enabled machines
• Provides growers with timely and accurate data for
optimal growing conditions.
• Using AWS, John Deere enables farmers react in
real-time to developments on their farms, plant more
efficiently, and improve crop yields.
Patrick Pinkston
VP, Information Solutions, John Deere
”
“
John Deere: Video Case Study: http://aws.amazon.com/solutions/case-studies/john-deere/
46. Philips Healthcare
Uses AWS IoT to collect and act on critical data across different devices
Philips is a leading health-tech company,
working to create a new era of connected and
personalized digital health and care..
With the addition of AWS IoT, we will
greatly accelerate the pursuit of our
vision by making it easy to acquire,
process, and act on data from
heterogeneous devices in real time.
• AWS gives Philips customers greater control of their
health with connected digital health solutions that
support healthy living and improved care coordination.
• HealthSuite is a digital platform that manages more than
7 million connected medical-grade, consumer devices,
sensors and mobile apps
• The Philips HealthSuite digital platform analyzes and
stores 15 PB of patient data from 390 million imaging
studies, medical records, and patient inputs.
• AWS provides the reliability, performance and scalability
that Philips needs to help protect patient data which
grows by petabyte/month.
Jeroen Tas
CEO Healthcare Informatics Solutions and Services, Philips
”
“
47. SONOS
Increase the Value of a Product Over Time with Data Telemetry and Usage Data
All the music on earth, in every room of your home,
wirelessly. Sonos is the smart speaker system that
streams all your favorite music to any room, or every
room. Control your music with one simple app, and fill
your home with pure, immersive sound.
“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.”
Jon Cotter
Sr. Software Development Manager,
”
“ • Utilizes AWS to collect, store, and process
performance metric data and reports for individual
speaker systems.
• Can monitor the quality of speakers in the field, and
dramatically add new functionality to existing
speakers without refreshing hardware.
• Launching Trueplay: a Smart Speaker Tuning
services that measures the acoustics in any room and
fine-tunes your speaker.
• Launching in 2015 yet available to devices purchased
over 5 years ago
Sonos: Video Case Study: https://www.youtube.com/watch?v=C9UVrbOMIZw
48. We launched Hive towards the end of
2013 and today we have 75,000
customers… The speed at which we
delivered Hive is directly related to
our decision to use AWS cloud
Seb Chakraborty
Head of Web and Platform Design
”
“ • British Gas started a project called Hive, part of its
Connected Homes Strategy.
• Hive Active Heating allows users to control heating and
hot water remotely from mobile, laptop or
smartphones.
• Such a flexibility allows users to control heating exactly
how they need it and save up to £150 a year on utility
bills
British Gas brings central heating control to
smartphones with AWS
49. Official IoT Starter Kits, Powered by AWS
Launched 10 Starter Kits, Powered by AWS
Dragonboard 410c
(by Arrow)
Beaglebone Green
(by Seeed Studio)
Seeeduino Cloud
(by Seeed Studio)
Intel Edison
(by Seeed Studio)
MediaTek LinkIt One
(by Seeed Studio)
Broadcom BCM4343W
(by Avnet)
Marvell EasyConnect
(By Marvell)
Renesas RX63N
(by Micrium)
Microchip WCM
(by Microchip)
Ti Launchpad
(By Ti)
Key message: AWS *already* has the core building blocks for connected devices
AWS IoT to simplify and accelerate IoT
AWS IoT addresses IoT from three dimensions.
First, connectivity... we built a secure ingestion layer (designed around open standards like HTTP and MQTT) and secured with TLS mutual auth. MQTT is not the answer to IoT. As with everything we do, we started by listening to our customer's feedback. MQTT is a standard. Co-Authored by IBM, it's a standard widely accepted in the industry. Most vendors are inventing their own approach here. We built our ingestion layer in a way that accepts that. As the market evolves, we'll continue to add support for protocols. It's important to stress that open standards minimize lock-in risks.
Secondly, we're adding support for patterns that accelerate enterprise application development. IoT isn't just about the device. The device is a small "thing" in a larger application. It interfaces on behalf of your business, your employees, your data... over a million active developers already use AWS to build their business applications. AWS IoT was built w/ that in mind. It's the front door for you IoT Application
Finally, because IoT spans multiple disciplines (ranging from electrical engineering to embedded software development to distributed systems, machine learning, etc) it requires an ecosystem w/ just as much breadth. We're introducing an AWS IoT Starter Kit (naming?) program with [#] vendors and over [#] kits at launch. Some of these kits, like Broadcom's for example, were built to scale (talk about FCC certification on the board already) and these... are available on Prime (idea -> connected device in hours)
AWS IoT allows you to easily connect devices to the cloud and to other devices. AWS IoT supports HTTP, WebSockets, and MQTT, a lightweight communication protocol specifically designed to tolerate intermittent connections, minimize the code footprint on devices, and reduce network bandwidth requirements. AWS IoT also supports other industry-standard and custom protocols, and devices can communicate with each other even if they are using different protocols.
Why MQTT?
Anyone in this room can download the amazon.com certificate. It really is public data. Not just "not sensitive", but public. We send a copy of it to your browser every time you log in to Amazon. But that private key, that we’re going to protect very carefully. Possession of that key allows you to cryptographically prove your identity as Amazon.com.
In the AWS IoT world, everything MQTT is TLS 1.2, and with a restricted set of strong cipher suites.
Now that we’ve got TLS established and the server is authenticated, we have message integrity and confidentiality, but we have absolutely no idea who the client is. That’s why you have to sign in to your account when you go to amazon.com.
Mutual auth….
AWS IoT provides authentication and end-to-end encryption throughout all points of connection, so that data is never exchanged between devices and AWS IoT without proven identity. In addition, you can secure access to your devices and applications by applying policies with granular permissions.
With AWS IoT, you can filter, transform, and act upon device data on the fly, based on business rules you define. You can update your rules to implement new device and application features at any time. AWS IoT makes it easy to use AWS services like AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, and Amazon DynamoDB for even more powerful IoT applications
AWS IoT stores the latest state of a device so that it can be read or set at anytime, making the device appear to your applications as if it were online all the time. This means that your application can read a device’s state even when it is disconnected, and also allows you to set a device state and have it implemented when the device reconnects.
In summary
There is one more step beyond knowing what is happening here and now. We can use the data we already have to make accurate, actionable predictions about what will happen in the future. We can build a new breed of smart applications using these predictions. It’s really exciting.
IoT Context
John Deere
Deere machines, like combines, mowers, etc, are made up of dozens of powerful sensors. This data is collected for precision farming, equipment maintenance, and consumables use and automated operation. This data is used by a variety of apps, including the John Deere mobile apps that run on tablets in the driver cab and the MyJohnDeere cloud portal. We are working with Deere to standardize the mobile architecture on AWS and to run a POC on AWS IoT.
Video: http://aws.amazon.com/solutions/case-studies/john-deere/
Philips
"At Philips we aim to empower people to take greater control of their health with connected digital health solutions,” says Jeroen Tas, CEO Healthcare Informatics, Solutions and Services, Philips. "Our HealthSuite digital platform already collects and manages the data of over seven million devices. Now that we have AWS IoT, we will greatly accelerate the pursuit of our vision by making it easy to ingest, process, and act upon data from heterogeneous devices in real time. Simply by changing business logic in the cloud, we can now instantly add new intelligence to existing MRI machines, disposable patient monitoring sensors and more. AWS IoT makes it possible for our products, and the care they provide, to grow smarter over time”
Sonos: Video Case Study: https://www.youtube.com/watch?v=C9UVrbOMIZw