

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

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

# 测试通信（禁用了设备同步）
<a name="comms-disabled"></a>

1. <a name="ping-device"></a>确保您的计算机和 AWS IoT Greengrass 核心设备使用相同的网络连接到互联网。

   1. 在 AWS IoT Greengrass 核心设备上，运行以下命令以查找其 IP 地址。

      ```
      hostname -I
      ```

   1. 在计算机上，使用核心的 IP 地址运行以下命令。可以使用 Ctrl \$1 C 停止 **ping** 命令。

      ```
      ping IP-address
      ```

      类似于以下内容的输出表示计算机和 AWS IoT Greengrass 核心设备之间成功通信（丢包 0%）：  
![\[成功的 ping 命令输出。\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/gg-get-started-075.5.png)
**注意**  
如果您无法 ping 正在运行的实例 AWS IoT Greengrass，请确保该 EC2 实例的入站安全组规则允许 [ECHO 请求](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping)消息的 ICMP 流量。有关更多信息，请参阅 *Amazon EC2 用户指南*中的[向安全组添加规则](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule)。  
在 Windows 主机上，在带有高级安全功能的 Windows 防火墙应用程序中，您可能还需要启用允许入站回显请求的入站规则（例如，**文件和打印机共享（Echo Request- ICMPv4-in）**），或者创建一个规则。

1. 获取您的 AWS IoT 终端节点。

   1. <a name="iot-settings"></a>从[AWS IoT 控制台](https://console.aws.amazon.com/iot/)导航窗格中，选择**设置**。

   1. <a name="iot-settings-endpoint"></a>在**设备数据端点**下，记下 **端点**的值。在以下步骤中，您可以使用此值来替换命令中的*AWS\$1IOT\$1ENDPOINT*占位符。
**注意**  
确保您的[终端节点与证书类型对应](gg-core.md#certificate-endpoints)。

1. <a name="repeated-step"></a>在您的计算机（不是 AWS IoT Greengrass 核心设备）上，打开两个[命令行](https://en.wikipedia.org/wiki/Command-line_interface)（终端或命令提示符）窗口。一个窗口代表 GG\$1Switch 客户端设备，另一个窗口代表 GG\$1 TrafficLight 客户端设备。

   1. <a name="run-switch-device"></a>从 GG\$1Switch 客户端设备窗口中，运行以下命令。
      + *path-to-certs-folder*替换为包含证书、密钥和 Python 文件的文件夹的路径。
      + 替换*AWS\$1IOT\$1ENDPOINT*为您的终端节点。
      + 将这两个*switchCertId*实例替换为您的 GG\$1Switch 客户端设备文件名中的证书 ID。

      ```
      cd path-to-certs-folder
      python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch
      ```

   1. <a name="run-trafficlight-device"></a>在 GG\$1 TrafficLight 客户端设备窗口中，运行以下命令。
      + *path-to-certs-folder*替换为包含证书、密钥和 Python 文件的文件夹的路径。
      + 替换*AWS\$1IOT\$1ENDPOINT*为您的终端节点。
      + 将这两个*lightCertId*实例替换为您的 GG\$1 TrafficLight 客户端设备文件名中的证书 ID。

      ```
      cd path-to-certs-folder
      python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight
      ```

      每隔 20 秒，开关会将影子状态更新为 G、Y 和 R，并且灯会显示新状态，如下文所示。

      GG\$1Switch 输出：  
![\[与 GG_Switch 相关联的输出的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/gg-get-started-083.png)

      GG\$1 TrafficLight 输出：  
![\[与 GG_ TrafficLight 关联的输出的屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/gg-get-started-084.png)

   首次执行时，每个客户端设备脚本都会运行 AWS IoT Greengrass 发现服务以连接到 AWS IoT Greengrass 核心（通过 Internet）。在客户机设备发现并成功连接到 AWS IoT Greengrass 核心之后，可以在本地执行 future 操作。
**注意**  
<a name="check-connection-info"></a> `lightController.py` 和 `trafficLight.py` 脚本将连接信息存储在 `groupCA` 文件夹中，该文件夹与脚本在同一文件夹中创建。如果您收到连接错误，请确保 `ggc-host` 文件中的 IP 地址与您在此步骤中为核心配置的单个 IP 地址端点匹配。

1. 在 AWS IoT 控制台中，选择您的 AWS IoT Greengrass 群组，选择**客户端设备**选项卡，然后选择 **GG\$1 TrafficLight** 以打开客户端设备 AWS IoT 的事物详细信息页面。

1. 选择**设备影子**选项卡。在 GG\$1Switch 更改状态后，该影子不应有任何更新。这是因为 GG\$1 设置TrafficLight 为**禁用与云的阴影同步**。

1. 在 GG\$1Switch (`lightController.py`) 客户端设备窗口中按 Ctrl \$1 C。您应该看到 GG\$1 TrafficLight (`trafficLight.py`) 窗口停止接收状态更改消息。

   保持这些窗口打开，以便您可以在下一部分中运行这些命令。