AWS Launches Beta of AWS IoT Cloud Services for Connected Devices
Wednesday, October 28, 2015
The new beta AWS IoT offers a managed cloud platform that lets connected devices securely interact with cloud applications and other devices. AWS IoT can support billions of devices and trillions of messages, and can process and route those messages to AWS endpoints and to other devices reliably and securely. With AWS IoT, applications can keep track of and communicate with all devices, all the time, even when they aren’t connected.
AWS IoT supports HTTP 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.
AWS IoT facilitates using AWS services like AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, and Amazon DynamoDB to build IoT applications that gather, process, analyze and act on data generated by connected devices, without having to manage any infrastructure.
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, developers can secure access to devices and applications by applying policies with granular permissions.
With AWS IoT developers have the ability to filter, transform, and act upon device data on the fly, based on business rules the developer define. Rules can be updated 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 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 applications as if it were online all the time. This means that an application can read a device’s state even when it is disconnected, and also allows for the opportunity to set a device state and have it implemented when the device reconnects.
The components that make up AWS IoT include:
- The AWS IoT model is driven by state and state changes. This allows things to work properly even when connectivity is intermittent; applications interact with things by way of cloud-based Thing Shadows. Things have names, attributes, and shadows.
- Thing Shadows are virtual, cloud-based representations of things. They track the state of each connected device, and allow that state to be tracked even if the thing loses connectivity for an extended period of time.
- The real-time Rules Engine transforms messages based on expressions that developers define, and routes them to AWS endpoints (Amazon DynamoDB, Amazon Simple Storage Service (S3), AWS Lambda, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Amazon Kinesis, and Amazon Kinesis Firehose) all expressed using a SQL-like syntax. Routing is driven by the contents of individual messages and by context.
- The Message Broker speaks MQTT (and also HTTP 1.1) so devices can take advantage of alternative protocols even if the cloud backend does not speak them. The Message Broker can scale to accommodate billions of responsive long-lived connections between things and cloud applications. Things use a topic-based pub/sub model to communicate with the broker, and can also publish via HTTP request/response. They can publish their state and can also subscribe to incoming messages. The pub/sub model allows a single device to easily and efficiently share its status with any number of other devices (thousands or even millions).
- Device SDKs are client libraries that are specific to individual types of devices. The functions in the SDK allow code running on the device to communicate with the AWS IoT Message Broker over encrypted connections. The devices identify themselves using X.509 certificates or Amazon Cognito identities. The SDK also supports direct interaction with Thing Shadows.
- The Thing Registry assigns a unique identity to each thing. It also tracks descriptive metadata such as the attributes and capabilities for each thing.
AWS-powered IoT starter kits
There are a number of IoT Partners who have created AWS-powered starter kits that are now available including:
- Beaglebone Green and Grove IoT Starter Kit Powered by AWS.
- Dragonboard IoT Starter Kit Powered by AWS.
- Intel Edison and Grove IoT Starter Kit Powered by AWS.
- Marvel EZ-Connect MW300 IoT Starter Kit Powered by AWS.
- MediaTek Linkit One IoT Starter Kit Powered by AWS.
- Microchip IoT Starter Kit Powered by AWS.
- Renasas IoT Starter Kit Powered by AWS.
- Seeeduino Cloud and Grove IoT Starter Kit Powered by AWS.
- TI LaunchPad IoT Starter Kit Powered by AWS.
- WICED B4343W IoT Starter Kit Powered by Broadcom and AWS.
Developers can use the AWS IoT Console to help get started downloading the SDK, security credentials, and sample code needed to connect a device to AWS IoT.
Develoeprs can also build AWS IoT applications that communicate with an Amazon Echo via the Alexa Skills Kit. AWS IoT can trigger an Alexa Skill via a Lambda function and Alexa Skills can interact with thing shadows. Alexa Skills can also take advantage of AWS IoT’s bidirectional messaging capability (which traverses NAT and firewalls found in home networks) to wake devices with commands from the cloud. Manufacturers can use thing shadows to store responses to application-specific messages.
Read more: https://aws.amazon.com/blogs/aws/aws-iot-cloud-ser...
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more