物聯網平臺支持廣播通信,即向指定產品下的全量設備(設備無需訂閱廣播Topic),或訂閱了指定Topic的所有設備發送消息。設備在線,即可收到服務器發送的廣播消息。本文介紹通過配置C Link SDK,設備端實現廣播通信功能。
前提條件
- 已準備開發環境。
- 已獲取C Link SDK。
定制SDK時,在SDK定制頁面的連接物聯網平臺協議區域,選中MQTT 3.1.1。
- 已獲取設備認證信息。
背景信息
- 廣播通信的更多信息,請參見廣播通信。
- 物聯網平臺提供云端API PubBroadcast,實現廣播通信功能。更多信息,請參見PubBroadcast。
功能原理
應用程序通過調用C Link SDK的API,基于MQTT協議的連接,接收并應答物聯網平臺下發的廣播消息。
如下功能時序圖,以設備的應用程序demos/mqtt_broadcast_demo.c為例,介紹應用程序實現該功能的流程。
廣播通信功能基于MQTT接入功能,實現功能調用的API,請參見aiot_mqtt_api.h。
使用說明
- 廣播消息僅推送給產品下當前在線的設備。
- 指定在線設備廣播時,需指定Topic訂閱廣播,廣播接口最大調用頻次:1次/秒。
- 全量在線設備廣播時,無需訂閱廣播Topic,廣播接口最大調用頻次:1次/分鐘。
- 廣播消息體報文最大為64 KB。