0

我正在关注 AWS 的“为 Greengrass 核心设备设置 AWS IoT 队列预置”和“使用 AWS IoT 队列预置安装 AWS IoT Greengrass Core 软件”中的文档。

我确保我正确地遵循它。所有策略和角色都按描述附加,但最后我设法在我的 Linux 设备上下载并安装了 Greengrass Core 软件,但在 AWS 云中看不到。我的意思是,没有在云中创建 Greengrass 核心设备,我只在本地拥有它。

有人能告诉我为什么会这样吗?或者它不应该在云中创建它?如果是这种情况,我如何将它也放在云中,以便我可以将组件部署到它?

我使用此命令执行安装:

sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE -jar ./GreengrassInstaller/lib/Greengrass.jar --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar --init-config ./GreengrassInstaller/config.yaml --component-default-user ggc_user:ggc_group --setup-system-service true
4

2 回答 2

1

如果您可以粘贴 Greengrass 核心设备中的日志,我可以查看是否可以解决问题或提供一些指示。

在云端,创建这些:

  1. 令牌角色 (TES) - 这应该具有信任策略和访问策略。
  2. 为此测试创建别名 - 这不是强制性的,但建议这样做。
  3. 创建 iot 策略以让设备使用证书与 aws 通信。
  4. 为此创建车队配置模板和角色-确保您有正确的参数名称,我在这方面犯了一些错误,并且当参数和参考名称正确时,这解决了许多错误。
  5. 为设备身份验证和授权创建证书并为此添加策略。

设备端:

  1. 将这些证书(crt 和私钥文件)复制到设备。

  2. 下载 Greengrass 核心软件和车队配置插件。

  3. 定义配置文件 - 这很重要,可能会在这里出错。确保您已正确添加所有配置值。

  4. 使用以下命令启动 Greengrass 软件:

     sudo -E java -Droot=*"/greengrass/v2"* -Dlog.store=FILE \
     -jar /home/pi/ggc/installer/lib/Greengrass.jar \
     --trusted-plugin /home/pi/ggc/installer/aws.greengrass.FleetProvisioningByClaim.jar \
     --init-config /home/pi/ggc/installer/config.yaml \
     --component-default-user ggc_user:ggc_group \
     --setup-system-service true
    

    将目录更改为您的目录。

  5. 如果成功,您应该会在 AWS IoT 核心和 Greengrass 核心设备下看到注册。

于 2022-02-16T21:21:38.157 回答
1

是的,一旦您启动了 Greengrass 核心软件,您应该会看到一个已注册的事物,并且它应该列在 AWS IoT 控制台中的事物下以及 Greengrass 核心设备列表中。

检查设备上的 Greengrass 日志。我刚刚完成设置,它对我有用。

于 2022-02-14T00:41:34.343 回答