news 2026/8/25 8:52:07

不止浇花!miflora-mqtt-daemon创意应用:冰箱温度监测与自动灌溉联动方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
不止浇花!miflora-mqtt-daemon创意应用:冰箱温度监测与自动灌溉联动方案

不止浇花!miflora-mqtt-daemon创意应用:冰箱温度监测与自动灌溉联动方案

【免费下载链接】miflora-mqtt-daemonLinux service to collect and transfer Xiaomi Mi Flora plant sensor data via MQTT to your smart home system, with cluster support 🌱🌼🥀🏡🌳项目地址: https://gitcode.com/gh_mirrors/mi/miflora-mqtt-daemon

miflora-mqtt-daemon是一款面向小米 Mi Flora(米家花型植物传感器)的免费开源 Linux 常驻程序(守护进程)。它通过蓝牙周期性读取传感器的温度、光照、土壤湿度、土壤肥力等数据,并以 JSON 格式发布到 MQTT 消息代理,让你轻松对接 openHAB、Home Assistant 等智能家居平台。今天带你解锁两个“浇花之外”的创意玩法:冰箱温度监测自动灌溉联动——整套方案只需一个廉价传感器加一块树莓派。🌱

🌿 先搞懂:miflora-mqtt-daemon 工作原理

整个方案分三层,每一层都很轻量:

层级角色说明
感知层Mi Flora 传感器BLE 低功耗设备,测量温度、光照、土壤湿度、土壤肥力、电池电量,纽扣电池可用 1.5~2 年
采集层miflora-mqtt-daemon运行在树莓派上的 Linux 守护程序,周期性读取传感器并发布到 MQTT
应用层MQTT 代理 + 智能家居平台openHAB、Home Assistant 等订阅数据,实现报警与自动化逻辑

每一轮采集都会向代理发布一条 JSON。在默认的mqtt-json模式下,主题格式为miflora/<传感器名>,内容形如:

{"light": 5424, "moisture": 30, "temperature": 21.4, "conductivity": 1020, "battery": 100}

数据一旦进入 MQTT 这条“高速公路”,后续的报警、看板、自动化触发就都水到渠成了。项目主程序为miflora-mqtt-daemon.py,完整功能清单可查阅根目录的README.md

🌡️ 创意应用一:把 Mi Flora 变成冰箱温度监测器

很多人不知道,Mi Flora 并不局限于测土壤——它的空气温度读数分辨率高达 0.1°C,项目文档中明确提到过把传感器放进冰箱这种创意用法。

冰箱温度监测原理

只需将传感器放入一个装水的密封瓶中(防止水汽侵入),摆在冰箱隔层上,守护程序便会持续上报温度:

  1. 传感器在冰箱内通过蓝牙向树莓派发送温度数据
  2. miflora-mqtt-daemon将其发布到 MQTT 主题
  3. 在智能家居平台中设置规则:冰箱温度持续高于 8°C 超过 10 分钟,立即推送报警(提示门没关严或压缩机故障)

💡 提示:Mi Flora 使用 BLE 通信,覆盖范围有限。请把树莓派尽量靠近冰箱摆放,并留意传感器的battery电量。

冰箱温度报警配置方法

以 Home Assistant 的homeassistant-mqtt模式为例,三步搞定:

  1. 在配置文件config.ini中将reporting_method设为homeassistant-mqtt
  2. 重启守护程序,Home Assistant 会自动发现温度传感器,无需手动建卡
  3. 在“自动化”页面新建规则:temperature > 8持续触发时,向手机推送通知

openHAB 用户更省事,README.md里提供了现成的 MQTT binding 配置示例,把通道改成冰箱温度即可直接复用。

💧 创意应用二:自动灌溉联动

第二个创意应用是“测水情 → 做判断 → 去浇水”的完整闭环。

自动灌溉联动逻辑

传感器的moisture(土壤湿度,单位 %)字段是整个联动的核心,逻辑只有四步:

  1. 采集:miflora-mqtt-daemon 每 5 分钟(默认周期)发布一次土壤湿度
  2. 判断:智能家居平台订阅该主题,例如moisture < 30表示土壤偏干
  3. 执行:通过 MQTT 指令打开智能插座或继电器模块,给水泵通电 2 分钟
  4. 验证:浇完水后湿度回升,联动结束;也可叠加“每天仅浇水一次”的限制

整条链路无需写代码,在智能家居平台的“自动化”页面点选几下即可完成。

灌溉方案实用建议

  • 多植物支持config.ini[Sensors]段可同时配置任意多个传感器(名称 = MAC 地址),不同植物可设不同浇水阈值
  • 命名带位置:传感器名支持名称@位置写法(如Petunia@Balcony),方便区分管理
  • 电池监控:盯住battery字段,低于 20% 时提前更换纽扣电池,避免灌溉“断粮”

🚀 快速上手:5 步部署 miflora-mqtt-daemon

以下以 Debian / Raspberry Pi OS 为例,部署全程无需 root 权限运行程序本身:

第 1 步:安装系统依赖

sudo apt install git python3 python3-pip bluetooth bluez

Raspberry Pi OS(64 位)用户请额外安装libglib2.0-dev,避免 bluepy 编译报错。

第 2 步:下载项目并安装依赖

git clone https://gitcode.com/gh_mirrors/mi/miflora-mqtt-daemon /opt/miflora-mqtt-daemon cd /opt/miflora-mqtt-daemon sudo pip3 install -r requirements.txt

第 3 步:创建配置文件

cp config.ini.dist config.ini vim config.ini

配置模板config.ini.dist自带详尽注释,你需要重点填写两处:

  • [MQTT]:代理地址hostname与端口port(默认 1883)
  • [Sensors]:填入传感器 MAC 地址(用sudo hcitool lescan扫描)

第 4 步:首次测试运行

python3 miflora-mqtt-daemon.py

终端出现绿色的 “MQTT connection established” 与 “Publishing to MQTT topic” 字样,即代表部署成功。🎉

第 5 步:注册为 systemd 服务后台常驻

项目内置服务模板template.service,三条命令即可让程序永久后台运行并开机自启:

sudo cp template.service /etc/systemd/system/miflora.service sudo systemctl daemon-reload sudo systemctl start miflora.service && sudo systemctl enable miflora.service

更偏爱 Docker?项目提供了Dockerfile,执行docker build -t miflora-mqtt-daemon .构建镜像,再把你的配置目录挂载到容器内的/config即可。

⚙️ config.ini 配置速查:最常用参数

参数默认值说明
reporting_methodmqtt-json数据格式,支持 HomeAssistant、Homie、ThingsBoard、Wiren Board 等 7 种
period300采集周期(秒),自动灌溉建议 5 分钟
hostname/portlocalhost/1883MQTT 代理地址与端口
base_topicmiflora数据发布的基础主题
enabledtrue是否启用常驻循环(守护模式)

除配置文件外,MQTT 连接信息还可通过MQTT_HOSTNAMEMQTT_PORT等环境变量注入,方便容器化部署时统一管理。

🏡 写在最后:传感器只是起点,联动才是终点

miflora-mqtt-daemon 用“把数据发布到 MQTT,剩下的交给你”这一思路,把一个十几元的小传感器玩出了想象力:

  • 🌡️冰箱 / 冰柜温度监测:异常升温即时报警,守护食品安全
  • 💧自动灌溉:湿度驱动水泵联动,出差一周植物也不缺水
  • 🚪门窗 / 遮光传感器:社区已验证的玩法,light光照数据同样可复用

更多集成细节(openHAB、ThingsBoard、Wiren Board 等)请查阅项目根目录的README.md;想深入了解采集与发布逻辑,可以阅读主程序miflora-mqtt-daemon.py。不妨从监测一台冰箱温度这个小实验开始,逐步搭建属于你的智能家居小花园。🌱

【免费下载链接】miflora-mqtt-daemonLinux service to collect and transfer Xiaomi Mi Flora plant sensor data via MQTT to your smart home system, with cluster support 🌱🌼🥀🏡🌳项目地址: https://gitcode.com/gh_mirrors/mi/miflora-mqtt-daemon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 8:51:51

3个经典编程题解析与面试技巧

1. 三个编程练习题解析最近在整理面试题库时&#xff0c;我发现有三个经典编程题特别能考察候选人的基本功和思维逻辑。这些题目看似简单&#xff0c;但实际解决过程中能暴露出很多细节问题。下面我就来详细拆解这三个题目&#xff0c;分享我的解题思路和实际编码中遇到的坑。2…

作者头像 李华
网站建设 2026/8/25 8:50:21

Dism++完整指南:Windows磁盘清理、系统备份与安装系统一次搞定

Dism完整指南&#xff1a;Windows磁盘清理、系统备份与安装系统一次搞定 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism 是一款开源的 Windows 系统维护工…

作者头像 李华
网站建设 2026/8/25 8:48:22

摸鱼低代码完全指南:一款让开发像摸鱼一样轻松的AI原生低代码平台

摸鱼低代码完全指南&#xff1a;一款让开发像摸鱼一样轻松的AI原生低代码平台 【免费下载链接】mfish-nocode 摸鱼低代码平台&#xff0c;是一款致力于让开发像摸鱼一样轻松的低代码/无代码平台。首创微服务单体服务一体化架构。基于SpringBoot4、Spring Ai、Vue3等最新前后端技…

作者头像 李华
网站建设 2026/8/25 8:48:09

2026年网络安全行业求职指南与薪资分析

1. 网络安全行业求职现状解析每年三四月份都是职场人流动的高峰期&#xff0c;这个被称为"金三银四"的黄金窗口期对网络安全从业者尤为重要。作为在安全行业摸爬滚打十年的老兵&#xff0c;我亲眼见证了网络安全岗位需求从零星点缀到全面爆发的全过程。2026年的安全人…

作者头像 李华
网站建设 2026/8/25 8:46:53

Oemer的SVM符号分类器详解:谱号、升降号与休止符识别的原理

Oemer的SVM符号分类器详解&#xff1a;谱号、升降号与休止符识别的原理 【免费下载链接】oemer End-to-end Optical Music Recognition (OMR) system. Transcribe phone-taken music sheet image into MusicXML, which can be edited and converted to MIDI. 项目地址: https…

作者头像 李华