PumpControl mit ESP8266 01

In diesem Blog beschreibe ich dir, wie du deine Brunnenwasserpumpe mit dem Smartphone steuern kannst. Dabei kannst du die Wasserpumpe ein- und ausschalten, sowie die Leistung mittels einer Phasenanschnittsteuerung regulieren. Zusätzlich können Controller-Informationen sowie die Restzeit auf das Smartphone übertragen werden. Als Controller-Modul kommt der ESP8266 01 zum Einsatz, welcher über dein Home WLAN die Kommunikation zu deinem Smartphone herstellt. Gleichzeig steuert er deine Wasserpumpe. Mit der „PumpControl“ App (nur für Android), kannst du deine Wasserpumpe dann steuern. Deine bestehende WiFi Infrastruktur wird, ohne Änderungen machen zu müssen, voll unterstützt – auch mit mehreren Access Points. Wichtig ist, dass dein ESP8266 über WLAN eine Verbindung herstellen kann (2,4GHz IPv4, DHCP ist nicht relevant, da für den ESP-Controller static IP benutzt wird).

Voraussetzungen:

  • Da es sich im Leistungsbereich um Hardware am 230V Stromnetz handelt, musst du ein Fachmann sein im Bezug auf elektrische Spannungen bis 230 Volt. Sicherheitsregeln unbedingt beachten! Achtung Lebensgefahr!!!  Ziehe ggf.  einen Fachmann  hinzu, der dich beim Aufbau oder der Verdrahtung im Leitungsteil unterstützt.   
  • Du solltest mit der Arduino IDE Umgebung in der Lage sein eine Bibliothek sowie ein Programm (Sketch) laden bzw. öffnen zu können. Im Internet gibt es sehr viele Tutorials dazu. Fortgeschrittene können dies natürlich auch mit Visual Studio machen.
  • Du solltest Wissen, wie man das ESP8266 01 in den Programmiermodus versetzt, um deine Firmware übertragen zu können. Hier gibt es auch viele Dokumentationen und Videos im Internet.
  • Handwerkliches Geschick und Engagement zum Projekt haben.

Du musst keine einzige Zeile Programmcode schreiben, du machst nur Anpassungen in der Firmware für deine Hardware (Servoparameter) und deinem Netzwerk (SSDI, WLAN-Key sowie IP-Adr, Sub,DNS, Gateway und Port) – das ist alles.

 

Gesamter Schaltplan

(Gesamtschaltplan als PDF)

Servomotor mit mechanischer Kopplung an die Phasenanschnittsteuerung. 

Achtung! Hier muss unbedingt auf eine galvanische Trennung geachtet werden! Je nachdem wie du den Stecker deines Fertig-Moduls in die Steckdose steckst, können bei diesem Modul am Kühlkörper, Gehäuse und am Poti Netzspannung anliegen. Ich habe dieses Modul inklusive Servomotor aus isoliertem Material aufgebaut. Bei einem 180 Grad Servo könnte theoretisch auch eine axiale mechanische Kopplung angewendet werden, da die Motorleistung nicht auf 0 zurück geregelt werden soll. Das soll bedeuten, der gesamte Poti-Drehwinkelbereich von ca. 270 Grad wird nicht benötigt. Ausgehend vom Poti-Maximum Anschlag und dann 180 Grad zurück ist völlig ausreichend. Achte hier besonders darauf, dass deine Mechanik wenig Schlupf aufweist.

 

Das Steuermodul

Spannungsversorgung, elektronisches Relais, 4011-NAND, ESP8266 01, Reset-Taster sowie die Pullup Widerstände und Kondensatoren. Das elektronische Relais steuert einzig das Schaltschütz (kleine Leistung erforderlich).   

Das Gesamtmodul

Ein Schaltschütz deshalb, weil bei Nichtgebrauch die Stromzufuhr zur Pumpe zweipolig  unterbrochen werden soll (Pumpe im Außenbereich – Brunnen). Ggf. kannst du auch ein Relais oder eine eigene Schaltstufe verwenden.

Die Firmware für das ESP8266 01

(PumpControlV1.09.zip für ESP8266)

[MD5 Hash:  f57cd4ce9b05a12c0b9274b7dcb72842]

Öffne deine IDE-Umgebung und lade dir über den Board Manager die Arduino Core for ESP8266 WiFi chip herunter, damit deine IDE auch dieses Board ansprechen kann.

Öffne dann den Sketch PumpControl und mache die Anpassungen wie im Code-Kommentar beschrieben. Die Änderungen der Netzwerk IPs sind nur im Setup-Block zu finden.

* ssid - Your WiFi SSID name
* password - Your WiFi password
* localUdpPort - UDP communication port number
* IPAddress ip - ###.###.###.###
* IPAddress gateway - ###.###.###.###
* IPAddress subnet - ###.###.###.###
* IPAddress dns - ###.###.###.###
* servoStart - Potentiometer left stop
* servoEnd - Potentiometer right stop
* servoOffset - minimum flow rate at which the engine is still running well | The value can also be set via smartphone app.
* Token - Your personal key to operate the controller; only with this correct key will received data processed; Note: Token must not contain a semicolon character
* RemoteOnlyOne - true = only one IP adr can send commands to controller / false = any IP adr may send commands ...
*
* !!!Caution!!! Do not change any other variables, methods or functions in the code - the function is then no longer guaranteed.
Befinden sich im Setup()
IPAddress ip(192, 168, xxx, xxx);
IPAddress gateway(192, 168, xxx, xxx);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, xxx, xxx);

Überprüfe deine Änderungen, kompiliere den Sketch und übertrage die Firmware

Setze dein ESP8266 01 in den Programmier Modus und übertrage (flashen) die geänderte Firmware. Nach erfolgreicher Übertragung schaltest du den Programmier Modus aus und führst einen Restart durch. Wenn du, wie im Schaltplan beschrieben, einen Summer installiert hast, sollten nach einigen kurzen Tönen drei lange Töne folgen. Dies ist die Bestätigung, dass eine WLAN-Verbindung aufgebaut werden konnte.

 

PumpControl – Smartphone App 

Die kostenlose App „PumpControl“ findest du im Google Play Store – ohne Werbung. 

 

Als nächsten Schritt öffnest du die Konfigurationsseite ( Open Config) und tätigst deine Einstellungen. 

IP Adr.: die IP des ESP Controllers (wähle eine IP außerhalb deines konfigurierten DHCP-Bereiches)
UDP Port: die Portnummer, wie im Code definiert
Power min: kleinste Einstellung in der App Beschriftung [1..99] – % Leistung
Power max: größter Wert in der App Beschriftung [2..100] – % Leistung
Empfehlung

Time min:
kürzeste Zeit in Minuten [>0 und <60]
Time max: längste Zeit in Minuten [>1 und <=60]
Servo Offset: dieser Wert bestimmt die Mindestleistung der Pumpe. Das Vorzeichen hängt davon ab, wie deine Kopplung vom Servo zum Poti aufgebaut wurde. [-180 .. 180]
Drive Speed: Wie schnell sollen Leistungsänderungen umgestellt werden. [1…300] – (kleiner Wert: Änderung schnell; großer Wert: Änderung langsam)
Token: dein persönlicher Key, der immer überprüft wird – ansonsten keine Steuerung möglich.

Nach der Parametrierung schließt du mit „Save and Close“  den Screen. Der Rest auf dem Mainscreen sollte selbsterklärend sein. Ist dein ESP-Controller online, kannst du nun mit der App deine Pumpe steuern.

Ein nützliches Tool bei der Entwicklung und den Tests ist der Packet Sender. Mit dem Tool kannst du alle Funktionen testen. 

Technische Erklärung

Nach dem Start des ESP8266 01 werden die Ausgänge auf OFF (low aktiv) gesetzt und danach die von dir konfigurierte WLAN Verbindung aufgebaut. Klappt dies, bestätigt der Controller dies mit drei langen Tönen. Und dann beginnt schon die Loop-Schleife – also das Warten auf ein korrektes Kommando per UDP Empfang. Zyklus drei mal je Sekunde.

Der Empfang Stream muss wie nachfolgend aufgebaut sein und am korrekten Port  eintreffen. Dies wird von der App PumpControl realisiert bzw. sichergestellt – praktisch nur zur Information.

Beispiel: ON;33;10;30;100;1;20;-70;180;123abc;

Value1: Kommando (ON, OFF, APPINFO01, APPINFO02, RESTART) [RESTART wurde in der App nicht realisiert – diente nur für Tests]
Value2: Soll Leistung der Pumpe
Value3: Soll Einschaltdauer der Pumpe in Minuten
Value4: Bereich Power min
Value5: Bereich Power max
Value6: Bereich Einschaltdauer min
Value7: Bereich Einschaltdauer max
Value8: Servo Offset
Value9: Servo Reaktionszeit
Value10: dein persönlicher Key [WICHTIG!!! dein Schlüssel darf kein Semikolon-Zeichen enthalten]

Kommt der erste korrekte Befehl am ESP an, merkt sich der Controller die Remote IP und sendet dem Device eine entsprechende Antwort bzw. agiert mit der Hardware (Servo, Schaltschütz, Summer). In Abhängigkeit der Variable RemoteOnlyOne kommuniziert das ESP dann nur mit diesem Gerät oder mit mehreren Geräten, die ein gültiges Kommando zum ESP senden. Somit kann konfiguriert werden, dass der Controller bis zum nächsten Restart oder Rest immer nur von einem Device gesteuert werden kann. Im anderen Fall, wird mit dem Gerät kommuniziert, welches den letzten korrekten Befehl gesendet hat.

const boolean RemoteOnlyOne = true; //true = only one Client / false = any clients

Fehlerhafte Datenpakete oder nicht autorisierte Geräte IPs an dem Controller werden nicht quittiert – das Paket wird verworfen.

Pumpe ON – Kommando
Wird die Pumpe eingeschaltet, bewegt sich der Servo im Eilgang immer auf 100% Leistung und regelt dann erst auf die gewünschte Soll-Leistung herunter. Damit soll sichergestellt werden, dass der Motor sicher unter Last anläuft. 

Du kannst natürlich jedes Modul aus der ESP8266- oder ESP32 – Familie verwenden. Ändere entsprechend die Beschaltung und ggf. dein Board in der IDE.

Datenschutzbestimmung

Die zum Download bereitgestellte Firmware und die App „PumpControl“ im Google Play Store kommunizieren einzig im lokalen Netzwerk (Benutzer Konfiguration) und übertragen keinerlei Daten in ein externes System. Ausnahme Update Funktion Google Play Store – Check nach neuer APP-Version.  

Stand: 28. Juli 2020

Die katholische Kirche und der sexuelle Missbrauch – nur zwei Fälle zur Veranschaulichung in Deutschland.

Ist das nicht katastrophal? Gerade die Kirche? Wie sieht es in der regionalen Umgebung aus?  Eigene Erfahrungen, die jetzt noch immer einen Nachgehen oder Beschäftigen aus der Vergangenheit?
Link: https://dbk.de/themen/sexueller-missbrauch/

Die Abschreckung (Kontaktaufnahme) seitens Kirche, dass sich hier überhaupt jemand meldet oder in Kontakt tritt  ist natürlich sehr gering. Das heißt, die Dunkelziffer liegt wahrscheinlich um einen vielfachen Faktor weit höher als gemeldet. oder bekannt  Ist das nicht alles erschreckend? 

Schuld ohne Sühne? | SWR Doku

Die Dokumentation schildert nur zwei Fälle von Missbrauch in der katholischen Kirche. Mindestens 3.677 Kinder und Jugendliche sind zwischen 1946 und 2014 Opfer von sexuellem Missbrauch in der katholischen Kirche geworden, die Dunkelziffer dürfte weitaus höher sein. Kriminologe Pfeiffer: „Die Daten wurden nicht von unabhängigen Wissenschaftlern erhoben“.

Missbrauchsskandal in der Kirche: Hat Ex-Papst Benedikt die Täter gedeckt?
(Quelle:  www.merkur.de) 

Ein Link vom

Konservative Geistliche werfen Franziskus Häresie vor

(Quelle FOCUS Online):
Es ist ein schwerer Vorwurf: Der Kriminologe Christian Pfeiffer ist überzeugt, „Die katholische Kirche und der sexuelle Missbrauch – nur zwei Fälle zur Veranschaulichung in Deutschland.“ weiterlesen