AWS IoT 常见问题

1 篇文章 0 订阅

介绍

  • 问:什么是 AWS IoT?

    • AWS IoT 是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。AWS IoT 可支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AWS 终端节点和其他设备。借助 AWS IoT,您的应用程序可以随时跟踪所有设备并与其通信,即使这些设备未处于连接状态也不例外。
      借助 AWS IoT,您可以轻松使用 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail 和内置 Kibana 集成的 Amazon Elasticsearch Service 等 AWS 服务来构建 IoT 应用程序,以便收集、处理和分析互连设备生成的数据并对其执行操作,且无需管理任何基础设施。
  • 问:AWS IoT 提供哪些功能?

    • 实现设备与 AWS 云之间的连接。首先,借助 AWS IoT,您能以安全、低延迟和低开销的方式与互联设备通信通信可扩展到您所需的任意数量的设备。AWS IoT 服务支持标准通信协议(目前支持 HTTP、MQTT 和 WebSockets)。可使用 TLS (安全传输层协议TLS:用于在两个通信应用程序之间提供保密性和数据完整性)来确保通信安全。

    • 设备与 AWS 云之间的连接。首先,借助 AWS IoT,您能以安全、低延迟和低开销的方式与互联设备通信。通信可扩展到您所需的任意数量的设备。AWS IoT 服务支持标准通信协议(目前支持 HTTP、MQTT 和 WebSockets)。可使用 TLS 来确保通信安全。

    • 处理互联设备发出的数据。其次,借助 AWS IoT,您可以连续地消化、过滤、转换和路由互联设备流式传来的数据。您可以根据这些数据采取操作并路由它们,以做进一步的处理和分析。

    • 与互联设备交互的应用。最后,AWS IoT 服务可加快 IoT 应用的开发。它作为在云中运行的应用与移动设备上的应用之间易于使用的接口,让您能够访问互联设备发出的数据,并将数据和命令发回设备。

  • 问:AWS IoT 的运行原理是什么?

    • 互联设备(如传感器、执行器、嵌入式设备、智能设备和可穿戴设备)通过 HTTPS、WebSockets 或安全 MQTT 连接到 AWS IoT。AWS IoT 内含设备网关,可在互联设备与您的云和移动应用之间建立安全、低延迟、低开销的双向通信。
    • 此外,AWS IoT 服务还包含规则引擎,可对互联设备发送的数据进行连续的处理。您可以配置规则以筛选和转换数据。此外,您还可以配置规则来将数据路由到其他 AWS 服务(如 DynamoDB、Kinesis、Lambda、SNS、SQS、CloudWatch 和内置 Kibana 集成的 Elasticsearch Service)及非 AWS 服务,通过 Lambda 做进一步的处理、存储或分析。
    • 它还提供了一个设备注册表,以供您注册和跟踪连接到 AWS IoT 的设备或未来可能要连接的设备。AWS IoT 服务中的设备影子可使云和移动应用查看设备发送的数据,并通过简单的 REST API 向设备发送命令,将设备底层的通信交给 AWS IoT 处理。影子向设备提供了统一的接口(即使它们使用应用不兼容的某个 IoT 通信和安全协议时也是如此),加速了应用的开发。此外,影子还能通过以下方式加速应用的开发:向设备提供始终可用的接口,即使互联设备受到连接间歇中断、带宽有限、计算能力有限或电力有限等制约。
    • 安全地与 AWS IoT 通信。该服务要求其所有客户端(互联设备、服务器应用、移动应用或人类用户)使用强身份验证(X.509 证书、AWS IAM 凭据或经由 AWS Cognito 的第三方身份验证)。所有通信均经过加密。此外,AWS IoT 还提供了精细的授权,以隔离和保护已验证客户端之间的通信。
    • 与其他 AWS 服务类似,用户可以通过 AWS 管理控制台和 CLI 访问 AWS IoT。应用可以借助 AWS SDK(面向多种编程语言提供)轻松地访问 AWS IoT。AWS IoT 与 Amazon CloudWatch 集成,进一步简化了 IoT 应用的开发和操作。
    • 为简化运行在互联设备上的代码的开发,AWS IoT 为 C、Node.js 和 Arduino Yún 平台提供了开源设备 SDK。此外,AWS IoT 还与硬件制造商建立了合作伙伴关系,以使 AWS IoT 设备 SDK 可在多种 IoT、嵌入式操作系统和微控制台平台上使用。

访问 AWS IoT

  • 问:访问 AWS IoT 的途径有哪些?

    • 您可以使用 AWS 管理控制台、AWS SDK、AWS CLI 和 AWS IoT API 访问 AWS IoT 服务。互联设备可以使用 AWS IoT 设备 SDK,以简化与 AWS IoT 设备的通信。
    • AWS IoT API 和命令主要分为控制平面操作和数据层面操作控制平面操作让您能够执行配置安全性、注册设备、配置数据路由规则、设置日志记录等任务。数据层面操作让您能够以低延迟和高吞吐率的方式将互联设备的数据大规模传输到 AWS IoT。
  • 问:AWS IoT 支持哪些通信和身份验证协议?

    • 对于控制平面操作,AWS IoT 支持 HTTPS。对于数据层面操作,AWS IoT 支持 HTTPS 、WebSockets 及安全 MQTT(一种常用于 IoT 场景的协议)。
    • 发送到 AWS IoT 的 HTTPS 和 WebSockets 请求使用 AWS IAM 或 AWS Cognito 进行身份验证,这两者均支持 AWS SigV4 身份验证。如果您使用的是 AWS SDK 或 AWS CLI,系统会在后台为您处理 SigV4 身份验证。HTTPS 请求还可以使用 X.509 证书进行身份验证。发送到 AWS IoT 的 MQTT 消息使用 X.509 证书进行身份验证。

    • 借助 AWS IoT,您可以使用 AWS IoT 生成的证书以及由您的首选证书颁发机构 (CA) 签署的证书。

  • 问:未直接连接 Internet 的设备能访问 AWS IoT 吗?

    • 可以通过实体插座连接。连接私有 IP 网络的设备和使用非 IP 射频协议的设备(如 ZigBee 或蓝牙 LE)只要有实体插座作为其与 AWS IoT 之间的中介,就可以访问 AWS IoT 并进行安全地通信。
  • 问:应用应如何访问 AWS IoT?

    • 连接 AWS IoT 的应用大体上分为两类:1. 配套应用;2. 服务器应用配套应用是指移动或客户端侧的浏览器应用,它们通过云与互联设备交互。能够使消费者远程解锁消费者居所中智能锁的移动应用就是配套应用的一个示例。服务器应用旨在同时监测和控制大量互联设备。在地图上实时绘制数千辆卡车的车队管理网站就是服务器应用的一个示例。
    • AWS IoT 使配套应用和服务器应用能够通过统一的 RESTful API 访问互联设备。此外,应用也可选择使用发布/订阅方式与互联设备直接通信。
    • 通常,配套应用使用最终用户身份(由您自己的身份存储或 Facebook、Amazon 登录等第三方身份提供商管理)进行身份验证。对于配套应用,可以使用 Amazon Cognito(与多个身份提供商集成)。可以授权 Cognito 身份以访问 AWS IoT,且可将其访问范围限制为与其相关的资源。例如,作为一家互联洗衣机制造商,您可以授权消费者访问属于其各自洗衣机的 AWS IoT 信息。
    • 服务器应用(如运行在 Amazon EC2 上的地图应用)可使用 IAM 角色访问 AWS IoT。
  • 问:我能否获取从我的账户发起的 AWS IoT API 调用的历史记录,用于安全分析和运营故障排除用途?

    • 可以。要获取从您的账户发起的 AWS IoT API 调用的历史记录,您只需在 AWS 管理控制台中打开 CloudTrail 即可。

设备网关

  • 问:什么是 AWS IoT 设备网关?

    • 设备网关构成了互联设备与云功能(如 AWS IoT 规则引擎、设备影子以及其他 AWS 和第三方服务)之间的通信骨干。

    • 设备网关支持发布/订阅消息收发模式,能够实现可扩展、低延迟和低开销的通信。它对于预计会有数十亿设备进行低延迟频繁通信的 IoT 场景尤为有用。发布/订阅模式是指:客户端在称作“主题”的逻辑通信频道上发布消息,客户端订阅主题接收消息。设备网关可促成发布者与订阅者之间的通信。传统上,组织要使用发布/订阅模型,就必须调配、操作、扩展和维护自己的服务器来作为设备网关。AWS IoT 提供了 AWS IoT 设备网关,消除了这一障碍。

    • 该设备网关可根据您的使用情况自动扩展,不会给您带来任何运营开销。AWS IoT 支持与设备网关的安全通信、AWS 账户级隔离以及 AWS 账户内的精细授权。目前,该设备网关支持通过 MQTT 和 WebSockets 进行发布和订阅,以及通过 HTTPS 进行发布。

  • 问:什么是 MQTT?

    • MQTT 是一种轻量级的发布/订阅协议,旨在最大限度地降低网络带宽和设备资源要求。此外,MQTT 还支持使用 TLS(安全传输层协议) 进行安全通信。MQTT 常用在 IoT 用例中。MQTT v3.1.1 是一种 OASIS 标准,AWS IoT 设备网关支持大部分 MQTT 规范。

规则引擎

  • 问:什么是 AWS IoT 规则引擎?

    • AWS IoT 规则引擎可对来自连接到 AWS IoT 服务的设备的入站数据进行连续处理。您可以使用直观的类 SQL 语法在规则引擎中配置规则,以自动过滤和转换入站数据。您可以进一步配置规则,将数据从 AWS IoT 服务路由到多个其他 AWS 服务及您自己的第三方服务。
    • 下面给出了少量规则用例:
      • 过滤和转换传入消息并将之作为时间序列数据存储在 DynamoDB 中。
      • 当来自传感器的数据超出特定阈值时,通过 SNS 发送推送通知。
      • 将固件文件保存到 S3
      • 同时处理来自大量使用 Kinesis 的设备的消息
      • 调用 Lambda 对传入数据进行自定义处理
      • 以自动重新发布的形式向一组设备发送命令
  • 问:如何定义和触发规则?

    • AWS IoT 规则包含两大部分:

      • SQL 语句:指定要应用规则的发布/订阅主题、要执行的数据转换(如有的话)以及执行规则的条件。该规则应用到在指定主题上发布的每一条消息。
      • 操作列表:定义规则执行时(即:当传入消息匹配规则中指定的条件时)要采取的操作。
    • 规则定义使用基于 JSON 的架构。您可以直接编辑 JSON,或使用 AWS 管理控制台中的规则编辑器。
    • 下面是一个规则示例,当温度高于 50 时,它将来自传感器的温度数据保存到 DynamoDB 中:
{

"sql": "SELECT * from 'iot/tempSensors/#' WHERE temp > 50",

"description": "Rule to save sensor data when temperature is about 50",

"操作": [

{

"dynamoDB": {

"tableName": "HighTempTable",

"roleArn": "arn:AWS:iam::your-AWS-account-id:role/dynamoPut",

"hashKeyField": "key",

"hashKeyValue": "${topic(3)}",

"rangeKeyField": "timestamp",

"rangeKeyValue": "${timestamp()}"

}

      }

  ]

}
  • .
    • 本示例中的传感器在其位于“iot/tempSensors/”下的主题中发布消息。规则的第一行定义了一条查询“iot/tempSensors/#”主题的 SQL SELECT 语句。它包含一条 WHERE 子句:提取消息有效载荷中“temp”字段的值并检查其是否满足“高于 50”的条件。如果满足条件,则将数据存储在指定的 DynamoDB 表中。本示例使用内置功能完成遍历消息有效载荷和获取当前时间等任务。

设备注册表和设备影子

  • 问:什么是 AWS IoT 设备注册表?它有什么用?

    • IoT 涵盖使用少量任务关键型设备到采用大量设备的场景。AWS IoT 设备注册表让您能够组织和跟踪这些设备。您可以在设备注册表中维护连接 AWS IoT 的每个设备的逻辑句柄。设备注册表中的每个设备都能被唯一标识,且可拥有元数据,如型号、支持联系方式、与之关联的证书等。您可以基于元数据在设备注册表中搜索互联设备。
  • 问:Thing Type 是什么?

    • Thing Type 通过定义同类设备的一般特征,帮助您高效管理设备目录。此外,与一种 Thing Type 相关的每个 Thing 目前拥有多达 50 个属性,其中包括 3 个可搜索属性。
  • 问:什么是简化的权限管理?

    • 借助该功能,您可以通过使用引用注册表或 X.509 证书属性的变量来轻松管理大量设备的权限策略。“注册表”和“证书”属性与设备策略的集成具有以下优点:

    • 现在,您可以在设备许可策略中引用“设备注册表”属性。通过引用设备注册表中定义的设备属性,您的策略可以反映设备注册表中发生的任何更改。例如,通过引用名为“building-address”的 Thing 属性作为策略中的变量,设备将在移动建筑时自动继承一组新的权限。
      您可以在多个设备之间共享一个通用策略。通用策略可以在相同类别的设备之间共享,而不是为每个设备创建唯一策略。例如,引用“serial-number”作为变量的策略可以添加到同一型号的所有设备。当序列号相同的设备相互连接时,其序列号会自动替换策略变量。

  • 问:什么是设备影子?

    • 设备影子使得云和移动应用能够轻松地与 AWS IoT 中注册的互联设备交互。AWS IoT 中的设备影子包含互联设备的属性。您可以定义适合您用例的任意属性集。例如,对于智能灯泡,您可以定义“on-or-off”、“color”和“brightness”等作为属性。然后由互联设备报告这些属性的实际值(存储在设备影子中)。应用可使用 AWS IoT 服务提供的 RESTful API 轻松地获取和更新这些属性。AWS IoT 服务和 AWS IoT 设备 SDK 负责在互联设备与其在 AWS IoT 中的影子间同步属性值。
  • 问:我必须使用设备注册表和设备影子吗?

    • 您可以让应用使用 AWS IoT 中的设备网关和/或规则引擎直接与互联设备通信。但我们建议您使用设备注册表和设备影子,因为它们提供了更丰富和更结构化的开发和管理体验,让您能够将精力放在要为客户创造的独特价值上,而不是纠缠于互联设备与云之间的底层通信和同步上。
  • 问:设备及其在 AWS IoT 中的影子的生命周期是怎样的?

    • 在设备注册表中注册设备(如智能灯泡)。
    • 通过编程使互联设备将其一组属性值或状态(“我亮着呢,我的颜色是红色”)发布到 AWS IoT 服务。
    • 上次报告的状态存储在该设备在 AWS IoT 中的影子内。
    • 应用(如控制智能灯泡的移动应用)使用 RESTful API 向 AWS IoT 查询智能灯泡的上次报告状态,免除了与智能灯泡直接通信的麻烦。
    • 当用户需要更改状态(如熄灭处于点亮状态的智能灯泡)时,应用使用 RESTful API 请求更新,即:在 AWS IoT 中为该设备设置“所需”的状态。AWS IoT 负责将所需的状态同步到设备。
    • 当互联设备将其状态更新为所需状态时,应用会得到通知。

安全性与访问控制

  • 问:我能在 AWS IoT 中配置精细的授权操作吗?

    • 可以。与其他 AWS 服务类似,在 AWS IoT 中,您可以精细控制授权每个身份调用的 API 操作集。此外,您还能精细控制身份可发布或订阅的发布/订阅主题,以及身份可访问的设备注册表中的设备和影子。
  • 问:什么是证书的即时注册?

    • 设备证书的即时注册 (JITR) 通过简化使用 AWS IoT 注册设备的流程,在 2016 年 4 月发布的“使用自己的证书”功能的基础上进行了扩展。在支持 JITR 之前,设备注册流程需要两个步骤:第一步,将证书颁发机构 (CA) 证书注册到 AWS IoT;第二步,单独注册 CA 签发的设备证书。现在,借助 JITR,您可以在设备首次连接至 AWS IoT 时,通过自动注册设备证书来完成第二步。这样可节约注册设备证书所用的时间,且可使设备在制造过程中保持离线状态。要进一步自动执行 IoT 设备预置,您可以使用 Lambda 操作创建一个 AWS IoT 规则,激活证书并添加策略。有关更多信息,请访问 AWS 上的物联网博客或开发人员文档。

AWS IoT 设备 SDK

  • 问:什么是 AWS IoT 设备 SDK?

    • AWS IoT 设备 SDK 能够简化和加快运行在互联设备(微控制器、传感器、执行器、智能设备、可穿戴设备等)上的代码的部署。首先,设备可以借助该设备 SDK 优化内存、功耗和网络带宽占用。同时,设备 SDK 可通过内置的 TLS、WebSockets 和 MQTT 支持实现高度安全、低延迟和低开销的通信。此外,设备 SDK 还支持更高级别的抽象(如同步设备与其在 AWS IoT 服务中的影子的状态),以加快 IoT 应用的部署。

    • AWS IoT 设备 SDK 是开源项目,免费提供。有关更多信息,请访问我们的设备 SDK 页面。

  • 问:AWS IoT 设备 SDK 支持哪些编程语言和硬件平台?

    • 目前,AWS 提供了适用于 C、Node.js 语言及 Arduino Yún 平台的 AWS IoT 设备 SDK。
    • 此外,有多个硬件制造商与 AWS 建立了合作伙伴关系,以使 AWS IoT 设备 SDK 能够在其各自的平台上运行。有关这些硬件平台的更多信息,请访问我们的入门页面。
    • 最后,AWS IoT 设备 SDK 是开源的。您可以将它们移植到您选择的语言和硬件平台(如果它们尚未获得支持的话)。
  • 问:我该使用 AWS IoT 设备 SDK 还是 AWS SDK?

    • AWS IoT 设备 SDK 是对 AWS SDK 的补充。一方面,IoT 项目通常涉及在微控制器及其他资源有限设备上运行的代码。另一方面,IoT 项目还常常包含在云和移动设备上运行的与微控制器/资源有限设备交互的应用。AWS IoT 设备 SDK 旨在于微控制器/资源有限设备上使用,而 AWS SDK 旨在用于云和移动应用。

计费

  • 问:AWS IoT 服务包含在 AWS 免费套餐中吗?

    • 是的。作为 AWS 免费套餐的一部分,AWS IoT 前 12 个月每月免费提供 250000 条消息。
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kepware的KepServerEX IoT 网关是一款功能强大的工具,用于连接和传输来自不同设备、传感器和控制系统的实时数据。这个网关提供了一个统一的接口,使得用户可以方便地从不同的设备和系统中收集和管理数据。 KepServerEX IoT 网关允许用户通过使用各种常见的通信协议(如OPC UA、MQTT、REST API等)来连接不同的设备和传感器。这意味着用户可以轻松地与各种CAD、PLC、传感器和其他设备进行通信,并从中采集和传输实时数据。这对于用户在工业自动化和物联网环境中进行数据采集和监控非常重要。 此外,KepServerEX IoT 网关还提供了高度可配置的功能,以满足用户的不同需求。用户可以根据需要设置数据传输的频率、格式和类型。此外,它还支持数据筛选和预处理功能,可以帮助用户在数据传输之前对数据进行清洗和加工。 KepServerEX IoT 网关还具有良好的兼容性和可扩展性。它可以与各种常见的第三方应用程序和云平台集成,如Microsoft Azure、Amazon AWS、IBM Watson等。这使得用户可以将数据立即传输到自己喜欢的云平台上进行进一步处理和分析。 总之,KepServerEX IoT 网关是一款功能强大且易于使用的工具,可以帮助用户轻松地连接和管理不同设备和系统中的实时数据。它为用户在物联网和工业自动化领域中进行数据采集、监控和分析提供了便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值