Amazon IoT Greengrass V1 发现演示应用程序 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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 权限
  1. 转到 IAM 控制台

  2. 从导航窗格中,选择 Roles (角色),然后查找并选择 Greengrass_ServiceRole

  3. 选择 Attach policies (附加策略),选择 AmazonS3FullAccessAWSIoTFullAccess,然后选择 Attach policy (附加策略)

  4. 浏览至 Amazon IoT 控制台

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

  6. 选择 Settings (设置),然后选择 Add role (添加角色)

  7. 选择 Greengrass_ServiceRole,然后选择 Save (保存)

将主板连接到 Amazon IoT 并配置 FreeRTOS 演示。

  1. 将您的 MCU 主板注册到 Amazon IoT

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

    创建新的 Amazon IoT Greengrass 策略
    1. 浏览至 Amazon IoT 控制台

    2. 在导航窗格中依次选择安全策略创建

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

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

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

      此策略向所有资源授予 Amazon IoT Greengrass 权限。

    5. 选择 Create(创建)。

    将 Amazon IoT Greengrass 策略附加到设备证书
    1. 浏览至 Amazon IoT 控制台

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

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

    4. 选择 Policies (策略),选择 Actions (操作),然后选择 Attach Policy (附加策略)

    5. 查找并选择之前创建的 Greengrass 策略,然后选择 Attach (附加)

  2. 下载 FreeRTOS

    注意

    如果要从 FreeRTOS 控制台下载 FreeRTOS,请选择连接到 Amazon IoT Greengrass- 平台,而不是连接到 Amazon IoT- 平台

  3. 配置 FreeRTOS 演示.

    打开 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 控制台,选择测试,选择 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 实例

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

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

  3. 选择入站规则选项卡,然后选择编辑入站规则并添加以下规则。

    入站规则
    类型 协议 端口范围 描述 - 可选
    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 -
  4. 在 Amazon IoT 控制台中,选择 Greengrass,选择 ,然后选择先前创建的 Greengrass 组。选择 Settings。将本地连接检测更改为手动管理连接信息

  5. 在导航窗格中,选择核心,然后选择您的组核心。

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

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

    1. 选择返回箭头以返回 Amazon IoT Greengrass 组页面。在导航窗格中,选择设备,然后选择添加设备

    2. 选择选择 IoT 物品。选择您的设备,然后选择完成

  8. 添加必要的订阅 — 在 Greengrass 组页面上,选择订阅,然后选择添加订阅并输入信息,如下所示。

    订阅
    目标 主题
    TIGG1 IoT 云 freertos/demos/ggd

    其中“来源”是在注册主板时为 Amazon IoT 控制台中创建的 Amazon IoT 事务提供的名称,在本示例中为“TIGG1”。

  9. 启动 Amazon IoT Greengrass 组的部署,并确保该部署成功。现在,您应能够成功运行 Amazon IoT Greengrass 发现演示。