从应用程序的角度了解 AWS IoT

Understanding AWS IoT from an Application perspective

我从设备的角度理解 Aws IoT,它应该与证书连接并与其影子同步并将消息推送到主题。但我很难从 Web App 或 Mobile App 的角度来理解。我的基本问题是,

  1. 如何使用 AWS IoT 注册应用程序?
  2. 什么是应用程序的身份验证和授权机制?
  3. 如何授予应用访问一组设备的权限?
  4. 应用程序如何收听来自感兴趣设备的消息?
  5. 应用程序如何向设备发送命令?我明白这是由 更新设备的影子?

一般来说,如果您想将任何应用程序(移动、Web 等)连接到任何 AWS 服务,您应该考虑两件事。首先,使用您可以找到的 AWS SDK here。其次,应用程序应将正确的身份验证和授权附加到 IAM 或 Cognito 中定义的 user/group。 关于您的问题:

  1. 要在 AWS IoT 中注册应用程序,首先应将其定义为 IoT 事物并使用正确的策略,它可以 publish/subscribe 到主题。考虑一下,您应该将证书放入设备中。要连接到 AWS IoT 服务,您可以使用 AWS IoT SDK,可以找到更多信息 here

    2 & 3. 这取决于你的项目。您可以定义您的应用程序以访问 AWS IoT 中的特定事物,或者您可以将其定义为访问 AWS IoT 服务中的所有事物(使用 IAM、Cognito 或临时安全凭证)。您应该为您的应用程序考虑正确的策略。您可以找到有关 AWS IoT here.

  2. 身份验证和授权的更多信息
  3. AWS IoT 具有 MQTT 代理,它处理发布或订阅主题的实体之间的通信。因此,如果应用程序想要从特定设备获取数据,它应该订阅事物发布到的主题。

  4. 可以通过向事物订阅的主题发布数据来完成。

事物影子实际上是真实事物的数字孪生体,因此它应该包含与事物相关的信息,例如可用资源等。