IoT Platformはブロードキャスト通信をサポートしています。 プロダクトの下にあるすべてのデバイスにメッセージをブロードキャストできます。 この場合、デバイスは、メッセージを受信するためにブロードキャストトピックに加入する必要はない。 指定したトピックをサブスクライブするすべてのデバイスにメッセージをブロードキャストすることもできます。 サーバーによって送信されたメッセージを受信するには、デバイスがオンラインである必要があります。 この記事では、ブロードキャスト通信を実現するためにLink SDK for Cを設定する方法について説明します。
前提条件
開発環境を準備する。
SDKをカスタマイズするときは、SDKカスタマイズページでConnect to IoT platform protocolパラメーターをMQTT 3.1.1に設定します。
デバイスの検証情報が取得される。
デバイスは、IoT Platformによって発行されたデバイス証明書を使用して検証されます。 詳細については、「デバイス検証情報の取得」をご参照ください。
デバイスは、カスタムデバイス検証情報を使用して検証されます。 詳細については、「MQTTゲートウェイ製品へのデバイスの追加」をご参照ください。
背景情報
- ブロードキャスト通信の詳細については、「ブロードキャストメッセージ」をご参照ください。
- IoT Platformは、ブロードキャスト通信を実現するためのPubBroadcast操作を提供します。 詳細については、「PubBroadcast」をご参照ください。
制御ポリシー機能の動作
はMQTT経由でIoT Platformと接続し、IoT Platformによって送信されたブロードキャストメッセージを受信して応答します。
デモ /mqtt_broadcast_demo.c
この機能を使用するには、MQTT接続を確立する必要があります。 関連するAPI操作の詳細については、「aiot_mqtt_api.h」をご参照ください。
使用上の注意
- メッセージは、製品内のオンラインデバイスにのみブロードキャストできます。
- 指定したオンラインデバイスにメッセージをブロードキャストするときは、デバイスがサブスクライブするブロードキャストトピックを指定する必要があります。 この場合、1秒に1回PubBroadcast操作を呼び出すことができます。
- すべてのオンラインデバイスにメッセージをブロードキャストする場合、デバイスはブロードキャストトピックをサブスクライブする必要はありません。 この場合、1分に1回PubBroadcast操作を呼び出すことができます。
- メッセージ本文のサイズは最大64 KBです。
例
- 例。
- 一般的なエラーコードをします。