设置其他设备 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon IoT Greengrass Version 1 2023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅 Amazon IoT Greengrass V1 维护策略。在此日期之后,将 Amazon IoT Greengrass V1 不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上面运行的设备 Amazon IoT Greengrass V1 不会中断,将继续运行并连接到云端。我们强烈建议您迁移到 Amazon IoT Greengrass Version 2,这样可以添加重要的新功能支持其他平台

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

设置其他设备

按照本主题中的步骤设置设备(不包括 Raspberry Pi)用作您的 Amazon IoT Greengrass 核心。

提示

或者,要使用用于设置环境并为您安装 Amazon IoT Greengrass 核心软件的脚本,请参阅快速入门:Greengrass 设备安装程序

如果您刚开始使用 Amazon IoT Greengrass,我们建议您使用 Raspberry Pi 或 Amazon EC2 实例作为您的核心设备,并且按照适合您的设备的设置步骤进行操作。

如果你打算使用 Yocto Project 构建基于 Linux 的自定义系统,你可以使用 meta-aws 项目中的 Amazon IoT Greengrass Bitbake 配方。此配方还可以帮助您开发支持嵌入式应用程序 Amazon 边缘软件的软件平台。Bitbake 版本可在您的设备上安装、配置并自动运行 Amazon IoT Greengrass Core 软件。

Yocto 项目

一个开源协作项目,可帮助您为嵌入式应用程序构建基于 Linux 的自定义系统,无论硬件架构如何。有关更多信息,请参阅 Yocto 项目

meta-aws

一个提供 Yocto 配方的 Amazon 托管项目。您可以使用这些配方在基于 Linux 的系统中开发使用 OpenEmbedded 和 Yocto 项目构建的 Amazon 边缘软件。有关此社区支持的功能的更多信息,请参阅 GitHub 上的 meta-aws 项目。

meta-aws-demos

包含 meta-aws 项目演示的 Amazon 托管项目。有关集成过程的更多示例,请参阅 GitHub 上的 meta-aws-demos 项目。

要使用不同的设备或受支持的平台,请按照本主题中的步骤操作。

  1. 如果您的核心设备是 NVIDIA Jetson 设备,您必须先使用 JetPack 4.3 安装程序刷写该固件。如果要配置不同的设备,请跳至步骤 2。

    注意

    您使用的 JetPack 安装程序版本基于目标 CUDA 工具包版本。以下说明使用 JetPack 4.3 和 CUDA Toolkit 10.0。有关使用适合您设备的版本的信息,请参阅 NVIDIA 文档中的如何安装 Jetpack

    1. 在运行 Ubuntu 16.04 或更高版本的物理桌面上,使用 JetPack 4.3 安装程序切换该固件,如 NVIDIA 文档的下载并安装 JetPack (4.3) 中所示。

      按照安装程序中的说明将所有软件包和依赖项安装在 Jetson 板上,后者必须通过 Micro-B 电缆连接到桌面。

    2. 以正常模式重启您的面板,然后将一个显示屏连接到面板。

      注意

      使用 SSH 连接到 Jetson 板时,请使用默认用户名 (nvidia) 和默认密码 (nvidia)。

  2. 运行以下命令以创建用户 ggc_user 和组 ggc_group。根据核心设备上安装的分配,运行的命令将有所不同。

    • 如果核心设备正在运行 OpenWrt,请运行以下命令:

      opkg install shadow-useradd opkg install shadow-groupadd useradd --system ggc_user groupadd --system ggc_group
    • 否则,请运行以下命令:

      sudo adduser --system ggc_user sudo addgroup --system ggc_group
      注意

      如果 addgroup 命令在系统上不可用,请使用以下命令。

      sudo groupadd --system ggc_group
  3. 可选。安装流管理器所需的 Java 8 运行时。此教程不使用流管理器,但它将使用默认情况下启用流管理器的 Default Group creation (默认组创建) 工作流。在部署组之前,使用此命令在核心设备上安装 Java 8 运行时或禁用流管理器。模块 3 中提供了有关禁用流管理器的说明。

    • 对于基于 Debian 或基于 Ubuntua 的发行版:

      sudo apt install openjdk-8-jdk
    • 对于基于 Red Hat 的发行版:

      sudo yum install java-1.8.0-openjdk
  4. 要确保您具有所需的所有依赖项,请从 GitHub Amazon IoT Greengrass 示例存储库下载并运行 Greengrass 依赖项检查程序。这些命令将解压和运行依赖项检查程序脚本。

    mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo ./check_ggc_dependencies | more
    注意

    check_ggc_dependencies 脚本在 Amazon IoT Greengrass 支持的平台上运行并需要特定的 Linux 系统命令。有关更多信息,请参阅依赖项检查程序的自述文件

  5. 按照依赖项检查程序输出的指示,在设备上安装所有必需的依赖项。对于缺少的内核级别依赖项,您可能需要重新编译内核。要安装 Linux 控制组 (cgroups),您可以运行 cgroupfs-mount 脚本。这将允许 Amazon IoT Greengrass 设置 Lambda 函数的内存限制。Cgroup 还需要在默认的容器化模式下运行 Amazon IoT Greengrass。

    如果没有错误在输出中显示,Amazon IoT Greengrass 应该能够在您的设备上成功运行。

    重要

    本教程需要 Python 3.7 运行时才能运行本地 Lambda 函数。启用流管理器后,还需要 Java 8 运行时。如果 check_ggc_dependencies 脚本生成提示缺少这些必备运行时的警告,请确保先安装它们,然后再继续。您可以忽略提示缺少其他可选运行时的警告。

    有关 Amazon IoT Greengrass 要求和依赖项的列表,请参阅支持的平台和要求