Amazon Internet of Things Service Components
Start course

Course Description:

This is an introductory course for the Amazon Internet of Things (IoT) service. In this course, we will define and discuss the concept of the Internet of Things. We will define telemetry and how it relates to the Amazon Internet of Things service. Next we will define and discuss the Amazon Internet of Things or “IoT” service. We will talk about the benefits of the service. Then we will talk about the Amazon IoT service features. Next, we will talk about why we would use the Amazon Internet of Things service. And finally, we will discuss how to locate IoT service in the AWS console and describe the basic steps for setting it up.

Intended audience:

This is a beginner level course intended for anyone who is interested in learning the basics about the Amazon Internet of Things Service. Before attending this course, you may want to attend the “Benefits of Cloud Computing," and “Fundamentals of AWS” Learning Paths, or attend the “What is Cloud Computing?” and “Technical Fundamentals of AWS” courses. While these are not required to attend this course, they include helpful concepts that might make the content of this course a little easier to understand.

Learning objectives:

  • Describe the features and benefits of the Amazon Internet of Things service.
  • Explain when to use the Amazon Internet of Things service.
  • Locate the IoT service option in the AWS console and discuss how to configure it.
  • Give examples of use case scenarios for Amazon Internet of Things service.

This Course Includes:

  • AWS Internet of Things overview
  • AWS Internet of things use-case scenario

What You'll Learn:

  • Course Intro: What to expect from this course.
  • Course Terminology: Definition of terms related to the Amazon Internet of Things service.
  • Amazon Internet of Things (IoT) Service Overview: An overview of the Amazon IoT service including features and benefits of the service.
  • Service Components: An overview of the Amazon IoT service components: Device SDK, Device Security, Device Gateway, Registry, Rules Engine, and Device Shadows.
  • Using the Service: A use-case scenario for the Amazon IoT service.
  • Course Summary: A summary of what was learned in the course.

In this next section, we're going to do a quick overview of the components of the Amazon IoT Service.

The first component we're going to discuss is the device SDK. Your connected devices need to be coded so that they can connect with a platform and execute actions. The Amazon Device SDK is a software development kit that includes a set of client libraries to connect, authenticate and exchange messages. SDKs are available in many of the popular languages like C, Node.js, Java, Python, Arduino, and mobile SDKs for Android and iOS. These tools make it fairly easy to write your code and easily connect with the service.

Next, you need to securely connect your devices to the platform. Authentication and authorization are built into the AWS IoT Service. Objects connect securely by using transport layer security or TLS Version 1.2 using mutual authentication. This means that AWS IoT is able to identify which devices are connected and verify that it's not some other device impersonating your device, and then also that devices can verify that they are connecting to AWS IoT and not some other entity impersonating the platform. You can provide your own certificates or AWS has a certificate store where you can request a certificate to identify and secure your device for communicating with AWS. Once the devices have been authenticated and connected, you can use IAM rules and policies to granularly control what devices can do and the type of access users have to information generated by devices.

Let's talk about the device gateway component. Device gateway is a message broker. It supports standard protocols such as MQTT, HTTP, and WebSockets. It's used to exchange data messages between your device and AWS IoT. These protocols use a standard publisher-subscriber or pub/sub model. So, your devices will connect using the appropriate protocol and publish data in the form of topics. Applications will subscribe to that topic and be notified of any data published relating to the topic to which they are subscribing. So, for example, the air conditioning units in a building might publish information regarding temperature changes in the building. And then a technician, who has installed the app on his phone to help him monitor those units, would receive the temperature messages as information on his phone via the app.

Devices that are connected to Amazon's IoT Service are represented by things in the registry. The registry is used to establish an identity for your devices and can keep data about your devices, store device attributes, and keep track of devices. The AWS IoT Rules Engine provides message processing, transformation, and integration with other AWS services. It uses a SQL-based language to select data from message payloads, process the data, and send the data to other Amazon services such as S3, Lambda, DynamoDB, and others.

Device shadows are virtual representations of your physical things or devices. The purpose of a device shadow is that unlike your devices that may sleep to conserve battery power or change states based on a command received from a human or an application, the device shadow is always available to your application so the thing will report its current state to the device shadow. The shadow will determine whether or not the current state is the desired state based on the information it receives from the application. If the desired and current state match, then the shadow sets its state to match the actual state of the physical device and nothing changes. If they do not match, then the shadow will report the difference to the application. The application will set the desired state and the shadow will request that the device change to the desired state. Once this is done, the device and the shadow will be in sync.

So, for example, you turn off your car and lock the doors, retrieve your groceries from the trunk, and then realize that you've locked your keys in the trunk. You contact your in-vehicle service provider and tell them that you need to unlock the trunk so that you can get your keys. The current state of the trunk is locked. The desired state is unlocked. The agent uses an application to change the state from locked to unlocked. The trunk opens and you can get your keys.

About the Author

Sarah is an educator and instructional designer. She started her career doing computer training, Microsoft Certified training, then telephony training for a local Indianapolis start up. She has a passion for helping others to learn and writing engaging content. When she is not working, she loves to travel with her family, walk her dog, or curl up somewhere with a good book.