安装并运行Amazon IoT Greengrass在核心设备上 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

安装并运行Amazon IoT Greengrass在核心设备上

注意

本教程提供有关以下操作的说明:Amazon IoT Greengrass核心软件位于树莓派上,但您可以使用任何受支持的设备。

在本节中,您将配置、安装和运行Amazon IoT Greengrass核心设备上的核心软件。

要安装和运行 AberryAmazon IoT Greengrass
  1. Amazon IoT GreengrassCore 软件部分中,请下载本指南的Amazon IoT Greengrass核心软件安装包。选择最适合核心设备的 CPU 架构、发行版和操作系统的安装包。

    • 对于 Raspberry Rapberry Ri berry ricate,请下载适用于 Armv7l 架构和

    • 对于 Amazon EC2 实例,请下载适用于 x86_6_64 架构和 Linux 操作系统的安装包。

    • 对于 NVIDIA Jetson TX2,请下载适用于 Armv8 (AArch64) 架构和 Linux 操作系统的安装包。

    • 对于 Intel Atom,请下载适用于 x86_6_64 架构和 Linux 操作系统的安装包。

  2. 在前面的步骤中,您已将五个文件下载到计算机:

    • greengrass-OS-architecture-1.11.6.tar.gz— 此压缩文件包含Amazon IoT Greengrass在核心设备上运行的核心软件。

    • certificateId-certificate.pem.crt— 设备证书文件。

    • certificateId-public.pem.key— 设备证书的公有密钥密钥密钥密钥文件。

    • certificateId-private.pem.key— 设备证书的私有密钥密钥密钥密钥文件。

    • AmazonRootCA1.pem— 亚马逊根证书颁发机构 (CA) 颁发机构 (CA) 的文件。

    在此步骤中,您将这些文件从计算机传输到核心设备。执行以下操作:

    1. 如果您不知道 Greengrass 核心设备的 IP 地址,请在核心设备上打开终端并运行以下命令。

      注意

      此命令可能无法为某些设备返回正确的 IP 地址。请参阅设备的文档以检索设备 IP 地址。

      hostname -I
    2. 将这些文件从计算机传输到核心设备。文件传输步骤因计算机操作系统而异。选择您的操作系统,了解说明如何将文件传输到 Raspberry Pi 设备的步骤。

      注意

      对于 Raspberry Pi,默认用户名为 pi,默认密码为 raspberry

      对于 NVIDIA Jetson TX2,默认用户名为 nvidia,默认密码为 nvidia

      Windows

      要将压缩文件从计算机传输到 Raspberry Pi 核心设备,请使用 WinSCPPuTTY pscp 命令等工具。要使用 pscp 命令,请在计算机上打开命令提示符窗口并运行以下命令:

      cd path-to-downloaded-files pscp -pw Pi-password greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi pscp -pw Pi-password certificateId-certificate.pem.crt pi@IP-address:/home/pi pscp -pw Pi-password certificateId-public.pem.key pi@IP-address:/home/pi pscp -pw Pi-password certificateId-private.pem.key pi@IP-address:/home/pi pscp -pw Pi-password AmazonRootCA1.pem pi@IP-address:/home/pi
      注意

      此命令中的版本号必须与您的 Amazon IoT Greengrass Core 软件包的版本一致。

      macOS

      要将压缩文件从 Mac 传输到 Raspberry Pi 核心设备,请在计算机上打开终端窗口,并运行以下命令。这些区域有:path-to-downloaded-files通常是~/Downloads.

      注意

      可能会提示您输入两个密码。如果是这样的话,第一个密码用于 Mac 的 sudo 命令,第二个是 Raspberry Pi 的密码。

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      注意

      此命令中的版本号必须与您的 Amazon IoT Greengrass Core 软件包的版本一致。

      UNIX-like system

      要将压缩文件从您的计算机传输到 Raspberry Pi 核心设备,请在您的计算机上打开一个终端窗口并运行以下命令:

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      注意

      此命令中的版本号必须与您的 Amazon IoT Greengrass Core 软件包的版本一致。

      Raspberry Pi web browser

      如果您使用了 Raspberry Pi 的 Web 浏览器来下载压缩文件,文件应该位于 Pi 的~/Downloads文件夹,例如/home/pi/Downloads. 否则,压缩文件应位于 Pi 的中~文件夹,例如/home/pi.

  3. 在 Greengrass 核心设备上,打开终端并导航到包含Amazon IoT Greengrass核心软件和证书。Replacepath-to-transferred-files将文件传输到核心设备上核心设备上的文件路径。例如,在 Raspberry Reterry ry recd /home/pi.

    cd path-to-transferred-files
  4. 解压缩包装Amazon IoT Greengrass核心设备上的核心软件。运行以下命令以解压缩您传输到核心设备的软件存档,以解压缩传输到核心设备的安装包。此命令使用-C /参数来创建/greengrass核心设备的根文件夹中的文件夹。

    sudo tar -xzvf greengrass-OS-architecture-1.11.6.tar.gz -C /
    注意

    此命令中的版本号必须与您的 Amazon IoT Greengrass Core 软件包的版本一致。

  5. 将证书和密钥移到Amazon IoT Greengrass核心软件文件夹。运行以下命令为证书创建文件夹并将证书和密钥移至该文件夹。Replacepath-to-transferred-files使用您在核心设备上传输文件的路径,然后替换certificateId文件名中包含证书 ID。例如,在 Raspberry Rapberry repath-to-transferred-files/home/pi

    sudo mv path-to-transferred-files/certificateId-certificate.pem.crt /greengrass/certs sudo mv path-to-transferred-files/certificateId-public.pem.key /greengrass/certs sudo mv path-to-transferred-files/certificateId-private.pem.key /greengrass/certs sudo mv path-to-transferred-files/AmazonRootCA1.pem /greengrass/certs
  6. 这些区域有:Amazon IoT Greengrass核心软件使用一个配置文件来指定软件的参数。此配置文件指定证书文件的文件路径和Amazon Web Services 云要使用的终端节点。在此步骤中,您将创建Amazon IoT Greengrass核心的核心软件配置文件。执行以下操作:

    1. 获取核心的 Amazon 资源名称 (ARN)Amazon IoT thing. 执行以下操作:

      1. Amazon IoT控制台,在Manage,在Greengrass,选择组 (V1).

      2. 在存储库的Greengrass 组页面上,选择您之前创建的组。

      3. 概述,选择Greengrass 核心.

      4. 在核心详情页面上,复制Amazon IoTARN,并将其保存在Amazon IoT Greengrass核心配置文件。

    2. GeterryAmazon IoT设备数据终端节点Amazon Web Services 账户在当前区域中。设备使用此端点连接到Amazon如同Amazon IoT things. 执行以下操作:

      1. Amazon IoT控制台,选择设置.

      2. 设备数据终端节点中,将端点,并将其保存在Amazon IoT Greengrass核心配置文件。

    3. 创建Amazon IoT Greengrass核心软件配置文件。例如,您可以运行以下命令以使用 GNU nano 创建文件。

      sudo nano /greengrass/config/config.json

      将文件内容替换为以下 JSON 文档以下 JSON 文档。

      { "coreThing" : { "caPath": "AmazonRootCA1.pem", "certPath": "certificateId-certificate.pem.crt", "keyPath": "certificateId-private.pem.key", "thingArn": "arn:aws:iot:region:account-id:thing/MyGreengrassV1Core", "iotHost": "device-data-prefix-ats.iot.region.amazonaws.com", "ggHost": "greengrass-ats.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes" } }, "managedRespawn": false, "crypto": { "caPath": "file:///greengrass/certs/AmazonRootCA1.pem", "principals": { "SecretsManager": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key" }, "IoTCertificate": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key", "certificatePath": "file:///greengrass/certs/certificateId-certificate.pem.crt" } } } }

      然后,执行以下操作:

      • 如果您下载的 Amazon 根 CA 证书不同于 Amazon 根 CA 1 证书,请替换AmazonRootca1.pem使用亚马逊根 CA 文件的名称。

      • 替换的每个实例certificateId证书和密钥文件的名称中包含证书 ID。

      • Replacearn: aws: iot:领域account-id: 事物/MyGreengrassV1Core使用您之前保存的核心内容的 ARN,您之前保存的核心事物 ARN。

      • ReplaceMyGreengrassv1core将核心的名称命名为核心事物。

      • Replacedevice-data-prefix-ats.iot.region.amazonaws.com用Amazon IoT您之前保存的设备数据终端节点。

      • Replace领域和你的Amazon Web Services 区域.

      有关可以在此配置文件中指定的配置选项的更多信息,请参阅 “” “” (Serre)。Amazon IoT Greengrass 核心配置文件.

  7. 确保您的核心设备已连接到 Internet。然后,启动Amazon IoT Greengrass在核心设备上。

    cd /greengrass/ggc/core/ sudo ./greengrassd start

    您应看到 Greengrass successfully started 消息。记录 PID。

    注意

    要将核心设备设置为在系统引导时启动 Amazon IoT Greengrass,请参阅 配置初始化系统以启动 Greengrass 守护程序

    您可以运行以下命令来确认 Amazon IoT Greengrass 核心软件(Greengrass 守护程序)是否正常工作。将 PID-number 替换为您的 PID:

    ps aux | grep PID-number

    您应看到 PID 的条目,其中包含指向正在运行的 Greengrass 守护程序的路径(例如,/greengrass/ggc/packages/1.11.6/bin/daemon)。如果您在启动 Amazon IoT Greengrass 时遇到问题,请查看 排除 Amazon IoT Greengrass 的故障