能源,热量和水:第二部分

考虑从即兴手段开发智能家居计划的下一阶段:(续, 此处第一篇文章)。

需要解决的任务:


  1. 漏电保护

    +遥控器
    +知道水的输入状态(阻塞或打开)
  2. 了解加热回路中冷却液的压力和温度
  3. 了解供水系统中的压力

监视仍在单个显示界面(Zabbix)中,通过单个警报机制进行通知。 但是管理是新事物。 关于它-进一步。

1.漏电保护


是的,这是一个棘手的话题,设备-一角钱! 开箱即用!

所以我又想又错了。 确实有很多现成的解决方案,但是要找到一个具有远程控制和监视功能而不使用某人的“云” /某人的个人帐户的全面解决方案,这几乎是不可能完成的任务。 好吧,再次,集体农场,让我们尝试在没有烙铁和编码的情况下解决问题。

我总共需要:

  1. 电动球阀
  2. 检漏仪
  3. 具有监视和控制接口的特定控制器
  4. 功率继电器

球阀一直在寻找更好的质量-不是没有名字。 我选择了基于布加迪3/4起重机的gidrolock最终解决方案。 电驱动器从12V开始工作。

什么可以控制12V起重机? 控制器有几种实现逻辑的选项:“我看到传感器被触发,我执行了操作。” 原则上,您需要什么,但是拥有某种用于远程控制的API会很好。 首先,这将允许使用泄漏传感器泄漏所有可能的位置,并且仅将水阻塞在一个位置(尽管在收集状态和发送反应的时间上有一些延迟)。 其次,该过程将是远程的,这意味着可以关闭水,例如在没有房屋所有者的情况下。 解决方案突然出现。 我记得,即使我曾经“感觉”到一种具有类似逻辑和各种句柄的装置,也被称为“网”。 事实证明,他们甚至解决了类似的问题。 文章末尾有指向howto的描述的链接。

图片

+您需要另一个0.5A电源为网状设备(不包括在内)供电。 功率继电器用于将球阀的控制线闭合/断开到地面。 当电线接地时,分接头闭合,当分接头打开时,分接头也打开。

我们根据howto的方案连接所有内容(例如,将继电器放在第一根网线上,将泄漏传感器放在第四根网线上)。 我们根据逻辑将第一行转换为输出模式。 我们使第一行依赖于第四行。 我们检查传感器,将其降低到一个水坑中。 清除内部逻辑将自动关闭水龙头。

现在如何远程管理?

Netping具有带管理功能的内置SNMP服务器。 为了管理网络,我实现了自己的OID,开发人员的站点上提供了每种设备的MIB表。 它还具有通过URL编码命令提供管理支持的Web服务器。

考虑两个选项:

检查该行的逻辑值:

起重机状态
snmpget -v 2c -c SWITCH 192.168.8.5 .1.3.6.1.4.1.25728.8900.1.1.3.1
SNMPv2-SMI::enterprises.25728.8900.1.1.3.1 = INTEGER: 1

curl http:///<_>:<>@192.168.8.5/io.cgi?io1


将逻辑值设置为0(施加电压,关闭继电器-阀门打开):

起重机正在关闭
snmpset -v 2c -c SWITCH 192.168.8.5 .1.3.6.1.4.1.25728.8900.1.1.3.1 i 0

curl http:///<_>:<>@192.168.8.5/io.cgi?io1=0


将逻辑值设置为1(取消电压,打开继电器-阀门打开):

起重机打开
snmpset -v 2c -c SWITCH 192.168.8.5 .1.3.6.1.4.1.25728.8900.1.1.3.1 i 1

curl http://<_>:<>@192.168.8.5/io.cgi?io1=1


在OID .1.3.6.1.4.1.25728.8900.1.1.3.N中,N是行号(1-4)。

一个重要的细微差别是,仅当线路设置为“输出”模式时,切换才会起作用。 如果将线路配置为“输出逻辑”模式(例如,为了通过传感器的泄漏检测快速响应),则联网将不会控制其逻辑之外的线路上的信号(即,它将不会响应外部命令)。 怎么样 您可以在开始手动命令之前简单地切换线路模式。 通过HTTP,可以这样完成:


奖金:

  • 未来的一个不错的选择是可以连接任意数量的有源远程泄漏传感器。 最主要的是弄清楚如何使它们进入常规拓扑。 在同一个openwrt上通过逻辑将有可能进一步阻塞水。
  • 由于在网络中存在4条可控线路,因此可以向系统添加更多分接头(也可以通过中继)。 我就是这样做的-我在场地的灌溉线上建造了一个单独的水龙头。 现在,您可以远程打开/关闭浇水。
  • Netping对于所有设备都有自己的zabbix模板。 在其站点上可用,使用SNMP。

2.加热回路中热载体的压力和温度


压力-快速检测泄漏(包括非常小的/累积的)。
温度-传感器安装在回路上。 根据其值,例如,可以得出有关锅炉,回路中的泵等的当前运行模式的结论。

传感器在速卖通上订购,名称为“ DC 5V G1 / 4压力传感器”。 有“非中国”的同行,但价格昂贵得多。 那些不想冒险的人,我建议服用霍尼韦尔,有几种型号,例如MLH200PSL01A。 以我为例,一个中国人在加热回路中的水压为1 bar,温度为20-60摄氏度,进水口(冷)为3-4 bar的环境中生活了几个月。 传感器是模拟的。 来自它的信号仍然需要转换。 DS2438AZ电路可用于救援。 它可以将模拟信号转换为数字信号,并使用1wire协议传输读数。 本质上-ADC。 理想情况下,该芯片已集成到第一篇文章中实现的拓扑中。 此外,您需要将VCC(+ 5V)和GND端子直接连接到传感器。 传感器的第三根导线上会出现电压,可以根据公式-Vout = Vcc(0.8P + 0.1)将其转换为压力。

DS2438芯片的另一个好处是,它还可以显示网络的输入电压,这对于网络的调试和进一步开发很有用。 另外,内置有温度传感器。 重要的一点-在digitemp实用程序中,必须使用附加标志“ -A”来明确指示此芯片在拓扑中的存在。

有了温度,一切就变得简单了。 易趣/速卖通:1个导线传感器。 我们将以正确的形式立即在1wire总线上获取数据,而不会产生额外的二十一点。 例如,我订购了一个传感器,该传感器的管道尺寸为1/2英寸,伸出的是6mm的钢制探头。

建设性的:

图片

我们将两个传感器都连接到常规拓扑,并向zabbix添加其他项。

美中不足


实际上,一切并没有立即起飞。 随着这两个传感器的推出,从传感器的消失到其边界值的读数,整个1wire拓扑结构开始出现奇迹。 第一个假设是压力不足。 尝试更换USB集线器时,无法使用活动集线器。 结果-我订购了一个新的“网络主控器”,该主控器现在基于FTDI FT232-一切都开始稳定地工作。 要使用这样的向导,您需要使用digitemp_DS9097U实用程序。 但是我决定在使用传感器时改用owfs,在每个项目上使用zabbix_agent放弃digitemp的点调用。 这缓解了竞争性请求的麻烦,这就是定期观察超时的原因。 如果我没记错的话,owfs甚至有某种内置的缓存机制。

在openwrt中,owfs软件包是通过FS命令安装和挂载的:

owfs --allow_other -d / dev / ttyUSB0 / root / 1wire

挂载已添加到/etc/rc.local。

3.供水系统中的压力


现在,这非常简单-我们重复了第1段中描述的用于供水总管的方法。 但是,我无法将传感器安装在1wire网络通过的输水管线中。 我没有将电缆拖到新的地方,而是决定尝试使用带有radioseti的wifi接口的ADC进行远程数据捕获的解决方案。 该解决方案可以连接到wifi接入点,具有内置的Web服务器,并能够通过http协议传输连接的传感器的值。 进行更改-适合。 作为奖励-您可以在该设备上安装其他传感器(包括其他1wire),即 从理论上讲,例如,组织另一个远程1wire网段。 事实证明该设备非常直观,在首次启动时便以接入点模式启动。 我们连接,输入用于连接到我们的wifi的设置,移除跳线并将其放置在wifi信号范围内。 例如,我们通过curl -s sensor_ip / sensor或直接在zabbix中使用HTTP轮询获取信息。

建设性的:

图片

复杂的当前组成:


1线传感器段:

基于FTDI FT232的网络主机
3个传感器芯片DS18B20
1个用于1/2 DS18B20的传感器探头
1个ADC DS2438
1个压力传感器低于1/2
1个脉冲计数器DS2423
脉冲水表

Wi-fi传感器部分:

RS-20
1个压力传感器低于1/2

网段(LAN连接):

网I / O v2
1个干触点湿度传感器
2台Gidrolock起重机Bugati Ultimate + 2个继电器BM8070D

UPS网段(USB连接):

PL2303
UPS能源PN-750

方案:


图片

图表:


图片
图片
图片
图片

参考文献:


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


All Articles