AWS IoT Greengrass
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在核心设备上启动 AWS IoT Greengrass

注意

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

上一个步骤中,您已将两个文件下载到计算机:

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

  • hash-setup.tar.gz。该压缩文件包含允许在 AWS IoT 之间进行安全通信所用的安全证书,以及 config.json,其中包含特定于 AWS IoT Greengrass Core和 AWS IoT 终端节点的配置信息。

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

    注意

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

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

    注意

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

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

    WindowsmacOSUNIX-like systemRaspberry Pi web browser
    Windows

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

    cd path-to-downloaded-files pscp -pw Pi-password greengrass-OS-architecture-1.9.1.tar.gz pi@IP-address:/home/pi pscp -pw Pi-password hash-setup.tar.gz pi@IP-address:/home/pi

    例如:

    
                                        正在使用 PuTTY 的 pscp 命令。
    macOS

    要将压缩文件从 Mac 传输到 Raspberry Pi AWS IoT Greengrass Core设备,请在计算机上打开终端窗口,并运行以下命令。path-to-downloaded-files 通常为 ~/Downloads

    注意

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

    cd path-to-downloaded-files scp greengrass-OS-architecture-1.9.1.tar.gz pi@IP-address:/home/pi scp hash-setup.tar.gz pi@IP-address:/home/pi
    UNIX-like system

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

    cd path-to-downloaded-files scp greengrass-OS-architecture-1.9.1.tar.gz pi@IP-address:/home/pi scp hash-setup.tar.gz pi@IP-address:/home/pi
    Raspberry Pi web browser

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

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

    cd path-to-compressed-files
  4. 解压缩 AWS IoT Greengrass 核心软件和安全资源。

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

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

    sudo tar -xzvf greengrass-OS-architecture-1.9.1.tar.gz -C / sudo tar -xzvf hash-setup.tar.gz -C /greengrass
  5. 查看有关 AWS IoT 核心中的服务器身份验证的文档并选择合适的根 CA 证书。我们建议使用 Amazon Trust Services (ATS) 终端节点以及 ATS 根 CA 证书。利用证书,设备能够通过 TLS 使用 MQTT 消息收发协议来与 AWS IoT 进行通信。

    确保 AWS IoT Greengrass Core 设备已连接到 Internet,然后将根 CA 证书下载到您的核心设备。

    重要

    您的根 CA 证书类型必须与终端匹配。使用具有 ATS 终端节点(首选)的 ATS 根 CA 证书或具有传统终端节点的 Verisign 根 CA 证书。有关更多信息,请参阅 终端节点必须与证书类型匹配

    对于 ATS 端点(首选),请下载恰当的 ATS 根 CA 证书。以下举例下载 AmazonRootCA1.pemwget -O 参数是大写字母 O。

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

    注意

    对于旧终端节点,请下载 Verisign 根 CA 证书。尽管对于本教程来说,遗留端点是可以接受的,但是我们建议您创建一个 ATS 端点并下载一个 ATS 根 CA 证书。

    cd /greengrass/certs/ sudo wget -O root.ca.pem https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem

    可运行以下命令来确认 root.ca.pem 文件不为空:

    cat root.ca.pem

    如果 root.ca.pem 文件为空,请检查 wget URL,然后重试。

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

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

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

    注意

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

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

    ps aux | grep PID-number

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