AquaPulse
面向多户住宅楼的智能用水管理。从 ESP32 传感器到网页应用和 Android 应用,每户的用水都被计量、公平计费,并时刻监测漏水。
问题,以及 AquaPulse 做什么
在许多公寓楼里,用水是共享的,没人真正知道谁用了多少。水箱会溢出或抽干,漏水的管道可能整夜流个不停,水费只能靠估算分摊。AquaPulse 让一栋普通的楼变成智能用水的楼。
业主
查看每户的用水,按真实读数公平计费,远程开关供水,监测水质并接收警报。
住户
查看自己的用水和账单,在线支付,自己开关供水,并确认水是安全的。
设备
每户一个 ESP32 节点,测量流量、pH 和温度,并驱动电动阀门;水箱节点控制水泵。没有硬件时,一个包含 10 户和一个水箱的数字孪生完成同样的工作。
它能做什么
- 实时监测:每户的流量、pH 和温度通过加密的 MQTT 传输,在仪表盘上实时更新。
- 远程阀门控制:只有设备本身确认后,命令才算完成。
- 水箱和水泵:水箱节点在 25% 时自动开泵、95% 时关泵,绝不干转,即使服务器停机也照常工作。
- 阶梯计费和支付:价格由业主设定,支持 11 种货币,生成 PDF 账单。可用现金、银行转账或通过 Stripe 刷卡支付(仅测试模式)。
- AI 漏水检测和预测:发现缓慢漏水和爆管,可选择自动关阀;提供 7 天用水预测和月底账单估算,并标出异常的日子。在模拟测试数据上,它找出了全部 62 个预设的漏水和爆管,没有误报。
- 警报:九条规则,通过应用和电子邮件发送,并可选 Firebase 推送通知。
整体结构
- ESP32 节点或数字孪生
- Mosquitto基于 TLS 的 MQTT,每台设备一个密码
- Ingestor检查每条消息
- TimescaleDB读数、账单、审计日志
- FastAPIAPI 和实时 WebSocket,位于 Caddy(HTTPS)之后
- 网页应用和 Android 应用React PWA 和 Flutter
868 个后端测试,覆盖率 95.4%;双因素登录、防篡改审计日志;每次改动都运行 CodeQL、Trivy、gitleaks、pip-audit、Bandit 和 OWASP ZAP 扫描。
我的角色
我设计并构建了整个系统,从需求规格说明书到硬件、后端、网页应用、Android 应用、AI 和安全。1.0.0 版于 2026 年 10 月 31 日以 MIT 许可证发布。
背景:从哪里开始
AquaPulse 源自我 2023 年在奎达 BUITEMS 的本科毕业设计“Smart Eco Utilization for Smart Edifice”(论文报告题为“IoT based Pure Aqua Utilization in Smart Edifice”)。在 Raja Asif Wagan 博士指导下,三人团队用 Arduino、蓝牙和一个 Android 应用实现了水箱水位测量和水泵自动控制。AquaPulse 保留了这个想法,并为整栋楼重新构建了其余的一切。