A Look at the AWS IoT Ecosystem
A Look at the AWS IoT Ecosystem
If you've got an interest in IoT, take a look at how Amazon's platform can help link your devices and their data.
Join the DZone community and get the full member experience.Join For Free
The Internet of Things (IoT) enables smart objects to link with various information services that are based on the internet. The IoT cloud platform provides a framework to host applications that link smart objects to internet based services. The IoT cloud platform also provides a way to control smart objects with other smart objects.
AWS IoT is a cloud platform that not only provides an easy way to connect to IoT-enabled devices to the cloud but also can store, analyze and visualize data by making sense out of it.
AWS IoT provides a platform where the sensor grids, aircraft engines, connected cars, factory floors, and the similar things can be connected easily and securely to the cloud and other devices. The cloud connection to IoT devices is fast and lightweight (MQTT or REST), which makes AWS IoT a great fit for devices that have limited processing power, battery life or memory.
AWS IoT Architecture
Let’s take a look at the AWS IoT components:
Things are devices of all types, shapes, and sizes including applications, connected devices, and physical objects. Things measure and control something of interest in their local environment.
Ex: Consider you have a LinkIt One Board to which you have to connect a temperature sensor. The LinkIt One device keeps uploading sensor data to AWS IoT. In AWS IoT, “LinkIt One board + Temperature sensor” represents a virtual device called a “Thing.” Things have names, attributes, and shadows.
- Thing Name: Unique name given by the user to identify a thing.
- Thing attributes: The attributes represents the unique features of the thing as the thing serial number etc.
- Thing Shadows. The shadow represents the current state of the IoT device. The AWS Thing shadow can also be updated by other end devices; this will help us control the IoT-enabled
Example: Consider that there is an IoT-enabled Air conditioner which is constantly sending its current state to the AWS IoT Thing shadow, and assume that the currently reported state of the device is “OFF.”. Now, a user can update the AWS IoT Thing shadow from his mobile phone or laptop and change the desired state (request to change the state) to “ON.” The shadow will compare the “reported state” (reading from the sensor) of the device with the desired state of the device, and if there is a difference between the reported and the desired state, it will send an appropriate response to the device.
The Rules Engine collects the data sent to the IoT cloud and performs actions based on factors that are present in the collected data and routes them to AWS endpoints like Amazon DynamoDB, AWS Lambda, Amazon Simple Storage Service (S3), Amazon Simple Notification Service (SNS), and Amazon Kinesis. The actions are expressed using an SQL-like syntax. Routing is driven by context and contents of individual messages. For example, routine readings from a temperature sensor could be tracked in a DynamoDB table where as an aberrant reading that exceeds a value stored in the thing shadow can trigger a Lambda function.
The Message Broker implements the MQTT protocol. The Message Broker can scale to contain billions of responsive long-lived connections between things and your cloud applications. Things use a topic-based publish/subscribe model to communicate with the broker. They can publish their state and can subscribe to incoming messages. The publish/subscribe model allows a single device to share its status efficiently with any number of other devices.
Authentication and Authorization
AWS IoT supports mutual authentication and encryption at all levels of connection to end data exchange between AWS IoT and devices without proven identity. It supports AWS method of authentication (called as ‘SigV4’) and X.509 certified based authentication. HTTP connection can use either of these methods while MQTT connection uses certification based authentication, and the WebSocket connection uses Sig v4 connectivity. With AWS IoT, you can use AWS IoT generated certificates or the certificates that are signed by your preferred Certificate Authority (CA).
You can create and deploy certificates and policies for your devices from AWS IoT console or use an API. These device certificates can be activated and associated with the relevant policies that are configured using AWS IAM. Doing this will allows you to revoke access to an individual device instantly if you choose to do so.
The Thing Registry does the assigning task and allocates a unique identity for each thing. It also helps in the tracking of descriptive metadata like attributes and capabilities for each thing.
With AWS IoT, we can build an IoT end-to-end application, which will collect data from sensors, store collected data, analyze and visualized. The insights we get from the analytics and visualization will help businesses gain efficiencies, improve operations, harness intelligence from an extensive range of equipment, and increase customer satisfaction.
More information please visit : http://www.bootcamplab.com/
Opinions expressed by DZone contributors are their own.