能源,热量和水

前言


2019年 在几乎任何一家电子商店中,您都可以购买数百种可能的智能家居中的一套。 只需单击两次即可进行配置,连接到云端,在应用程序/ SMS中接收推送事件,并且通常在世界任何地方接收所有必要的信息。

理想,但就我而言,它不起作用。 落入我手中的一些决定原来是某些功能的有限集合,仅涵盖我的部分查询,此外,还施加了几乎无法克服的限制。 而且,通常情况下,限制越少,您就越需要深入研究主题领域,独立思考解决方案和体系结构。 因此-我们自己的集体农场:)

任务


1.接收有关电网质量的信息(电涌,完全关闭等)。

2.全面监控UPS。 但实际上,基于p2的后果拥有相同的UPS。

3.接收温度信息:

  1. 在大街上
  2. 在家里
  3. 在阁楼上(当扔在那里的垃圾和西红柿结冰时)

4.监控耗水情况,并警告耗水量是否增加(突然泄漏,您无法通过湿度传感器称量所有东西)。

5.了解有人在家时自动关闭/打开水。

6.读取燃气表并在已支付的储备金用完时发出警报。
+其他各种传感器(湿度,开度,水压,加热回路中的压力等)。

全球目标是拥有一个可以查看所有这些内容的通用界面。 出现问题时接收通知。 这样一来,它就什么也没有了,也不会退回很多钱。

目前复杂的组成


  • UPS Energy PN-750 + 100 Ah电池
  • 基于PL2303的USB-> RS232转换器
  • 路由器Tp-link tl-wr1043nd +
  • 基于购买的USB温度计DS18B20 + PL-2303TA的1wire网络主站
  • 1线3传感器DS18B20
  • 1wire radioseti DS2423水表模块

在家庭网络外部具有Zabbix服务器的虚拟机。

图片


阶段1.基础设施的准备


第一步是物理重组的问题:路由器被移到通风口竖井附近的床头柜上,UPS计划安装在那里。 互联网提供商Ubiquiti Nanostation Loco M2 PoE的天线与路由器连接在同一插座上,以便继续由UPS供电。

我已经在远程服务器上专门安装了Zabbix,并具有使用此应用程序的一些经验,因此使用组织警报设置的理论,甚至包括仪表板本身,都不会出现问题。

路由器在OpenWRT Chaos Calmer中闪烁,将VPN配置为Zabbix服务器所在的网络。

获得了openwrt的项目模板后,我立即将指标添加到zabbix。 因此,我有机会监视系统,例如,监视该点连接了多少个和哪些MAC地址。 将来应该采取什么措施来决定关闭房子中的水。

步骤2.选择UPS


选择标准是:

  • 燃气锅炉(预算)的可能性
  • 从5个小时的锅炉自治+ Internet设备
  • 监控界面的存在
  • 低噪音(摆放位置-厨房床头柜的通风口附近)
  • 由于放置和价格的限制-最好是单电池设计

我们将依次检查满足条件的可能性。

燃气锅炉需要清洁的正弦波,因此可以解释燃气锅炉的工作能力 ,否则泵电机会嗡嗡作响并磨损。 关于这一点,您可以搜索很多文章。
普通(计算机UPS)不给出这样的正弦,而是发出近似的正弦波。
第二个重要因素是“通过中立”的存在。 这里的一切都有些复杂,但是使用Google也很容易,所以我不会停下来。 我只会说一件事-没有直通中性线,布德勒斯无法工作,或者误入歧途,因为电离传感器无法工作,锅炉根本看不到火焰。

作为UPS的替代品,重点已转向在线和在线互动式UPS。
从5个小时的锅炉自治+ Internet设备开始,主要为UPS提供外部电池。 由于位置和价格的限制,希望采用单电池设计 。 100Ah电池应该可以使用8个小时以上。

监视接口的存在至少要知道系统何时切换到电池,以便在冬天回家并启动发电机。 我在这里没有特殊要求(以及实施经验)。 我一直在寻找rs232或USB接口附带的所有功能。

低噪声水平的要求实际上是一个严重的限制,并丢弃了一整套设备-在线UPS,因为它们都在变压器的恒定通风模式下工作(风扇不会关闭)。

打电话给能源商店,我从店面得到了最后一个带有rs232的PN-750。 足够便宜,因为套件中没有电线。

第三阶段:UPS设置


连接UPS时出现问题。 我买了几个USB-> RS232转换器,在论坛上读到能源使用标准的Megatec协议,您至少可以通过Upsilon2000软件使用它。 但是,无论我付出了多少努力,串行接口上​​都完全没有声音。 经过一周的磨难,我决定拆卸UPS,看看那里有什么,吐上保修。 问题原来很普遍-RS232板未连接到UPS主板,并且连接器略有损坏。 我更换了连接器,将其连接起来,并奇迹般地解决了一切,尽管固件给出了一个奇怪的名称UPS-SIN800(现在看来,我明白了为什么新型号的能耗被rs232削减了)。

在OpenWRT下,有一个与UPS一起使用的标准P / O:网络更新工具,它具有在控制台中显示指标所需的一切。

root@OpenWrt:/# upsc myups@127.0.0.1 battery.charge: 100 battery.voltage: 13.32 battery.voltage.high: 13.00 battery.voltage.low: 10.40 battery.voltage.nominal: 12.0 device.mfr: GERMANY device.model: SIN 800S device.type: ups driver.name: blazer_ser driver.parameter.cablepower: both driver.parameter.pollinterval: 2 driver.parameter.port: /dev/ttyUSB0 driver.parameter.protocol: megatec driver.version: 2.6.5 driver.version.internal: 1.55 input.current.nominal: 2.7 input.frequency: 50.0 input.frequency.nominal: 50 input.voltage: 225.7 input.voltage.fault: 225.7 input.voltage.nominal: 220 output.voltage: 219.6 ups.beeper.status: enabled ups.delay.shutdown: 30 ups.delay.start: 180 ups.firmware: Z1911F100 ups.load: 5 ups.mfr: GERMANY ups.model: SIN 800S ups.status: OL ups.temperature: 48.0 ups.type: online 

最有趣的是,在Zabbix下有一个现成的螺母模板。 Vobschem-我们正在将来自tempate套件的shell脚本引入zabbix-agent,在zabbix中我们可以看到动态的美丽图画。 此阶段的任务1和2已解决(将来会出现监视总能耗的想法)。

阶段4:1wire和温度


不久前,我在ebay上购买了一个USB温度计(组合的转换板和一个传感器)。
事实证明,OpenWRT也是合适的软件,实用程序digitemp_DS9097。 她显示了单个焊接传感器的温度。 阅读了1wire的资料后,我意识到您可以尝试不局限于一个传感器,而是将整个传感器总线接入购买的USB转换器。 我在商店中用双绞线对了几个DS18B20微电路和“桶”,然后搭建了一个结构,将传感器移出了桶外,内部用3条线连接。

图片

我对这种设计了解很多年了,我们用它来获取数据中心的读数,但是后来我仍然对1wire一无所知。 当使用标准跳线将桶彼此连接并将该场切换为“ USB温度计”时,我从所有3个温度传感器获得了值。

图片

仍然需要将它们扔到各个位置。 轮胎的总长度约为30米。 信号不会消失。 放在街上的一个桶里装满了胶枪。 过着冬天。

阶段5:水


我不得不在入口处更换水表(这不是脉冲,没有簧片开关)。 由于住在乡间别墅中,水暖不会引起任何问题。 我在最近的水暖商店买了它并更换了它。 在新仪表中,每10升水产生一个脉冲。 现在,这些冲动需要被考虑。

由于某些原因,他们中断了一个有趣的数字计数器微电路-DS2423。 但是事实证明,来自伏尔加格勒(radioseti)的家伙有一个现成的设备,由于内置电池,在断电的情况下也可以计算脉冲数的值。 但是,设备本身已适应其自己的网络体系结构。 从RJ-11连接器到单独的12V电源。 就我而言,我想限制自己为现有总线(5V)供电。 我不得不绕过“多余的”捆扎带,直接焊接到DS2423的结论上。 然后设备工作,寄存器值在总线上可见。 其中有两个,该设备意味着同时连接两个水表-热水和热水。 我只有一个水输入口,因此我仅将第二个寄存器用于测试。

图片

1wire拓扑的最终结果:

 root@OpenWrt:/etc/zabbix# digitemp_DS9097 -c /etc/digitemp.conf -a DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane GNU Public License v2.0 - http://www.digitemp.com Apr 04 16:16:35 Sensor 0 C: 29.81 F: 85.66 Apr 04 16:16:36 Sensor 1 C: 14.00 F: 57.20 Apr 04 16:16:37 Sensor 2 C: 6.56 F: 43.81 Apr 04 16:16:37 Sensor 3 #0 6609 Apr 04 16:16:37 Sensor 3 #1 9 


顺便说一下,由于同时安装了新的水表和数字脉冲表,因此我们可以得出有关读数/触点跳动差异的结论。 在视觉上,几乎没有这些差异(当前读数为60,000时高达几百升)。

阶段6:警报


使用收集到的信息,可以发出有用的警报:

  • 每天早晨以短信为单位的室外温度(+传感器参与narodmon项目)
  • UPS电池传输讯息
  • UPS电池电量低
  • 低/高电压信息
  • 有关床头柜设备发热的消息
  • 阁楼低温报告(西红柿救援)
  • 关于网络上“外来/新” mac地址的消息
  • 关于高耗水量的消息(在一定时间内)

阶段7:未来


在aliexpress上购买了带有USB形式的rs232输出的数字量规。 但是,尽管他没有与他战斗,但他没有回应包裹。 我们会进一步考虑。 我希望挤压。

我计划购买一个球阀控制继电器(该阀本身已经存在)以远程控制该阀,并可能在没有房屋的情况下自动关闭水。

以某种方式将Gallus数字燃气表集成到电路中以通知运行中的存款。

最后,几张图:


图片
图片
图片
图片

Source: https://habr.com/ru/post/zh-CN446864/


All Articles