From your doorbell, to your vacuum, to your brave little toaster, it seems all our devices are getting smarter these days. Much like us humans, these devices are “smart” thanks to their internet connection. But when it comes time to phone the mothership, who’s on the other end?
Well, there is a good chance it’s AWS IoT Core.
Internet of Things (IoT) refers to the network of physical devices embedded with the electronics and software needed to connect and exchange data. Its applications are vast, ranging from smart homes, wearable devices, and smart cities, to industrial automation and healthcare. IoT Core is a managed cloud platform provided by Amazon Web Services (AWS) that enables secure, bi-directional communication between these internet-connected devices and the cloud.
For device manufacturers looking to the cloud, this translates to increased efficiency and reduced costs for your system. This particularly benefits industries such as health care, as their sensitive data is secured from start to finish. At Promenade we took things one step further by integrating it with our CypherMed Cloud platform, designed specifically for medical devices. This way we yield all the benefits of IoT Core, streamline cloud integration, and ensure all the necessary constraints are in place to keep your system secure and compliant.
IoT has transformed the way we live, work and interact with the world. IoT Core is driving this transformation by providing a comprehensive set of tools to build, deploy, and manage your IoT applications. In this blog post, we will cover the key concepts of IoT Core, why it’s a potent addition to our CypherMed Cloud platform, and how you can leverage it to build sophisticated, scalable IoT solutions.
Starting from the top, what is a device in the context of IoT Core? The devices in IoT are the physical objects that are connected to the network. They may be smartphones, wearable devices, sensors, smart appliances, or any other electronic device that is capable of sending and receiving data.
The device registry is a repository for information about devices connected to AWS IoT Core, such as device type, attributes, and metadata. In the device registry, each device is represented as a "thing" and has a unique identifier known as the “thing name.” The thing name is used to interact with the device via the AWS IoT Core APIs (application programming interface), the CypherMed Cloud API, or other AWS services.
The device registry makes it easier to manage the lifecycle of your IoT devices, including organizing devices into groups, searching and filtering devices, and tracking the status of devices.
Devices use standard protocols such as MQTT and HTTP to send and receive data. You are likely familiar with the popular HTTP protocol, which is commonly used for web communication, including this very webpage. But you may not have heard of MQTT (Message Queuing Telemetry Transport), a lightweight, publish/subscribe messaging protocol that is commonly used for IoT devices. It provides a reliable and efficient way to send and receive small messages, making it ideal for low-bandwidth and high-latency networks.
AWS IoT Core uses X.509 certificates for secure authentication and encryption between devices and the cloud. When a device is first connected, it must be registered and provisioned with a certificate. This serves as the device's digital identity and is used to authenticate the device to the cloud. If you are using CypherMed Cloud, this setup is done for you automatically upon device creation. During the authentication process, the device presents its certificate to the cloud and both the device and the cloud validate each other's identity. All communication between the device and the cloud is encrypted using the Transport Layer Security (TLS) protocol. This ensures only trusted devices can communicate with the cloud and helps prevent unauthorized access and man-in-the-middle attacks.
The rules engine in AWS IoT Core is a component that allows users to define and enforce rules for the flow of data between devices and the cloud. It provides a way to process and act on device data in real-time, without the need for manual intervention.
A rule in the rules engine consists of a statement that specifies a condition, and an action to be taken when the condition is met. For example, a rule might state that if a device reports a temperature greater than 100°F, then send an email to the administrator.
The rules engine supports various actions, such as sending data to AWS services like Amazon S3, Amazon DynamoDB, Amazon Kinesis, or Amazon Simple Notification Service (SNS). This allows users to easily integrate their IoT devices with other AWS services and to build complex IoT solutions.
A device shadow, also known as a "thing shadow", in AWS IoT Core is a virtual representation of a device's state in the cloud. It acts as a buffer between the current state of a device and the desired state, and helps to manage communication between the device and the cloud.
The device shadow stores the current state of a device, as well as the desired state, and provides a way for other AWS services, or applications, to interact with the device indirectly. For example, if a device is powered off, or if it is not connected to the internet, an application can still interact with the device shadow to retrieve the latest data or set the desired state of the device.
When a device is connected and communicating with the cloud, it can update its state in the device shadow, and the device shadow can synchronize the desired state with the device. This allows the device to stay in sync with the cloud, even if there are periods of disconnection.
AWS IoT Core is clearly a very comprehensive cloud service, enabling communication and security for your many internet-connected devices. With this information you're ready to dive in and start building IoT solutions with AWS IoT Core. Or at the very least you now know where the Roomba is sending your data.
In a future blog post I will expand on some of the more complex IoT Core features, but hopefully this introduction helps to demystify the world of IoT. As a software services provider, we have witnessed firsthand the rapid increase in demand for IoT and cloud computing, making IoT Core an increasingly crucial notch on our toolbelt. For more information on IoT Core, or how we are leveraging it to build our cutting-edge CypherMed Cloud platform, feel free to reach out to us here at Promenade Software.