

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

# AWS IoT 裝置SDKs、行動SDKs和 AWS IoT 裝置用戶端
<a name="iot-sdks"></a>

此頁面摘要說明 AWS IoT 裝置 SDKs、開放原始碼程式庫、開發人員指南、範例應用程式和移植指南，協助您使用 AWS IoT 和您選擇的硬體平台建置創新的 IoT 解決方案。

這些 SDK 適用於您的 IoT 裝置。如果您是開發 IoT 應用程式以在行動裝置上使用，請參閱 [AWS 行動SDKs](#iot-mobile-sdks)。如果您是開發 IoT 應用程式或伺服器端程式，請參閱 [AWS SDKs](iot-connect-service.md#iot-service-sdks)。

## AWS IoT 裝置 SDKs
<a name="iot-device-sdks"></a>

 AWS IoT 裝置SDKs包括開放原始碼程式庫、具有範例的開發人員指南，以及移植指南，讓您可以在選擇的硬體平台上建置創新的 IoT 產品或解決方案。

**注意**  
 AWS IoT 裝置 SDKs 已發行 MQTT 5 用戶端。 AWS IoT 裝置SDKs不支援在 macOS 上使用 TLS 1.3。

這些 SDK 可協助您使用 MQTT 和 WSS 通訊協定將 IoT 裝置連接至 AWS IoT 。

------
#### [ C\$1\$1 ]

**AWS IoT C\$1\$1 裝置 SDK**

 AWS IoT C\$1\$1 裝置 SDK 可讓開發人員使用 AWS 和 AWS IoT APIs建置連線的應用程式。此 SDK 特別是為並未受限於資源的裝置所設計，需要訊佇列、多重執行緒支援、最新語言功能等進階功能。如需詳細資訊，請參閱下列內容：
+ [AWS IoT GitHub 上的裝置 SDK C\$1\$1 v2](https://github.com/aws/aws-iot-device-sdk-cpp-v2)
+ [AWS IoT 裝置 SDK C\$1\$1 v2 讀我檔案](https://github.com/aws/aws-iot-device-sdk-cpp-v2#aws-iot-device-sdk-for-c-v2)
+ [AWS IoT 裝置 SDK C\$1\$1 v2 範例](https://github.com/aws/aws-iot-device-sdk-cpp-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-for-c-v2)
+ [AWS IoT 裝置 SDK C\$1\$1 v2 API 文件](https://aws.github.io/aws-iot-device-sdk-cpp-v2/)

------
#### [ Python ]

**AWS IoT 適用於 Python 的裝置 SDK**

適用於 Python 的 AWS IoT 裝置 SDK 可讓開發人員撰寫 Python 指令碼，以使用其裝置透過 MQTT 或 MQTT 透過 WebSocket 通訊協定存取 AWS IoT 平台。透過將其裝置連接到 AWS IoT，使用者可以安全地使用由 提供的訊息中介裝置、規則和陰影 AWS Lambda， AWS IoT 以及與 Kinesis 和 Amazon S3 等 AWS 其他服務搭配使用。
+ [GitHub 上適用於 Python 的AWS IoT 裝置 SDK v2](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS IoT 適用於 Python v2 的 裝置 SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-python-v2#aws-iot-device-sdk-v2-for-python)
+ [AWS IoT 適用於 Python v2 的 裝置 SDK 範例](https://github.com/aws/aws-iot-device-sdk-python-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-v2-for-python)
+ [AWS IoT 適用於 Python v2 的 裝置 SDK API 文件](https://aws.github.io/aws-iot-device-sdk-python-v2/)

------
#### [ JavaScript ]

**AWS IoT 適用於 JavaScript 的裝置 SDK**

aws-iot-device-sdk.js 套件可讓開發人員撰寫透過 WebSocket 通訊協定 AWS IoT 使用 MQTT 或 MQTT 存取的 JavaScript 應用程式。可用於 Node.js 環境和瀏覽器應用程式中。如需詳細資訊，請參閱下列內容：
+ [AWS IoT GitHub 上適用於 JavaScript v2 的裝置 SDK](https://github.com/aws/aws-iot-device-sdk-js-v2)
+ [AWS IoT 適用於 JavaScript v2 的 裝置 SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-js-v2#aws-iot-device-sdk-for-javascript-v2)
+ [AWS IoT 適用於 JavaScript v2 的 裝置 SDK 範例](https://github.com/aws/aws-iot-device-sdk-js-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-for-javascript-v2)
+ [AWS IoT 適用於 JavaScript v2 的 裝置 SDK API 文件](https://aws.github.io/aws-iot-device-sdk-js-v2/index.html)

------
#### [ Java ]

**AWS IoT 適用於 Java 的裝置 SDK**

適用於 Java 的 AWS IoT 裝置開發套件可讓 Java 開發人員透過 MQTT 或 MQTT 透過 WebSocket 通訊協定存取 AWS IoT 平台。此 SDK 內建有影子支援。您可以使用 HTTP 方法來存取影子，包括 GET、UPDATE 與 DELETE。此 SDK 亦支援簡化的影子存取模式，開發人員只需使用 getter 和 setter 方法，即可與影子交換資料，而無需將任何 JSON 文件序列化或還原序列化。

**注意**  
適用於 Java v2 的 AWS IoT 裝置 SDK 現在支援 Android 開發。如需詳細資訊，請參閱適用於 [AWS IoT Android 的 裝置開發套件](https://github.com/aws/aws-iot-device-sdk-java-v2/blob/main/documents/ANDROID.md)。

如需詳細資訊，請參閱下列內容：
+ [AWS IoT GitHub 上的適用於 Java 的 裝置 SDK v2](https://github.com/aws/aws-iot-device-sdk-java-v2)
+ [AWS IoT 適用於 Java v2 的 裝置 SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-java-v2#aws-iot-device-sdk-for-java-v2)
+ [AWS IoT 適用於 Java 的 裝置 SDK v2 範例](https://github.com/aws/aws-iot-device-sdk-java-v2/tree/main/samples#sample-apps-for-the-aws-iot-device-sdk-for-java-v2)
+ [AWS IoT 適用於 Java v2 的 裝置 SDK API 文件](https://aws.github.io/aws-iot-device-sdk-java-v2/)

------
#### [ Swift ]

**AWS IoT 適用於 Swift 的裝置 SDK**

適用於 Swift 的 AWS IoT 裝置開發套件可讓 Swift 開發人員使用 MQTT 5 通訊協定為 Linux 和 Apple macOS、iOS 和 tvOS 平台建立 AWS IoT 應用程式。

如需詳細資訊，請參閱下列內容：
+ [AWS IoT GitHub 上適用於 Swift 的裝置 SDK](https://github.com/aws/aws-iot-device-sdk-swift)
+ [AWS IoT 適用於 Swift Readme 的裝置 SDK](https://github.com/aws/aws-iot-device-sdk-swift/blob/main/README.md)
+ [AWS IoT 適用於 Swift 範例的裝置 SDK](https://github.com/aws/aws-iot-device-sdk-swift/tree/main/Samples)

------

### AWS IoT 適用於 Embedded C 的 裝置 SDK
<a name="iot-constrained-device-sdk"></a>

**注意**  
此 SDK 適合經驗豐富的嵌入式軟體開發人員使用。

 適用於 Embedded C 的 AWS IoT Device SDK (C-SDK) 是 MIT 開放原始碼授權下的 C 來源檔案集合，可用於內嵌應用程式，以安全地將 IoT 裝置連接到其中 AWS IoT Core。它包含 MQTT 用戶端、JSON 剖析器，以及 AWS IoT Device Shadow、 AWS IoT Jobs、 AWS IoT Fleet Provisioning 和 AWS IoT Device Defender 程式庫。此 SDK 以來源形式分配，並且可與應用程式碼、其他程式庫及您選擇的作業系統 (OS) 作業系統一起內建於客戶韌體中。

通常以需要最佳化 C 語言執行時間的資源限制裝置 適用於 Embedded C 的 AWS IoT Device SDK 為目標。您可以在任何作業系統上使用軟體開發套件，並將其裝載在任何處理器類型 (例如 MCU 和 MPU) 上。

如需詳細資訊，請參閱下列內容：
+ [GitHub 上適用於 Embedded C 的AWS IoT 裝置 SDK](https://github.com/aws/aws-iot-device-sdk-embedded-C)
+ [AWS IoT 適用於 Embedded C 的 裝置 SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-embedded-C#aws-iot-device-sdk-for-embedded-c)
+ [AWS IoT 適用於內嵌 C 的 裝置 SDK 範例](https://docs.aws.amazon.com/embedded-csdk/latest/lib-ref/docs/doxygen/output/html/demos_main.html)

## AWS 行動SDKs
<a name="iot-mobile-sdks"></a>

 AWS Mobile SDK SDKs 為行動應用程式開發人員平台特定的 AWS IoT Core 服務 APIs、使用 MQTT 的 IoT 裝置通訊，以及其他 AWS 服務的 APIs 提供支援。

------
#### [ Android ]

**適用於 Android 的 AWS Mobile SDK**

 適用於 Android 的 AWS Mobile SDK 包含程式庫、範例和文件，供開發人員使用 建置連線的行動應用程式 AWS。此 SDK 也包含對 MQTT 裝置通訊和呼叫 AWS IoT Core 服務的 APIs的支援。如需詳細資訊，請參閱下列內容：
+ [適用於 Android 的 AWS Mobile SDK GitHub 上的](https://github.com/aws/aws-sdk-android)
+ [適用於 Android 的 AWS Mobile SDK 讀我檔案](https://github.com/aws-amplify/aws-sdk-android/blob/main/README.md#aws-sdk-for-android)
+ [適用於 Android 的 AWS Mobile SDK 範例](https://github.com/awslabs/aws-sdk-android-samples#aws-sdk-for-android-samples)
+ [適用於 Android 的 AWS Mobile SDK API 參考](https://aws-amplify.github.io/aws-sdk-android/docs/reference/)
+ [AWSIoTClient 類別參考文件](https://aws-amplify.github.io/aws-sdk-android/docs/reference/com/amazonaws/services/iot/AWSIotClient.html)

------
#### [ iOS ]

**AWS Mobile SDK for iOS**

 AWS Mobile SDK for iOS 是開放原始碼軟體開發套件，根據 Apache Open Source 授權分佈。提供程式庫、程式碼範例和文件，以協助開發人員使用 AWS Mobile SDK for iOS 建置連線的行動應用程式 AWS。此 SDK 也包括支援 MQTT 裝置通訊和呼叫 AWS IoT Core 服務的 API。如需詳細資訊，請參閱下列內容：
+ [AWS Mobile SDK for iOS GitHub 上的](https://github.com/aws/aws-sdk-ios)
+ [AWS Mobile SDK for iOS 讀我檔案](https://github.com/aws-amplify/aws-sdk-ios/blob/main/README.md#aws-sdk-for-ios)
+ [AWS Mobile SDK for iOS 範例](https://github.com/awslabs/aws-sdk-ios-samples#the-aws-sdk-for-ios-samples)
+ [中的 AWSIoT 類別參考文件 AWS Mobile SDK for iOS](https://aws-amplify.github.io/aws-sdk-ios/docs/reference/AWSIoT/index.html)

------

## AWS IoT 裝置用戶端
<a name="iot-sdk-device-client"></a>

 AWS IoT Device Client 提供的程式碼可協助您的裝置連線 AWS IoT、執行機群佈建任務、支援裝置安全政策、使用安全通道連線，以及在裝置上處理任務。您可以在裝置上安裝此軟體，來處理這些例行裝置任務，以便可以專注於您的特定解決方案。

**注意**  
 AWS IoT Device Client 適用於採用 x86\$164 或 ARM 處理器的微處理器型 IoT 裝置，以及常見的 Linux 作業系統。

------
#### [ C\$1\$1 ]

**AWS IoT 裝置用戶端**

如需 C\$1\$1 AWS IoT 裝置用戶端的詳細資訊，請參閱下列內容：
+ [AWS IoT GitHub 上 C\$1\$1 原始程式碼中的裝置用戶端](https://github.com/awslabs/aws-iot-device-client)
+ [AWS IoT C\$1\$1 Readme 中的裝置用戶端](https://github.com/awslabs/aws-iot-device-client#aws-iot-device-client)

------

## 舊型 AWS IoT 裝置 SDKs版本
<a name="earlier-sdks"></a>

這些是 AWS IoT 裝置 SDKs 的較早版本，已由上述較新版本取代。這些 SDK 只接收維護和安全性更新。它們不會更新以包含新功能，而且不應該用於新專案。
+ [AWS IoT GitHub 上的 C\$1\$1 裝置 SDK](https://github.com/aws/aws-iot-device-sdk-cpp/tree/release)
+ [AWS IoT C\$1\$1 裝置 SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-python/blob/master/README.rst#new-version-available)
+ [AWS IoT GitHub 上的適用於 Python v1 的裝置 SDK](https://github.com/aws/aws-iot-device-sdk-python)
+ [AWS IoT 適用於 Python v1 的 裝置 SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-python#new-version-available)
+ [AWS IoT GitHub 上的適用於 Java 的裝置 SDK](https://github.com/aws/aws-iot-device-sdk-java)
+ [AWS IoT 適用於 Java 的 裝置開發套件讀我檔案](https://github.com/aws/aws-iot-device-sdk-java#new-version-available)
+ [AWS IoT GitHub 上適用於 JavaScript 的裝置 SDK](https://github.com/aws/aws-iot-device-sdk-js)
+ [AWS IoT 適用於 JavaScript 的 裝置 SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-js#new-version-available)
+ [GitHub 上的 Arduino Yún SDK](https://github.com/aws/aws-iot-device-sdk-arduino-yun)
+ [Arduino Yún SDK 讀我檔案](https://github.com/aws/aws-iot-device-sdk-arduino-yun#aws-iot-arduino-y%C3%BAn-sdk)