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

您正在查看Amazon IoT Greengrass Version 1.Amazon IoT Greengrass Version 2是最新的主要版本Amazon IoT Greengrass. 有关使用Amazon IoT Greengrass V2,请参阅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 root-ca-cert.pem --cert switch.cert.pem --key switch.private.key --thingName GG_TrafficLight --clientId GG_Switch

    为 GG_TrafficLight 设备运行以下命令:

    cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA root-ca-cert.pem --cert light.cert.pem --key light.private.key --thingName GG_TrafficLight --clientId GG_TrafficLight

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

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

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

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

    
                            突出显示了 “CarStats” 和 “Items (Items)” 选项卡的 DynamoDB 控制台

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

    
                            显示多个记录条目的 DynamoDB CarStats 屏幕截图。
  5. 如果测试不成功,您可以在 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 Lambda 函数和订阅。要停止Amazon IoT Greengrass核心设备和Amazon IoT云中,请在核心设备上打开终端并运行以下命令之一:

  • 关闭Amazon IoT Greengrass核心设备:

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

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