Der Pool-Controller (2/4) - AZ-Delivery

En el artículo anterior describimos el proyecto de la piscina de control inteligente.En esta segunda parte, vamos a hablar del corazón, los controles.Se basa en un esp32, pero también se pueden realizar algunos cambios con el esp8266.

Tarea del controlador de piscina

El controlador tomará el control central.Mide periódicamente la temperatura del agua de la piscina y el calor del sistema solar.Además, cerrará la bomba (filtro y calefacción).Por consiguiente, el ESP es a la vez un sensor y un participante.Los datos se intercambian a través de la WLAN.

Controlador de piscina

 

Temperatura de medición

Las mediciones de temperatura suelen ser el comienzo de la programación de sensores de red de especies.Hay varios ejemplos de ello.Los sensores de temperatura vienen. Tipo dht11 O más exactamente. Tipo dht2 Para uso.Sin embargo, como los sensores de temperatura del proyecto deben estar situados en el exterior, utilizamos sensores impermeables. Serie ds18b20- Sí.Uno de los sensores se utiliza para medir la temperatura del agua de la piscina y el otro para medir la temperatura en la memoria amortiguadora.

 

Medición de la temperatura

La temperatura medida se lee una vez cada 60 segundos utilizando un cronómetro y se difunde por mqtt.Este intervalo de tiempo es una transacción entre la inercia del agua y el ajuste del programa.El valor puede ser suficiente cada cinco minutos, pero la integración con openhab también facilita la velocidad de los minutos siguientes.Hablaremos más tarde.

Control radio

Dado que no queremos tratar directamente 230 voltios de comunicación en el proyecto, cambiamos las bombas de agua mediante enchufes de radio.Para los enchufes de radio, algunos pueden pasar por Radio TRANSLATORS 433 MHz Controlable.Lista compatible de enchufes de radio Wikipedia. En la biblioteca.

Estructura del circuito

Las placas de circuito figuran a continuación:

En el caso de los sensores de temperatura, los interruptores de tracción alta de 4,7 kg se encuentran entre la línea de datos y la energía + 3 V - VCC.

El pie del tubo de datos del esp32 muestra lo siguiente:

- definición. Energía solar 16 / / sensor de temperatura solar
- definición. Aguja d piscina 17  Piscina de sensores de temperatura
- definición. U pie rsswitch 18 / / 4333 MHz transmisores

Código fuente del proyecto

Para este proyecto, utilizamos el entorno de desarrollo. Plataforma. Io IDE- Sí.Así es como creamos el proyecto para la Junta Directiva esp32dev.Recientemente, platform.io se convirtió en... Artículo publicado.

El código fuente completo del proyecto puede encontrarse en el depósito de github del autor: https://github.com/stritti/smart-swimming-pool.

Bibliotecas utilizadas

En este proyecto, debemos recurrir a los programas informáticos certificados y resolver el mayor número posible de problemas a través de las bibliotecas existentes.

  • RCC: control radio enchufe
  • única línea: sensor de apoyo
  • Temperatura de Dallas: temperatura del sensor
  • Pubsubcolent: recepción y transmisión de mensajes mqtt
  • - por Internet.
  • Ispbase: Plantillas de proyectos de red de materia

Estos bancos se almacenan en la configuración platform.io (platformio.ini) y se cargan e integran automáticamente desde Internet cuando se preparan.

El programa del controlador de piscina se basa en el esppbase, que proporciona algunas de las características de configuración que se escribieron en el artículo anterior.Al principio del Código se crean algunas variables y se definen los recubrimientos de agujas.

Además de las dos funciones Setup () y Loop () se han realizado otras funciones.Se trata esencialmente de recibir y enviar mensajes de mqtt y ponerlos en práctica en consecuencia.Además, se ha logrado un temporizador que lee periódicamente el sensor de temperatura y lo difunde a través de mensajes mqtt.

Detalles

  1. En Correr- Verificación de las conexiones de la WLAN por duplicado, si es necesario.Se trata de un problema difícil: el ESP ha perdido repetidamente la conexión Wi - Fi y no puede enviar más datos si no se vuelve a conectar.
  2. Funciones Publicar Para enviar mensajes mqtt.Por consiguiente, los datos se publican en forma de mensaje de la json a partir del reinicio y la medición de la temperatura.
  3. El temporizador que transmite la temperatura está dividido.La razón es que el método real de cronometría debe ser lo más breve posible.En ejecución, el temporizador llama a la función ontimer, mientras que la función ontimer sólo llama a la Volatile. Contador de interrupciones Menos.En la función circular, esto es verificación y realidad TemperaturaEste método también Lee y publica la temperatura interna del ESP.
  4. Funciones Onmqttcallback. Marque la casilla cuando se envíe un mensaje al tema que comienza con "Pool / Switch /".Este mensaje contiene información sobre los enchufes de radio abiertos o cerrados.Ciérrala.El tema se dividió en grupos y códigos de equipo.Esto significa que los códigos de los interruptores de los enchufes se convierten en 0 y 1.Esto hace que la solución sea flexible en otros lugares.

El código fuente del controlador de la piscina puede encontrarse directamente en los siguientes archivos: https://github.com/stritti/smart-swimming-pool/blob/master/Pool-Controller/src/pool-control.ino

 

Test

 

Test

Una vez que se haya terminado el circuito y se haya añadido el proyecto al ESP, podremos probarlo.El ESP abrirá la WLAN como punto de acceso, porque no se la proporcionará por defecto.Si se utiliza el controlador de la piscina para conectar un teléfono inteligente, se puede configurar el WLAN correcto.Después, el Microcontrolador se reinició automáticamente y trató de conectarse a la WLAN especificada.

Si todas las opciones son correctas, el mensaje de Estado se debe publicar por mqtt al comienzo del ESP.Puede rastrear todos los mensajes usando las siguientes órdenes en el frambuesa:

 Mosquito Sub - H local#

El código fuente puede requerir un ajuste de la dirección IP del servidor mqtt.

Después de eso, la temperatura de las frambuesas debería salir en un ciclo de minutos.

En otra dirección, podemos cambiar los enchufes de radio enviando la información adecuada.El tema consiste en "/ Pool / Switch / &; Group & gt; / & lt; device & gt;".El Grupo y el equipo son interruptores DIP para enchufes de 0 y 1, respectivamente.El mensaje es "abierto"."Cerrar" enviar.

Enchufe

 

¿Cómo lo hacemos?

Esto crea el principio básico: podemos leer la temperatura y cerrar el enchufe.

En el siguiente artículo, conectamos el controlador de piscina con la solución de hogares inteligentes openhab y hacemos que la piscina sea muy inteligente a través de las reglas.

 

Continúa:Piscina y piscina al aire libre (3 / 4)

 

Esp-32Projekte für fortgeschritteneRaspberry piSensorenSmart home

8 comentarios

Lars

Lars

Hallo Matthias,

als günstiges Poolthermometer würde ich persönlich, einfach einen NTC Widerstand in Schrumpffolie (mit Innenkleber) einschweißen. Diesen dann mit 3.3V oder 5V versorgen und diesen einfach mit einem ADC einlesen. Obere Schwelle ca. 3-5% unter dem max vom ADC Stufen setzen und dann die Kennlinie (Temperatur über Spannung oder Stufen) aufnehmen. Ist mit einem „Mini“ Controller sogar erweiterbar auf weitere Temp.Sensoren oder andere Sensoren.
Bei der Lösung ist auch der Umfang der Libs auf 1 oder 2 beschränkt und diese gehören sogar zum Standard. Sollten also keine Probleme machen.

Hoffe hilft ggf. weiter. Persönlich würde ich von fertigen Modulen bei so etwas abraten, weil zu teuer, S-Code unnötig aufgepustet wegen Funktionen in den Libs die du gar nicht nutzt und meist Probleme die Lib-Version mit dem Modul zu aktivieren.
Manchmal ist weniger mehr :-)

Lars

Lars

Hallo Leon,

Solche Fragen bekomme ich auch beruflich oft gestellt. Damit es logisch wird und Sinn ergibt muss ich jedoch ein wenig ausholen.
1. Was willst du messen? Ist der Zufluss zur Pumpe wesentlich anders als der Rückfluss zum Pool oder das Poolwasser?
Sollte der Unterschied größer als 2 Grad sein hast du irgendwo ein anderes Problem :-). Meist liegt der Unterschied, IM BETRIEB, zwischen 0,3 und 0,7 Grad. Das reicht meiner Meinung als Toleranz aus und könnte funktionieren. ABER ….
2) Der Offline Betrieb: – Läuft die Pumpe nicht, wird das Wasser in Zu- und Rücklauf nicht bewegt. Bei schwarzen Rohren in der Sonne sind diese nach 3 Stunden schon teilweise unangenehm warm. (28 – 35 Grad C ) Der Pool wird je nach Größe ungefähr 22-26Grad haben. Und genau das wird dein Problem werden wenn du den physikalischen Wandler zu weit von dem Ort wo er eigentlich messen sollte einsetzt.
Hier wäre eine einfache Wetterstation(zweckentfremdet) mit BT Übertragung eine Lösung. Den anderen Sensor an der Pumpe kann man ja als Referenzwert dennoch weiterhin nutzen.
Bei einem Wandler (ob NTC als Sensor, IR- Messung oder Wärmebild ist alles möglich) musst du auf langen Strecken den Spannungsfall (gerade bei Komponenten unter 12 V) sowie den Leitungsquerschnitt über die Länge berücksichtigen (wird sehr schlimm wenn viel Strom benötigt wird). Um Verluste zu verhindern und die Messungen genau zu halten solltest du immer so nah wie möglich am zu messenden Objekt sein.
Ich würde ein 2 teiliges Projekt vorschlagen. Sensor Station am Pool und Steuereinheit innerhalb 80-160m BT-Reichweite. Also wo du willst. Solang guter BT Empfang.
Dein „nicht sichtbar sein“ würde passen. Verlust und Spannungsfall und noch viele weitere Kleinigkeiten entfallen. Die Sensoreinheit ist je nach dem was du später machen willst aufrüstbar. Somit hast du Max Flexibilität und Energieeffizienz (mit Minisolarpanel ggf. gar kein Akku oder Batterietausch notwendig.

Die Fragen am Anfang sollte man sich immer stellen. Was messen? Welche Modi gibt es? Welche Unterschiede in den Modi? Welche replizierbaren Fehler ergeben sich daraus? Welcher Einfluss haben Modi und Fehler auf dein Ergebnis?

Die Fragen kann man auf alle Messungen anwenden. Ich hoffe damit kannst du die für dich beste Entscheidung treffen.
Als E-Ing. FR: Nachrichtentechnik, habe ich dir meine Meinung ja oben bereits geschrieben.

Viele Grüße
Lars

Matthias

Matthias

Hi,

ich wollte mir noch ein günstiges Thermometer für den Pool basteln, scheine hier aber ein wenig Probleme zu bekommen bei der Vorbereitung meines ESP8266 Boards. Bei PlatformIO bekomme ich recht viele Meldungen, dass die Bibliotheken outdated sind.

Was wäre denn die aktuelle Möglichkeit um das zu bewerkstelligen? Die gefundenen Anleitungen sind leider sehr rudimentär und hier komme ich nicht ganz weiter. Hat jemand einen Tipp mit ggf. Schritt für Schritt Tutorial?

Danke

Andreas Wolter

Andreas Wolter

auf den ersten Bildern ist eine Prototyping Platine zu sehen.
Das Breadboard auf den späteren Bildern ist das MB-102:
https://www.az-delivery.de/products/breadboard?ls=de
Eine kurze Info dazu gibt es im ersten Teil dieser Reihe.

Grüße,
Andreas Wolter

Tom

Tom

Tolle Idee.
Welches Breadboard wurde denn hier verwendet?
Danke für die Info vorab.

Andreas Wolter

Andreas Wolter

@Lothar: Zigbees sind natürlich auch eine weitere Lösung, solch ein Projekt umzusetzen. Wie in allen Beiträgen gilt aber auch hier, dass wir nicht die beste Lösung zeigen möchten. Denn jeder entscheidet für sich, was für ihn die beste Lösung ist. Diejenigen, die das gerne mit diesen Komponenten bauen möchten, für die könnte dieser Beitrag nützlich sein.
Frei nach dem Motto: Warum machen wir das so? Weil es geht.

Grüße,
Andreas Wolter

Lothar

Lothar

Wäre es nicht besser Zigbee Steckdosen (z.B. Lidl) als Aktuatoren der Pumpen zu verwenden????

Leon

Leon

Wo kann man den Sensor für die Wassertemperatur am besten unterbringen wenn das Pool haus weit vom Pool entfernt ist und der Sensor nicht sichtbar sein soll?

Deja un comentario

Todos los comentarios son moderados antes de ser publicados