教程:在 Amazon IoT中预置设备 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

教程:在 Amazon IoT中预置设备

本节将创建教程将使用的 Amazon IoT Core资源。

步骤 1:创建 Device Shadow 的 Amazon IoT策略

X.509 证书使用 Amazon IoT Core对您的设备进行身份验证。Amazon IoT 策略附加到允许设备执行 Amazon IoT操作(如订阅或发布 Device Shadow 服务使用的 MQTT 预留主题)的证书。您的设备在与 Amazon IoT Core连接并向其发送消息时会提供其证书。

在此流程中,您将创建一个策略以允许您的设备执行运行示例程序所必要的 Amazon IoT操作。建议您创建一个策略以仅授予执行任务所需的许可。您可以先创建 Amazon IoT策略,然后将其附加到稍后将创建的设备证书。

创建 Amazon IoT策略

  1. 在左侧菜单中,选择 Secure(安全),然后选 Policies(策略)。如果您的账户已有策略,请选择 Create(创建),否则,在 You don’t have a policy yet(您还没有策略)页面上,选择 Create a policy(创建策略)。

  2. Create a policy(创建策略)页面上:

    1. Name(名称)字段,输入策略的名称(例如 My_Device_Shadow_policy)。请勿在策略名称中使用个人身份信息。

    2. 在策略文档中,您描述了授予设备发布和订阅 MQTT 保留主题权限的连接、订阅、接收和发布操作。

      复制以下策略并将其粘贴到策略文档中。将 thingname替换为您要创建的事物名称(例如 My_light_bulb),将 region替换为您正在使用这些服务的 Amazon IoT区域,将 account替换为您的 Amazon Web Services 账户数量。有关 Amazon IoT策略的更多信息,请参阅 Amazon IoT Core 策略

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:aws:iot:region:account:client/test-*" } ] }

步骤 2:创建事物资源并将策略附加到事物

连接到 Amazon IoT的设备在 Amazon IoT注册表中由事物资源表示。事物资源表示特定设备或逻辑实体,如本教程中的灯泡。

要了解如何在 Amazon IoT创建事物,请执行 创建一个事物对象中所述的步骤。以下是您在遵循该教程中的步骤时需要注意的几个关键事项:

  1. 选择 Create a single thing(创建单个事物),并在 Name(名称)字段中,输入 与您在之前创建策略时指定的 thingname相同的事物名称(例如,My_light_bulb)。

    事物名称一旦创建,便不可更改。如果您给它一个不同于 thingname的名字,请以 thingname为名称创建新的事物,并删除旧的事物。

    注意

    请勿在事物名称中使用个人身份信息。事物名称可以出现在未加密的通信和报告中。

  2. 我们建议您将 Certificate created!(已创建证书!)页面的每个证书文件下载到您可以轻松找到的位置。您需要安装这些文件才能运行示例应用程序。

    建议您将文件下载到 Raspberry Pi 中您的 home目录下的 certs子目录中,并使用一个更简单的名称命名各个文件,如下表所示。

    证书文件名

    文件

    文件路径

    根 CA 证书

    ~/certs/Amazon-root-CA-1.pem

    设备证书

    ~/certs/device.pem.crt

    私有密钥

    ~/certs/private.pem.key

  3. 激活证书以启用与 Amazon IoT的连接后,请选择 Attach a policy(附加策略)并确保将您之前创建的策略(例如,My_Device_Shadow_policy)附加到事物。

    创建事物后,您可以看到您的事物资源在 Amazon IoT控制台中的事物列表里显示。

步骤 3:查看结果和后续步骤

在本教程中,您学习了如何:

  • 设置和配置 Raspberry Pi 设备。

  • 创建 Amazon IoT策略文档,以授权您的设备与 Amazon IoT服务交互。

  • 创建事物资源和关联的 X.509 设备证书,并将策略文档附加到其中。

后续步骤

您现在可以安装 Amazon IoTDevice SDK for Python,运行 shadow.py示例应用程序,然后使用 Device Shadow 控制状态。有关如何使用该教程的更多信息,请参阅 教程:安装设备软件开发包并运行 Device Shadow 示例应用程序