將裝置連接至 AWS IoT - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將裝置連接至 AWS IoT

裝置透過 連線至 AWS IoT 和其他 服務 AWS IoT Core。透過 AWS IoT Core,裝置會使用您帳戶特定的裝置端點來傳送和接收訊息。AWS IoT 裝置 SDKs 支援使用 MQTT和 WSS通訊協定的裝置通訊。如需裝置可使用之通訊協定的詳細資訊,請參閱 裝置通訊協定

訊息代理程式

AWS IoT 透過訊息代理程式管理裝置通訊。裝置和用戶端會將訊息發佈至訊息代理程式,並訂閱訊息代理程式發佈的訊息。訊息由應用程式定義的主題識別。當訊息代理程式收到裝置或用戶端發佈的訊息時,會將該訊息重新發佈至已訂閱該訊息之主題的裝置和用戶端。訊息代理程式也會轉送訊息到 AWS IoT 規則引擎,該引擎可以對訊息的內容採取行動。

AWS IoT 訊息安全性

AWS IoT 要使用 X.509 用戶端憑證AWS 簽章 V4 進行身分驗證的裝置連線。裝置通訊受 1.3 TLS版保護,並 AWS IoT 要求裝置在連線時傳送伺服器名稱指示 (SNI) 延伸。如需詳細資訊,請參閱 中的 Transport Security AWS IoT

AWS IoT 裝置資料和服務端點

重要

您可以在裝置中快取或儲存端點。這表示每次連接新裝置時,您不需要查詢 DescribeEndpoint API 。在 為您的帳戶 AWS IoT Core 建立端點之後,端點不會變更。

每個帳戶都有數個帳戶獨有的裝置端點,並支援特定的 IoT 功能。 AWS IoT 裝置資料端點支援專為 IoT 裝置通訊需求設計的發佈/訂閱通訊協定;不過,如果其他用戶端的應用程式和服務需要這些端點提供的特殊功能,也可以使用此介面。 AWS IoT 裝置服務端點支援以裝置為中心的存取安全和管理服務。

若要了解您帳戶的裝置資料端點,您可以在 AWS IoT Core 主控台的設定頁面中找到它。

若要了解您帳戶的裝置端點用於特定用途,包括裝置資料端點,請使用此處顯示的describe-endpointCLI命令或 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 憑證實現回溯相容性的舊端點擷取資料。如需詳細資訊,請參閱伺服器身分驗證​

AWS IoT 裝置端點

端點用途

endpointType

描述

AWS IoT Core:資料平面操作

iot:Data-ATS

用來將資料傳送至訊息代理程式、Device Shadow 和 AWS IoT的規則引擎元件,以及從中接收資料。

iot:Data-ATS 會傳回ATS已簽章的資料端點。

AWS IoT Core:資料平面操作 (舊式)

iot:Data

iot:Data 傳回為回溯相容性而提供的 VeriSign 已簽署資料端點。Symantec (iot:Data) 端點不支援 MQTT 5。

AWS IoT Core 登入資料存取

iot:CredentialProvider

用於將裝置的內建 X.509 憑證交換為臨時憑證,以直接與其他 AWS 服務連線。如需連線至其他 AWS 服務的詳細資訊,請參閱授權直接呼叫至 AWS 服務

AWS IoT Device Management:任務資料操作

iot:Jobs

用來讓裝置使用 AWS IoT 任務裝置 與任務服務互動HTTPSAPIs

AWS IoT Device Advisor 操作

iot:DeviceAdvisor

用於使用 Device Advisor 測試裝置的測試端點類型。如需詳細資訊,請參閱Device Advisor

AWS IoT Core data beta (預覽)

iot:Data-Beta

保留給 測試版的端點類型。如需其目前使用方式的詳細資訊,請參閱 網域組態

您也可以使用自己的完整網域名稱 (FQDN)example.com,例如 ,以及相關聯的伺服器憑證, AWS IoT 使用 將裝置連線至 網域組態

AWS IoT 裝置 SDKs

AWS IoT 裝置SDKs可協助您將 IoT 裝置連線至 AWS IoT Core ,並且支援 MQTT 和 MQTT WSS通訊協定。

AWS IoT 裝置與 SDKs AWS SDKs中的不同之處在於, AWS IoT 裝置SDKs支援 IoT 裝置的專業通訊需求,但不支援 支援的所有服務 AWS SDKs。 AWS IoT 裝置與 AWS SDKs支援所有 AWS 服務的 SDKs 相容;不過,它們使用不同的身分驗證方法並連接到不同的端點,這可能會導致在 AWS SDKs IoT 裝置上使用 變得不切實際。

行動裝置

AWS 行動 SDKs 支援MQTT裝置通訊、部分 AWS IoT 服務 APIs和其他 APIs AWS 服務的 。如果您是在支援的行動裝置上進行開發,請檢閱它SDK,查看它是否為開發 IoT 解決方案的最佳選項。

C++

AWS IoT C++ 裝置 SDK

AWS IoT C++ 裝置SDK可讓開發人員使用 AWS 和 APIs AWS IoT Core 服務的 建置連線的應用程式。具體而言,SDK這是針對資源不受限制且需要進階功能的裝置所設計,例如訊息佇列、多執行緒支援和最新的語言功能。如需詳細資訊,請參閱下列內容:

Python

AWS IoT SDK適用於 Python 的裝置

AWS IoT Device SDK for Python 可讓開發人員撰寫 Python 指令碼,以使用其裝置透過 WebSocket 安全 (WSS) MQTT 通訊協定MQTT或透過 存取 AWS IoT 平台。透過將其裝置連接到 APIs AWS IoT Core 服務的 ,使用者可以安全地使用訊息代理程式、規則和 Device Shadow 服務,該服務 AWS IoT Core 提供 和其他 AWS 服務,例如 AWS Lambda、Amazon Kinesis 和 Amazon S3 等。

JavaScript

AWS IoT SDK的裝置 JavaScript

SDK 適用於 AWS IoT 的裝置 JavaScript 可讓開發人員撰寫 JavaScript 應用程式,以 AWS IoT Core 使用 MQTT MQTT或透過 WebSocket 通訊協定存取 APIs 。可用於 Node.js 環境和瀏覽器應用程式中。如需詳細資訊,請參閱下列內容:

Java

AWS IoT SDK適用於 Java 的裝置

AWS IoT Device SDK for Java 可讓 Java 開發人員 AWS IoT Core 透過 MQTT或MQTT通訊協定存取 APIs 的 WebSocket 。SDK 支援 Device Shadow 服務。您可以使用 HTTP GET方法存取陰影,包括 UPDATE、 和 DELETE。SDK 也支援簡化的影子存取模型,可讓開發人員使用 getter 和 setter 方法與影子交換資料,而不必序列化或還原序列化任何JSON文件。如需詳細資訊,請參閱下列內容:

Embedded C

AWS IoT 適用於內嵌 C SDK 的裝置

重要

這是SDK供經驗豐富的嵌入式軟體開發人員使用。

適用於 Embedded C 的 AWS IoT Device SDK (C-SDK) 是MIT開放原始碼授權下的 C 來源檔案集合,可用於內嵌應用程式,以安全地將 IoT 裝置連線至 AWS IoT Core。它包含 MQTT、JSONParser 和 AWS IoT Device Shadow 程式庫等。它以來源形式分發,旨在與客戶韌體以及應用程式程式碼、其他程式庫以及選用的 RTOS(即時作業系統) 一起內建。

通常以需要最佳化 C 語言執行時間的資源限制裝置 適用於 Embedded C 的 AWS IoT Device SDK 為目標。您可以在任何作業系統SDK上使用 ,並將其託管於任何處理器類型 (例如 MCUs和 MPUs)。如果您的裝置有足夠的記憶體和處理資源可用,建議您使用其他 AWS IoT 裝置和行動裝置 ,SDKs例如適用於 C++、Java JavaScript或 Python SDK 的 AWS IoT 裝置。

如需詳細資訊,請參閱下列內容: