將裝置連接至 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) 延伸模組。如需詳細資訊,請參閱中的傳輸安全性 AWS IoT

AWS IoT 裝置資料和服務端點

重要

您可以在裝置中快取或儲存端點。這意味著您不需要在DescribeEndpointAPI每次連接新設備時進行查詢。為您的帳戶 AWS IoT Core 建立端點後,端點不會變更。

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

如要瞭解帳戶的裝置資料端點,您可以在 AWS 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 證書向後兼容的舊端點中檢索數據。如需詳細資訊,請參閱伺服器身分驗證​

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 簽名數據端點。MQTT賽門鐵克 (iot:Data) 端點不支援 5。

AWS IoT Core 認證存取

iot:CredentialProvider

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

AWS IoT Device Management:任務資料操作

iot:Jobs

用於使裝置能夠使用「工作裝置」與「 AWS IoT 工作」服務互動HTTPSAPIs。

AWS IoT 裝置建議程式作

iot:DeviceAdvisor

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

AWS IoT Core 資料測試版 (預覽版)

iot:Data-Beta

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

您也可以使用自己的完整網域名稱 (FQDN),例如 example.com,以及要使用連接裝置的關聯伺服器憑證可設定端點。 AWS IoT

AWS IoT 裝置 SDKs

該 AWS IoT 設備可SDKs幫助您將 IoT 設備連接到 AWS IoT Core 並WSS通MQTT過協議支持MQTT它們。

裝 AWS IoT 置不SDKs同 AWS SDKs於 AWS IoT 裝置SDKs支援 IoT 裝置的特殊通訊需求,但不支援 AWS SDKs. 該 AWS IoT 設備與支持所有 AWS 服務的 AWS SDKs設備兼容;但SDKs是,它們使用不同的身份驗證方法並連接到不同的端點,這可能會導致在 IoT 設備上使用不 AWS SDKs切實際的設備。

行動裝置

AWS 移動 SDKs支持MQTT設備通信,某些 AWS IoT 服務APIs以及APIs其他 AWS 服務。如果您正在支援的行動裝置上進行開發,請檢SDK閱它,看看它是否是開發 IoT 解決方案的最佳選擇。

C++

AWS IoT C ++ 設備 SDK

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

Python

AWS IoT Python SDK 的設備

適用SDK於 Python 的 AWS IoT 設備使開發人員可以編寫 Python 腳本以使用他們的設備通過MQTT或MQTT通過 WebSocket Secure(WSS)協議訪問 AWS IoT 平台。透過將裝置連接到APIs AWS IoT Core 服務,使用者可以安全地使用 AWS IoT Core 提供 Amazon Kinesis 和 Amazon S3 等其他服務的訊息代理程式 AWS Lambda、規則和 Device Shadow AWS 服務。

JavaScript

AWS IoT 設SDK備 JavaScript

的 AWS IoT 設備SDK JavaScript 使開發人員可以編寫訪問 AWS IoT Core 使用MQTT或通MQTT過 WebSocket 協議訪問APIs的 JavaScript 應用程序。可用於 Node.js 環境和瀏覽器應用程式中。如需詳細資訊,請參閱下列內容:

Java

AWS IoT SDK適用於 Java 的裝置

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

Embedded C

AWS IoT 嵌入SDK式 C 裝置

重要

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

適用於 Embedded C 的 AWS IoT Device SDK (C-SDK) 是MIT開放原始碼授權下的 C 原始碼檔案集合,可用於嵌入式應用程式,將 IoT 裝置安全地連接至 AWS IoT Core。它包括MQTT,JSON解析器和 AWS IoT Device Shadow 庫等。它以源代碼形式分佈,並打算與應用程序代碼,其他庫以及(可選)RTOS(實時操作系統)一起內置到客戶固件中。

通 適用於 Embedded C 的 AWS IoT Device SDK 常針對需要優化 C 語言運行時的資源受限設備。您可以SDK在任何作業系統上使用,並將其裝載在任何處理器類型上 (例如MCUs和MPUs)。如果您的裝置有足夠的記憶體和處理資源,建議您使用其他 AWS IoT 裝置和行動 AWS IoT 裝置SDK之一SDKs,例如 C++ JavaScript、Java 或 Python 的裝置。

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