Mehrere NodeMCUs miteinander kommunizieren lassen

Hi,

ich möchte für ein Projekt mehrere NodeMCUs mit einander kommunizieren lassen. Ich denke für das was ich möchte ist es für den Anfang etwas zu viel ( mehrere Sensorwerte und evtl. Display Daten an die anderen ESPs senden), deswegen wollte ich für den Anfang einfach nur einen Taster an NodeMCU 1 anschließen und an NodeMCU 2, 3 und 4 eine LED zum leuchten bringen. Wäre nämlich für mich auch interessant wie es mit der Latenz aussieht. Hat jemand von euch ein entsprechendes Bsp. Programm parat wo ich mich durcharbeiten kann?
Vielen Dank

Mfg

Da kommt es erst mal datauf an, wie die ESP miteinander kommunizieren sollen.
Ich nehme an WLAN.

Da gibt es wieder 2 Varianten:

  1. Ein eignenes WLAN, d.h. einer arbeitet als Accesspiont und baut das WLAN auf
  2. Es wird ein vorhandenes WLAN genutzt

Zur Kommunikation würde ich UDP nutzen, ein Beispiel dafür (etwas komplexer) habe ich hier ab #32.

Einer der ESP sollte immer der Master sein und den Anderen ihre Aufgaben (Schalten/Werte abholen) zuweisen.

Gruß Tommy

Tommy56:

  1. Ein eignenes WLAN, d.h. einer arbeitet als Accesspiont und baut das WLAN auf
  2. Es wird ein vorhandenes WLAN genutzt

Hi,

Danke für die Antwort!

was wäre denn besser?

Tommy56:
etwas komplexer

Einer der ESP sollte immer der Master sein und den Anderen ihre Aufgaben (Schalten/Werte abholen) zuweisen.

etwas? Du hast nicht zufällig den gleichen Code nur mit einem Taster und Leds...

verstehe ich das richtig dass, in deinem Beispiel der eine der Master ist und das Wlan macht und der andere sich damit verbindet? wenn ja war das das einzige was ich verstanden habe.

Wenn Du ein bestehendes WLAN hast, ist das in der Regel stabiler.

Da Du im Endeffekt mehr tun willst, lerne es gleich richtig. Schau Dir Strukturen an.

UDP wird in der Regel für schnelle Aktionen ohne großen Overhead genutzt. Deshalb spart man sich auch den Overhead menschlich lesbarer Daten. Du hast ja selbst die Latenz mit angesprochen.

Gruß Tommy

Tommy56:
Wenn Du ein bestehendes WLAN hast, ist das in der Regel stabiler.

Hi,

das ist definitiv da. ESP1 ist direkt am Router und 2-4 sollen dann in unmittelbarer nähe zum Repeater liegen

Tommy56:
Da Du im Endeffekt mehr tun willst, lerne es gleich richtig.

Naja schon aber die Vergangenheit hat mir gezeigt dass ich mich direkt an das "Komplexere" geschmissen habe und vielleicht dann meinen Code verstanden habe aber nicht wirklich die Grundlagen dahinter, weswegen ich erstmal klein anfangen wollte um es eben besser zu verstehen. Ich habe hier im forum mal einen coolen Spruch dazu gelesen

Ich kann nicht Rennen bevor ich gegangen bin. oder so Ähnlich

Tommy56:
UDP wird in der Regel für schnelle Aktionen ohne großen Overhead genutzt. Deshalb spart man sich auch den Overhead menschlich lesbarer Daten. Du hast ja selbst die Latenz mit angesprochen.

also um schnelle Geschwindigkeit gehts mir nicht. wollte es nur im allgemeinen wissen wie lange es eben brauchen würde vom Moment Taster gedrückt zu LED geht an.

Es hindert Dich doch keiner daran, die Grundlagen zu lernen. Dafür gibt es aber genug Beispiele in der IDE und in den Libs. Da müssen wir nicht noch welche liefern.

Gruß Tommy

Edit: Außerdem gehören Strukturen zum Grundwissen.

Hi,

Ich habe mir ein c++ buch bestellt was mit empfohlen wurde wenn das da ist wird fleißig gelernt :wink:

Gibt es denn so ein Beispiel wie ich meinte in der IDE ?

Die Wahrscheinlichkeit, dass Du genau so ein Beispiel findest, wie Du Dir das vorstellst, get generell gegen Null.
Du musst die vorhandenen einfachen Beispiele nutzen, um zu lernen wie sie funktionieren. Dann kannst Du darauf aufbauen. Der serielle Monitor und serielle Ausgaben werden Dir dabei helfen.
Für UDP gibt es die Udp.ino

Gruß Tommy

Tommy56:
Du musst die vorhandenen einfachen Beispiele nutzen, um zu lernen wie sie funktionieren. Dann kannst Du darauf aufbauen.

Das hört sich doch schon Mal sehr gut an.
Von wo empfängt er in deinem Beispiel denn die Nachricht bzw. Muss es dazu nicht ein sende Code geben ?

Zu dem Udp.ino braucht es einen Sender.
Den kannst Du doch aus meinem Beispiel ableiten oder einfach mal die Suchmaschine Deiner Wahl befragen.

Gruß Tommy

Wenn es um Messwerte geht wäre vielleicht MQTT eine gute Idee. Dafür braucht mal allerdings einen MQTT Broker. Ich hab Mosquitto auf einem RPi laufen und sende und empfänge auf verschiedenen nodemcus die Werte. Läuft sehr gut

VIlSA:
ich möchte für ein Projekt mehrere NodeMCUs mit einander kommunizieren lassen. Ich denke für das was ich möchte ist es für den Anfang etwas zu viel ( mehrere Sensorwerte und evtl. Display Daten an die anderen ESPs senden),

Was willst du genau erreichen.
Beschreibe den Ablauf in so kurzen Sätzen wie möglich.
Kurze Sätze, damit es auch ein Mikrokontroller versteht.

VIlSA:
Hat jemand von euch ein entsprechendes Bsp. Programm parat wo ich mich durcharbeiten

Ja, ich glaube ich habe da etwas fix und fertiges. Beschreibe aber zunächst, wie weit du bist, Damit kann ich einschätzen kann, ob es einen Sinn macht, dir einen Link auf diesen Sketch zu geben.

Tommy56:
Zu dem Udp.ino braucht es einen Sender.
Den kannst Du doch aus meinem Beispiel ableiten oder einfach mal die Suchmaschine Deiner Wahl befragen.

Hi,

Habe ein PC-Programm gefunden mit dem man solche Nachrichten senden kann. Werde es damit mal testen.

themanfrommoon:
Wenn es um Messwerte geht wäre vielleicht MQTT eine gute Idee. Dafür braucht mal allerdings einen MQTT Broker. Ich hab Mosquitto auf einem RPi laufen und sende und empfänge auf verschiedenen nodemcus die Werte.

Gibt es das eine Gute Literatur für?

noiasca:
Was willst du genau erreichen.

Meine Idee war zuerst einen Haupt Nodemcu zu haben der vorerst nur den Taster hat und Nodemcu 2-4 einfach eine LED die dann leuchten sobald ich den Taster betätige.
Das Projekt soll eigentlich eine garten Steuerung ( Pumpe , Licht etc. ) werden aber da möchte ich selber irgendwie hinkommen. Möchte dabei ja auch was lernen. Danke für eure Hilfe!

Mfg

VIlSA:
Habe ein PC-Programm gefunden mit dem man solche Nachrichten senden kann. Werde es damit mal testen.

Ja, damit kannst Du den Empfangssketch testen.
Der sendet ja auch schon eine Antwort. Da ist die Grundlage eines Senders auch schon drin.

Gruß Tommy

Warum einen Master?

Ich bevorzuge, jeder sendet per Udp wie er will bzw. muss. Und am besten sogar per broadcast.
Dazu ein kleines Protokoll, damit jeder weiß, wer und was gemeint ist, fertig.
Dann kann man sogar einfach am PC oder sonstwo mitloggen.