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

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

Amazon IoT Greengrass Discovery 演示应用程序

在运行之前Amazon IoT GreengrassFreeRTOS 的发现演示,您需要设置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. 从导航窗格中,选择角色,然后查找并选择GreenGrass_ServiceRole.

  3. 选择附加策略,选择亚马逊 S3FullAccessAWSIoTFullAccess,然后选择附加策略.

  4. 浏览至 Amazon IoT 控制台

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

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

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

您可以使用Quick Connect中的工作流程控制台 FreeRTOS快速将你的主板连接到Amazon IoT然后运行演示。FreeRTOS 配置当前不可用于以下主板:

  • Cypress CYW943907AEVAL1F 开发工具包

  • Cypress CYW954907AEVAL1F 开发工具包

  • Espressif ESP-WROVER-KIT

  • Epressif ESP32-DevKitC

  • Nordic nRF52840-DK

您也可以将主板连接到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 IoTMQTT 客户端,打开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 发现演示。