What is AWS IoT Core?

AWS IoT Core is a managed cloud service that enables connected devices to securely and seamlessly interact with cloud applications and other devices. It can support billions of devices and trillions of Messages (MQTT Protocol is used to send and receive messages) and can process and route such messages to AWS endpoints and other connected devices. With AWS IoT Core, we can keep track and communicate with all our devices, all the times, even when the devices have an intermittent connection among themselves.

AWS IoT Core enables makes it easy to integrate connected devices with other AWS services like:

  • Kinesis (to process streams of incoming data from devices)
  • DynamoDB (to store incoming data in Tables for later use)
  • Amazon Sagemaker (to apply Machine Learning models and generate meaningful analytics from incoming Data from Devices)
  • Amazon QuickSight (to prepare Dashboards and graphs from device data)

Features : AWS IoT Core

AWS IoT Device SDK

AWS IoT Device SDK enables the devices to connect, authenticate and exchange messages with IoT Core using MQTT, HTTP 1.1 or WebSocket protocols. It supports C, JavaScript and Arduino which includes Client libraries, the Developer guide and a porting guide for manufactures. Open Source alternative or a custom-built SDK can also be used in place of IoT Device SDK.

AWS IoT Core

Device Gateway

Device Gateway serves as an entry point for IoT devices in connecting to AWS services. It manages all active connections and implements semantics for multiple protocols to ensure the devices can communicate with AWS and among themselves securely and efficiently with lowest possible latency. Device gateway is a fully managed service and can automatically scale to support billions of devices.

Message Broker

Message Broker is a high-throughput publish/subscribe broker that securely transmits messages to and between all our devices with low latency. It supports messaging patterns like one-to-one command and control messaging OR one-to-million (or more) broadcast notification systems. Broker is also automatically scaled based on demand without having to manage or provision any infra.

Authentication and Authorization

It provides mutual authentication and encryption at all points of connection, so that the data is always exchanged with a proven identity. AWS IoT Core supports AWS method of authentication (SigV4), X.509 certificate-based authentication or custom token-based authentication (through custom authorizers). With IoT Core, we can use IoT generated certificates, as well as those signed by our preferred Certificate Authority (CA). IoT Core also supports connections from user’s mobile apps using Amazon Cognito, which takes care of all the steps necessary to create a unique identifier for our app users and retrieve short-lived credentials.

AWS IoT Core

Rules Engine

The Rules engine evaluates inbound messages published into AWS IoT Core and transforms and delivers them to other devices or a cloud service, based on business rules that we define. It can take one or many actions on one device or many devices in parallel. It can route messages to services like AWS Lambda, S3, DynamoDB, Cloudwatch, Amazon SNS, SQS, IOT Analytics and Elastic search with built-in Kibana Integration and Step Functions.

We can write rules within the Management console or by using SQL-like syntax., For example, we can author a rule that transmits the incoming data to AWS lambda if the temperature reading in incoming message exceeds a pre-defined threshold. Rules Engines provides many available functions readily that can be used to transform our data and supports custom functions written in Lambda to transform based on our custom requirement.

Simple IoT Core workflow

Process and Act on incoming data