更新时间:2023-03-01 GMT+08:00

接入MQTT协议设备

概述

设备可以通过集成MQTT客户端实现接入ROMA Connect。设备接入ROMA Connect后,即可以上报设备数据到ROMA Connect。您也可以通过ROMA Connect向设备下发控制命令,以达到控制设备的效果。

ROMA Connect不会直接存储设备上报的数据,您需要配置数据转发规则,把设备数据转发到其他服务进行存储。

通过MQTT协议设备时,当前仅支持MQTT协议中的QoS0和QoS1。

前提条件

设备与ROMA Connect实例一般通过公网互通,请确保ROMA Connect实例已绑定弹性IP。

接入设备

设备可以使用开源Eclipse paho MQTT Client与ROMA Connect进行连接。您也可以使用MQTTX客户端进行设备接入的调测验证。

  1. 获取MQTT客户端。

    根据您所使用的编程语言获取对应的Eclipse paho MQTT Client

  2. 获取设备的接入信息。
    1. 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。
    2. 在左侧的导航栏选择“设备集成 LINK > 设备管理”。
    3. 获取设备的连接信息。
      • MQTT/MQTTS连接地址:在设备管理页面上方获取设备的接入地址,如果使用MQTT接入,则获取“MQTT连接地址”;如果使用MQTTS接入,则获取“MQTTS连接地址”,并下载SSL证书。
      • 客户端ID/用户名/密码:在设备页签下找到对应的设备,并获取设备的“客户端ID”、“用户名”和“密码”。
    4. 获取设备的Topic信息。

      单击设备的名称进入设备详情页面,在Topic列表页签下,获取设备上报(发布)和接收(订阅)消息的Topic信息。

      设备创建成功后系统会自动生成5个基础Topic,Topic说明见表1,具体使用方法请参考MQTT协议Topic规范

      表1 基础Topic说明

      Topic名称

      Topic类

      说明

      {产品标识}/out/{设备标识}

      发布

      用于设备发布消息,消息处理按照规则引擎配置进行,用户可灵活使用。

      {产品标识}/in/{设备标识}

      订阅

      用于设备订阅消息,消息处理按照规则引擎配置进行,用户可灵活使用。

      /v1/devices/{设备标识}/datas

      发布

      用于设备上报基于MQTT的配电物联网通信协议的消息,消息处理先按照此协议处理过滤一遍,再按照规则引擎配置进行。在开启设备影子功能时,该topic上报的数据将会被记录影子。

      /v1/devices/{设备标识}/command

      订阅

      用于设备订阅平台下发的命令消息。平台下发的命令消息默认发布至此Topic。

      /v1/devices/{设备标识}/commandResponse

      发布

      用于设备发布回应消息。设备接收到平台下发的命令消息后,通过此Topic回应平台下发的命令。

  3. 设备集成MQTT客户端。

    设备开发集成Eclipse paho MQTT Client,并在集成过程中写入设备的接入信息。具体开发集成过程请参考设备集成开发

  4. 设备接入ROMA Connect。

    设备完成集成开发后,上电并联网,接入ROMA Connect。

调试设备

  • 上报数据到ROMA Connect:

    ROMA Connect已默认订阅了发布类型的Topic,设备向数据上报Topic发送消息,即可把数据上报到ROMA Connect。

  • 接收ROMA Connect的命令:

    设备订阅命令下发Topic,ROMA Connect向命令下发Topic发送控制命令,即可把命令下发到设备,实现对设备的控制。