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}
巧用通配符,实现灵活订阅
+, 匹配单层+, 匹配任意层级