我如何使用开源技术跟踪家庭能源消耗

这些开源组件可以帮助您找到省钱和节约资源的方法。
147 位读者喜欢这篇文章。
lightbulb drawing outline

Opensource.com

优化能源消耗的重要一步是了解您的实际消耗量。我的房子建于 1970 年代的石油危机期间,由于缺乏天然气连接,建筑商决定使用电力来完成所有的供暖(热水和家庭供暖)。这在德国这个地区并不罕见,并且在高度依赖核电的国家仍然是一种合适的解决方案。

这里的电价相当高(约 0.28 欧元/千瓦时),所以我决定监控我家的能源消耗,以便了解哪些方面可以节省能源。

我曾经为一家为工业客户销售能源监控系统的公司工作。虽然这家公司主要使用专有软件,但您可以基于开源组件为您的家庭建立类似的智能监控和日志记录解决方案。本文将向您展示如何操作。

在德国,电网运营商拥有电表。电网运营商有义务在其计量设备上提供一个接口,使客户能够访问仪表读数。这是我家中的计量设备

Actaris ACE3000 electricity meter

Actaris ACE3000 Type 110(干接点位于标记的盖子后面)

通常,几乎每个计量设备都至少有一个干接点——就像我的电表一样——您可以使用它来记录计量。正如您所看到的,我的电表有两个计数器:上面的一个用于白天 тариф (上午 6 点至晚上 10 点),下面的一个用于夜间 тариф (晚上 10 点至早上 6 点)。夜间 тариф 稍微便宜一些。双 тариф 电表通常只在有电暖气的房屋中才能找到。

设计

可靠的私人能源监控解决方案应满足以下要求

  • 计量脉冲(干接点)的记录
  • 24/7 全天候运行
  • 节能运行
  • 消耗数据的可视化
  • 消耗数据的长期记录
  • 连接性(例如,以太网、USB、WiFi 等)
  • 经济实惠

我选择 Siemens SIMATIC IOT2020 作为我的硬件平台。这款经过工业验证的设备基于 Intel Quark x86 CPU,具有可编程中断,并且与许多 Arduino 扩展板兼容。

Siemens SIMATIC IOT2020

Siemens SIMATIC IOT2020 和 I/O 扩展板

Siemens 设备不带 SD 卡,因此也不带操作系统。幸运的是,您可以在西门子论坛中找到基于 Yocto 的最新 Linux 操作系统镜像以及有关如何刷写 SD 卡的说明。

除了硬件平台,您还需要一些配件。以下材料清单显示了您需要的最低限度的组件。每个项目都包含指向我购买的零件的链接,因此您可以了解项目的成本。

材料清单

这是组装好的结果

Mounted and hooked up energy logger

能源记录器已安装并连接

不幸的是,我在机柜后壁没有足够的空间;因此,带有安装部件的 DIN 导轨位于地面上。

仪表和西门子设备之间的连接如下所示

Wiring between meter and energy logger

工作原理

干接点是一个电流接口。当电表触发时,0.1A 的电流开始在 s0+s0- 之间流动。在 DI0 上,电压升至 24V 并触发中断。当电表断开 s0+s0- 时,DI0 通过电阻接地。

在我的设备上,触点每千瓦时闭合 1,000 次(此值在不同的计量设备之间有所不同)。

为了可靠地计数这些峰值,我创建了一个 C 程序,该程序在 DI0 输入上注册一个中断服务例程,并在内存中向上计数。每分钟一次,内存中的值被写入 SQLite 数据库。

总仪表读数也写入文本文件,并且可以使用起始值进行预设。这充当机柜中仪表总计量值的副本。

Energy logger architecture

能源记录器架构

数据使用 Node-RED 进行可视化,我可以访问概览,例如下面的每日消耗仪表板,通过基于 Web 的 GUI。

Node-RED based GUI

Node-RED GUI 中的每日概览

对于每日概览,我根据消耗数据(大型条形图)计算每小时的成本。在仪表板的左上方,您可以看到实际功率;下方是每日消耗量(能源和成本)。淋浴的热水器导致了条形图中的大峰值。

可靠的系统

除了在断电期间丢失了一个时间戳(默认情况下,西门子设备中的实时时钟没有电池备份),一切都运行良好超过一年半了。

如果您可以完全从命令行设置整个 Linux 系统,您将获得一个可靠且灵活的系统,能够将中断服务例程链接到 I/O 级别。

由于 I/O 扩展板在标准控制电压 (24V) 下运行,您可以将其功能扩展到全系列的标准化工业组件(例如,继电器、传感器、执行器等)。并且,由于其开放式架构,该系统可以轻松扩展并应用于其他应用,例如监控燃气或用水量,或作为气象站、简单的任务控制器等等。

接下来阅读什么

用开源拯救地球

让我们讨论一下我们可以如何使用开源技术来观察、节约、再利用和重新利用。

(特约撰稿人)
2020 年 4 月 22 日
标签
User profile image.
Stephan 是一位技术爱好者,他欣赏开源技术对事物工作原理的深刻洞察力。Stephan 在工业自动化软件的专有领域担任全职支持工程师。如果可能,他会从事基于 Python 的开源项目、撰写文章或骑摩托车。

1 条评论

哇!真的很有用!无论如何,我想我不能在家里重复它

© 2025 open-source.net.cn. All rights reserved.