


























这篇博客讲述了作者在家庭日常用水管理方面的改进经历。由于家里用水量增多,作者不断优化解决方案,从最初用农夫山泉桶装水,到购买反渗透净水机,再到通过智能化手段 简化补水流程。过程中,作者不断提高设备自动化程度,最终实现了全自动化补水,并且详尽描述了每个优化步骤和使用的技术(如Node-RED、homeassistant、小米设备等)。此外,作者还介绍了如何利用压力传感器和智能控制来实现更精确的水量控制,并用语音命令来实现自动接水功能。同时,还记录了优化过程中的一些挑战及解决方案。
自从家里多了个娃之后,家里的水消耗量成倍增加。所以我就增加了一个固定任务,给恒温饮水机灌水,饮水机的容量是4.5L(为啥不是5L,因为买的饮水机有个很坑的点,最后 剩下的一点水是没法接的),而我们家现在,算上宝宝一共有4口人,而一个成年人一天饮用水的量在1.5L到2L左右,这就意味着,我一天很有可能要换2次水(为啥不是必须,因 为大家都很容易忘记喝水,我不是特指谁,包括在座的各位)。
一开始,我家用的是5L的农夫山泉桶装水,这个水最难受的就是一桶水没法一次倒完,会剩下0.5L,这就很难受了。每次倒水都需要抬臂两次倒水(需要先把上次的水倒进去), 实在不够高效。
于是,我后面就换成了4L的水,这优化带来了很长一段时间的舒适感,就好像之前每次要执行两步的操作,写了个脚本只需执行一个命令一样舒畅。
事情的转机发生在了今天4月份,在一个直播间半价抢到了一个ro膜反渗透净水机。
这次的升级是价格,按照4桶x5l的水30块钱左右的售价,一年大概需要2200左右的水费。
而这台机器我才花了1500,算下来,已经回本1200左右了,所以用净水机确实是个很实惠的方案。
这下问题变成了,怎么将净水机里的水倒到恒温饮水机上了。这就不得不提我家这个饮水机的一个优点了,他是可分离的,也就是盛水的水箱是可以直接卸下来的。
当初买这个也是因为身处南方,最令人苦恼的就是蟑螂了,而蟑螂非常喜欢待在电器里面,我家在去年3月份的时候就发生过蟑螂入侵的情况,大量的小蟑螂混迹在电饭煲和恒温饮水机里。大家可以想象一下,喝完了水,然后要换水的时候,发现两只小蟑螂躺在水箱里的绝望感。尤其是在清理完,并换了一个位置后,蟑螂发生了迁移(其实就是待在了机器 里面),再一次打开盖子,发现又喝了一段时间蟑螂的洗澡水的深深的绝望。
所以后面就换成了这种分离式的,并且一开始就把机器放在阳台旁边,每天有充足的阳光照射,顺带一提,电饭煲也换新,并放在了阳台旁。(换了之后再也没发现蟑螂了,南方 的朋友可以参考这个思路)。
既然饮水机是可分离的,我就可以只提着这个水箱去接水,并且净水机是可以设置出水量的,所以流程就变成了,
想必大家在这肯定能感受到过几分钟再xxx的这种难受,平时工作中如果某个完整的任务中间出现了,等xxx程序跑完再执行另外一个命令,那我们一定要写个脚本一步到位,省去 了中间反复人肉检查的过程。
滞留水的积累:在停止使用期间,净水器中的残留水可能会停留在滤芯和膜中,这些滞留水会与滤芯和反渗透膜中的溶解物质持续接触,导致其TDS值升高。当你重新开始使用 净水器时,这些滞留的高TDS水首先被冲出,因此第一杯水的TDS值会较高。
系统冲洗不足:重新使用时,如果没有进行充分的冲洗,一些微小污染物和沉积物可能会积累在系统的各个部分。当水重新流过这些部分时,TDS值会上升。因此,重新使用净 水器前通常需要进行冲洗。
那就给升个级,净水器的出水管路可以给加个3通,一路给龙头,一路给饮水机,然后加上一个电磁阀,就可以控制水的通断了。最后加上一个米家的智能插座,就能通过米家进行补充水了,这样优化顺带解决了每次接水还需要提着一桶5kg的水走好几步路,最后还得准确地把水箱放上去的问题。
这样流程就优化成了
2水管+电磁阀+智能插座+ 24V电源 = 10 + 15 + 30 + 10 = 65元
再看看还有啥优化的?对,你没猜错,又是一个等待。虽然只有20s,但是我就是不想等呀。解决思路其实也很简单,再加个电磁阀和三通,它的目的是把水放走。
这样流程就优化成了
哈哈,这下只有一步了。
方案二 + 电磁阀 + 智能插座 + 三通 + 2分管 + 24V电源 = 65 + 15 + 30 + 5 + 10 + 10 = 135元 (如果要监控TDS值,需要再入手一个小米中枢网关,使用极客版功能,这个 就比较贵了,先不算在里面了)
再看看还有啥可以优化的?(什么!还能优化?),现在就剩下人需要定期确定一下水还剩多少了,那有没有办法让传感器帮忙确认呢。肯定是有的,市面上检测水位的传感器很 多,问了下GPT,有了以下的备选方案:
最终的流程就优化成了:
终于完全实现了全自动化,再也不用操心补水的问题了。
方案三 + esp32 + 半成品高精度秤 = 135 + 20 + 90 = 245元
智能家居其实就3部分:
让我们分别来看一下这个系统在这3个方面的实现:
压力的感知来自压力传感器,通过esp32的io管脚连接后就可以在esp32程序中进行处理。这部分数据我们想让它放哪就放哪,我这边选择把数据写入到了MQTT中,MQTT(Message Queuing Telemetry Transport)是一种轻量级的基于发布/订阅模式的消息传输协议。很多智能家居平台都支持MQTT协议,所以后面处理起来会非常方便。
净水器是接入米家的,所以tds的数据需要从米家读取。
第一个问题就来了,怎么能把我的数据和米家的数据放到一起,然后用一段逻辑进行处理呢?
方案有两个:
大脑其实就是决定在获取到XXX数据后,需要执行什么操作。homeassistant本身提供了一些自动化的功能,但是这个功能比米家极客版还要弱,所以我最终的选择是Node-RED,Node-RED是一个可视化编程工具,可以非常方便的进行逻辑处理,还支持一堆插件,有些逻辑很复杂还能通过写js来处理,所以很方便。
其实所有需要执行的东西都是米家的智能插座,所以肯定是要通过某种方式来调用米家的api的,而homeassistant也帮忙解决了这个问题,通过homeassistant的米家插件,就可以非常方便的调用米家的api。
你以为到这就结束了?不,我还有个痛点,就是买的这个饮水机它没有定量出水的功能,所以接水的时候,还是要在旁边一直按着接,再等到水接满了,再放开,这个设计真的很 反人类。所以我就想着,我这不是有了重量检测么,那我要接多少水,靠重量不就搞定了?所以我就更进了一步,让它支持语音控制来进行定量出水。
用感知、大脑、执行的思路来分析一下这个任务:
之前我写过一个关于自制小爱音箱的文章,后续其实是我还是在用小爱音箱,因为自制的音箱的成本还是挺高的,家里要用好多个音箱,最终还是投奔了小爱音箱。那这次就尝试 一下通过小爱音箱来控制饮水机的出水吧。
小爱音信本身解决了语音命令的感知,大脑的ASR,很不错。那怎么能获取到小爱识别后的文本信息呢?我这边用了一个库,叫做xiaogpt,它本身是在ChatGPT刚开始爆火的时候,作者用来给小爱音箱接入ChatGPT的,被我拿来用于这次的改造了。它的原理其实就是不断轮训小爱音箱的历史对话记录,并通过一个“唤醒词”来判断是否需要进行特殊处理,我这边设置的“唤醒词”是“请”。也就是我对小爱同学说的话,只要是“请”开头的,它就会识别到,并且调用我的自定义逻辑。这个方案有一个缺点,就是小爱同学自身也会对你进行回 复,也就是如果你说“请帮我接100ml的水”,小爱同学会先回复你“作为xxx,我没法帮你接水....“,这里的处理是会先停掉小爱同学的回复,但是没法完全停掉,还是会有延迟, 因为本身历史对话记录也不是实时获取的。但是这都不是事,对于我们使用来说,已经足够了。
这个沿用之前的方案。
这个使用小爱音箱的ASR能力。
NLU其实就是理解用户说的话,确认用户的意图(接水)以及实体(出水量),执行对应的逻辑。
这部分没啥好说的,做了好几个项目了,用的都是Thought Agent的方案,效果也经过验证,虽然说有些大材小用了,我这边就只有一个简单的意图,但是后续扩展起来就会很方便了。
之前做项目的时候,用的都是OpenAI的模型,效果肯定刚刚的,但是我自己用的话,考虑到延迟和成本,还是决定试用一下国产模型。比较了一圈下来,发现零一万物的yi-lighting完美契合了我的需求。不知道它什么时候悄悄地给我充值了100块钱,然后每100wtoken才1块钱,如果单给这个接水的场景使用,足够我用好几年了。
要实现这个场景的NLU,用Thought Agent就只需要这么简单配置一下就行,剩下的(意图识别、实体提取、对话管理)框架都帮忙实现了,很是方便。
对普通的规则匹配来说,用大模型来做这个场景最主要的就是容错性很好,比如我说100ml/1L/1升/1毫升(具体单位是中文还是英文,得看小米的ASR模块),它都能听懂,并且给出正确的意图和实体(我代码中定义的是毫升,所以大模型最终会给我返回毫升,不管用户说的是什么)。
这个通过Node RED的代码节点来进行控制,就是一些代码的事,还是比较简单的。
这个就又值得一说了,我这个饮水机的出水通过一个触控区域来进行控制,所以得需要找个能模拟手指触碰的东西来进行控制。上网搜索手指机器人就能找到这个东西,手指机器 人分两类,一类是专门按电容屏幕的,一类是按机械按钮的,我这次需要的是电容屏的方案。我是比较早为了给我家的烘干机使用才买的,但是这玩意儿的适配性没有那么好,所 以没有适配烘干机的触摸板,这次正好用上了。它是通过蓝牙接入米家的(这又是一个坑)。
这个通过小爱音箱的TTS能力就能实现。
暂时还没解决这两个不足的问题,思路的话大概就是
你以为到这就完了么?不,当我把这些东西都搞定之后,在老婆面前演示了一番,老婆说了一句,有一个管线机不是就够了么?
哈哈,生命在于折腾。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。