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

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

Amazon IoT GreengrassV1 发现演示应用程序

重要

此演示托管在 Amazon-FreeRTOS 存储库中,该存储库已过时。建议您在创建新项目时从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅亚马逊 FreeRTOS Github 存储库迁移指南

在运行 FreeRTOS 的Amazon IoT Greengrass Discovery 演示版之前,需要设置AmazonAmazon 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. 选择 “附加策略”,选择 AmazonS3 AWSIoTFullAccess,FullAccess然后选择 “附加策略”。

  4. 浏览至 Amazon IoT 控制台

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

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

  7. 选择 Greengrass_ServiceRole,然后选择 “保存”。

将您的主板Connect 到 FreeRTOS 演示Amazon IoT并进行配置。

  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,请选择 “Connect 到Amazon IoT Greengrass-平台” 而不是 “Connect 到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控制台,选择 T es t,选择 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 Group 页面中,选择订阅,然后选择添加订阅并输入如下所示的信息。

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

    其中 “Source” 是你注册看板时在Amazon IoT控制台中创建的Amazon IoT东西的名称,这里给出的例子是 “TIGG1”。

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