主要观点:现代极客们兴起的新爱好是用软件替代房屋中简单的电线,使房屋内设备不可靠。作者介绍了将房屋灯光与开关间的电线用 Bash 替换,实现远程控制灯光等功能的过程。
关键信息:
- 选择 Zigbee 硬件,用 Zigbee2MQTT 管理协调器硬件并通过 MQTT 协议暴露网络。
- 编写 MQTTR 程序,实现根据 MQTT 消息启动任意程序,如通过脚本用 Bash 控制灯光开关和调光器。
- 利用 Android 内置仪表盘系统控制外部设备,但 MqttDroid 与 Zigbee2MQTT 的 JSON 消息交互存在问题,通过 Bash 镜像 Zigbee2MQTT JSON 状态到不同命名空间的保留主题来解决。
- 编写多个 Bash 脚本实现不同功能,如控制灯光亮度、颜色温度等,还解决了调光器远程按钮的功能复制问题。
重要细节: - 脚本通过 Bash 正则匹配消息主题提取相关信息,用
jq
解析 JSON 消息,用mosquitto_pub
发送 MQTT 消息。 - 绑定从墙壁开关目前不支持,调光器存在状态同步问题。
- 对于 MQTT 订阅的粗粒度问题,有进一步细分命名空间或增加过滤的讨论。
- 关于引号使用,某些情况下不能引用正则表达式以免破坏脚本。
- 不同脚本的功能和用途,如用于控制灯光状态、颜色温度等的脚本。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。