教程:在中配置您的设备 AWS IoT - AWS IoT Core

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

教程:在中配置您的设备 AWS IoT

本节创建了您的教程将使用的AWS IoT Core资源。

步骤 1:为 Device Shadow 创建AWS IoT策略

X.509 证书用于对您的设备进行身份验证。AWS IoT Core AWS IoT策略附加到证书,允许设备执行AWS IoT操作,例如订阅或发布到 Device Shadow 服务使用的 MQTT 保留主题。您的设备在连接并向其发送消息时会出示其证书AWS IoT Core。

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

创建AWS 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您正在使用服务的AWS IoT地区以及account您的AWS 账户电话号码。有关AWS IoT策略的更多信息,请参阅AWS IoT Core政策

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

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

连接的设备AWS IoT可以用AWS IoT注册表中的事物资源表示。事物资源表示特定设备或逻辑实体,如本教程中的灯泡。

要学习如何在中创建事物AWS IoT,请按照中所述的步骤进行操作创建一个事物对象。以下是您在遵循该教程中的步骤时需要注意的几个关键事项:

  1. 选择创建单个事物,并在名称字段中,输入与您在之前创建策略时指定的 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. 激活证书以启用与之连接后AWS IoT,选择附加策略,并确保将之前创建的策略(例如My_Device_Shadow_policy)附加到该事物。

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

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

在本教程中,您学习了如何:
  • 设置和配置 Raspberry Pi 设备。

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

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

后续步骤

现在,你可以安装适用于 Python 的AWS IoT设备 SDK,运行shadow.py示例应用程序,并使用设备影子来控制状态。有关如何使用该教程的更多信息,请参阅 教程:安装设备软件开发包并运行 Device Shadow 示例应用程序