Amazon IoT Greengrass Version 12023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅Amazon IoT Greengrass V1维护政策。在此日期之后,Amazon IoT Greengrass V1不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上运行的设备Amazon IoT Greengrass V1不会受到干扰,将继续运行并连接到云端。我们强烈建议你迁移到Amazon IoT Greengrass Version 2,它补充说重要的新功能和支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安装并运行Amazon IoT Greengrass在核心设备上
注意
本教程提供有关以下操作的说明:Amazon IoT Greengrass核心软件位于树莓派上,但您可以使用任何受支持的设备。
在本节中,您将配置、安装和运行Amazon IoT Greengrass核心设备上的核心软件。
要安装和运行 AberryAmazon IoT Greengrass
-
从Amazon IoT GreengrassCore 软件部分中,请下载本指南的Amazon IoT Greengrass核心软件安装包。选择最适合核心设备的 CPU 架构、发行版和操作系统的安装包。
-
对于 Raspberry Rapberry Ri berry ricate,请下载适用于 Armv7l 架构和
-
对于 Amazon EC2 实例,请下载适用于 x86_6_64 架构和 Linux 操作系统的安装包。
-
对于 NVIDIA Jetson TX2,请下载适用于 Armv8 (AArch64) 架构和 Linux 操作系统的安装包。
-
对于 Intel Atom,请下载适用于 x86_6_64 架构和 Linux 操作系统的安装包。
-
-
在前面的步骤中,您已将五个文件下载到计算机:
-
greengrass-
— 此压缩文件包含Amazon IoT Greengrass在核心设备上运行的核心软件。OS-architecture
-1.11.6.tar.gz -
— 设备证书文件。certificateId
-certificate.pem.crt -
— 设备证书的公有密钥密钥密钥密钥文件。certificateId
-public.pem.key -
— 设备证书的私有密钥密钥密钥密钥文件。certificateId
-private.pem.key -
AmazonRootCA1.pem
— 亚马逊根证书颁发机构 (CA) 颁发机构 (CA) 的文件。
在此步骤中,您将这些文件从计算机传输到核心设备。执行以下操作:
-
如果您不知道 Greengrass 核心设备的 IP 地址,请在核心设备上打开终端并运行以下命令。
注意
此命令可能无法为某些设备返回正确的 IP 地址。请参阅设备的文档以检索设备 IP 地址。
hostname -I
-
将这些文件从计算机传输到核心设备。文件传输步骤因计算机操作系统而异。选择您的操作系统,了解说明如何将文件传输到 Raspberry Pi 设备的步骤。
注意
对于 Raspberry Pi,默认用户名为
pi
,默认密码为raspberry
。对于 NVIDIA Jetson TX2,默认用户名为
nvidia
,默认密码为nvidia
。
-
-
在 Greengrass 核心设备上,打开终端并导航到包含Amazon IoT Greengrass核心软件和证书。Replace
path-to-transferred-files
将文件传输到核心设备上核心设备上的文件路径。例如,在 Raspberry Reterry ry recd /home/pi
.cd
path-to-transferred-files
-
解压缩包装Amazon IoT Greengrass核心设备上的核心软件。运行以下命令以解压缩您传输到核心设备的软件存档,以解压缩传输到核心设备的安装包。此命令使用
-C /
参数来创建/greengrass
核心设备的根文件夹中的文件夹。sudo tar -xzvf greengrass-
OS-architecture
-1.11.6.tar.gz -C /注意
此命令中的版本号必须与您的 Amazon IoT Greengrass Core 软件包的版本一致。
-
将证书和密钥移到Amazon IoT Greengrass核心软件文件夹。运行以下命令为证书创建文件夹并将证书和密钥移至该文件夹。Replace
path-to-transferred-files
使用您在核心设备上传输文件的路径,然后替换certificateId
文件名中包含证书 ID。例如,在 Raspberry Rapberry repath-to-transferred-files
和/home/pi
sudo mv
path-to-transferred-files
/certificateId
-certificate.pem.crt /greengrass/certs sudo mvpath-to-transferred-files
/certificateId
-public.pem.key /greengrass/certs sudo mvpath-to-transferred-files
/certificateId
-private.pem.key /greengrass/certs sudo mvpath-to-transferred-files
/AmazonRootCA1.pem /greengrass/certs -
这些区域有:Amazon IoT Greengrass核心软件使用一个配置文件来指定软件的参数。此配置文件指定证书文件的文件路径和Amazon Web Services 云要使用的终端节点。在此步骤中,您将创建Amazon IoT Greengrass核心的核心软件配置文件。执行以下操作:
-
获取核心的 Amazon 资源名称 (ARN)Amazon IoT thing. 执行以下操作:
-
在Amazon IoT控制台
,在Manage,在Greengrass,选择组 (V1). -
在存储库的Greengrass 组页面上,选择您之前创建的组。
-
在概述,选择Greengrass 核心.
-
在核心详情页面上,复制Amazon IoTARN,并将其保存在Amazon IoT Greengrass核心配置文件。
-
-
GeterryAmazon IoT设备数据终端节点Amazon Web Services 账户在当前区域中。设备使用此端点连接到Amazon如同Amazon IoT things. 执行以下操作:
-
在Amazon IoT控制台
,选择设置. -
在设备数据终端节点中,将端点,并将其保存在Amazon IoT Greengrass核心配置文件。
-
-
创建Amazon IoT Greengrass核心软件配置文件。例如,您可以运行以下命令以使用 GNU nano 创建文件。
sudo nano /greengrass/config/config.json
将文件内容替换为以下 JSON 文档以下 JSON 文档。
{ "coreThing" : { "caPath": "
AmazonRootCA1.pem
", "certPath": "certificateId
-certificate.pem.crt", "keyPath": "certificateId
-private.pem.key", "thingArn": "arn:aws:iot:
", "iotHost": "region
:account-id
:thing/MyGreengrassV1Coredevice-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" } } } }然后,执行以下操作:
-
如果您下载的 Amazon 根 CA 证书不同于 Amazon 根 CA 1 证书,请替换
AmazonRootca1.pem
使用亚马逊根 CA 文件的名称。 -
替换的每个实例
certificateId
证书和密钥文件的名称中包含证书 ID。 -
Replace
arn: aws: iot:
使用您之前保存的核心内容的 ARN,您之前保存的核心事物 ARN。领域
:account-id
: 事物/MyGreengrassV1Core -
Replace
MyGreengrassv1core
将核心的名称命名为核心事物。 -
Replace
device-data-prefix-ats.iot.region.amazonaws.com
用Amazon IoT您之前保存的设备数据终端节点。 -
Replace
领域
和你的Amazon Web Services 区域.
有关可以在此配置文件中指定的配置选项的更多信息,请参阅 “” “” (Serre)。Amazon IoT Greengrass 核心配置文件.
-
-
-
确保您的核心设备已连接到 Internet。然后,启动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.6/bin/daemon
)。如果您在启动 Amazon IoT Greengrass 时遇到问题,请查看 排除 Amazon IoT Greengrass 的故障。