接入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客户端进行设备接入的调测验证。
- 获取MQTT客户端。
根据您所使用的编程语言获取对应的Eclipse paho MQTT Client。
- 获取设备的接入信息。
- 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。
- 在左侧的导航栏选择“设备集成 LINK > 设备管理”。
- 获取设备的连接信息。
- MQTT/MQTTS连接地址:在设备管理页面上方获取设备的接入地址,如果使用MQTT接入,则获取“MQTT连接地址”;如果使用MQTTS接入,则获取“MQTTS连接地址”,并下载SSL证书。
- 客户端ID/用户名/密码:在设备页签下找到对应的设备,并获取设备的“客户端ID”、“用户名”和“密码”。
- 获取设备的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回应平台下发的命令。
- 设备集成MQTT客户端。
设备开发集成Eclipse paho MQTT Client,并在集成过程中写入设备的接入信息。具体开发集成过程请参考设备集成开发。
- 设备接入ROMA Connect。