物联网平台支持广播通信,即向指定产品下的全量设备(设备无需订阅广播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。