

终止支持通知：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)。

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

# 模块 2：安装 AWS IoT Greengrass 核心软件
<a name="module2"></a>

本模块向您展示如何在所选设备上安装 AWS IoT Greengrass Core 软件。在此模块中，您首先创建一个 Greengrass 组和核心。然后，您在核心设备上下载、配置和启动该软件。有关 AWS IoT Greengrass Core 软件功能的更多信息，请参阅[配置内 AWS IoT Greengrass 核](gg-core.md)。

开始之前，请确保您已为所选设备完成[模块 1](module1.md) 中的设置步骤。

**提示**  
<a name="ggc-install-options"></a>AWS IoT Greengrass 还提供了用于安装 C AWS IoT Greengrass ore 软件的其他选项。例如，您可以使用 [Greengrass 设备](quick-start.md)设置来配置您的环境并安装最新版本的 Core 软件。 AWS IoT Greengrass 或者，在支持的 Debian 平台上，你可以使用 [APT 软件包管理器](install-ggc.md#ggc-package-manager)来安装或升级 AWS IoT Greengrass Core 软件。有关更多信息，请参阅 [安装 AWS IoT Greengrass 核心软件](install-ggc.md)。

本模块应该需要不到 30 分钟即可完成。

**Topics**
+ [配置一个 AWS IoT 东西用作 Greengrass 核心](provision-core.md)
+ [为核心创建一个 AWS IoT Greengrass 小组](create-group.md)
+ [在核心设备 AWS IoT Greengrass 上安装并运行](start-greengrass.md)

# 配置一个 AWS IoT 东西用作 Greengrass 核心
<a name="provision-core"></a>

G *reengras* s 内核是运行核心软件来管理本地物联网 AWS IoT Greengrass 流程的设备。要设置 Greengrass 核心，您需要创建 AWS IoT *事物* 来表示连接到 AWS IoT的设备或逻辑实体 当您将设备注册为 AWS IoT 事物时，该设备可以使用允许其访问的数字证书和密钥 AWS IoT。您可以使用[AWS IoT 策略](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html)来允许设备与 AWS IoT 和 AWS IoT Greengrass 服务通信。

在本节中，您将设备注册为一 AWS IoT 件东西，将其用作 Greengrass 核心。

**创建 AWS IoT 事物**

1. 导航至 [AWS IoT 控制台](https://console.aws.amazon.com/iot)。

1. 在**管理**下，展开**所有设备**，然后选择**事物**。

1. 在 **Things**（事物）页面上，选择 **Create things**（创建事物）。

1. <a name="gg-group-create-single-thing"></a>在 **创建事物**页面上，选择 **创建单个事物**，然后选择 **下一步**。

1. 在 **指定事物属性** 页面上，执行以下操作：

   1. 在**事物名称**中，输入一个名称来表示您的设备，例如 **MyGreengrassV1Core**。

   1. 选择**下一步**。

1. <a name="gg-group-create-device-configure-certificate"></a>在**配置设备证书**页面上，选择**下一步**。

1. 在 **将策略附加到证书** 页面上，执行下列操作之一：
   + 选择授予核心所需权限的现有策略，然后选择**创建事物**。

     这将打开一个模态，供您下载设备用于连接到 AWS 云和核心的证书和密钥。
   + 创建并附加一个新策略，以授予核心设备权限。执行以下操作：

     1. 选择**创建策略**。

        此时将在新选项卡中打开**创建策略**页面。

     1. 在**创建策略**页面上，执行以下操作：

        1. 在**策略名称**中，输入一个名称来描述该策略，例如 **GreengrassV1CorePolicy**。

        1. 在**策略语句**选项卡的**策略文档**下，选择 **JSON**。

        1. 输入以下策略文档。此策略允许核心与 AWS IoT Core 服务通信、与设备影子交互以及与 AWS IoT Greengrass 服务通信。有关如何根据您的使用场景限制此策略的访问权限的信息，请参阅[AWS IoT Greengrass 核心设备的最低 AWS IoT 政策](device-auth.md#gg-config-sec-min-iot-policy)。

------
#### [ JSON ]

****  

           ```
           {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Connect",
                   "iot:Receive"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:GetThingShadow",
                   "iot:UpdateThingShadow",
                   "iot:DeleteThingShadow"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "greengrass:*"
                 ],
                 "Resource": [
                   "*"
                 ]
               }
             ]
           }
           ```

------

        1. 选择 **Create**（创建）以创建策略。

     1. 返回到打开了**将策略附加到证书**页面的浏览器标签页中。执行以下操作：

        1. 在**策略**列表中，选择您创建的策略，例如 **GreengrassV1CorePolicy**。

           如果没有看到策略，请选择刷新按钮。

        1. 选择 **Create thing**（创建事物）。

           这将打开一个模态，供您下载核心用于连接到 AWS IoT的证书和密钥。

1. 返回到打开了**将策略附加到证书**页面的浏览器标签页中。执行以下操作：

   1. 在**策略**列表中，选择您创建的策略，例如 **GreengrassV1CorePolicy**。

      如果没有看到策略，请选择刷新按钮。

   1. 选择 **Create thing**（创建事物）。

      这将打开一个模态，供您下载核心用于连接到 AWS IoT的证书和密钥。

1. <a name="gg-group-create-device-download-certs"></a>在**下载证书和密钥**模态中，下载设备的证书。
**重要**  
请先下载安全资源，然后再选择 **完成**。

   执行以下操作：

   1. 在**设备证书**中，选择**下载**以下载该设备证书。

   1. 在**公钥文件**中，选择**下载**以下载该证书的公钥。

   1. 在**私钥文件**中，选择**下载**以下载该证书的私钥文件。

   1. 查看*AWS IoT 开发人员指南*中的[服务器身份验证](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html)，然后选择相应的根 CA 证书。我们建议您使用 Amazon Trust Services (ATS) 端点和 ATS 根 CA 证书。在**根 CA 证书**下，针对根 CA 证书选择**下载**。

   1. 选择**完成**。

   记下设备证书和密钥文件名中常见的证书 ID。稍后您将需要用到它。

# 为核心创建一个 AWS IoT Greengrass 小组
<a name="create-group"></a>

AWS IoT Greengrass *组*包含有关其组件的设置和其他信息，例如客户端设备、Lambda 函数和连接器。一个组定义内核的配置，包括其组件如何相互交互。

在本部分中，您将为核心创建群组。

**提示**  
有关使用 AWS IoT Greengrass API 创建和部署群组的示例，请参阅上的 [gg\$1group\$1set](https://github.com/awslabs/aws-greengrass-group-setup) up 存储库。 GitHub

**为核心创建群组**

1. 导航至 [AWS IoT 控制台](https://console.aws.amazon.com/iot)。

1. 在**管理**下，展开 **Greengrass** 设备，然后选择**组 (V1)**。
**注意**  
如果您看不到 **Greengrass** 设备菜单，请更改为支持的。 AWS 区域 AWS IoT Greengrass V1有关支持的区域列表，请参见 *AWS 一般参考* 中的 [AWS IoT Greengrass V1 端点和配额](https://docs.aws.amazon.com/general/latest/gr/greengrass.html)。你必须在可用的区域中[为你的核心创建 AWS IoT 东西](provision-core.md)。 AWS IoT Greengrass V1 

1. 在 **Greengrass 组**页面上，选择**创建组**。

1. 在**创建 Greengrass 组**页上，执行以下操作：

   1. 对于 **Greengrass 组名**，请输入描述组的名称，例如 **MyGreengrassGroup**。

   1. 对于 **Greengrass** 核心，请选择你之前创建 AWS IoT 的东西，比如 **MyGreengrassV1Core**.

      控制台会自动为您选择事物的设备证书。

   1. 选择**创建群组**。

# 在核心设备 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 操作系统的软件包。
   + 对于亚马逊 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 云 端点。在此步骤中，您将为 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)。