将设备连接到 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.3 版的保护,并且 Amazon IoT 要求设备在连接时发送服务器名称指示(SNI)扩展
Amazon IoT 设备数据和服务端点
重要
您可以在设备中缓存或存储端点。这意味着您无需在每次连接新设备时查询 DescribeEndpoint API。在 Amazon IoT Core 为您的账户创建端点后,这些端点将不会更改。
每个账户都有几个设备端点,这些端点对账户是唯一的,并支持特定的物联网功能。Amazon IoT 设备数据端点支持专为物联网设备的通信需求而设计的发布/订阅协议;但是,如果其它客户端(如应用程序和服务)的应用程序需要这些端点提供的专用特征,则它们也可以使用此接口。Amazon IoT 设备服务端点支持以设备为中心的对安全和管理服务的访问。
要了解您账户的设备数据端点,您可以在 Amazon IoT Core 控制台的 Settings
要了解您账户的特定用途的设备端点(包括设备数据端点),请使用此处显示的 describe-endpoint CLI 命令或 DescribeEndpoint REST API,并提供下表中的 参数值。endpointType
aws iot describe-endpoint --endpoint-typeendpointType
此命令采用以下格式返回 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 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 可帮助您将物联网设备连接到 Amazon IoT Core,并且支持 MQTT 和基于 WSS 的 MQTT 协议。
Amazon IoT Device SDK 与 Amazon SDK 的不同之处在于,Amazon IoT Device SDK 支持物联网设备的特殊通信需求,但不支持 Amazon SDK 支持的所有服务。Amazon IoT Device SDK 与支持所有 Amazon 服务的 Amazon SDK 兼容;但是,它们使用不同的身份验证方法并连接到不同的端点,这可能使在物联网设备上使用 Amazon SDK 变得不切实际。
移动设备
Amazon Mobile SDK 支持 MQTT 设备通信、部分 Amazon IoT 服务 API 和其它 Amazon 服务的 API。如果您在受支持的移动设备上进行开发,请查看其 SDK,了解它是否是开发物联网解决方案的最佳选择。