物联网--ESP32开发笔记(2) domoticz mqtt的一些坑的记录

本文记录了使用ESP32的IDF进行MQTT开发时遇到的主题选择问题,包括四种发布主题模式的解释及其应用场景。此外,还介绍了MQTT控制指令必须遵循JSON格式的要求,并提供了在线测试链接。文章最后给出一个JSON指令实例,强调正确格式的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用esp32的 idf 开发mqtt 又遇到了之前domoticz踩过的坑,记录一下

1. 发布的主题

对于一些受控设备,我们可能会去订阅一个主题,然后拿到一些感兴趣的状态。比如我可能会去监听某一个灯的状态切换,因为我自己就是这个设备!

发布的主题一共有四种选择

Select the Topic('s) Domoticz will use to publish outgoing messages.
Flat - publish outgoing messagen on topic domoticz/out.
Hierarchical - publish outgoing messagen on topic domoticz/out/${floorplan name}/${plan name}.
Combined - Use both Flat and Hierarchical topic schemes.
None - disable outgoing messages.
选择Domoticz将用于发布传出消息的主题。
out      发布主题域/out上的传出消息。 
/        在主题domaoticz/out/${floorplan name}/${plan name}上发布传出消息。
out+/    组合-使用平面和层次主题方案。
none     禁用传出消息。

out 这个选项是将所有的信息都发布到 domoticz/out 这个主题
/ 这个是在domoticz/out//floorplanname/{floorplan name}/floorplanname/{plan name} 这个分支内的设备的控制信息会发送到这个主题上。 这个一般适合应用于 设备数量非常多的场景。
out+/ 就是有广播的主题 也有单独的主题,针对于不同的设备可以去订阅不同的主题
none 不发控制指令

在这里插入图片描述

2. 控制指令的发送

控制指令只接受json的格式,也就是说 你的json格式必须能校验过
这方面测试的话 可以到这里提前去测试一下

https://www.json.cn/

以下是一个例子
关于这个json 参数的意思,还需要去参考官方的wiki

{
 "command": "udevice",
 "idx" : 7,
 "nvalue" : 0,
 "svalue" : "90;2975.00"
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值