AWS IoT Core Device SDK is the primary mode of connection between your application and the AWS IoT core. It uses the MQTT, HTTP, or webSockets protocols to effectively connect and exchange messages with this service. The languages supported by the AWS IoT device SDK are C, Arduino, and JavaScript.
With these features, developers can build novel IoT products and solutions on the hardware platform of their choice. AWS IoT Summit 2018 held recently in Sydney shed light on cloud technologies and how it can help businesses lower costs, improve efficiency and innovate at scale. It had sessions dedicated to IoT. (Intelligence of Things: IoT, AWS DeepLens, and Amazon SageMaker)
The device gateway acts as an entry gate for IoT devices to connect to the Amazon Web Services (AWS). It handles multiple protocols, which ensures secure and effective connection of the IoT devices with the IoT Core. The list of protocols include MQTT, WebSockets, and HTTP 1.1. Also, with the device gateway, one does not have to worry about the infrastructure as it automatically manages and scales huge amount of devices at ease.
AWS IoT Core supports SigV4, an AWS method of authentication, X.509 certificate based authentication, and customer created token based authentication. The user can create, deploy and manage certificates and policies for the devices from the console or using the API.
AWS IoT Core also supports connections from users’ mobile apps using Amazon Cognito, which creates a unique ID for app users and can be used to retrieve temporary, limited-privilege AWS credentials. AWS IoT Core also enables temporary AWS credentials after a device has authenticated with an X.509 certificate. This is done so that the device can more easily access other AWS services such as DynamoDB or S3.
Device shadow is a JSON document, which stores and retrieves the current state for a device.
It provides persistent representations such as the last reported state and the desired future state of one’s device even when the device is offline. With Device Shadow, one can easily build applications to interact with the applications by providing REST APIs. It aids applications to set their desired future state without having to request for device starting state. AWS IoT core differentiates between the desire state and the last reported state. It can further command the device to make up the difference.
The Rules Engine helps build IoT applications without having to manage any infrastructure.
There are many other reasons to choose AWS IoT Core for your projects. However, it is purely one’s choice as many might already be using or bound to other cloud services. For those, who haven’t yet started, they may choose AWS for a plethora of other cloud services that they offer, which includes AWS IoT Core too.