MQTT云网关设备可通过自定义的消息Topic与物联网平台进行通信,物联网平台会透传设备的上下行通信数据。本文介绍设备实现上下行通信的相关说明。
MQTT云网关产品和设备的详细内容,请参见创建云网关产品(MQTT)和创建云网关设备(MQTT)。
Topic说明
物联网平台与云网关设备之间通过MQTT协议的Topic实现消息通信,您需自定义用于通信的Topic。通信Topic必须符合标准MQTT协议的Topic规范,Topic更多详细说明,请参见什么是Topic。
自定义通信Topic直接使用设备上报的原始自定义Topic,设备下行通信Topic与上行通信Topic一致。
物联网平台支持的通信Topic与标准MQTT协议通信Topic的区别如下:
Topic对比项 | 物联网平台支持的MQTT协议 | 标准MQTT协议 |
---|---|---|
长度 | 支持1~128个字符。 | 不超过65535个字符。 |
字符集 | 只能包含字母、数字和下划线(_)。 | 支持UTF-8字符集,无明确限制。 |
限制说明
- 一个云网关设备下,支持最多订阅100个通信Topic。
- 只有设备操作权限为订阅时,才可以使用通配符
+
和#
自定义Topic类,以便设备实现批量订阅Topic。通配符使用方法,请参见带通配符的自定义Topic。
上行通信:设备端到服务端
设备端向通信Topic发布消息,服务端可通过物联网平台的AMQP订阅或云产品流转功能,接收来自设备端的消息。
配置引擎规则时,您需注意以下事项:
- 仅支持在新版云产品流转功能下,为云网关设备配置数据流转规则。具体操作,请参见配置数据流转解析器。
- 不支持将云网关产品和设备的消息流转到物联网平台普通产品和设备,也不支持将物联网平台普通产品和设备的消息流转到云网关产品和设备。
- 云网关设备流转数据至另一个Topic时,需携带字段deviceName。详细使用说明,请参见流转数据到数据目的函数。
- 配置数据流转的数据源Topic时,需您手动输入消息Topic。具体操作,请参见创建数据源。
- 服务端订阅中仅支持推送设备上报消息、设备状态变化通知和设备生命周期变更的数据。具体操作,请参见配置AMQP服务端订阅。
下行通信:服务端到设备端
服务端调用Pub接口,可向指定的自定义Topic发布消息。设备通过订阅该Topic,接收来自服务端的消息。