【问题标题】:How to handle AWS IoT Thing events如何处理 AWS IoT Thing 事件
【发布时间】:2018-07-28 21:51:43
【问题描述】:

我最近注册了 AWS 以测试他们的 IoT 平台,在设置了一些东西并浏览了文档之后,我似乎仍然缺少一些关键信息 - 如何从我的东西中获取所有信息?

例如,如果我要构建一个基于 Web 的应用程序来显示所有事物的健康/状态,并可能还与特定事物交互,那么该怎么做?

我是否注册了一个也使用设备 SDK 发布/订阅主题的“虚拟”事物?
我是否会获取 Things 发布的任何数据并将其路由到共享数据库以进行进一步处理?
我是否创建了事物调用的 Lambda?
我是否要创建一个使用通用 AWS 开发工具包将自身连接到 IoT 平台的独立应用程序?

对我来说,最后一个想法听起来是最可行和“首选”的,因为我需要双向交互,而不仅仅是被动地倾听事物的变化,对吗?

【问题讨论】:

    标签: amazon-web-services aws-iot


    【解决方案1】:

    一般来说,您的设置可能是:

    1. IoT 设备发布到 AWS SQS
    2. 某些服务(应用程序或 lambda)从 SQS 读取并处理数据(例如,将其保存到 DynamoDB)

    然后显示数据

    1. 独立应用程序从 DynamoDB 中读取数据,并将数据提供给用户

    这有很多排列。例如,您的物联网设备可以write directly to DynamoDB,然后您可以从那里处理数据。我建议更好的模式是写入 SQS,因为您将在数据发布、处理和存储之间有一个清晰的分离。

    在第一种情况下,我可能会编写一个从 SQS 读取数据、处理数据、将其存储在 DynamoDB 中的应用程序,然后为用户提供对该数据的访问权限。从长远来看,更好的解决方案是使用单独的系统来处理/存储数据,并将该数据呈现给用户。

    Lambda 在处理设备数据方面很受欢迎,因为它具有成本效益(仅在需要时运行)并且可以很好地扩展。您的数据呈现应用程序可能是一个传统的 web 应用程序,运行在诸如弹性 beanstalk 之类的东西上。

    【讨论】:

    • 谢谢你,它证实了我的方向。作为后续行动:在您的场景中,信息流是单向的 - 从设备到应用程序。如果我想让用户通过 web 应用控制设备,情况会怎样?
    • 在编写面向用户的应用程序时,请包含相关的 AWS IoT SDK,它为您提供访问设备的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 2021-09-01
    • 2018-03-24
    • 2018-03-22
    • 2018-06-07
    • 2020-07-15
    • 2020-06-14
    相关资源
    最近更新 更多