Amazon IoT Greengrass Version 1 2023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅 Amazon IoT Greengrass V1 维护策略。在此日期之后,将 Amazon IoT Greengrass V1 不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上面运行的设备 Amazon IoT Greengrass V1 不会中断,将继续运行并连接到云端。我们强烈建议您迁移到 Amazon IoT Greengrass Version 2,这样可以添加重要的新功能并支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
测试通信(禁用了设备同步)
-
确保您的计算机和 Amazon IoT Greengrass 核心设备已使用同一个网络连接到 Internet。
-
在 Amazon IoT Greengrass 核心设备上,运行以下命令以查找其 IP 地址。
hostname -I
-
在计算机上,使用核心的 IP 地址运行以下命令。可以使用 Ctrl + C 停止 ping 命令。
ping
IP-address
类似于下面的输出指示了计算机与 Amazon IoT Greengrass 核心设备之间的通信成功(数据包丢失为 0%):
-
-
获取您的 Amazon IoT 端点。
-
从Amazon IoT控制台
导航窗格中,选择设置。 -
在设备数据端点下,记下 端点的值。您可以使用此值在以下步骤中替换命令中的
AWS_IOT_ENDPOINT
占位符。注意
确保您的终端节点与证书类型对应。
-
-
在您的计算机(不是 Amazon IoT Greengrass 核心设备)上,打开两个命令行
(终端或命令提示符)窗口。一个窗口代表 GG_Switch客户端设备,另一个窗口代表 GG_TrafficLight 客户端设备。 -
从 GG_Switch 客户端设备窗口中,运行以下命令。
-
将
path-to-certs-folder
替换为包含证书、密钥和 Python 文件的文件夹的路径。 -
将
AWS_IOT_ENDPOINT
替换为您的端点。 -
将两个
switchCertId
实例替换为 GG_Switch 客户端设备的文件名中的证书 ID。
cd
path-to-certs-folder
python lightController.py --endpointAWS_IOT_ENDPOINT
--rootCA AmazonRootCA1.pem --certswitchCertId
-certificate.pem.crt --keyswitchCertId
-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch -
-
从 GG_TrafficLight 客户端设备窗口中,运行以下命令。
-
将
path-to-certs-folder
替换为包含证书、密钥和 Python 文件的文件夹的路径。 -
将
AWS_IOT_ENDPOINT
替换为您的端点。 -
将两个
lightCertId
实例替换为 GG_TrafficLight 设备的文件名中的证书 ID。
cd
path-to-certs-folder
python trafficLight.py --endpointAWS_IOT_ENDPOINT
--rootCA AmazonRootCA1.pem --certlightCertId
-certificate.pem.crt --keylightCertId
-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight每隔 20 秒,开关会将影子状态更新为 G、Y 和 R,并且灯会显示新状态,如下文所示。
GG_Switch 输出:
GG_TrafficLight 输出:
-
在首次执行时,每个设备脚本都将运行 Amazon IoT Greengrass 发现服务来连接到 Amazon IoT Greengrass 核心(通过 Internet)。在客户端设备发现了 Amazon IoT Greengrass 核心并成功连接到它后,未来的操作可以在本地执行。
注意
lightController.py
和trafficLight.py
脚本将连接信息存储在groupCA
文件夹中,该文件夹与脚本在同一文件夹中创建。如果您收到连接错误,请确保ggc-host
文件中的 IP 地址与您在此步骤中为核心配置的单个 IP 地址端点匹配。 -
-
在Amazon IoT 控制台中,选择您的 Amazon IoT Greengrass 组,选择客户端设备选项卡,然后选择 GG_TrafficLightt 以打开客户端设备 Amazon IoT 事物详细信息页面。
-
选择设备影子选项卡。在 GG_Switch 更改状态后,该影子不应有任何更新。那是因为 GG_TrafficLight 已设置为禁用与云进行影子同步。
-
在 GG_Switch (
lightController.py
) 客户端设备窗口中按 Ctrl + C。您应会看到 GG_TrafficLight (trafficLight.py
) 窗口停止接收状态更改消息。保持这些窗口打开,以便您可以在下一部分中运行这些命令。