Forum: Mikrocontroller und Digitale Elektronik Viele ESP8266 vernetzen?


von Netz Werk (Gast)


Lesenswert?

Was sind die Einschränkungen bei ESP8266 hinsichtlich Anzahl und 
Geschwindigkeit (Latenz) der WLAN- bzw. TCP/IP-Verbindungen?

Beispiel: 1 ESP "Server" als Bridge für's Netz + Access Point für 32 
andere ESPs? Der "Server" sollte in der Lage sein, allen "Clients" 
innerhalb von 0.1 s eine kurze Nachricht zu senden.
Verbindungsmäßig sind es dann vermutlich eher 32 Server, und der Master 
baut kurz eine Verbindung auf?
Zusätzlich muss er diese Geräte aber auch als WLAN-Teilnehmer verwalten.

von Einer K. (Gast)


Lesenswert?

Hmmm ...

Du bist nicht der Erste mit einer solchen Idee.
Provisorischer Suchtipp: "ESP8266 Mesh"

von Netz Werk (Gast)


Lesenswert?

Danke, aber "mesh" Funktionalität brauche ich nicht. Es ist fix. Die 
Frage ist nur, wer mit wem..

von Netz Werk (Gast)


Lesenswert?

https://gitlab.com/painlessMesh/painlessMesh/-/wikis/home

> Every node acts as an accesspoint (AP) for other nodes to connect to and as a 
client to connect to one AP of another node. There is a limit of 4 station nodes 
per AP for ESP8266 and 10 for ESP32.

von Einer K. (Gast)


Lesenswert?

Ich habe schon verstanden, was du willst!
(glaube ich)


Netz Werk schrieb:
> Beispiel: 1 ESP "Server" als Bridge für's Netz + Access Point für 32
> andere ESPs?

Das wird keiner!

Standard ist 4 Clients pro  ESP8266 AP
Erhöhbar auf 8, soweit mir bekannt.


Desweiteren werden dir die typischen WLAN Latenzen so manchen Streich 
spielen.

Netz Werk schrieb:
>> Every node acts as an accesspoint (AP) for other nodes to connect to and as a
> client to connect to one AP of another node. There is a limit of 4
> station nodes
> per AP for ESP8266 and 10 for ESP32.

Auch das ist mir bekannt.
Ein solches Mesh "lebt" halt nur, wenn es alle nicht benötigten 
Verbindungen zügig wieder abbaut.

von Frank K. (fchk)


Lesenswert?

Auch diverse Plasterouter haben Probleme mit vielen Clients.

Du solltest tunlichst auf etwas IEEE802.15.4 basiertes wie Thread oder 
6LoWPan setzen. Dieses Zeugs ist dafür gemacht.


fchk

von Netz Werk (Gast)


Lesenswert?

Mhh, OK, dann geht es leider nicht autark, sondern alle müssen an den 
WLAN-Router.
Kann der Haupt-ESP einen broadcast senden, damit die anderen seine IP 
erfahren? Wieviele TCP-Verbindungen können die ESPs haben?

von c-hater (Gast)


Lesenswert?

Netz Werk schrieb:

> Was sind die Einschränkungen bei ESP8266 hinsichtlich Anzahl und
> Geschwindigkeit (Latenz) der WLAN- bzw. TCP/IP-Verbindungen?

WLAN kennt keine "Verbindungen". Maximal kennt es einen Schlüsselkontext 
für Peers.

> Beispiel: 1 ESP "Server" als Bridge für's Netz + Access Point für 32
> andere ESPs? Der "Server" sollte in der Lage sein, allen "Clients"
> innerhalb von 0.1 s eine kurze Nachricht zu senden.

Das ist simpel. Einfach UDP statt TCP verwenden. Das kann der Server 
problemlos einen Broadcast an alle "Clients" gleichzeitig versenden. 
Die müssten dann natürlich je einen UDP-Server mit der Fähigkeit zum 
Empfang von Broadcasts bereitstellen, an den diese Nachricht versandt 
werden könnte.

> Verbindungsmäßig sind es dann vermutlich eher 32 Server, und der Master
> baut kurz eine Verbindung auf?

Nö. UDP braucht keine Verbindung. Genau das ist der Trick, der 
Broadcasts möglich macht.

OMG, wenn diese Arduidioten nicht wenigstens die Netzwerkgrundlagen 
beherrschen, sollte es ihnen meiner Meinung nach vollständig verboten 
werden, irgendwas in dieser Richtung zu tun. Ich fordere einen 
"Netzwerk-Führerschein" und unnachsichtige Verfolgung eines jeden, der 
ohne Nachweis der Sachkunde irgendwas mit Netzwerken macht. Solange es 
nachweislich im LAN geblieben ist, sollte es nur ein Bußgeld geben, 
sobald es in's Internet gelangen konnte (wie auch immer) sollte es einen 
Straftatbestand darstellen und dieser sollte mit hohen Geldbußen oder 
gar Knast belegt sein. Letzteres aber wohl nur im Wiederholungsfall.

von Netz Werk (Gast)


Lesenswert?

OMG yourself!

von c-hater (Gast)


Lesenswert?

Netz Werk schrieb:

> Was sind die Einschränkungen bei ESP8266 hinsichtlich Anzahl und
> Geschwindigkeit (Latenz) der WLAN- bzw. TCP/IP-Verbindungen?

WLAN kennt keine "Verbindungen". Maximal kennt es einen Schlüsselkontext 
für Peers.

> Beispiel: 1 ESP "Server" als Bridge für's Netz + Access Point für 32
> andere ESPs? Der "Server" sollte in der Lage sein, allen "Clients"
> innerhalb von 0.1 s eine kurze Nachricht zu senden.

Das ist simpel. Einfach UDP statt TCP verwenden. Darüber kann der Server 
problemlos einen Broadcast an alle "Clients" gleichzeitig versenden. 
Die müssten dann natürlich je einen UDP-Server mit der Fähigkeit zum 
Empfang von Broadcasts bereitstellen, an den diese Nachricht versandt 
werden könnte.

> Verbindungsmäßig sind es dann vermutlich eher 32 Server, und der Master
> baut kurz eine Verbindung auf?

Nö. UDP braucht keine Verbindung. Genau das ist der Trick, der 
Broadcasts möglich macht.

von Netz Werk (Gast)


Lesenswert?

Besser, danke.

von Stefan F. (Gast)


Lesenswert?

Netz Werk schrieb:
> Wieviele TCP-Verbindungen können die ESPs haben?

Je nach Firmware Version 4 oder 5. Ist angeblich irgendwo im Quelltext 
konfigurierbar.

Die Firmware vom ESP8266 kann keine Broadcast Nachrichten empfangen.

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> Die Firmware vom ESP8266 kann keine Broadcast Nachrichten empfangen.

Dann taugt das Teil nix.

von Stefan F. (Gast)


Lesenswert?

c-hater schrieb:
> OMG, wenn diese Arduidioten nicht wenigstens die
> Netzwerkgrundlagen beherrschen

Der TO hat nicht nach Netzwerkgrundlagen gefragt, sondern nach den 
Einschränkungen von zwei konkreten Produkten.

Du bist hier der erste, der das Ganze mit Arduino in Zusammenhang 
brachte. Warum eigentlich? Kannst du an nichts anderes mehr denken? Was 
Arduino dir angetan?

von Stefan F. (Gast)


Lesenswert?

c-hater schrieb:
> Dann taugt das Teil nix.

Das Teil taugt sehr viel mehr als nichts. Deine Art, alles schwarz/weiß 
zu sehen behagt mir nicht.

von Stefan F. (Gast)


Lesenswert?

Der hier hat es allerdings geschafft, Broadcasts zu empfangen. 
Vielleicht kommt es auf die Firmware (SDK) Version an.

http://wei48221.blogspot.com/2019/02/esp8266-receive-broadcast-udp-packets.html

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

Wenn das so funktioniert, dann hast DU gelogen, denn das würde ja 
gerade beweisen, dass der ESP sehr wohl in der Lage ist, UDP-Broadcasts 
zu empfangen. Mehr noch: es würde sogar darüber hinaus beweisen, dass 
die entprechende Konfiguration des Servers der Arduino-default ist.

Tja, wenn man Ahnung von Netzwerken hat, dann erkennt man das. 
Arduidioten halt nicht...

von Stefan F. (Gast)


Lesenswert?

@c-hater:

Es beweist lediglich, dass ich nicht alle Firmware Versionen kenne. Mein 
eigener Test schlug fehl. Es gibt viele weitere Webseiten, wo Leute 
berichten, dass es nicht geht.

Die könnte ich Dir zeigen, aber das mache ich nicht, weil du 
unfreundlich bist. Du stänkerst ja doch nur herum.

Als jemand, der zudem bei jeder Gelegenheit über C und Arduino auf 
übelste und ohne erkennbare Fachkenntnis ablästert, solltest du dich 
hier aus dieser Diskussion hier bitte schön raus halten.

Du bist hier weder Fachmann noch Clown sondern einfach nur eine höchst 
unangenehme Nervensäge.

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> ... und ohne erkennbare Fachkenntnis ablästert

Du meintest wohl: ohne FÜR DICH ERKENNBARE Fachkenntnis.

Ja, das mag gut sein...

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> sondern einfach nur eine höchst
> unangenehme Nervensäge.

Don't kill the messenger of the truth...

von Sven B. (sb2048)


Lesenswert?

Schau dir mal espnow an.

Ansatz:
Ein ESP ("Server") der mit deinem WLAN verbunden ist.
Dieser ESP sender dann auch die espnow Nachrichten im Boardcast Modus.
Dies Funktioniert, wenn der Kanal für das WLAN-Netz und für espnow der 
selbe ist.

Die anderen ESPs empfangen dann die espnow Nachrichten.

Nachteil:
Boardcast + Verschlüsselung wird leider nicht unterstützt. Somit könnte 
jeder x-beliebige ESP die Nachrichten empfangen bzw. auch senden.

Ich habe mir beholfen, in dem ich eine einfache AES-Verschlüsselung 
nutze. Da ich die Nachricht blockweise verschlüsse -- ohne CBC-Modus 
oder ähnliches -- ist die Sicherheit begrenzt, aber für meinen 
Einsatzzweck war/ist es ausreichend.

von Carl D. (jcw2)


Lesenswert?

c-hater schrieb:
> Stefan ⛄ F. schrieb:
>
>> sondern einfach nur eine höchst
>> unangenehme Nervensäge.
>
> Don't kill the messenger of the truth...

Aus der Ablehnung der Anderen ergibt sich aber nicht zwingen die 
Genialität des Überbringers und/oder seiner Nachricht.

: Bearbeitet durch User
von batman (Gast)


Lesenswert?

Mit Arduino ist UDP auf ESP8266 eine Sache von
#include <WiFiUdp.h>

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.