数据接入开放协议-MQTT接入

一、Topic格式定义

/{auth token}/{endpoint id}/{endpoint name}/{method name}/{direction}

字段说明如下:

字段名备注说明扩展说明
auth token认证Token接入管理分配的UUID
endpoint id备设备ID接入设备的ID,推荐填写成网关的mac地址
endpoint name设备名称接入管理定义的接入设备名
direction主题方向push:云端请求;push_reply:响应云端请求,get:网关请求云端,get_reply:云端响应网关请求,report:主动上送云端,retain:主动上送云端,要求云端保留该消息,主要用于组态、配置信息与云端同步不同的方法名支持的主题方向不同

功能清单:

功能方法名/主题方向说明备注
设备主动上送位号数据metatag/retain单向上送,云端做数据持久化保证必选
设备主动上送实时数据rtdvalue/report单向上送必选
设备主动上送缓存续传数据cachevalue/report单向上送必选
设备主动上送事件rtdevent/report单向上送可选
设备主动上送请求rtdevent/get事件请求可选,事件支持扩展,目前已经支持事件:1.系统对时
rtdevent/get_reply事件响应,无响应为异常,持续无响应可认为云端异常
云端主动刷新位号数据metatag/push元数据主动刷新请求,要求设备端主动上送一次全量的位号数据必选,云端只会在必须要的情况下才会主动发送刷新请求
metatag/push_reply元数据主动刷新响应,持续无响应可认为设备端异常
云端主动刷新实时数据rtdvalue/push实时数据主动刷新请求,要求设备端主动上送一次全量的实时数据必选,云端只会在必须要的情况下才会主动发送刷新请求
rtdvalue/push_reply实时数据刷新响应,持续无响应可认为设备端异常
云端主动发送事件通知rtdevent/push事件通知请求可选
rtdevent/push_reply事件通知响应,持续无响应可认为设备端异常
云端主动发送下写通知rtdnotify/push云端下写通知可选,支持下写特性的采集器需要进行订阅
rtdnotify/push_reply网关下写响应

说明:

下面的具体通讯过程里Topic的定义都是用

auth token: 86efdf12-4f54-4691-b833-09cbaa2d50a4

endpoint id: dev1234

endpoint name: test

作为举例说明各个协议功能。

二、位号元数据

设备主动刷新位号数据

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/metatag/retain

MQTT参数
QOS = 0,Retain = 1

消息内容
MetaTagSequence

说明

  • 设备启动后主动上送一次位号元数据

云端要求刷新设备位号数据

云端请求:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/metatag/push

MQTT参数
QOS = 1,Retain = 0

消息内容

说明:

  • 云端在发生服务重启时会主动发起刷新请求
响应云端:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/metatag/push_reply

MQTT参数
QOS = 1,Retain = 0

消息内容
MetaTagSequence

三、实时数据

设备主动上送实时数据

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdvalue/report

MQTT参数
QOS = 1,Retain = 0

消息内容
ValueSequence

说明:

  • 设备在上送完位号数据后,可以主动上送实时数据

云端要求刷新设备实时数据

云端请求:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdvalue/push

MQTT参数
QOS = 1,Retain = 0

消息内容

说明:

  • 云端在发生服务重启时会主动发起刷新请求
响应云端:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdvalue/push_reply

MQTT参数
QOS = 1,Retain = 0

消息内容
ValueSequence

四、历史数据续传

设备主动续传历史数据

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/cachevalue/report

MQTT参数
QOS = 1,Retain = 0

消息内容
ValueSequence

说明:

  • 设备在主动上送实时数据失败时,可以将未上送成功的数据进行本地缓存。待通讯状态恢复后,通过历史数据续传的方式进行数据续传,以保证数据完整。

五、自定义事件

设备主动上报事件

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdevent/report

MQTT参数
QOS = 1,Retain = 0

消息内容
RtdEvent

说明:

  • 自定义事件是用来预留给各接入设备来进行自定义数据上报的机制,该类数据的处理需按需进行服务定制。
  • RtdEvent里的topic由各接入设备来自定义,topic规则请参见1的格式定义,其中method name由各设备自定义。该数据的处理也由平台上自定义的应用来进行消费和处理。

设备请求云端事件

设备请求:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdevent/get

MQTT参数
QOS = 1,Retain = 0

消息****内容
RtdEvent

说明:

  • 设备端主动发起请求,要求云端给出响应
云端响应:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdevent/get_reply

MQTT参数
QOS = 1,Retain = 0

消息内容
RtdEvent

说明:

  • 云端响应设备端请求结果

云端主动通知事件

云端请求:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdevent/push

MQTT参数
QOS = 1,Retain = 0

消息****内容
RtdEvent
说明:

  • 云端根据业务主动给设备端发送通知事件
设备响应:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdevent/push_reply

MQTT参数
QOS = 1,Retain = 0

消息内容
RtdEvent

说明:

  • 设备端在完成通知事件处理后的,给出对应的响应

六、系统内置事件

系统对时

设备请求:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdevent/get

MQTT参数
QOS = 1,Retain = 0

消息内容
RtdEvent
topic = SyncTime
payload = GatewayCoordinate

说明:

  • 设备主动给云端发送时间协调事件请求
云端响应:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdevent/get_reply

MQTT参数
QOS = 1,Retain = 0

消息内容
RtdEvent
topic = SyncTime
payload = ServerCoordinate

说明:

  • 云端给设备发送时间协调事件响应

云端下写事件通知

云端请求:

主题

/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdnotify/push

MQTT参数
QOS = 0,Retain = 1

消息内容
ValueSequence

说明:

  • 云端主动发起请求,要求设备端给出响应
设备响应:

主题
/86efdf12-4f54-4691-b833-09cbaa2d50a4/dev1234/test/rtdnotify/push_reply

MQTT参数
QOS = 1,Retain = 0

消息内容

说明:

  • 设备端响应云端请求结果
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值