跳到主要内容

MQTT Topic 最佳实践

动静分离,上行下行要分明

设备上报和指令下发最好不使用同一个 Topic,通过使用不同的前缀和路径来区分数据。

  • 上行数据 Data

    : 设备 -> 云。建议使用 /dt (data) 或者 up (upload)作为前缀. : 例如, /dt/sensor/temp-001/report

  • 下行指令 Command

    : 云 -> 设备。建议使用 /cmd (command) 或者 /down(download) 最为前缀 : 例如, /cmd/sensor/temp-001/reboot

层级清晰,包含关键实体信息

  • 推荐结构

    :{direction}/{deviceType}/{deviceId}/{action}
    :/dt/sensor/temp-001/report

预留空间,兼顾当下与未来

{direction}/{deviceType}/{deviceId}/{action}

巧用通配符,实现灵活订阅

  • +, 匹配单层
  • +, 匹配任意层级