本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:在中配置您的设备 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策略
-
在左侧菜单中,选择 Secure(安全),然后选 Policies(策略)。如果您的账户已有策略,请选择 Create(创建),否则,在 You don’t have a policy yet(您还没有策略)页面上,选择 Create a policy(创建策略)。
-
在 Create a policy(创建策略)页面上:
-
在 Name(名称)字段,输入策略的名称(例如
My_Device_Shadow_policy)。请勿在策略名称中使用个人身份信息。 -
在策略文档中,您描述了授予设备发布和订阅 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,请按照中所述的步骤进行操作创建一个事物对象。以下是您在遵循该教程中的步骤时需要注意的几个关键事项:
-
选择创建单个事物,并在名称字段中,输入与您在之前创建策略时指定的
thingname相同的事物名称(例如,My_light_bulb)。事物名称一旦创建,便不可更改。如果您给它一个不同于
thingname的名字,请以thingname为名称创建新的事物,并删除旧的事物。注意
请勿在事物名称中使用个人身份信息。事物名称可以出现在未加密的通信和报告中。
-
我们建议您将 Certificate created!(已创建证书!)页面的每个证书文件下载到您可以轻松找到的位置。您需要安装这些文件才能运行示例应用程序。
建议您将文件下载到 Raspberry Pi 中您的
home目录下的certs子目录中,并使用一个更简单的名称命名各个文件,如下表所示。证书文件名 文件
文件路径
根 CA 证书
~/certs/Amazon-root-CA-1.pem设备证书
~/certs/device.pem.crt私有密钥
~/certs/private.pem.key -
激活证书以启用与之连接后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 示例应用程序。