Forum: Mikrocontroller und Digitale Elektronik StatusLEDs für WLAN, MQTT,.


von Michael N. (lwl2012)


Lesenswert?

Hey Leute,

ich bin im moment am bauen verschiedner eigener ESP Module. Bislang 
nutze ich primär ESP Easy als "Software". Nun ergibt sich die Frage, wie 
weit ist es möglich Status LEDs zu nutzen bzw. zu erzeugen?

Also es geht vor allem um LEDs zur Anzeigen ob Verbindung zu WLAN und 
MQTT geklappt hat oder nicht? Also hat da das ESP Easy schon was an 
Board oder muss man dann sich schon eher in die Materie begeben und z.B. 
mittels Arduino IDE eine eigene Software entwickeln? Das wäre 
bekanntlich ja nur etwas aufwändiger, da man für jeden ESP einzelln eine 
Software bauen muss bzw. zumindest im Code die IP Adresse ändern.

Da ist das ESP Easy System natürlich deutlich einfacher. Einfach 20 ESP 
Flashen ins WLAN Bringen und dann auf wunsch Konfiguerien.

Wie gesagt geplant sind folgende LEDs:

    WLAN Verbunden (Grün)
    MQTT Verbunden (Grün)
    Error (Egal ob WLAN oder MQTT) (Rot)

Soll möglichst für jeden eingesetzten ESP genutzt werden. Ob ESP-01 
(Einfache Sensormodule ohne Schnickschnack), Wemos D1 Mini und NodeMCU. 
Am einfachsten wäre eine direkte Einbindung. Weil 
Pinerweiterungsbausteine mit i2c denk ich wären etwas viel des guten.

Michael

von Stefan F. (Gast)


Lesenswert?

Michael N. schrieb:
> Also es geht vor allem um LEDs zur Anzeigen ob Verbindung zu WLAN und
> MQTT geklappt hat oder nicht?

Ist das eine Frage?

Du musst schon selber festlegen, ob und was du mit deinen LEDs anzeigen 
willst.

> Das wäre bekanntlich ja nur etwas aufwändiger, da man für jeden ESP
> einzelln eine Software bauen muss bzw. zumindest im Code die IP
> Adresse ändern.

Wieso das denn? IP-Adressen kann man konfigurierbar machen oder WPS 
nutzen. Ein Beispiel, wie man es konfigurierbar machen *kann*: 
http://stefanfrings.de/esp8266/index.html#wificonfigservice

Guck Die mal meinen WiFI Monitor (auf der verlinkten Seite) an, der geht 
schon stark in die Richtung, was du machen willst. Da musst du 
eigentlich nur das MQTT Gedöns hinzufügen, was dank fertiger Arduino 
Bibliotheken einfach sein sollte.

von Johannes S. (Gast)


Lesenswert?

habe jetzt schon eine Zeit lang nix mit ESPEasy gemacht, aber ich denke 
das geht mit den Rules: 
https://www.letscontrolit.com/wiki/index.php?title=Tutorial_Rules

Um von extern zu Überwachen ob Nodes verbunden sind wäre ein 
übergeordnetes System, z.B. mit ioBroker, besser.

von Michael N. (lwl2012)


Lesenswert?

Ja ein ioBroker habe ich am Laufen. Es ging eher erstmal um eine 
Hardwareanzeige am Sensor / Gerät selbst. Also nicht um die 
Softwareabfrage.

Aber werde mir das mit Rules und dem anderen später mal näher augucken.


Michael

von Michael N. (lwl2012)


Lesenswert?

Moin,

ich bin da gerade nur auf ein kleines Problem gestoßen. Der ESP-01 hat 
nicht genug Pins für meine Fehlermeldung und ein Sensor. Daher muss ich 
zumindest für diesen ein i2c Portexpander nutzen.

Theoretisch würde ein PCA9536D reichen für die zusätzlichen Ausgänge. 
Nur leider finde ich diesen nicht in der Firmeware von Easy ESP. Oder 
ist der dort in einer anderen Bezeichnung aufgeführt?


Michael

von Stefan F. (Gast)


Lesenswert?

Michael N. schrieb:
> Der ESP-01 hat nicht genug Pins für meine Fehlermeldung und ein Sensor.

GPIO2 für die beiden LEDs:
1
           grün         rot
2
|---[===]---|<|----+----|<|---[===]---o 3,3V
3
                   |
4
                   o 
5
                 GPIO2

GPIO0 für den Sensor.
GPIO1 für serielle Ausgaben.

Passt doch.

von Michael N. (lwl2012)


Lesenswert?

Naja ich hab doch 3 LEDs geplant. Also WLAN, MQTT und Error. Gut wenn 
ich es auf 2 runter breche passts.

Aber zu dem i2c Baustein gibt es da ggf. auch Infos?

von Johannes S. (Gast)


Lesenswert?

https://www.letscontrolit.com/wiki/index.php?title=PCA9685 gibt es, oder 
den guten alten PCF8574.
Aber ist bei dem kleinen das Flash nicht auch ein bisschen knapp? Die 
grösseren ESP bekommt doch auch nachgeworfen, das wäre doch sicher der 
geringere Aufwand.

von Stefan F. (Gast)


Lesenswert?

Michael N. schrieb:
> Naja ich hab doch 3 LEDs geplant. Also WLAN, MQTT und Error. Gut wenn
> ich es auf 2 runter breche passts.

Kriegen wir auch noch hin. Du kannst an den seriellen Ausgang eine LED 
hängen, die bei LOW Pegel leuchtet. Zwischen durch flackert sie ein 
bsschen, wenn seriell eine Fehlermeldung ausgegeben wird. Damit kann man 
leben, denke ich.

von Michael N. (lwl2012)


Lesenswert?

Situation ist den: "PCA9536D" habe ich hier liegen, bekomm den aber 
nicht zum rennen am ESP-01 in der ESP Easy Oberfläche.

Den PCF8574 habe ich auch liegen. Kann ich aber lediglich als INPUT 
nutzen zumindest laut Oberfläche.

Und vom ESP-01 hab ich auch noch ein paar mehr hier liegen. Daher 
eigentlich schade mit weg damit und so.

Michael

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

GPIO0: ist noch frei
GPIO1: Serielle Ausgabe und parallel dazu eine rote LED (Low-Aktiv)
GPIO2: Zwei LEDs (wie oben gezeigt)
GPIO3: Sensor

Wenn es an der Unterstützung durch ESPEasy scheitert, dann programmiere 
ihn doch mit Arduino.

von Michael N. (lwl2012)


Lesenswert?

Okay,

ja da hast recht.

Teste ich gleich mal aus. Kann aber trotzdem eine LED weg lassen, weil 
wenn ich an einen Pin 2 LEDs hänge (die je bei 1 oder 0 leuchten) 
leuchtet ja entweder Rot oder Grün.

Also wenn ich zeigen will das
1. MQTT verbunden ist
2. WLAN verbunden ist
3. Error bei Punkt 1 oder 2

Aber ich geh noch mal etwas in mich, vielleicht ergibt sich ein gedanke 
wie ich beides trotzdem hin bekomm wie ich das vor habe.



Nur zum PCA9536D wäre nochmal interessant. Aber ich glaube da muss ich 
doch mich eher von diesen "klick-klick" Lösung verabschieden wie ESP 
Easy und mich mal näher mit Arduino IDE und so auseinander setzen.


Michael

von Michael N. (lwl2012)


Lesenswert?

2 Leute 1 Gedanke ;-)

von Stefan F. (Gast)


Lesenswert?

Wenn du eine Duo-LED nimmst würde auch das gehen:
1
rot    = fehler
2
orange = nur WLAN geht
3
grün   = WLAN und MQTT gehen

von Johannes S. (Gast)


Lesenswert?

die GPIO werden als Output über http gesetzt, so war es jedenfalls 
bisher immer.
Lt. Doku gibt es aber ein Command zum Setzen:
PCFGPIO,<pin>,<value>   1,0   Control PCF8574 output pins (1 or 0)
und genau das braucht man in den Rules, damit sollte 
MQTTConnected/disconnected den Pin direkt steuern können. Bei Wifi habe 
ich nur das Event WifiConnected gesehen, weiss nicht ob es da auch ein 
Gegenstück gibt.

von Michael N. (lwl2012)


Lesenswert?

Ja geht aber auch mit "normalen" LEDs

Aber das geschmackssache

GPIO0 auf LOW bei WLAN okay
GPIO2 auf LOW bei MQTT okay
GPIO2 auf High bei Error

Aber wird schon.

@Johannes S.:
Und das Problem was ich zumindest in der ESP Easy Oberfläche mit dem 
PCF8574 habe ist, ich kann keine Adresse definieren. Es gibt ja 3 
Adresspins über die man den Adressieren kann.

Aber naja egal. Ich denke ich bleibe bei der einfachen Lösung mit 2 Pins 
;-)



Aber im allgemeinen werde ich mich wohl oder übel mehr mit Arduino IDE 
beschäftigen dürfen, wenn ich zu meinen eigenen Lösungen möchte.


Michael

von Johannes S. (Gast)


Lesenswert?

Michael N. schrieb:
> ich kann keine Adresse definieren. Es gibt ja 3
> Adresspins über die man den Adressieren kann.

steht alles in der Doku...
1
For the PCF8574:
2
A0:   A1:   A2:   Address:   Port range:
3
0   0   0   0x20   1 - 8
4
1   0   0   0x21   9 - 16
5
0   1   0   0x22   17 - 24
6
1   1   0   0x23   25 - 32
7
0   0   1   0x24   33 - 40
8
1   0   1   0x25   41 - 48
9
0   1   1   0x26   49 - 56
10
1   1   1   0x27   57 - 64

Michael N. schrieb:
> Aber im allgemeinen werde ich mich wohl oder übel mehr mit Arduino IDE
> beschäftigen dürfen, wenn ich zu meinen eigenen Lösungen möchte.

auch da muss man die Doku lesen...

von Heinz R. (heijz)


Lesenswert?

Hier gabs mal vor 2 Jahren was zu genau Deinem Thema:

https://github.com/letscontrolit/ESPEasy/pull/1032

Aber ob das heute auch noch geht kann ich Dir leider nicht sagen


Grüße

Heinz

von Michael N. (lwl2012)


Lesenswert?

@Johannes S.:

Das mit dem wie ich es am Chip mache ist kein Problem. Es geht um die 
Adressierung in ESP Easy. Also den Softwareteil.

Aber ich denke ich lasse es bei der einfacheren Lösung.

@Heinz R.:
guck ich mir gleich mal genauer an.


Michael

von Johannes S. (Gast)


Lesenswert?

Michael N. schrieb:
> Es geht um die
> Adressierung in ESP Easy.

das steht doch in der Tabelle. Wenn z.B. die Hardwareadresse 110 benutzt 
wird dann hat man Port 25..32 am Baustein und kann Bit0 z.b. mit 
PCFGPIO,25,1 setzen. Zugriff auf die Ports vom ESP geht mit GPIO. Zum 
Testen einfach per Browser das Kommando ausführen:
http://<ESP IP address>/control?cmd=GPIO,<pin>,1

von Michael N. (lwl2012)


Lesenswert?

okay guck ich mir nochmal an.

Hab gerade die Lösung mit 2 Pins angeguckt und die lief schon mal wie 
gedacht. Was leuchten soll leuchtet, was nicht das nicht.


Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.