Kommunikation mehrerer Arduinos innerhalb eines lokalen Netzwerks

Hallo,

Folgendes würde ich gerne umsetzen:

Mindestens drei Arduinos, von denen einer ein Server sein könnte, sollen innerhalb eines lokalen Netzwerks miteinander kommunizieren können.

Die einzelnen Clients müssten nicht miteinander kommunizieren können.

Es wäre somit eine Art sternförmige Verteilung, was die Nachrichtenübermittlung angeht.

Vor lauter UPD, Telnet usw. weiss ich leider nicht, welches die für mich einfachste Möglichkeit wäre, dies umzusetzen.

Es geht im Prinzip nur um die Übermittlung einzelner Zeichen.

Hat mir evtl. jmd. einen Beispielsketch?

Gruß Chris

Eine einfache Lösung könnte ein I2C Bus darstellen. Er verhindert Kollissionen, Daten können per Polling erfaßt oder einfach spontan verschickt werden.

Welche Entfernungen sollen überbrückt werden?

Bis zu 50m.

Hatte mich mittlerweile auf UDP-Nachrichten eingestellt.

Das Netzwerk besteht aus Cat7-Kabeln und einem Switch.

Gruß Chris

Wie sieht es mit Modbus aus?

Interessant. Wie verschickt man das über das Ethernetshield?

Gruß Chris

Ich habe mich heute mal etwas mit UDP beschäftigt. da könnten alle mit allen über dein vorhandenes Netzwerk kommunizieren.
Ich konnte sogar Esp8266 Module direkt programmieren, dass sie per UDP mit dem Arduino kommunizieren können. Es gibt damit keine Server bzw. Clients, jeder lauscht und jeder kann an jeden senden.

Ja. Ich kann mittlerweile bestätigen, dass das sogar auch super funktioniert. :slight_smile:

Zum Testen empfehle ich das hier. Perfekt!

Ich werde es auf jeden Fall so machen.

Kannst Du evt. ein paar Zeilen über diese Esp8266 Module schreiben?

Gruß Chris

Das Internet ist voll davon. Google mal nach esp8266 mit Arduino ide programmieren

da habe ich auch alle meine Weisheiten her.

Mit dem Packet-Sender und Arduinos kann man auch nacktes TCP (ohne http: Protokoll) machen und testen, stimmts ?

@ElEspanol:
Ist das esp8266 eine spanische Erfindung? Oder hat dein Name (fast) nichts mit dem Land zu tun :wink:

Mein Name ist urdeutsch, es hat mehr mit meinem Wohnort zu tun. Ich bin 1996 ausgewandert, noch ganz ohne Begleitung durchs Fernsehen und so.

Der ESP8266 soll chinesischen Ursprungs sein.

Den Packet Sender nehme ich auch zum testen, ist recht praktisch. Muss man nicht mit nem zweiten Arduino und seriell rummachen.

Hat gar nix mit http zu tun, es gehen nur byte Zeichen über die Leitung. Natürlich kannst du auch HTML schicken, sind ja auch nur Zeichen.

ElEspanol:
Mein Name ist urdeutsch, es hat mehr mit meinem Wohnort zu tun. Ich bin 1996 ausgewandert, noch ganz ohne Begleitung durchs Fernsehen und so.

:grin: :grin: :grin: :grin: :grin:

Kannst auch mal im Forum http://www.esp8266.com/ vorbeischauen, dort gibt es eine eigene Kategorie für den Arduino:
ESP8266 Arduino - Everything ESP8266

Das kenne ich schon. Ist leider in Englisch, da suche ich nur, wenn ich auf Deutsch nix finde.

@chris: Was machen denn deine 3 Arduinos die senden? Eventuell kannst du da das direkt von den ESP8266 erledigen lassen.

Modbus TCP ist was für dich. Modbus RTU ist über die Serielle Schnittstelle.

ElEspanol:
@chris: Was machen denn deine 3 Arduinos die senden?

Der Eine wird das Auslösen eines PIR-Sensors übertragen (PoE, USV).
Der Andere wird die ausgewerteten Daten eines Zahlenblocks übertragen.
Der Letzte (Zentrale) wird im Rahmen eines Alarmsystems E-Mails versenden und die Daten der beiden anderen Arduinos auswerten.

Gruß Chris

Den PIR kannst du recht einfach mit stand alone ESP8266 lösen.
Beim Zahlenblock kommt es auf die Pinanzahl an.
Als Zentrale würde ich dann doch einen Arduino nehmen, aus Bequemlichkeit. Ich nehme an, der hängt dann mit Kabel am Router.
Wenn du dir regelmässig per UDP was übertragen lässt, kannst du auch leicht Ausfälle feststellen und die auch per Email melden lassen.

Ich danke Dir. :slight_smile:

Gruß Chris