博客/社区

监视硬水软化剂在家Grafana云

2022年6月24日 6分钟

我们都知道,Grafana云有许多很酷的用途:监控一个特斯拉,密切关注鳄梨,等等。但是你知道它可以帮助防止皮肤干燥管损伤?

让我解释一下。

最近搬到一座新房子后,我们发现我们的区域水极其困难。这是一个问题,因为它不仅可以使你的皮肤干燥,但随着时间的推移,它也会导致水垢积聚在电器(降低他们的效率和寿命),导致管道堵塞。作为补救措施,你可以安装软水器——一辆坦克用盐块——减少矿物增强,避免昂贵的维修。软化剂消除了镁和钙的礼物在你的水供应通过离子交换的过程,将水从很难不污染的软化水。

问题是,要替换的盐块通常每隔4周左右,这意味着他们需要持续的监控。我倾向于忘记补充,让我们再次与硬质水一两个星期,直到我记住。(一条线索:我觉得回来对我的皮肤的影响)。

市场上有水软化剂,内置传感器,但是他们没有传感器成本远远超过基本模型。我的一个爱好是电子产品,我是这里的高级解决方案工程师Grafana实验室——这给了我一个想法。bob电竞频道bob彩票中奖计划在过去,我的许多电子产品项目涉及著名ESP32单片机(集成wi - fi和蓝牙,双模,很长时间依靠电池电量)和各种传感器,可以插入通用输入/输出(GPIO)别针。我想,为什么不使用一个建立一个小的传感器可以检测水平的盐块在水软化剂,,让我知道是时候最重要的是?我可以用Grafana云摄取数据,更新它每两小时,以图形的方式显示。最重要的是,我可以用盐Grafana监控的能力水平测量,当它达到一定阈值时,它会发送警报,是时候加入更多的盐。

这是我做了这一切怎么发生的。

开始

这是一幅我的基本软水器是什么样子。红色的线表示是时候新盐块。

一个基本的软水器
一个基本的软水器

在电子产品方面,有几个问题我需要地址:ESP32单片机不能够运行一个独立的操作系统和Grafana代理。我还需要注意保护我的电池寿命,这意味着我不需要控制器发送每60秒更新一次。剩余的盐不会改变迅速(大约30厘米的一个月),所以一天测量一次甚至可能足够了。我决定每两小时更新一次,作为测试的一部分。

最好的电池寿命,你想写这样的代码中的一个紧凑循环,使得设备尽可能长时间睡觉:

  • 醒来从低功耗模式,测量盐的水平
  • 将度量Grafana云使用涌入行协议
  • 又睡着了在接下来的两个小时,重复这个过程

硬件和设计

建筑设备非常简单。我使用:

  • 1 x ESP32单片机
  • 2 x 3.7 v 18650锂离子可充电电池
  • 1 x防水超声波模块JSN-SR04T距离传感器
  • 1 x 3 d印刷将一切联系在一起

总成本:~ 15美元

你可以看到这里的设计。当测量的距离达到30厘米,是时候上新盐块。

传感器设计
传感器设计

下面,你可以看到我的组装电路、传感器、电池夹,电线。

组装电路、传感器、电池架和电线
组装电路、传感器、电池架和电线

这是粘在软水器盖子组装设备。(翻的时候安装。)

组装设备
组装设备

在一段时间内的一个月,传感器收集的数据速率常数两小时的间隔,如下图所示。图慢慢向上趋势,直到它到达的距离大约30厘米(橙色阈值线),此时Grafana将开始发送提醒邮件。在35厘米(红色阈值线)盐将完全消失。

在Grafana传感器数据可视化
在Grafana传感器数据可视化

摄入的指标

Grafana云指标支持各种协议摄取指标:

当使用RESTful api,可以提交协议text-friendly和POST请求很简单在任何语言发展。在这个项目中,我决定使用涌入行协议出于这个原因,因为它很容易构建的代码。

基本的涌入协议可以解释这样的行:

watersoftner的deviceid = water-softner ping_distance = 30 1653427945200300600 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | | | | | | | | + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - + - - - - - - - - - - - - | + |测量,tag_set | | field_set | | | +时间戳- - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - + - - - - - - - - - - - - +

在代码中,这一过程可以表达为:

文本= " watersoftner的deviceid = water-softner ping_distance = " +字符串(measured_cm);httpResponseCode = http_grafana.POST(文本);

(源代码和3 d设计可以通过Github库中找到在这里)。

我使用这个指标在Grafana查询,使用PromQL语言:

标准查询
标准查询

这是如何配置发送警报当测量的值超过30厘米:

警报配置
警报配置

这是出现在我的收件箱时,警报被触发:

Grafana提醒电子邮件通知
Grafana提醒电子邮件通知

成功!

由于Grafana云,我永远都不会忘记来取代我在一次又一次的盐。我的家人的皮肤,我们的管道,我们的电器非常感激,现在我不用担心钱花在修理困难在未来水损害。我非常喜欢研究和建设这个项目。它显示我的价值ESP32社区,是多么容易集成Grafana云。我已经想我的下一个项目:跟踪我们的狗的次数的狗整天皮瓣。

Grafana云是最简单的方法开始使用指标,日志、痕迹和仪表板。我们有一个慷慨的自由永远层和每个用例的bob体育手机二维码计划。现在免费注册!


在这一页上
滚动的更多