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

您正在查看Amazon IoT Greengrass Version 1.Amazon IoT Greengrass Version 2是最新的主要版本Amazon IoT Greengrass. 有关使用Amazon IoT Greengrass V2,请参阅Amazon IoT Greengrass Version 2开发人员指南.

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

在核心设备上启动 Amazon IoT Greengrass

注意

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

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

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

  • greengrass-OS-architecture-1.11.3.tar.gz. 此压缩文件包含Amazon 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.3.tar.gz pi@IP-address:/home/pi pscp -pw Pi-password hash-setup.tar.gz 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.3.tar.gz pi@IP-address:/home/pi scp hash-setup.tar.gz 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.3.tar.gz pi@IP-address:/home/pi scp hash-setup.tar.gz 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 核心设备上打开终端并导航到包含压缩文件的文件夹(例如,cd /home/pi)。

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

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

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

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

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

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

    审核服务器身份验证中的Amazon IoT开发人员指南并选择适当的根 CA 证书。建议您使用 Amazon Trust Services (ATS) 终端节点和 ATS 根 CA 证书。利用证书,设备能够通过 TLS 使用 MQTT 消息收发协议来与 Amazon IoT Core 进行通信。

    例如,运行以下命令以下载 Amazon 根 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. 在核心设备上启动 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.3/bin/daemon)。如果您在启动 Amazon IoT Greengrass 时遇到问题,请查看 Amazon IoT Greengrass 故障排除