![](https://www.ei-ot.de/wp-content/uploads/2022/02/ESP-OS-PCF8574-Button-config-topimage_2200x420.jpg)
PCF8574 Eingang Taster Benutzereingabe mit ESP-OS konfigurieren
- Unterschied zwischen GPIO und PCF8574 Eingang
- Zuweisung der PCF8574 Eingänge
- Eingangssignal umsetzen
Grundlagen zur Konfiguration von Benutzereingaben mittels PCF8574 und Tastern
PCF8574 Input Trigger Signal ![]() |
PCF8574 Eingangssignale
Die Eingangssignale eines PCF8574 sind bis auf den eigentlichen Akteur, z.B. ein Taster schaltet und sendet ein Signal gänzlich unterschiedlich zu einem typischen GPIO Eingang. Das Offensichtlichste, ein typischer GPIO Eingang, als auch sein aktueller Status sind in der ESP-OS Benutzeroberfläche nicht ersichtlich. Ganz anders ist das bei PCF8574 Eingängen, sowohl die Eingänge als auch der aktuelle Status werden im ESP-OS Statusbereich angezeigt. Ein sehr massgeblicher Unterschied findet sich in der Konfiguration, typische GPIO Eingänge können unterschiedlich konfiguriert werden, Schalter, Taster, invertiert,... An dieser Stelle sei erwähnt, ein PCF8574 Eingang sollte stets mit einem Taster (nicht Schalter) betrieben werden, Hintergründe dazu finden sich hier. Im Eigentlichen ist die Konfiguration der Eingangssignale mit der Basiskonfiguration, bzw. der PCF8574 Konfiguration abgeschlossen. Sobald der jeweilige Kanal des PCF8574 als Eingang konfiguriert wurde, triggert der PCF8574 die Änderung eines Levels und teilt den aktuellen Status über I2C dem ESP8266 mit. Was jedoch fehlt ist die Interaktion zwischen Signal und auszuführende Funktion, Wenn Taster 1 aktiv dann???? |
PCF8574 Input Signals
Besides the typical hardware / function a button send a HIGH or LOW Signal, a PCF8574 Input are absolutely different compared to typical GPIO Input. First of all a typical GPIO Inputs nor its actual status are not visible thru Webinterface. PCF8574 Inputs also actual status are visible in ESP-OS Webinterface. Typical GPIO Inputs could be set as Switch, Button, inverted, ... PCF8574 Inputs should be driven over buttons (not switches), informations you could find here. In Detail the PCF8574 Input configuration is finished with the Module Basic and PCF8574 configuration. Soon as the PCF8574 channel is configured as Input, the PCF8574 triggers each Level changing and notify the ESP8266 thru I2C. But the Interaction between Signal and Function are missing, If switch 1 is active ????? |
ESP8266 ESP-OS Input Button Setup Step by Step ![]() |
PCF8574 Taster Konfiguration
Typischerweise unterliegen Anweisungen stets gewissen Regeln. sobald .... tue .... Mit einfachen Worten
umgangssprachlich es müssen entsprechende Regeln hinterlegt werden! Hierfür werden entsprechende
oder in einem Satz Wachhund sobald Geräusch tue bellen Im Grunde bildet das auch die Grundlage der digitalen Welt,
Berücksichtigt man dabei dass es mehrere Wachhunde geben kann aber für alle die gleiche Regel gilt sobald Geräusch tue bellen oder etwas anderes. Das ganze einmal übersetzt auf den ESP8266 und den PCF8574 Eingang, wichtig der PCF8574 wird invertiert betrieben also
ganz einfach daran zu erkennen,
Im nebenstehenden Beispiel, dem 4 Kanal PRO Relais haben wir 4 Eingänge also 4 Wachhunde für alle gilt die Regel SOBALD GERÄUSCH / ALSO 0 dann tue ... |
PCF8574 Button Configuration
Routines and Instructions are always based on If.... Then... In simple words
Routines and Instruction requires Rules! Rules are based on
in view words Watchdog on noise do bark Basically we are talking about the digital world
In consideration of more then one watchdog the basic rule is the same on noise do bark or what ever ... Back to interaction between ESP8266 and Input Signals of the PCF8574, IMPORTANT the PCF8574 its inverted so
in practice
Based on the left side image, the 4 Channel PRO Relays we got 4 Inputs / 4 watchdogs with the same Rule ON NOISE / ON 0 DO ....
|
ESP8266 ESP-OS Input Switch Setup Step by Step ![]() |
Regel Rule Konfiguration
Gleichermassen werden auch für den ESP8266 und die Interaktion mit dem PCF8574 entsprechende Regeln hinterlegt. Dies geschieht allerdings nicht mittels einer grafischen Benutzeroberfläche sondern mittels einer Konsole / Texteingabe. Hört sich schlimmer an als es ist, mit der Grundlage von Regeln im Hinterkopf sehr einfach
Dann noch der Wächter SOBALD und die Routine TUE:
Das war im Grunde auch schon die gesamte Syntax, bzw. Rule1 ON PCF8574-1_INP#D4=0 DO Power1 TOGGLE ENDON einfach mal auf Deutsch Regel Nummer 1 SOBALD PCF8574 Eingang Nummer D4 = 0 TUE Relais1 UMSCHALTEN ENDESOBALD Mittels dieser Regel1 wird also, sobald sich der Level vom PCF8574 Eingang Nummer D4 auf den Wert 0 ändert das Relais 1 umgeschaltet. Basierend auf dem Beispiel des 4 Kanal PRO Relais haben wir
gilt folgende Regel für alle Wachhunde sobald 0 dann Routinen ausführen, lautet die gesamte Regel 1 Rule1 ON PCF8574-1_INP#D4=0 DO Power1 TOGGLE ENDON ON PCF8574-1_INP#D5=0 DO Power2 TOGGLE ENDON ON PCF8574-1_INP#D6=0 DO Power3 TOGGLE ENDON ON PCF8574-1_INP#D7=0 DO Power4 TOGGLE ENDON Diese Regel muss nun mittels Konsole gesetzt und aktiviert werden, hierzu in der ESP-OS Benutzeroberfläche
drückt man nun einen Taster wird gemäß der festgelegten Regel die jeweilige Routine ausgeführt, in Anlehnung an obiges Beispiel
Möchten man die Regel deaktivieren muss lediglich Rule1 0 in die Kommandozeile eigegeben und durch Drücken der Taster Enter übertragen werden. |
Rule Configuration
On same way we implement some Rules for the ESP8266 to interact with the PCF8574 Signals. Rules Setup requires a terminal / console for rule input, sound complicated but its very easy, just keep basic of rules in mind
and of course each rule requires the
Rule1 ON PCF8574-1_INP#D4=0 DO Power1 TOGGLE ENDON simple translation Rule No. 1 ON PCF8574 Input Number D4 = 0 DO Relays1 TOGGLE END ON The Rule 1 is very simple, soon as the PCF8574 Input D4 Level = 0 TOGGLE RELAY 1. Based on our example, the 4 Channel PRO Relays Module, we got
and for all Inputs / Watchdogs we got the same Rule ON = 0 so Rule1 ON PCF8574-1_INP#D4=0 DO Power1 TOGGLE ENDON ON PCF8574-1_INP#D5=0 DO Power2 TOGGLE ENDON ON PCF8574-1_INP#D6=0 DO Power3 TOGGLE ENDON ON PCF8574-1_INP#D7=0 DO Power4 TOGGLE ENDON This Rule must implemented thru Terminal / Console
The Module / PCF8574 Inputs are enabled, based on 4CH Pro Relays Example
To disable Rule1 just write Rule1 0 into command line and press ENTER key.
|