经典案例

  • Home
  • 使用 AWS IoT 近实时检测水漏 的物联网 官方博客

使用 AWS IoT 近实时检测水漏 的物联网 官方博客

2026-01-27 12:55:39 291

使用 AWS IoT 实时检测水漏

主要重点

在这篇文章中,我们探讨了如何利用 AWS IoT 服务来实时检测消防栓水漏,并精确定位漏水位置。这项解决方案能有效缩短修复时间,减少水资源浪费,对环境产生积极影响。此方案还可以扩展至家用水设备或油气管道中的漏水检测。

介绍

水是生命维持最重要的资源之一,但全球可供人类饮用的水源仅占 2。根据美国环保局EPA的估计,美国每年约有 17万亿加仑的处理水约 30 被浪费。

根据纽约市环境保护部的报告,漏水的消防栓每分钟可浪费多达 1000 加仑的水。公用事业公司必须动用人工资源来识别这些漏水,这是一个耗时且劳动强度大的过程。此外,如果这些漏水不被处理,公用事业公司可能会因未遵守环境法规而被处以重罚。这些风险源于大多数城市的供水基础设施,供水管道通常埋在地下,这使得快速识别和修复漏水变得难上加难。在大多数情况下,漏水在下一次预定维护或紧急情况下使用消防栓时才被检测到。一次典型的维护呼叫可能需要长达 3 个月,且至少需要进行 3 次访问。想像一下在这段时间里浪费了多少水。本文所描述的解决方案可以帮助减少漏水浪费和公用事业公司的维护成本。

解决方案概述

假设在城市和郊区的消防栓中,水流动时,某处的管道发生了微小的漏水。漏水可能会持续几周甚至几个月而未被检测到。即使发现漏水,也可能需要几周才能找到确切位置并修复。如今,大多数消防栓可以升级为 IoT 感测器,以便通讯并传送消防栓的状况和使用统计数据。这些感测器能够帮助几乎实时地检测水漏,以便触发主动维护行动。在所提出的架构中,一个具备 IoT 功能和 5G 能力的消防栓通过 MQTT 协议与 AWS 进行通讯。这些消防栓使用 AWS IoT Core 进行身份验证。

架构 diagram

在深入了解架构之前,让我们了解架构图中表示的四个阶段。

IoT 通讯:首个阶段通过 MQTT 协议建立 IoT 设备与 AWS 之间的通讯。数据存储:第二阶段储存收集到的数据,以便进行长期合规性监控。分派与修复:第三阶段向现场团队发送通知,以便在漏水情况发生时能尽快采取行动。洞察报告:第四阶段让后台操作人员对整个系统进行控制。后台操作人员可以使用 Amazon QuickSight 仪表板查看活动漏水情况以及正在采取的行动和设备健康状态。

阶段 1:IoT 通讯

具备 5G 功能的消防栓能通过 MQTT 协议与 AWS 建立通讯。

使用 AWS IoT 近实时检测水漏 的物联网  官方博客AWS IoT Core 有助于建立通讯。可以使用 AWS IoT Device Management 批量注册设备。AWS IoT Device Management 能安全访问 IoT 设备,监控健康状况,检测并远程排除故障,管理软件和固件更新。AWS IoT Device Defender 旨在维护所有加入的 IoT 设备的安全性,监控安全指标,并根据每个设备的行为偏差生成警报。一旦建立了这一通讯,消防栓可以安全地将健康状况、地理位置和水流数据通过保护的 MQTT 协议以 JSON 格式传送至 AWS。

阶段 2:存储

一旦 IoT 设备开始发送事件,就会有更多数据需要收集和处理。

事件被存储到 Amazon Simple Storage Service (Amazon S3) 中,然后定期转存到例如 Amazon S3 Glacier 的归档服务中。

阶段 3:分派与修复

事件包含关于可能漏水的重要信息。现在,连接的消防栓能够与 AWS 通讯,使得后台团队可以在近乎实时的情况下收到通知,提醒现场工作人员立即参与处理。

消防栓在一定间隔后,通过 MQTT 协议向 AWS IoT Core 发布通知。AWS IoT Core Rules Engine 从 MQTT 主题中检索该通知。AWS IoT Core Rules Engine 随后将通知发送至 AWS IoT Events。AWS IoT Events 拥有一个检测器模型,持续监控传入的 IoT 事件例如消防栓的水流和压力水平,并向 AWS IoT Core MQTT 主题发送请求。AWS IoT Events 根据定义的阈值检测水流和压力的异常。如果水压和流量超出设定的阈值,AWS IoT Events 将发送通知消息至 Amazon Simple Notification Service (Amazon SNS) 主题。现场操作团队接收到通知消息,以通知操作人员可能的漏水情况。除了触发警报,AWS IoT Events 也将相同消息发送到 Amazon DynamoDB 以创建支持案例。后台团队通过 Amazon QuickSight 仪表板追踪消防栓的状况。一旦漏水修复完成,现场操作团队将更新支持案例的状态。

阶段 4:报告洞察

所有存储在 Amazon S3 中的收集事件使得报告能力得以实现。

可以使用 Amazon Athena 分析和查询收集到的事件。Amazon QuickSight 支持后台操作人员的洞察仪表板,帮助他们可视化活动漏水、正在采取的措施、漏水的地理分布,以及设备的健康状态等。

先决条件

要接下来进行设置资产检查解决方案,请确保具备以下内容:

一个 AWS 帐户。一台设备或手提电脑,能够访问您的 AWS 帐户,需安装 Python 版本 2718 及以上,并且安装 AWS IoT Device SDK for Python 版本 131 及以上。

在 AWS IoT Events 中设置消防栓漏水管理

需要配置一个 AWS IoT 规则将设备数据从 AWS IoT CoreMQTT 主题转发至 AWS IoT Events。

进入 AWS 管理控制台并选择 AWS IoT Core。选择消息路由,然后选择规则,然后选择 创建规则。规则描述是可选的。

IoT 规则设置设置规则的 名称 并设置规则查询语句为 SELECT FROM iot/topic。以下为示例查询。

示例查询选择 添加规则 行动。选择 IoT 事件选项并输入 输入名称。选择先前创建的 输入。选择 创建新角色,并输入 角色名称。选择 添加规则 行动。选择 创建规则。下面是 AWS 控制台中创建的规则示例。

苹果免费加速器下载创建规则

在 AWS IoT 事件中,创建以下组件以启动消防栓的水流和压力:

从 服务 菜单中选择 AWS IoT Events。在 AWS IoT Events 页面 中,从显示的部分选择一个 行业特定模板。

创建检测器模型从该页面选择 简单警报 并选择 开始。

IoT 事件模板选择创建一个 检测器模型,每个模型有 3 个状态和 2 个转换,如下所示。

创建检测器模型收到通知后,设备状态更改为 ActiveLeak。这一状态用于触发对现场工作者和后台仪表板的警报。

在 AWS IoT 事件中创建输入

您可以通过遵循 创建输入 的指南在 AWS IoT 事件中创建输入。在我们的示例中,我们创建一个包含以下详细信息的输入:

输入名称设置为 deviceNotificationInput上传一个 JSON 文件,内容如下所示:json{ geoLocation 423928258265305 7107754968042828 timeStamp 20220531 084744870092 cityName Boston state MA deviceId BOS0 sensorHealth OK inputFlow 10 outputFlow 10 }

创建设备通知输入

在 AWS IoT 事件中创建和发布检测器模型

在我们的示例中,我们创建一个检测器模型,详细信息如下,您可以在 AWS IoT Events 开发者指南 中找到一个范例。

三个状态正常、活动漏水和休眠。每个状态之间都有转换,使设备从一种状态切换到另一种状态。在收到来自设备的通知时,正常转换触发将通知发送到出站 AWS IoT Core 的 MQTT 主题并将设备状态更改为 outofrange,然后推送状态到 ActiveLeak。如果维修时间过长,则设备状态可能会推到休眠状态,直到修复完成。正常状态活动漏水状态休眠状态检测器模型的状态

创建检测器模型

为检测器模型创建 IAM 角色。详情请参见 AWS IoT Events 设置权限文档。如前所示创建范本检测器模型,具备状态和转换。

使用 Amazon QuickSight 分析数据

使用 Amazon QuickSight,可以创建以下类型的可视化。

设备健康状态:下面的图表显示设备状态和消防栓的设备位置。这些图表将帮助后台团队识别故障的消防栓,并将地理位置发送给现场操作人员以修复那些故障设备。

设备健康报告 使后台及时获得合规性和设备健康状态的信息活动漏水:下面

发表评论