- [Raf] In past videos, you have heard us talking about AWS IoT, and some of its functionalities. In this video, I will give you a unified approach of what AWS IoT Core actually is, and how it helps your IoT operations. Over the progression of this course, you will also be introduced to AWS IoT SiteWise, which helps on the Industrial IoT side. But having a solid understanding about the AWS IoT Core is very important. If Greengrass is the broker where you do actions at the edge, AWS IoT Core is the cloud counterpart, which will allow you to do things in the cloud. AWS IoT Core is a managed service that allows you to connect and manage your fleet, allowing secure connections, with the ability to process and act upon device data. With AWS IoT Core, you can read and set device states at any time, work with device gateways, and use message brokers to securely transmit and receive messages among all your things. Let me explore some features that AWS IoT Core offers. I am going to talk about the registry, device gateway, and the rules engine. All right, let me start with the registry. The AWS IoT Registry is the catalog for all the things, regardless of their types and how we connect to the service. It also supports metadata that describes the capability of a device. For example, whether a sensor reports humidity, temperature, and if the temperature data is in Celsius or Fahrenheit. Imagine the registry as the catalog containing all the things you registered, with their corresponding groups, as well. You can use the AWS IoT console, AWS SDKs, or the AWS Command Line Interface to interact with the registry. For example, you can create a thing with the AWS CLI by typing: aws iot create-thing - -thing-name <the thing name> - -attribute-payload Then, you can add the attributes of that thing in a JSON array, like for example, attributes being "voltage": "127" and "model": "XYZ". When the thing gets created in the registry, you would have a response from AWS IoT Core containing the Amazon Resource Name, or ARN, of your new thing. The ARNs of your things can be listed by doing the list-things API call. So, if you type aws iot list-things in the AWS CLI, you get a list of all the things in the registry. For now, I want you to notice that the ARN uses a colon character as a delimiter, like arn:aws:iot: region:<account ID>: thing/<the thing name>. Now, three best practices when naming things. First, avoid using PII data in your thing name, since this name came up here in unencrypted communications. Second, do not use a colon character in a thing name, since this character is used as part of the ARN. This can cause confusion when parsing strings out. And the third best practice is actually a personal recommendation. If you don't know what to put as the thing name, a good suggestion is putting the serial number of the device as the thing name. Serial numbers are interesting, because ideally, they are already unique. Now, the device gateway. The device gateway serves as the entry point for IoT devices connecting to AWS. It is the component responsible for managing all active device connections, while implementing security for multiple protocols. All that to ensure that devices are able to securely and efficiently communicate with AWS IoT Core. Device gateway supports the most-used connectivity protocols in the industry, such as MQTT, WebSockets, and HTTP protocols. As you saw in previous videos of this course, you may need to deploy and configure an OPC-UA server in your factory. This server needs to connect to an endpoint in the cloud. And that endpoint is provided by AWS IoT device gateway endpoints. You can configure encrypted endpoints, and even use your own domain names for that, with SSL certificates issued by AWS Certificate Manager, or ACM. The rules engine is another important component of AWS IoT Core, as equally important as the other features, but notorious to what you can do with it. AWS IoT rules are the main gears to reroute messages and perform tasks, allowing interactions between your devices and multiple AWS services. For example, you can use the rules engine to write data received from a device to an Amazon DynamoDB table. You can also use the rules engine for other things, such as put messages on SQS queues, run AWS Lambda functions to extract data, save files to Amazon S3, start the execution of AWS Step Functions state machines, and many, many, many other actions. If you take a look at the AWS documentation, you will see lots of simple usages in there. Another common usage for the AWS IoT Core rules engine, is to interact with AWS IoT SiteWise. If you don't know what AWS IoT SiteWise is, stay tuned with us because we are going to talk about it in an upcoming video. Also, later in this course, we will be talking about some of the security features offered by AWS IoT Core, such as Device Management for fleet management, Device Defender for security, and a suite of services for data analytics.