Kanalratte – IOT

Beim letzten Unwetter (2016) lief der Keller bei Bekannten voll. Daraufhin haben Sie sich eine Rückstauklappe einbauen lassen. Soweit so gut. Nur was geschieht, wenn die Klappe geschlossen ist, und man auf die Toilette muss? Da die Anzeige bzw. die Bedieneinheit auf Grund der Nachrüstung nicht im Haus ist, war eine andere Lösung gefragt. Raus kam die Kanalratte!

Die Idee ist, von der Steuerung, welche ein potentialfreis Wechselrelais hat, welches offen / geschlossen anzeigt, abzugreifen und einem ESP8266 Mikrocontroller zuzuführen.  ESP8266 sind als verschiedene Module erhältlich – bei mir war es ein NodeMCU. Dieses Modul hat die Möglichkeit sich ins WLAN einzuloggen und einen Status abzusetzen. Dazu wird ein HTTP Request über den Dienst Pushover abgesetzt. Bei diesem sind grundlegen bis 7000 Nachrichten pro Monat kostenfrei. Einzig die APP fürs Handy kostet einmalig knapp 5€ pro Android oder IOS Installation. Familienaccounts sind möglich.

Es wird also ein Request abgesetzt, falls sich die Klappe schließt oder öffnet. Zusätzlich sendet die Kanalratte eine Nachricht beim Startup, womit man die generelle Funktionsweise sehen kann. Weiterhin ruft der ESP8266 die Uhrzeit über NTP ab und schickt um 9 und 21 Uhr eine Ping Nachricht, damit man sieht ob er noch am Leben ist. Es nützt nämlich nichts, wenn nie eine Nachricht kommt oder das Netzteil seinen Dienst versagt hat, was man natürlich nicht bemerkt hat.

Der Hardwareaufbau ist dabei simpel. ESP8266 Modul auf einer Lochrasterplatine aufgesteckt oder direkt aufgelötet. Über zwei Verbindungen werden die zwei Kontakte des Wechselschalters im Wechselrelais abgefragt. Da die zwei Eingänge am ESP8266 intern mit Pullup betrieben werden, ist der gemeinsame Kontakt auf Ground gelegt. Das sind die drei nötigen Leitungen. (Hinweis: in Version 1.1 sind noch zwei 1k Wiederstände in die beiden Leitungen eingeschleift um den Strom zu begrenzen.)

Die Software ist simpel aufgebaut. Es werden die GPIO 12 und 13 als Input verwendet, der WLAN Zugang konfiguriert und die Zeitsynchronisierung über Callback aufgebaut. Die Logik für die GPIO überprüft zyklisch, ob die Klappe auf ist (Zustand der Leitungspaare ein / aus) oder zu ist (Zustand der Leitungspaare aus / ein) oder ob ein Leitungsproblem vorliegt (ein/ein oder aus/aus). Bei einer Statusänderung wird die API Seite von Pushover aufgerufen und so der Status abgesetzt, welcher Sekunden später am Smartphone oder PC erscheint. Als vorgefertigte Bibliotheken müssen nur TimeAlarm, TimeLib und NTPClient in der Arduino IDE nachinstalliert werden.

Quelltext und Konfiguration sind hier erhältlich: Kanalratte.ino config.h

Die Daten für die Pushover API müssen aus dem internen Bereich von Pushover nur noch in die config.h eingesetzt werden und es kann losgehen.

Steuerung Rückstauklappe

Kanalratte Prototyp

Leave a comment

Your comment