

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

# AWS IoT Greengrass V1 发现演示应用程序
<a name="gg-demov1"></a>

**重要**  <a name="deprecation-message-demo"></a>
此演示托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时，我们建议[从此处开始](freertos-getting-started-modular.md)。如果您已经有一个基于现已 Amazon-FreeRTOS 弃用的存储库的 FreeRTOS 项目，请参阅。[Amazon-FreeRTOS Github 存储库迁移](github-repo-migration.md)

在运行 FreeRTOS 的 AWS IoT Greengrass Discovery 演示之前，你需要 AWS设置 AWS IoT Greengrass、和。 AWS IoT要进行设置 AWS，请按照中的说明进行操作[设置你的 AWS 账户和权限](freertos-prereqs.md#freertos-account-and-permissions)。要进行设置 AWS IoT Greengrass，你需要创建一个 Greengrass 群组，然后添加一个 Greengrass 核心。有关设置的更多信息 AWS IoT Greengrass，请参阅[入门 AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/latest/developerguide/gg-gs.html)。

设置 AWS 和之后 AWS IoT Greengrass，您需要为配置一些额外的权限 AWS IoT Greengrass。

**设置 AWS IoT Greengrass 权限**

1. 转到 [IAM 控制台](https://console.aws.amazon.com/iam/home)。

1. 从导航窗格中选择 “**角色**”，然后找到并选择**Greengrass\_ServiceRole**。

1. 选择**附加策略**，选择**AmazonS3FullAccess**和 **AWSIoTFullAccess**，然后选择**附加策略**。

1. 浏览至 [AWS IoT 控制台](https://console.aws.amazon.com/iotv2/)。

1. 在导航窗格中，选择 **Greengrass**，选择 **Groups (组)**，然后选择之前创建的 Greengrass 组。

1. 选择 **Settings (设置)**，然后选择 **Add role (添加角色)**。

1. 选择 **Greengrass\_ServiceRole**，然后选择 “**保存**”。

将您的主板连接到 FreeRTOS 演示版 AWS IoT 并进行配置。

1. [注册您的 MCU 主板 AWS IoT](freertos-prereqs.md#get-started-freertos-thing)

   注册主板后，您需要创建新的 Greengrass 策略并将其附加到设备证书。

**要创建新的 AWS IoT Greengrass policy**

   1. 浏览至 [AWS IoT 控制台](https://console.aws.amazon.com/iotv2/)。

   1. 在导航窗格中依次选择**安全**、**策略**和**创建**。

   1. 输入用于标识您的策略的名称。

   1. 在**添加语句**部分中，选择**高级模式**。将以下 JSON 复制并粘贴到策略编辑器窗口中：

      ```
      {
            "Effect": "Allow",
            "Action": [
              "greengrass:*"
            ],
            "Resource": "*"
      }
      ```

      此策略授予对所有资源的 AWS IoT Greengrass 权限。

   1. 选择**创建**。

**要附上 AWS IoT Greengrass 对设备证书的政策**

   1. 浏览至 [AWS IoT 控制台](https://console.aws.amazon.com/iotv2/)。

   1. 在导航窗格中，选择 **Manage (管理)**，选择 **Things (事物)**，然后选择之前创建的事物。

   1. 选择 **Security (安全性)**，然后选择附加到设备的证书。

   1. 选择 **Policies (策略)**，选择 **Actions (操作)**，然后选择 **Attach Policy (附加策略)**。

   1. 查找并选择之前创建的 Greengrass 策略，然后选择 **Attach (附加)**。

1. [下载 FreeRTOS](freertos-prereqs.md#freertos-download)
**注意**  
**如果您要从 FreeRTOS 控制台下载 FreeRTOS，请选择 “连接到”，而不是 “**连接到 AWS IoT Greengrass**”。{{Platform}} AWS IoT{{Platform}}**

1. [配置 FreeRTOS 演示](freertos-prereqs.md#freertos-configure).

   打开 `{{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`。

设置完毕后 AWS IoT Greengrass， AWS IoT 以及下载和配置 FreeRTOS 之后，你可以在设备上构建、刷新和运行 Greengrass 演示。要设置主板的硬件和软件开发环境，请遵循[Board-specific 入门指南](getting-started-guides.md)中的说明。

Greengrass 演示向 Greengrass 核心和 MQTT 客户端发布了一系列消息。 AWS IoT 要在 AWS IoT MQTT 客户端中查看消息，请打开[AWS IoT 控制台](https://console.aws.amazon.com/iotv2/)，选择**测试**，选择 **MQTT 测试客户端**，然后向添加订阅。`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 实例
<a name="gg-demo-ec2"></a>

**在使用 Amazon EC2 实例的情况下**

1. 查找与您的 Amazon EC2 实例关联的公有 DNS (IPv4) — 转至 Amazon EC2 控制台，然后在左侧导航面板中选择**实例**。选择您的 Amazon EC2 实例，然后选择**描述**面板。查找并记下**公有 DNS (IPv4)** 的条目。

1. 查找**安全组**的条目，然后选择附加到您的 Amazon EC2 实例的安全组。

1. 选择**入站规则**选项卡，然后选择**编辑入站规则**并添加以下规则。  
**入站规则**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/gg-demov1.html)

1. 在 AWS IoT 控制台中选择 **Greengrass**，然后选择群组，**然后**选择你之前创建的 Greengrass 群组。选择**设置**。将**本地连接检测**更改为**手动管理连接信息**。

1. 在导航窗格中，选择**核心**，然后选择您的组核心。

1. 选择**连接**，并确保您只有一个核心终端节点（删除其余所有终端节点），并且它不是 IP 地址（因为它可能会发生更改）。最佳选择是使用您在第一步中记下的公有 DNS (IPv4)。

1. 将您创建的 FreeRTOS IoT 物品添加到 GG 组。

   1. 选择返回箭头返回 AWS IoT Greengrass 群组页面。在导航窗格中，选择**设备**，然后选择**添加设备**。

   1. 选择**选择 IoT 物品**。选择您的设备，然后选择**完成**。

1. 添加必要的订阅 — 在 **Greengrass 组**页面上，选择**订阅**，然后选择**添加订阅**并输入信息，如下所示。  
**订阅**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/freertos/latest/userguide/gg-demov1.html)

   其中 “来源” 是您注册看板时在 AWS IoT 控制台中创建的 AWS IoT 东西的名称，在此处给出的示例中为 “TIGG1”。

1. 开始部署您的群 AWS IoT Greengrass 组，并确保部署成功。现在，您应该可以成功运行 AWS IoT Greengrass 发现演示了。