将设备连接到 Amazon IoT - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将设备连接到 Amazon IoT

设备通过连接 Amazon IoT 和其他服务 Amazon IoT Core。通过 Amazon IoT Core,设备使用特定于您账户的设备端点发送和接收消息。Amazon IoT 设备 SDKs支持设备使用MQTT和WSS协议进行通信。有关设备可以使用的协议的更多信息,请参阅设备通信协议

消息代理

Amazon IoT 通过消息代理管理设备通信。设备和客户端向消息代理发布消息,并且还订阅消息代理发布的消息。消息由应用程序定义的主题 进行标识。当消息代理收到由设备或客户端发布的消息时,它会将该消息重新发布到订阅了该消息主题的设备和客户端。消息代理还将消息转发到 Amazon IoT 规则引擎,规则引擎可以根据消息的内容采取行动。

Amazon IoT 消息安全

要 Amazon IoT 使用的设备连接X.509 客户端证书和用于身份验证的 V4 Amazon 签名。设备通信受TLS版本 1.3 保护,并且 Amazon IoT 要求设备在连接时发送服务器名称指示 (SNI) 扩展名。有关更多信息,请参阅中的传输安全 Amazon IoT

Amazon IoT 设备数据和服务端点

重要

您可以在设备中缓存或存储端点。这意味着您无需在DescribeEndpointAPI每次连接新设备时都进行查询。在为您的账户 Amazon IoT Core 创建终端节点后,终端节点不会更改。

每个账户都有几个设备终端节点,这些终端节点对账户是唯一的,并支持特定的 IoT 功能。 Amazon IoT 设备数据端点支持专为满足物联网设备通信需求而设计的发布/订阅协议;但是,如果其他客户端(例如应用程序和服务)的应用程序需要这些端点提供的专用功能,也可以使用此接口。 Amazon IoT 设备服务端点支持以设备为中心访问安全和管理服务。

要了解您账户的设备数据端点,可以在 Amazon IoT Core 主机的 “设置” 页面中找到该端点。

要了解您账户的设备终端节点以用于特定目的,包括设备数据端点,请使用此处显示的describe-endpointCLI命令或 DescribeEndpoint RESTAPI,并提供下表中的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 设备端点

终端节点用途

endpointType

描述

Amazon IoT Core - 数据层面操作

iot:Data-ATS

用于与消息代理、Device Shadow 和 Amazon IoT的规则引擎组件之间收发数据。

iot:Data-ATS返回ATS已签名的数据端点。

Amazon IoT Core - 数据层面操作(旧版)

iot:Data

iot:Data返回为向后兼容而提供的 VeriSign 签名数据端点。MQTT赛门铁克 (iot:Data) 端点不支持 5。

Amazon IoT Core 凭证访问权限

iot:CredentialProvider

用于将设备的内置 X.509 证书交换为临时凭证,以直接与其它 Amazon 服务连接。有关连接到其他 Amazon 服务的更多信息,请参阅授权直接调用 Amazon 服务

Amazon IoT Device Management - 任务数据操作

iot:Jobs

用于使设备能够使用 Jobs 设备与 Amazon IoT Jobs 服务进行交互HTTPSAPIs。

Amazon IoT 设备顾问操作

iot:DeviceAdvisor

用于使用 Device Advisor 测试设备的测试终端节点类型。有关更多信息,请参阅 Device Advisor

Amazon IoT Core 数据测试版(预览版)

iot:Data-Beta

为测试版预留的终端节点类型。有关当前用法的信息,请参阅 域配置

您也可以使用自己的完全限定域名 (FQDN),例如 example.com,以及用于连接设备的关联服务器证书域配置。 Amazon IoT

Amazon IoT 设备 SDKs

该 Amazon IoT 设备SDKs可帮助您将物联网设备连接到协议, Amazon IoT Core 并且它们支持协议MQTT并MQTT通过WSS协议进行连接。

该 Amazon IoT 设备SDKs与的不同之处 Amazon SDKs在于,该 Amazon IoT 设备SDKs支持物联网设备的特殊通信需求,但不支持所支持的所有服务 Amazon SDKs。该 Amazon IoT 设备SDKs与支持所有 Amazon 服务的设备兼容;但是,它们使用不同的身份验证方法并连接到不同的端点,这可能会使在物联网设备上使用这些方法变得 Amazon SDKs不切实际。 Amazon SDKs

移动设备

Amazon 移动 SDKs支持MQTT设备通信、部分 Amazon IoT 服务APIs和其他 Amazon 服务。APIs如果您在支持的移动设备上进行开发,SDK请查看其是否是开发物联网解决方案的最佳选择。

C++

Amazon IoT C++ 设备 SDK

C Amazon IoT ++ 设备SDK允许开发人员使用 Amazon 和 Amazon IoT Core 服务构建连接APIs的应用程序。具体而言,它专SDK为不受资源限制且需要消息队列、多线程支持和最新语言功能等高级功能的设备而设计。有关更多信息,请参阅下列内容:

Python

Amazon IoT SDK适用于 Python 的设备

Python Amazon IoT 设备SDK使开发人员可以编写 Python 脚本,以便使用他们的设备通过MQTT或MQTT通过 WebSocket Secure (WSS) 协议访问 Amazon IoT 平台。通过将设备连接到 Amazon IoT Core 服务,用户可以安全地使用消息代理、规则和 Amazon IoT Core 提供其他服务(例如 Amazon Kinesis 和 Amazon S3 Amazon Lambda等)的 Device Shadow Amazon 服务。APIs

JavaScript

Amazon IoT 设备SDK用于 JavaScript

Amazon IoT De SDK vice for JavaScript 使开发人员可以编写 Amazon IoT Core 使用MQTT或MQTT通过 WebSocket 协议访问APIs的 JavaScript 应用程序。它可用于 Node.js 环境和浏览器应用程序。有关更多信息,请参阅下列内容:

Java

Amazon IoT SDK适用于 Java 的设备

Java Amazon IoT 设备SDK使 Java 开发人员能够 Amazon IoT Core 通过MQTT或MQTT通过协议访问该APIs WebSocket协议。SDK支持 Device Shadow 服务。您可以使用HTTP方法访问阴影,包括GETUPDATE、和DELETE。SDK还支持简化的影子访问模型,该模型允许开发人员使用 getter 和 setter 方法与影子交换数据,而不必序列化或反序列化任何文档。JSON有关更多信息,请参阅下列内容:

Embedded C

Amazon IoT 嵌SDK入式 C 设备

重要

这SDK仅供经验丰富的嵌入式软件开发人员使用。

Amazon IoT Device SDK for Embedded C (C-SDK) 是MIT开源许可下的 C 源文件集合,可用于嵌入式应用程序,将物联网设备安全地连接到 Io Amazon T Core。它包括 MQTT JSON Parser 和 Dev Amazon IoT ice Shadow 库等。它以源代码形式分发,旨在与应用程序代码、其他库以及可选的RTOS(实时操作系统)一起内置到客户固件中。

Amazon IoT Device SDK for Embedded C 通常针对需要优化 C 语言运行时的资源受限的设备。可以在任何操作系统SDK上使用,也可以将其托管在任何类型的处理器上(例如MCUs和MPUs)。如果您的设备有足够的内存和处理资源可用,我们建议您使用其他 Amazon IoT 设备和移动设备SDKs,例如SDK适用于 C++ JavaScript、Java 或 Python 的 Amazon IoT 设备。

有关更多信息,请参阅下列内容: