AWS IoT Greengrass
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

测试通信

  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. 在每次第 3 个绿灯时(每 3 分钟),都会触发 Lambda 函数的函数处理程序,并会创建新的 DynamoDB 记录。在 lightController.pytrafficLight.py 运行了 3 分钟后,转到 AWS 管理控制台,并打开 DynamoDB 控制台。

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

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

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

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

    
                            显示多个记录条目的 DynamoDB CarStats 屏幕截图。
  5. 如果测试不成功,您可以在 Greengrass 日志中查找故障排除信息。

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

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

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

      cat user/区域/account-id/GG_Car_Aggregator.log

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

    有关更多信息,请参阅 AWS IoT Greengrass 问题排查

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

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

  • 关闭 AWS IoT Greengrass Core 设备:

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

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