Considere la siguiente etapa en el desarrollo de un esquema de casa inteligente a partir de medios improvisados :) (continuación, primer artículo
aquí ).
Tareas a resolver:
- Protección contra fugas
+ Control remoto
+ Conozca el estado de la entrada de agua (bloqueada o abierta) - Conozca la presión y temperatura del refrigerante en el circuito de calefacción.
- Conozca la presión en el sistema de suministro de agua.
El monitoreo todavía está en una interfaz de pantalla única (Zabbix), notificación, a través de un solo mecanismo de alerta. Pero la administración es algo nuevo. Sobre eso - más allá.
1. Protección contra fugas
Sí, este es un tema trillado, dispositivos: ¡una moneda de diez centavos por docena! ¡Todo funciona de la caja!Entonces estaba pensando y equivocado de nuevo. Realmente hay muchas soluciones listas para usar, pero encontrar una solución integral con la capacidad de controlar y monitorear de forma remota, pero sin usar la "nube" / cuenta personal de alguien, resultó ser una tarea casi imposible. Bueno, ok, granja colectiva de nuevo, tratemos de resolver el problema sin un soldador y codificación.
Total que necesito:
- válvula de bola motorizada
- detector de fugas
- cierto controlador con una interfaz de monitoreo y control
- relé de potencia
La válvula de bola buscaba una mejor calidad, no un nombre distinto. Elegí la solución definitiva gidrolock basada en grúas bugatti 3/4. El accionamiento eléctrico funciona desde 12V.
¿Qué puede controlar una grúa de 12V? Hubo varias opciones para los controladores que implementan la lógica "Veo que el sensor se activa, hago la acción". En principio, lo que necesita, pero sería bueno tener algún tipo de API para control remoto. En primer lugar, esto permitirá colgar todos los lugares posibles con sensores de fugas y bloquear el agua solo en un lugar (aunque con algún retraso en el momento de recopilar el estado y enviar la reacción). En segundo lugar, el procedimiento será remoto, lo que significa que será posible cerrar el agua, por ejemplo, en ausencia de los propietarios de la casa. La solución apareció de repente. Recordé que incluso una vez que "sentí" un artilugio con una lógica similar y todo tipo de manijas, llamadas redes. Resultó que incluso resolvieron un problema similar. Un enlace a la descripción de cómo está al final del artículo.

+ Necesita otra fuente de alimentación de 0,5 A para alimentar el dispositivo de red (no incluido). El relé de potencia se usa para cerrar / abrir el cable de control de la válvula de bola al suelo. Cuando el cable está conectado a tierra, el grifo se cierra, cuando se abre, se abre.
Conectamos todo de acuerdo con el esquema de cómo hacerlo (por ejemplo, colocamos el relé en la primera línea de compensación y el sensor de fugas en la cuarta). Traducimos la primera línea al modo de salida en función de la lógica. Hacemos la dependencia de la primera línea en la cuarta. Verificamos el sensor, bajándolo en un charco. La lógica interna de la red cerrará automáticamente el grifo.
¿Cómo gestionar ahora de forma remota?
Netping tiene un servidor SNMP incorporado con capacidades de administración. Para administrar las redes, implementé mis propios OID, la tabla MIB para cada uno de los dispositivos está disponible en el sitio del desarrollador. También tiene un servidor web con soporte de administración a través de comandos codificados en URL.
Considere ambas opciones:
Verifique el valor lógico para la línea:
Estado de la grúasnmpget -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
Establezca el valor lógico en 0 (aplique voltaje, cierre el relé; la válvula se abre):
La grúa se está cerrandosnmpset -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
Establezca el valor lógico en 1 (elimine el voltaje, abra el relé; la válvula se abre):
La grúa se abresnmpset -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
En OID .1.3.6.1.4.1.25728.8900.1.1.3.N, N es el número de línea (1-4).
Un matiz importante es que la conmutación funcionará solo si la línea está configurada en modo de "salida". Si la línea está configurada en el modo "lógica de salida" (por ejemplo, para una respuesta rápida de la detección de fugas por el sensor), la red no controlará la señal en la línea fuera de su lógica (es decir, no responderá a comandos externos). Como ser Simplemente puede cambiar el modo de línea antes de comenzar un comando manual. A través de HTTP, esto se hace así:
Bonificaciones:- Un buen marcador para el futuro es la capacidad de conectar tantos sensores de fugas remotos activos como desee. Lo principal es descubrir cómo llevarlos a la topología general. Será posible bloquear el agua aún más por lógica en el mismo openwrt.
- Debido a la presencia de 4 líneas controlables en la red, puede agregar un par de toques más al sistema (también a través de un relé). Hice exactamente eso: construí un grifo separado en la línea de riego del sitio. Ahora puede activar / desactivar el riego de forma remota.
- Netping tiene su propia plantilla zabbix para todos los dispositivos. Disponible en su sitio, utiliza SNMP.
2. Presión y temperatura del portador de calor en el circuito de calefacción.
Presión: para detectar fugas rápidamente (incluso muy pequeñas / acumulativas).
Temperatura: el sensor instalado en el retorno. De acuerdo con sus valores, por ejemplo, se pueden sacar conclusiones sobre el modo actual de operación de la caldera, la bomba en el circuito, etc.
Los sensores se solicitan en aliexpress, un ejemplo del nombre: "Sensor de presión DC 5V G1 / 4". Hay contrapartes "no chinas", pero mucho más caras. Aquellos que no quieran correr riesgos, recomendaría tomar Honeywell, hay varios modelos, por ejemplo MLH200PSL01A. En mi caso, un hombre chino ha estado viviendo durante un par de meses en un ambiente con agua bajo una presión de 1 bar con una temperatura de 20-60 centígrados en el circuito de calefacción, y el segundo 3-4 bar en la entrada de agua (frío). El sensor es analógico. La señal de él todavía necesita ser convertida. El circuito DS2438AZ viene al rescate. Puede convertir una señal analógica en una señal digital y transmitir lecturas utilizando el protocolo 1wire. En esencia - ADC. El chip está idealmente integrado en la topología implementada en el primer artículo. Además, debe conectar los terminales VCC (+ 5V) y GND directamente al sensor. Aparece un voltaje en el tercer cable del sensor, que se puede convertir en presión de acuerdo con la fórmula: Vout = Vcc (0.8P + 0.1).
Una ventaja adicional del chip DS2438 es que también muestra el voltaje de entrada de la red, que puede ser útil para la depuración y el desarrollo de la red. Además, tiene incorporado un sensor de temperatura. Un punto importante: en la utilidad digitemp, debe indicar explícitamente la presencia de este chip en la topología utilizando el indicador adicional "-A".
Con la temperatura, todo es más simple. Ebay / aliexpress: sensor de hilo de 1 cable. obtenemos los datos en el bus 1wire inmediatamente en la forma correcta sin blackjacks adicionales. Por ejemplo, pedí un sensor con un ajuste de plomería de 1/2 pulgada y una sonda de acero de 6 mm sobresaliendo.
Constructivo:

Conectamos ambos sensores a la topología general y agregamos elementos adicionales a zabbix.
Volar en la pomada
De hecho, todo no despegó a la vez. Con la introducción de estos dos sensores, comenzaron a ocurrir milagros en toda la topología de 1 cable, desde la desaparición de los sensores hasta la lectura de sus valores límite. La primera suposición es que no hay suficiente estrés. Intenta reemplazar el concentrador USB, el uso de un concentrador activo no funcionó. Como resultado, ordené un nuevo "maestro de red", ahora basado en FTDI FT232, todo comenzó a funcionar de manera estable con él. Para trabajar con un asistente de este tipo, debe usar la utilidad digitemp_DS9097U. Pero decidí cambiar a owfs al trabajar con sensores, abandonando las llamadas puntuales de digitemp usando zabbix_agent en cada uno de los elementos. Esto alivia el dolor de cabeza de las solicitudes competitivas, razón por la cual se observaron periódicamente tiempos de espera. Si no me equivoco, owfs incluso tiene algún tipo de mecanismo de almacenamiento en caché incorporado.
En openwrt, el paquete FSFS fue instalado y montado por el comando FS:
owfs --allow_other -d / dev / ttyUSB0 / root / 1wire
El montaje se ha agregado a /etc/rc.local.
3. Presión en el sistema de suministro de agua.
Ahora esto es bastante simple: duplicamos el enfoque descrito en el párrafo 1 para la tubería principal. Sin embargo, no pude instalar el sensor en la línea de agua por donde pasa la red 1wire. No arrastré el cable a un nuevo lugar, decidí probar la solución de captura remota de datos utilizando un ADC con una interfaz wifi de radioseti. La solución se puede conectar a un punto de acceso wifi, tiene un servidor web incorporado y puede transmitir los valores de los sensores conectados a través del protocolo http. Para variar, se adapta. Como beneficio adicional, puede recoger otros sensores (incluido otro cable 1) para este dispositivo, es decir en teoría, por ejemplo, organice otro segmento remoto de 1 cable. El dispositivo resultó ser bastante intuitivo, al primer inicio se inicia en el modo de punto de acceso. Nos conectamos, ingresamos las configuraciones para conectarnos a nuestro wifi, quitamos el puente y lo colocamos dentro del rango de la señal wifi. Tomamos información, por ejemplo, a través de curl -s
sensor_ip / sensores o directamente con una encuesta HTTP en zabbix.
Constructivo:

La composición actual del complejo:
1 segmento de sensor de cable:FTDI maestro de red basado en FT232
3 chips de sensor DS18B20
1 sonda de sensor para 1/2 DS18B20
1 ADC DS2438
1 sensor de presión por debajo de 1/2
1 contador de pulsos DS2423
medidor de agua de pulso
Segmento de sensores wifi:RS-20
1 sensor de presión por debajo de 1/2
Segmento de red (conexión LAN):compensación de E / S v2
1 sensor de humedad de contacto seco
2 grúas gidrolock bugati ultimate + 2 relés BM8070D
Segmento UPS (conexión USB):PL2303
UPS Energy PN-750
Esquema:

Gráficos:




Referencias