本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon IoT Greengrass V1 发现演示应用程序
重要
该演示托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南。
为 FreeRTOS 运行 Amazon IoT Greengrass Discovery 演示之前,您需要设置 Amazon、Amazon IoT Greengrass 和 Amazon IoT。要设置 Amazon,请遵循 设置 Amazon 账户和权限 中的说明。要设置 Amazon IoT Greengrass,您需要创建一个 Greengrass 组,然后添加一个 Greengrass 核心。有关设置 Amazon IoT Greengrass 的更多信息,请参阅 Amazon IoT Greengrass 入门。
设置 Amazon 和 Amazon IoT Greengrass 之后,您需要为 Amazon IoT Greengrass 配置一些其他权限。
设置 Amazon IoT Greengrass 权限
-
转到 IAM 控制台
。 -
从导航窗格中,选择 Roles (角色),然后查找并选择 Greengrass_ServiceRole。
-
选择 Attach policies (附加策略),选择 AmazonS3FullAccess 和 AWSIoTFullAccess,然后选择 Attach policy (附加策略)。
-
浏览至 Amazon IoT 控制台
。 -
在导航窗格中,选择 Greengrass,选择 Groups (组),然后选择之前创建的 Greengrass 组。
-
选择 Settings (设置),然后选择 Add role (添加角色)。
-
选择 Greengrass_ServiceRole,然后选择 Save (保存)。
将主板连接到 Amazon IoT 并配置 FreeRTOS 演示。
-
注册主板后,您需要创建新的 Greengrass 策略并将其附加到设备证书。
创建新的 Amazon IoT Greengrass 策略
-
浏览至 Amazon IoT 控制台
。 -
在导航窗格中依次选择安全、策略和创建。
-
输入用于标识您的策略的名称。
-
在添加语句部分中,选择高级模式。将以下 JSON 复制并粘贴到策略编辑器窗口中:
{ "Effect": "Allow", "Action": [ "greengrass:*" ], "Resource": "*" }
此策略向所有资源授予 Amazon IoT Greengrass 权限。
-
选择 Create(创建)。
将 Amazon IoT Greengrass 策略附加到设备证书
-
浏览至 Amazon IoT 控制台
。 -
在导航窗格中,选择 Manage (管理),选择 Things (事物),然后选择之前创建的事物。
-
选择 Security (安全性),然后选择附加到设备的证书。
-
选择 Policies (策略),选择 Actions (操作),然后选择 Attach Policy (附加策略)。
-
查找并选择之前创建的 Greengrass 策略,然后选择 Attach (附加)。
-
-
注意
如果要从 FreeRTOS 控制台下载 FreeRTOS,请选择连接到 Amazon IoT Greengrass-
平台
,而不是连接到 Amazon IoT-平台
。 -
打开
,注释掉freertos
/vendors/vendor
/boards/board
/aws_demos/config_files/aws_demo_config.h#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED
并定义CONFIG_GREENGRASS_DISCOVERY_DEMO_ENABLED
。
设置 Amazon IoT 和 Amazon IoT Greengrass 以及下载和配置 FreeRTOS 后,您可以在设备上构建、刷写并运行 Greengrass 演示。要设置主板的硬件和软件开发环境,请遵循主板特定的入门指南中的说明。
该 Greengrass 演示向 Greengrass 核心和 Amazon IoT MQTT 客户端发布一系列消息。要查看 Amazon IoT MQTT 客户端中的消息,请打开 Amazon IoT 控制台freertos/demos/ggd
添加订阅。
在 MQTT 客户端中,您应看到下列字符串:
Message from Thing to Greengrass Core: Hello world msg #1! Message from Thing to Greengrass Core: Hello world msg #0! Message from Thing to Greengrass Core: Address of Greengrass Core found!
123456789012
.us-west-2
.compute.amazonaws.com
使用 Amazon EC2 实例
在使用 Amazon EC2 实例的情况下
-
查找与您的 Amazon EC2 实例关联的公有 DNS (IPv4) — 转至 Amazon EC2 控制台,然后在左侧导航面板中选择实例。选择您的 Amazon EC2 实例,然后选择描述面板。查找并记下公有 DNS (IPv4) 的条目。
-
查找安全组的条目,然后选择附加到您的 Amazon EC2 实例的安全组。
-
选择入站规则选项卡,然后选择编辑入站规则并添加以下规则。
入站规则类型 协议 端口范围 源 描述 - 可选 HTTP TCP 80 0.0.0.0/0 - HTTP TCP 80 ::/0 - SSH TCP 22 0.0.0.0/0 - 自定义 TCP TCP 8883 0.0.0.0/0 MQTT 通信 自定义 TCP TCP 8883 ::/0 MQTT 通信 HTTPS TCP 443 0.0.0.0/0 - HTTPS TCP 443 ::0/0 - 所有 ICMP - IPv4 ICMP 全部 0.0.0.0/0 - 所有 ICMP - IPv4 ICMP 全部 ::0/0 - -
在 Amazon IoT 控制台中,选择 Greengrass,选择 组,然后选择先前创建的 Greengrass 组。选择 Settings。将本地连接检测更改为手动管理连接信息。
-
在导航窗格中,选择核心,然后选择您的组核心。
-
选择连接,并确保您只有一个核心终端节点(删除其余所有终端节点),并且它不是 IP 地址(因为它可能会发生更改)。最佳选择是使用您在第一步中记下的公有 DNS (IPv4)。
-
将您创建的 FreeRTOS IoT 物品添加到 GG 组。
-
选择返回箭头以返回 Amazon IoT Greengrass 组页面。在导航窗格中,选择设备,然后选择添加设备。
-
选择选择 IoT 物品。选择您的设备,然后选择完成。
-
-
添加必要的订阅 — 在 Greengrass 组页面上,选择订阅,然后选择添加订阅并输入信息,如下所示。
订阅源 目标 主题 TIGG1 IoT 云 freertos/demos/ggd 其中“来源”是在注册主板时为 Amazon IoT 控制台中创建的 Amazon IoT 事务提供的名称,在本示例中为“TIGG1”。
-
启动 Amazon IoT Greengrass 组的部署,并确保该部署成功。现在,您应能够成功运行 Amazon IoT Greengrass 发现演示。