测试通信 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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,这样可以添加重要的新功能支持其他平台

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

测试通信

  1. 在您的计算机上,打开两个命令行窗口。就像在模块 5 中一样,一个窗口用于 GG_Switch 客户端设备,另一个窗口用于 GG_TrafficLight 客户端设备。您可以使用它们运行在模块 5 中运行的相同命令。

    为 GG_Switch 客户端设备运行以下命令:

    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

    为 GG_TrafficLight 客户端设备运行以下命令:

    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,并且灯会显示新状态。

  2. 在每次第 3 个绿灯时(每 3 分钟),都会触发 Lambda 函数的函数处理程序,并会创建新的 DynamoDB 记录。在 lightController.pytrafficLight.py 运行了 3 分钟后,转到 Amazon Web Services Management Console,并打开 DynamoDB 控制台。

  3. 在 Amazon Web Services 区域菜单中,选择美国东部(弗吉尼亚州北部)区域。这是 GG_Car_Aggregator 函数在其中创建表的区域。

  4. 在导航窗格中,选择,然后选择 CarStats 表。

  5. 选择查看项目,以查看表中的条目。

    您应该看到包含有关通过的汽车数的基本统计数据的条目 (每隔 3 分钟创建一个条目)。您可能需要选择刷新按钮来查看表的更新。

  6. 如果测试不成功,您可以在 Greengrass 日志中查找故障排除信息。

    1. 切换到根用户并导航到 log 目录。访问 Amazon IoT Greengrass 日志需要根权限。

      sudo su cd /greengrass/ggc/var/log
    2. 检查 runtime.log 有无错误。

      cat system/runtime.log | grep 'ERROR'
    3. 检查 Lambda 函数生成的日志。

      cat user/region/account-id/GG_Car_Aggregator.log

      lightController.pytrafficLight.py 脚本将连接信息存储在 groupCA 文件夹中,该文件夹与脚本在同一文件夹中创建。如果您收到连接错误,请确保 ggc-host 文件中的 IP 地址与您在此步骤中为核心配置的单个 IP 地址端点匹配。

    有关更多信息,请参阅故障排除 Amazon IoT Greengrass

本基础教程到此结束。您现在应该了解了 Amazon IoT Greengrass 编程模型及其基本概念,包括 Amazon IoT Greengrass 核心、组、订阅、客户端设备以及在边缘站点运行的 Lambda 函数的部署过程。

您可以删除 DynamoDB 表以及 Greengrass Lambda 函数和订阅。要停止 Amazon IoT Greengrass 核心设备和 Amazon IoT 云之间的通信,请在核心设备上打开终端并运行以下命令之一:

  • 关闭 Amazon IoT Greengrass 核心设备:

    sudo halt
  • 停止 Amazon IoT Greengrass 进程守护程序:

    cd /greengrass/ggc/core/ sudo ./greengrassd stop