在核心设备上启动 AWS IoT Greengrass - AWS IoT Greengrass
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

在核心设备上启动 AWS IoT Greengrass

注意

虽然本教程提供了有关在 Raspberry Pi 上启动 AWS IoT Greengrass 的说明,但您可以使用任何受支持的设备。

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

  • hash-setup.tar.gz (例如,c6973960cc-setup.tar.gz)。此压缩文件包含核心设备证书和加密密钥,它们支持在 AWS IoT Core 与 config.json 文件(其中包含特定于 Greengrass 核心的配置信息)之间进行安全通信。此信息包括证书文件的位置和 AWS IoT Core 终端节点。

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

 

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

    注意

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

    hostname -I
  2. 将两个压缩文件从计算机传输到 Greengrass 核心设备。选择您的操作系统,了解说明如何将文件传输到 Raspberry Pi 设备的步骤。文件传输步骤因设备 或 EC2 实例而异。

    注意

    对于 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.0.tar.gz pi@IP-address:/home/pi pscp -pw Pi-password hash-setup.tar.gz pi@IP-address:/home/pi
    注意

    此命令中的版本号必须与您的 AWS 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.0.tar.gz pi@IP-address:/home/pi scp hash-setup.tar.gz pi@IP-address:/home/pi
    注意

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

    UNIX-like system

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

    cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.0.tar.gz pi@IP-address:/home/pi scp hash-setup.tar.gz pi@IP-address:/home/pi
    注意

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

    Raspberry Pi web browser

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

  3. 在 Greengrass 核心设备上打开终端并导航到包含压缩文件的文件夹(例如,cd /home/pi)。

    cd path-to-compressed-files
  4. 解安装 AWS IoT Greengrass Core 软件和安全资源。

    • 第一条命令在核心设备的根文件夹中创建 /greengrass 目录(通过 -C / 参数)。

    • 第二条命令将核心设备证书和密钥复制到 /greengrass/certs 文件夹中,并将 config.json 文件复制到 /greengrass/config 文件夹中(通过 -C /greengrass 参数)。

    sudo tar -xzvf greengrass-OS-architecture-1.11.0.tar.gz -C / sudo tar -xzvf hash-setup.tar.gz -C /greengrass
    注意

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

  5. 确保您的核心设备已连接到 Internet。然后,将根 CA 证书下载到设备上的 /greengrass/certs 文件夹。

    查看 AWS IoT 开发人员指南 中的服务器身份验证并选择合适的根 CA 证书。我们建议使用 Amazon Trust Services (ATS) 终端节点以及 ATS 根 CA 证书。利用证书,设备能够通过 TLS 使用 MQTT 消息传递协议来与 AWS IoT Core 进行通信。

    例如,运行以下命令以下载 Amazon Root CA 1 证书并将其重命名为 root.ca.pem。 这是在您从控制台下载的 config.json 中注册的文件名。

    cd /greengrass/certs/ sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

    可运行以下命令来确认 root.ca.pem 不为空。如果文件为空,请检查 wget URL,然后重试。

    cat root.ca.pem
    注意

    您的根 CA 证书类型必须与您的终端节点匹配。如果您将核心配置为使用旧式身份验证终端节点,请改为下载 VeriSign 根 CA 证书尽管对于本教程来说,传统终端节点是可以接受的,但是我们建议您使用 ATS 终端节点并下载 ATS 根 CA 证书。。

  6. 在核心设备上启动 AWS IoT Greengrass。

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

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

    注意

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

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

    ps aux | grep PID-number

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