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

Amazon IoT Greengrass Version 12023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅Amazon IoT Greengrass V1维护政策。在此日期之后,Amazon IoT Greengrass V1不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上运行的设备Amazon IoT Greengrass V1不会受到干扰,将继续运行并连接到云端。我们强烈建议你迁移到Amazon IoT Greengrass Version 2,它补充说重要的新功能支持其他平台

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

测试通信

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

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

    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

    为 GGGGGGGGGGGGG运行以下命令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 地址终端节点匹配。

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

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

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

  • 关闭的Amazon IoT Greengrass核心设备:

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

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