

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 在核心设备 AWS IoT Greengrass 上安装并运行
<a name="start-greengrass"></a>

**注意**  
本教程为您提供了在 Raspberry Pi 上运行 AWS IoT Greengrass Core 软件的说明，但您可以使用任何支持的设备。

在本节中，你将在 AWS IoT Greengrass 核心设备上配置、安装和运行 Core 软件。

**要安装并运行 AWS IoT Greengrass**

1. 从本指南的[AWS IoT Greengrass 核心软件](what-is-gg.md#gg-core-download-tab)部分，下载 AWS IoT Greengrass 核心软件安装包。选择最适合核心设备的 CPU 架构、发行版和操作系统的安装包。
   + 对于 Raspberry Pi，请下载适用于 Armv7l 架构和 Linux 操作系统的软件包。
   + 对于 Amazon EC2 实例，请下载适用于 x86\$164 架构和 Linux 操作系统的安装包。
   + 对于 NVIDIA Jetson TX2，请下载适用于 Armv8 (AArch64) 架构和 Linux 操作系统的软件包。
   + 对于 Intel Atom，请下载适用于 x86\$164 架构和 Linux 操作系统的安装包。

1. 在之前的步骤中，您已将五个文件下载到计算机：
   + `greengrass-OS-architecture-1.11.6.tar.gz`— 此压缩文件包含在 AWS IoT Greengrass 核心设备上运行的核心软件。
   + `certificateId-certificate.pem.crt` – 设备证书文件。
   + `certificateId-public.pem.key` – 设备证书的公钥文件。
   + `certificateId-private.pem.key` – 设备证书的私钥文件。
   + `AmazonRootCA1.pem` – Amazon 根证书颁发机构 (CA) 文件。

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

   1. 如果您不知道 Greengrass 核心设备的 IP 地址，请在核心设备上打开终端并运行以下命令。
**注意**  
此命令可能无法为某些设备返回正确的 IP 地址。请参阅设备的文档以检索设备 IP 地址。

      ```
      hostname -I
      ```

   1. <a name="transfer-files-to-device"></a>将计算机中的这些文件传输到核心设备。文件传输步骤会根据计算机的操作系统而有所不同。选择您的操作系统，了解说明如何将文件传输到 Raspberry Pi 设备的步骤。
**注意**  
对于 Raspberry Pi，默认用户名为 **pi**，默认密码为 **raspberry**。  
对于 NVIDIA Jetson TX2，默认用户名为**nvidia**，默认密码为**nvidia**。

------
#### [ Windows ]

      要将压缩文件从计算机传输到 Raspberry Pi 核心设备，请使用 [WinSCP](https://winscp.net/eng/download.php) 或 [PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) **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
      ```

**注意**  
<a name="use-correct-package-version"></a>此命令中的版本号必须与 C AWS IoT Greengrass ore 软件包的版本相匹配。

------
#### [ 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
      ```

**注意**  
<a name="use-correct-package-version"></a>此命令中的版本号必须与 C AWS IoT Greengrass ore 软件包的版本相匹配。

------
#### [ 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
      ```

**注意**  
<a name="use-correct-package-version"></a>此命令中的版本号必须与 C AWS IoT Greengrass ore 软件包的版本相匹配。

------
#### [ Raspberry Pi web browser ]

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

------

1. 在 Greengrass 核心设备上，打开终端，然后导航到包含 AWS IoT Greengrass 核心软件和证书的文件夹。*path-to-transferred-files*替换为您在核心设备上传输文件的路径。例如，在 Raspberry Pi 上运行 `cd /home/pi`。

   ```
   cd path-to-transferred-files
   ```

1. 在核心设备上拆开 AWS IoT Greengrass 核心软件的包装。运行以下命令解压缩传输到核心设备的软件档案。此命令使用 `-C /` 参数在核心设备的根文件夹中创建 `/greengrass` 文件夹。

   ```
   sudo tar -xzvf greengrass-OS-architecture-1.11.6.tar.gz -C /
   ```
**注意**  
<a name="use-correct-package-version"></a>此命令中的版本号必须与 C AWS IoT Greengrass ore 软件包的版本相匹配。

1. 将证书和密钥移至 AWS IoT Greengrass Core 软件文件夹。运行以下命令为证书创建文件夹，并将证书和密钥移到该文件夹。*path-to-transferred-files*替换为您在核心设备上传输文件的路径，并*certificateId*替换为文件名中的证书 ID。例如，在 Raspberry Pi 上，*path-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
   ```

1. C AWS IoT Greengrass ore 软件使用为软件指定参数的配置文件。此配置文件指定证书文件的文件路径和要使用的 AWS Cloud 端点。在此步骤中，您将为 AWS IoT Greengrass 核心创建核心软件配置文件。执行以下操作：

   1. 获取核心内容的 Amazon 资源名称 (ARN)。 AWS IoT 执行以下操作：

      1. 在[AWS IoT 控制台](https://console.aws.amazon.com/iot)中的**管理**、**Greengrass 设备**下，选择**组 (V1)**。

      1. 在 **Greengrass 组**页面上，选择您之前创建的组。

      1. 在**概述**下，选择 **Greengrass 核心**。

      1. 在核心详细信息页面上，复制**AWS IoT 事物 ARN**，然后将其保存以在 AWS IoT Greengrass 核心配置文件中使用。

   1. 获取当前区域 AWS 账户 中您的 AWS IoT 设备数据终端节点。设备使用此端点 AWS 作为 AWS IoT 事物进行连接。执行以下操作：

      1. 在 [AWS IoT 控制台](https://console.aws.amazon.com/iot)中，选择**设置**。

      1. 在**设备数据端点**下，复制**端点**，然后将其保存以在 AWS IoT Greengrass Core 配置文件中使用。

   1. 创建 AWS IoT Greengrass 核心软件配置文件。例如，您可以运行以下命令来使用 GNU nano 来创建文件。

      ```
      sudo nano /greengrass/config/config.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"
            }
          }
        }
      }
      ```

      然后执行以下操作：
      + 如果您下载的亚马逊根 CA 证书不同于 Amazon 根 CA 1 证书，请将的*AmazonRootCA1.pem*每个实例替换为亚马逊根 CA 文件的名称。
      + 将的*certificateId*每个实例替换为证书和密钥文件名称中的证书 ID。
      + *arn:aws:iot:*region*:*account-id*:thing/MyGreengrassV1Core*替换为你之前保存的核心内容的 ARN。
      + *MyGreengrassV1core*用你核心的东西的名字替换。
      + *device-data-prefix-ats.iot.region.amazonaws.com*替换为您之前保存的 AWS IoT 设备数据端点。
      + 替换*region*为你的 AWS 区域。

      有关在配置文件中可指定的配置选项详细信息，请参阅 [AWS IoT Greengrass 核心配置文件](gg-core.md#config-json)。

1. 确保您的核心设备已连接到 Internet。然后，在核心设备上启动 AWS IoT Greengrass 。

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

   您应看到 `Greengrass successfully started` 消息。记录 PID。
**注意**  
要将核心设备设置为 AWS IoT Greengrass 在系统启动时启动，请参阅[配置初始化系统以启动 Greengrass 守护程序](gg-core.md#start-on-boot)。

   您可以运行以下命令来确认 AWS IoT Greengrass 核心软件（Greengrass 守护程序）是否正常运行。*PID-number*用你的 PID 替换：

   ```
   ps aux | grep PID-number
   ```

   您应看到 PID 的条目，其中包含指向正在运行的 Greengrass 守护程序的路径（例如，`/greengrass/ggc/packages/1.11.6/bin/daemon`）。如果您在开始时遇到问题 AWS IoT Greengrass，请参阅[故障排除 AWS IoT Greengrass](gg-troubleshooting.md)。