当我意识到我家有泄漏时,我知道是时候发挥我的专业知识了。我需要发挥我多年的经验和对工作的热情——作为一名软件工程师?乍一看,水管工似乎是一个更好的选择,但我的论点是,在水管工甚至参与修复泄漏之前,还需要采取一个步骤。那就是在泄漏第一次发生时检测泄漏。
当然,我可以让一名水管工随叫随到,每天检查泄漏,但鉴于这不是有效利用时间或金钱,我们需要寻找替代方法,而不是等待问题变得严重到成为主要问题。因此,如果不能选择 24/7 的管道工管家,我认为某种自动化系统会更现实。
事实证明,我一直在思考如何使用带有 Courier 的 Raspberry Pi 来实现通知。这恰好是一个完美的尝试用例,所以我决定投资适当的硬件并利用我自己的软件开发技能,以确保我在任何时候都能收到通知,即使是我的家。这样,我就知道在问题变得太大而无法处理之前打电话给水管工并处理问题。
前段时间我自己的公寓漏水了。因为我直到已经太晚了才知道有问题,所以当损坏已经完成时,我不得不打电话给水管工。即使是这样一个简单的泄漏,我最终还是花了 500 多美元来修复它。
但情况可能会更糟。主要损害通常是由霉菌孢子引起的。漏水也可能对财产造成结构性损坏。墙壁开始膨胀和翘曲,导致它们出现裂缝和孔洞。此外,漏水可能会对房屋的价值产生负面影响。
我从不想处理并发症,所以我决定自己动手。但当然,重要的是找到一个有趣、有趣且有用的解决方案。
在我对漏水警报形式的解决方案进行研究时,我发现我可以使用一台价格实惠的小型Raspberry Pi单板计算机来实现我的目标。使用这台微型计算机,我可以读取来自水传感器的信号,然后将这些信号发送到我的显示器。
为了开发这个我称之为potential-octo-lamp的项目,我首先获得了检测漏水并连接到我的计算机所需的所有硬件。这些设备包括:
下一步是构建“潜在的八角灯”,以发送任何检测到的漏水警报。我使用 JavaScript 和 TypeScript 编程语言构建了这个项目来检查传感器的泄漏。当potential-octo-lamp 检测到一个时,它会使用 Courier 和 Twilio 将结果发送到我的手机。
使用Courier ,我可以创建自定义警报并定义它们的标题和正文。我还可以指定警报应该通过的通信渠道以及这些警报的接收者。我还在 Courier 上添加了Twilio集成,以通过我指定的渠道(在本例中为 SMS 和电子邮件)传递我的警报内容。
幸运的是,我是一个非常好的人,并且已经开源了潜在的八角灯。您可以使用我的程序来保护您自己的家不漏水。满足上述所有硬件要求后,将 Raspberry 连接到水传感器。如果您需要帮助设置它们,本教程将有所帮助。然后,您可以通过五个简单的步骤开始使用电位八灯来接收漏水警报:
如果您还没有Courier和Twilio帐户,则需要同时注册这两个帐户以配置警报系统。您可以使用电子邮件地址在 Courier 和 Twilio 上免费注册。 Courier 还允许您使用您的 Google 或 GitHub 帐户来创建帐户。
首先从 Twilio 获取您的帐户 SID、身份验证令牌和消息传递服务 SID。然后登录您的 Courier 帐户并转到集成。将 Twilio 信息添加到 Courier 中的相应字段。
当您使用 Courier 创建帐户时,您会获得一个 Auth Token,以便您可以安全地向 Courier 发出请求。登录后,您可以从Settings 中的 API 密钥页面检索您的 Courier Auth Token。
接下来,去 GitHub 并克隆potential-octo-lamp 。因为直接在您的代码中输入您的 Courier Auth Token 是不安全的,所以创建一个 .env 文件并将其添加到那里。这样,它只对您可见。
最后,依次运行以下命令安装依赖并开始检查是否漏水:
npm 安装
npm 运行构建
npm 运行开始
一旦您的地板水传感器检测到漏水,潜在的八角灯就会向您在 Courier 上添加的收件人发送漏水警报。然后您可以快速修复泄漏,以防止进一步损坏。
potential-octo-lamp 是开源的,所以你可以克隆它并自己使用它。也欢迎您提出任何改进或建议。如果您想为该项目做出贡献,您可以提出问题或与我联系!