厨房和卫生间的洗手池旁,总能看到那种按压式洗手液瓶,用久了容易卡住,还常被家人抱怨“手都按酸了”。后来换了感应洗手液器,手一伸就出液,方便是真方便,但新问题也来了——快没电了没人知道,某天突然罢工,又得临时换电池。
其实不少中高端感应洗手液器支持低功耗蓝牙或Wi-Fi连接,只是厂商配套的App功能简陋,只能看电量、改下出液量,没法和其他设备联动。比如我想让洗手液器在检测到有人洗手后,自动触发镜前灯亮起,或者记录孩子每天洗手次数,这些基本实现不了。
把设备拉进内网,才真正掌控主动权
我拆了手头的这款Wi-Fi版感应器,发现主控芯片是ESP8266,这就好办了。它原本连的是厂商服务器,通过抓包分析通信协议,我把固件刷成了自定义的Tasmota固件,让它连上自家路由器,直接接入局域网。
<!-- 示例配置:Tasmota中设置MQTT主题 -->
<topic>home/sanitizer/kitchen</topic>
<payload>{\"state\":\"ON\",\"battery\":92}\</payload>
这样一来,洗手液器的状态就能通过MQTT实时发布。家里的Home Assistant可以订阅这个主题,一旦收到“dispense”事件,就知道有人洗手了。配合自动化规则,就能让浴室的灯缓缓亮起,避免晚上刺眼。
远程查看状态,不用非得在家
设备在内网跑起来了,但人在公司也想看看家里洗手液还剩多少,这时候就得靠内网穿透。我在树莓派上搭了个frp客户端,把Home Assistant的端口映射出去,通过域名加端口号就能访问。
<!-- frpc.ini 配置片段 -->
[web]
type = http
local_port = 8123
custom_domains = myhome-smart.life
现在打开手机浏览器输入 myhome-smart.life,就能看到家里各个感应洗手液器的电量和今日使用次数。孩子放学回家有没有洗手?一看数据就知道。
甚至还能做点小扩展。比如在厨房的感应器触发时,判断是否在做饭时间段,自动打开抽油烟机;或者统计老人洗手频率,异常减少时发个提醒。这些看似和洗手无关的事,恰恰是智能设备融入生活的细节。
别再让感应洗手液器只是个“伸手就出”的工具。把它拉进你的内网,变成家庭数据流的一环,才能从“能用”变成“好用”。