抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

主题

主题基本形式

​ 主题基本形式就是一个字符串,比如:currentTime,carSpeed

​ 注意:主题区分大小写、可以用空格(但尽量不要用)、尽量使用英文字符

主题分级

​ MQTT主题各个级别之间可以使用/来分隔。如:Tyler-1/motor/1/speed

​ 示例中一共有四级主题,分别是第1级 Tyler-1、第2级motor、第三级1、第4级speed。

主题通配符

​ 当客户端订阅主题时,可以使用通配符同时订阅多个主题。通配符只能在订阅主题时使用

  • 单级通配符: + 示例:

    1
    2
    3
    4
    5
    6
    home/sensor/+/temperature

    # 可以表示:
    # home/sensor/aaa/temperature
    # home/sensor/bbb/temperature
    # ......
  • 多级通配符 :# 示例:

    1
    2
    3
    4
    5
    6
    home/sensor/#

    # 可以表示:
    # home/sensor/aaa
    # home/sensor/bbb/ccc
    # home/sensor/aaa/ccc

注意事项

  • 以$开始的主题

    以$开始的主题是MQTT服务端系统保留的特殊主题,不能随意订阅或者向其发布信息。如:

    1
    2
    3
    4
    5
    6
    $SYS/broker/clients/connected
    $SYS/broker/clients/disconnected
    $SYS/broker/clients/total
    $SYS/broker/messages/sent
    $SYS/broker/uptime
    ...
  • 避免使用/作为主题的开头

  • 主题中尽量不要使用空格

  • 主题中尽量使用ASCII字符

  • 建议在主题中嵌入客户端ID
    【通过主题中的客户端ID内容,可以很容易的了解该主题信息是由哪一台设备所发布的】

ESP8266订阅主题

评论