

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

# 設定 coreMQTT 程式庫
<a name="afr-porting-mqtt"></a>

邊緣上的裝置可以使用 MQTT 通訊協定與 AWS Cloud 通訊。 AWS IoT 託管 MQTT 代理程式，在邊緣傳送和接收來自連線裝置的訊息。

coreMQTT 程式庫會實作執行 FreeRTOS 之裝置的 MQTT 通訊協定。coreMQTT 程式庫不需要移植，但您裝置的測試專案必須通過所有 MQTT 測試才能符合資格。如需詳細資訊，請參閱 FreeRTOS 使用者指南中的 [coreMQTT Library](https://docs.aws.amazon.com/freertos/latest/userguide/coremqtt.html)。 *FreeRTOS *

## 先決條件
<a name="testing-prereqs-mqtt"></a>

若要設定 coreMQTT 程式庫測試，您需要網路傳輸介面連接埠。如需進一步了解，請參閱[移植網路傳輸界面](afr-porting-network-transport-interface.md)。

## 測試
<a name="testing-mqtt"></a>

執行 coreMQTT 整合測試：
+ 向 MQTT 代理程式註冊您的用戶端憑證。
+ 在 中設定代理程式端點，`config`並執行整合測試。

## 建立參考 MQTT 示範
<a name="reference-mqtt"></a>

我們建議使用 coreMQTT 代理程式來處理所有 MQTT 操作的執行緒安全性。使用者還需要發佈和訂閱任務，而 Device Advisor 會測試 來驗證應用程式是否有效整合 TLS、MQTT 和其他 FreeRTOS 程式庫。

若要正式符合 FreeRTOS 的裝置資格，請使用 AWS IoT Device Tester MQTT 測試案例驗證您的整合專案。如需設定和測試的說明，請參閱 [AWS IoT Device Advisor 工作流程](https://docs.aws.amazon.com/iot/latest/developerguide/device-advisor-console-tutorial.html)。TLS 和 MQTT 的強制性測試案例如下所示：


**TLS 測試案例**  

| 測試案例 | 測試案例 | 必要的測試 | 
| --- | --- | --- | 
| TLS | TLS Connect | 是 | 
| TLS | TLS 支援 AWS IoT 密碼套件 | 建議的[密碼套件](https://docs.aws.amazon.com/iot/latest/developerguide/transport-security.html#tls-cipher-suite-support)  | 
| TLS | TLS 不安全伺服器憑證 | 是 | 
| TLS | TLS 不正確的主題名稱伺服器憑證 | 是 | 


**MQTT 測試案例**  

| 測試案例 | 測試案例 | 必要的測試 | 
| --- | --- | --- | 
| MQTT | MQTT Connect | 是 | 
| MQTT | MQTT Connect 抖動重試 | 是，無警告 | 
| MQTT | MQTT 訂閱 | 是 | 
| MQTT | MQTT 發佈 | 是 | 
| MQTT | MQTT ClientPuback QoS1 | 是 | 
| MQTT | MQTT No Ack PingResp | 是 | 