净水器 + 物联网:智能家电的新趋势
去年我们团队接手了一个传统净水器的物联网改造项目。客户是一家做了十几年净水设备的厂商,产品质量扎实,但在智能方面落后于市场。他们的需求很明确:让用户能在手机上看水质、滤芯寿命,接收更换提醒。听起来简单,但实际开发中遇到的问题比预期多。

一、需求不只是“联网”
刚开始接触需求时,我们认为就是加个Wi-Fi模块,传点数据到云端。但和产品经理深入沟通后发现,用户真正需要的是“无感服务”——不是让用户天天盯着APP看数据,而是在恰当的时候提醒该换滤芯了,水质异常时主动通知。
我们决定把重点放在滤芯寿命算法的准确性上。传统计时器方式很不科学——不同地区水质差异大,用户用水量也不同。我们做了几件事:
1、多维度计算模型:结合使用时间、累计过水量、进水水质变化三个因素
2、本地计算为主:设备端先做基础计算,即使断网也能工作
3、云端校准:收集同类地区数据,定期优化算法参数
二、硬件选型的实际考虑·
客户最初想用高端模块,支持5G甚至蓝牙Mesh。我们评估后建议用ESP32系列,原因很实际:
➭ 成本可控,一片30元左右
➭ 开发资料丰富,出了问题好排查
➭ 功耗足够低,净水器常通电,但待机电流要小
➭ 有足够的GPIO口,接TDS传感器、流量计都有余量
硬件稳定性比功能丰富更重要。净水器装在橱柜下,环境潮湿,Wi-Fi信号弱。我们在样品阶段就发现,某些路由器下设备频繁掉线。后来做了两件事改善:
➭ 增加信号强度检测,低于阈值时提示用户调整位置
➭ 设计简易的重连机制,失败3次后进入低功耗模式,定时重试
三、通信协议的选择
最初方案是设备直连公有云。测试中发现两个问题:
1、用户家里网络复杂,设备出网失败率高
2、数据上报频率难把控,太频繁耗电,太少信息不实时
我们调整为混合架构:
➭ 日常状态数据每小时上报一次
➭ 关键事件(如滤芯更换、水质突变)立即上报
➭ 支持本地缓存,网络恢复后补传历史数据
用了MQTT协议,相比HTTP有几个实际好处:
➭ 长连接省去频繁握手开销
➭ QoS 1级别保证关键指令不丢失
➭ 遗嘱消息能及时知道设备离线
四、固件开发的坑
写嵌入式代码和写服务端程序思维不同。几个具体经验:
内存管理要谨慎。初期版本用了很多动态分配,运行几天后出现内存碎片。后来改为静态分配为主,关键缓冲区预分配。
OTA升级要可靠。我们设计了双分区备份,新固件下载后先校验MD5.再写入备份区,重启前再次校验。升级失败自动回滚,并在APP上明确提示失败原因。
传感器数据处理要平滑。TDS值会有波动,直接上报原始数据会导致APP上数值跳变。我们做了滑动窗口滤波,取5秒内的中位数,既保持实时性又避免抖动。
五、APP端的实用设计
不做花哨功能,聚焦核心场景。用户打开APP最可能做三件事:
1、看一眼水质是否正常
2、查滤芯还能用多久
3、知道怎么购买更换滤芯
我们在首页直接展示这三项。滤芯剩余量用百分比和预计天数双显示,因为测试中发现中老年用户更理解“还能用30天”这种表述。
推送提醒精心设计。滤芯寿命低于20%时每周提醒一次,低于10%时每两天提醒,到期后每天提醒。但给用户设置开关,允许关闭特定类型的提醒。
六、数据安全基础保障
净水器数据虽不涉及隐私,但设备安全不能忽视。做了几层防护:
1、每台设备烧录唯一密钥,用于云端认证
2、通信数据AES-128加密,虽然增加了少量功耗
3、固件签名校验,防止被篡改
4、指令白名单,只响应预定义的操作命令
七、测试环境的搭建
模拟真实环境很重要。我们在实验室搭建了:
➭ 不同水质(用不同浓度的盐水模拟)
➭ 不同水压(调压阀模拟高层和底层水压差异)
➭ 不同网络环境(路由器设置限速、丢包)
压力测试连续运行30天,模拟家庭用水规律,每天20个用水高峰时段。发现了几个偶现问题:
➭ 多次快速开关水龙头会导致流量计计数偏差
➭ 长时间小流量用水时,TDS传感器读取异常
➭ 凌晨路由器重启时,设备重连超时设置不合理
八、量产后的持续优化
第一批5000台上市后,我们通过后台数据发现了一些设计时没想到的情况:
约15%的设备每天上报数据次数异常多。分析发现这些用户安装了RO膜后置TDS探头,每次制水都会触发水质变化上报。我们增加了变化阈值,TDS波动小于5%时不触发上报。
有用户反馈滤芯寿命计算不准。排查发现是安装人员未重置滤芯计时器。我们在设备上增加了物理按键组合,长按5秒可重置所有滤芯状态,同时在APP里做了重置流程引导。
总结:这个项目给我们的核心经验是:物联网产品成功的关键不在于技术多先进,而在于可靠解决实际问题。净水器联网不是为了让产品“看起来智能”,而是真正改善使用体验——让用户不用记更换时间,不用担心水质突然变差。
技术选型要务实,通信设计要考虑真实网络环境,数据算法要结合物理世界规律。现在回头看,我们放弃了一些“酷炫”功能,专注把基础体验做扎实,这个决策是对的。项目上线一年,设备在线率保持在94%以上,用户主动更换滤芯的比例比未联网型号提高了60%,这说明我们的方向是正确的。
做物联网项目,工程师需要懂一点硬件知识,理解一些行业特性,更重要的是保持解决问题的务实态度。每个看似简单的需求背后,都需要大量的细节打磨。