coreMQTT ライブラリの設定
エッジのデバイスは、MQTT プロトコルを使用して AWS クラウドと通信できます。AWS IoT は、接続されたエッジデバイスとの間でメッセージを送受信する MQTT ブローカーをホストします。
coreMQTT ライブラリは、FreeRTOS が動作するデバイス用の MQTT プロトコルを実装します。coreMQTT ライブラリを移植する必要はありませんが、資格認定を得るには、デバイスのテストプロジェクトをすべての MQTT テストに合格させる必要があります。詳細については、FreeRTOS ユーザーガイドの coreMQTT ライブラリを参照してください。
前提条件
coreMQTT ライブラリのテストをセットアップするには、ネットワークトランスポートインターフェイスの移植が必要です。詳細については、「ネットワークトランスポートインターフェイスの移植」を参照してください。
テスト
coreMQTT 統合テストを実行します。
クライアント証明書を MQTT ブローカーに登録します。
ブローカーのエンドポイントを
configで設定し、統合テストを実行します。
リファレンス MQTT デモの作成
すべての MQTT 操作のスレッドセーフを処理するために、coreMQTT エージェントを使用することが推奨されます。また、ユーザーがアプリケーションに TLS、MQTT、その他の FreeRTOS ライブラリが効果的に統合されているかどうかを検証するには、パブリッシュタスクとサブスクライブタスク、および Device Advisor テストも必要です。
FreeRTOS 用にデバイスを正式に認定するには、AWS IoT Device Tester MQTT のテストケースを使用して統合プロジェクトを検証します。セットアップとテストの手順については、「AWS IoT Device Advisor workflow」を参照してください。TLS と MQTT の必須テストケースは以下のとおりです。
| テストケース | テストケース | 必須のテスト |
|---|---|---|
| TLS | TLS Connect | あり |
| TLS | AWS IoT 暗号スイートの TLS サポート | 推奨される暗号スイート |
| TLS | TLS 非セキュアサーバー証明書 | あり |
| TLS | TLS の不正なサブジェクト名のサーバー証明書 | あり |
| テストケース | テストケース | 必須のテスト |
|---|---|---|
| MQTT | MQTT 接続 | あり |
| MQTT | MQTT 接続ジッター再試行 | Yes、警告なし |
| MQTT | MQTT サブスクライブ | あり |
| MQTT | MQTT パブリッシュ | あり |
| MQTT | MQTT ClientPuback QoS1 | あり |
| MQTT | MQTT No Ack PingResp | あり |