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. 返回业务逻辑编辑器,查看调试结果。调试结果

    钉钉机器人接收到消息。

    消息