

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# coreMQTT ライブラリの設定
<a name="afr-porting-mqtt"></a>

エッジのデバイスは、MQTT プロトコルを使用して AWS クラウドと通信できます。AWS IoT は、接続されたエッジデバイスとの間でメッセージを送受信する MQTT ブローカーをホストします。

coreMQTT ライブラリは、FreeRTOS が動作するデバイス用の MQTT プロトコルを実装します。coreMQTT ライブラリを移植する必要はありませんが、資格認定を得るには、デバイスのテストプロジェクトをすべての MQTT テストに合格させる必要があります。詳細については、*FreeRTOS ユーザーガイド*の [coreMQTT ライブラリ](https://docs.aws.amazon.com/freertos/latest/userguide/coremqtt.html)を参照してください。

## 前提条件
<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>

すべての MQTT 操作のスレッドセーフを処理するために、coreMQTT エージェントを使用することが推奨されます。また、ユーザーがアプリケーションに TLS、MQTT、その他の FreeRTOS ライブラリが効果的に統合されているかどうかを検証するには、パブリッシュタスクとサブスクライブタスク、および Device Advisor テストも必要です。

FreeRTOS 用にデバイスを正式に認定するには、AWS IoT Device Tester MQTT のテストケースを使用して統合プロジェクトを検証します。セットアップとテストの手順については、「[AWS IoT Device Advisor workflow](https://docs.aws.amazon.com/iot/latest/developerguide/device-advisor-console-tutorial.html)」を参照してください。TLS と MQTT の必須テストケースは以下のとおりです。


**TLS テストケース**  

| テストケース | テストケース | 必須のテスト | 
| --- | --- | --- | 
| TLS | TLS Connect | あり | 
| TLS | AWS IoT 暗号スイートの TLS サポート | 推奨される[暗号スイート](https://docs.aws.amazon.com/iot/latest/developerguide/transport-security.html#tls-cipher-suite-support)  | 
| TLS | TLS 非セキュアサーバー証明書 | あり | 
| TLS | TLS の不正なサブジェクト名のサーバー証明書 | あり | 


**MQTT テストケース**  

| テストケース | テストケース | 必須のテスト | 
| --- | --- | --- | 
| MQTT | MQTT 接続 | あり | 
| MQTT | MQTT 接続ジッター再試行 | Yes、警告なし | 
| MQTT | MQTT サブスクライブ | あり | 
| MQTT | MQTT パブリッシュ | あり | 
| MQTT | MQTT ClientPuback QoS1 | あり | 
| MQTT | MQTT No Ack PingResp | あり | 