MQTT订阅

更新时间:

MQTT订阅节点支持开启对设备属性、事件、工作状态等的监听功能,用来获取设备的实时信息。

前提条件

已完成业务服务的创建。详细内容请参见创建业务服务

使用场景

MQTT订阅不仅可以用于监听设备当前的工作状态,也可以作为数据源,输出上报设备的DeviceName或者设备MQTT Topic上报的整体信息。帮助您掌握设备的实时情况。

节点配置

在业务逻辑编辑页面的节点 > 触发列表中,拖拽MQTT订阅节点到中间画布进行节点配置,如图所示

MQTT订阅

配置项

说明

节点名称

设置节点名称。支持中文汉字、英文字母、数字和下划线(_),长度不超过30个字符。

监听Topic

单击+Topic新增需要监听的Topic。配置Topic

输入设备Topic。支持订阅项目下产品或设备中拥有发布权限的Topic。

输入格式示例:/sys/${productKey}/${deviceName}/thing/event/property/post

如果输入了备注名称,则Topic列表以备注名显示。

您可在项目详情页单击左侧导航栏的设备,在设备列表中,找到并单击目标设备右侧操作栏的查看,在设备详情页单击Topic列表页签,查找设备的Topic。

重要
  • 目前,IoT Studio仅支持物模型通信Topic和自定义Topic类,暂不支持基础通信Topic类。有关消息通信Topic的详细内容请参见什么是Topic

  • 输入Topic时,可使用通配符#+,以实现批量监听Topic。其中自定义Topic类仅可使用通配符#

    使用通配符时,#必须置于Topic层级的4级及以上才能生效。例如/sys/${productKey}/${deviceName}/thing/#/sys/${productKey}/${deviceName}/thing/event/#

    有关通配符的详细描述,请参见通配符说明表

  • 支持添加多个Topic,最多可添加10个,最少添加1个。

节点输出

将监听设备和订阅Topic的相关信息作为节点输出。

{
    "body": "{Topic消息体}"
    "deviceContext": {
        "productKey": "设备的productKey",
        "deviceName": "设备的deviceName",
        "topic": "设备的Topic"
    }
}

示例

下文以获取某设备属性上报Topic的消息体为例,向您展示如何使用MQTT订阅节点。

  1. 物联网平台控制台左侧导航栏,单击IoT Studio > 项目管理

  2. 创建项目。操作指导请参见项目

  3. 创建产品与设备。操作指导请参见产品设备

    产品配置:产品名称为定位传感器,所属品类为自定义品类,自定义功能属性地理位置(GeoLocation),添加设备analog

  4. 创建业务服务。详细操作请参见创建业务服务

  5. 在业务逻辑编辑页面,依次添加MQTT订阅钉钉机器人HTTP返回节点,连接节点后,完成如图所示配置。

    • MQTT订阅:添加监听属性上报的Topic/sys/a***a/analog/thing/event/property/post

    • 钉钉机器人:设置自定义消息,获取设备名称。

      其中钉钉机器人详细配置,请参见钉钉机器人

    • HTTP返回:设置返回MQTT订阅的Topic消息体。

    MQTT订阅示例
  6. 单击右上角保存部署调试按钮,开启服务监听设备。

  7. 本示例使用设备模拟器功能,模拟设备发送数据,完成服务调试。详细内容请参见设备模拟器设备模拟器

  8. 返回业务逻辑编辑器,查看调试结果。调试结果

    钉钉机器人接收到消息。

    image..png