本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将设备连接到 Amazon IoT
设备可通过 Amazon IoT 连接到 Amazon IoT Core 和其它服务。通过 Amazon IoT Core,设备使用特定于您账户的设备终端节点发送和接收消息。Amazon IoT Device SDK 支持使用 MQTT 和 WSS 协议进行的设备通信。有关设备可以使用的协议的更多信息,请参阅设备通信协议。
消息代理
Amazon IoT 通过消息代理管理设备通信。设备和客户端向消息代理发布消息,并且还订阅消息代理发布的消息。消息由应用程序定义的主题 进行标识。当消息代理收到由设备或客户端发布的消息时,它会将该消息重新发布到订阅了该消息主题的设备和客户端。消息代理还将消息转发到 Amazon IoT 规则引擎,该引擎可以对消息的内容进行操作。
Amazon IoT 消息安全性
在设备连接到 Amazon IoT 时,使用 X.509 客户端证书和Amazon签名 V4 进行身份验证。设备通信受 TLS 1.2 版的保护,并且 Amazon IoT 要求设备在连接时发送服务器名称指示 (SNI) 扩展
Amazon IoT 设备数据和服务终端节点
重要
您可以在设备中缓存或存储端点。这意味着您无需在每次连接新设备时查询 DescribeEndpoint
API。在 Amazon IoT Core 为您的账户创建端点后,这些端点将不会更改。
每个账户都有几个设备终端节点,这些终端节点对账户是唯一的,并支持特定的 IoT 功能。Amazon IoT 设备数据终端节点支持专为 IoT 设备的通信需求而设计的发布/订阅协议;但是,如果其它客户端(如应用程序和服务)的应用程序需要这些终端节点提供的专用功能,则它们也可以使用此接口。Amazon IoT 设备服务终端节点支持以设备为中心的对安全和管理服务的访问。
要了解您账户的设备数据终端节点,您可以在 Amazon IoT Core 控制台的 Settings
要了解您账户的特定用途的设备终端节点(包括设备数据终端节点),请使用此处显示的 describe-endpoint CLI 命令或 DescribeEndpoint
REST API,并提供下表中的
参数值。endpointType
aws iot describe-endpoint --endpoint-type
endpointType
此命令采用以下格式返回 iot-endpoint
:
。account-specific-prefix
.iot.aws-region
.amazonaws.com
每个客户都有一个 iot:Data-ATS
和一个 iot:Data
终端节点。每个终端节点都使用 X.509 证书对客户端进行身份验证。我们强烈建议客户使用较新的 iot:Data-ATS
终端节点类型,以避免出现与 Symantec 证书颁发机构普遍不信任有关的问题。我们为设备提供iot:Data
终端节点,用于从使用 VeriSign 证书实现向后兼容的旧终端节点检索数据的终端节点检索数据。有关更多信息,请参阅服务器身份验证。
设备的 Amazon IoT 终端节点 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
终端节点用途 |
|
描述 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon IoT Core - 数据层面操作 |
|
用于与消息代理、Device Shadow 和 Amazon IoT 的规则引擎组件之间收发数据。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon IoT Core - 数据层面操作(旧版) |
|
iot:Data 返回为向后兼容而提供的 VeriSign 签名的数据终端节点。Symantec (iot:Data ) 端点不支持 MQTT 5。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon IoT Core 凭证访问 |
|
用于将设备的内置 X.509 证书交换为临时凭证,以直接与其它 Amazon 服务连接。有关连接到其它 Amazon 服务的更多信息,请参阅授予直接调用 Amazon 服务的权限。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon IoT Device Management - 任务数据操作 |
|
用于使设备能够使用任务设备 HTTPS API与 Amazon IoT Jobs 服务交互。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon IoT Device Advisor 操作 |
|
用于使用 Device Advisor 测试设备的测试终端节点类型。有关更多信息,请参阅Device Advisor: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon IoT Core 数据测试版(预览版) |
|
为测试版预留的终端节点类型。有关当前用法的信息,请参阅 可配置的终端节点。 |
您还可以使用自己的完全限定域名 (FQDN),例如 example.com
和关联的服务器证书,通过使用 可配置的终端节点(目前在公开测试版中提供)将设备连接到 Amazon IoT。
Amazon IoT Device SDK
Amazon IoT Device SDK 可帮助您将 IoT 设备连接到 Amazon IoT Core,并且支持 MQTT 和基于 WSS 的 MQTT 协议。
Amazon IoT Device SDK 与 Amazon SDK 的不同之处在于,Amazon IoT Device SDK 支持 IoT 设备的特殊通信需求,但不支持 Amazon SDK 支持的所有服务。Amazon IoT Device SDK 与支持所有 Amazon 服务的 Amazon SDK 兼容;但是,它们使用不同的身份验证方法并连接到不同的终端节点,这可能使在 IoT 设备上使用 Amazon SDK 变得不切实际。
移动设备
AmazonMobile SDK支持 MQTT 设备通信、部分 Amazon IoT 服务 API 和其它 Amazon 服务的 API。如果您在受支持的移动设备上进行开发,请查看其 SDK,了解它是否是开发 IoT 解决方案的最佳选择。