ESP32 Netzwerk über bestehendes WLAN Heimnetz

Hi zusammen,

bin nach 10 Jahren wieder angefangen Microcontroller zu programmieren. Damals habe ich dies mit C# oder Assembler gemacht. Bin durch Zufall an Arduino geraten und es hat mich wieder erwischt. Außerdem habe ich noch nie etwas in Internetforen gepostet, also Einsteiger.

Nun zu meiner Frage:

Ich möchte mit mehreren ESP32 z.B. meine Heizung (Temp., etc.) und solche Standarts wie Wetterstationen etc. Daten in mein Wlan Heimnetz senden. Diese Daten möchte ich dann auch mit einem ESP32 im Wlan Heimnetz empfangen. An diesen soll ein Display, welches die Daten ausgibt. Außerdem soll der ESP32, an dem das Display hängt die Daten auch zu einem Browser senden (nur intern nicht über den Router in die Welt).
Es sollte vlt auch mal ein Wert vom ESP32 mit Display zum ESP32 Heizung gesendet werden.

Ich bin mir nicht ganz sicher, wie ich die einzelnen ESP projektieren muss.

Hab jetzt viel über UDP und Server Client systeme gelesen, ist aber nicht so leicht zu verstehen.

Wie würdet ihr es machen?

Als erstes genau aufschreiben was Du willst. Besonders die Informationsflüsse und deren Richtungen (Heizungsregelung?)

Dann mal über Hausautomation (z.B. MQTT) informieren, ob es in diese Richtung gehen soll. Da wäre dann wohl noch ein RASPI mit im Spiel.

Wie stabil/ausgelastet ist das WLAN in Deiner Gegend?

Für einfache Sachen wäre auch der ESP8266 im Spiel.

Gruß Tommy

Hi Tommy,

die meisten Daten werden von Heizung, Wetterstation zur ESP mit Display gesendet. Vereinzelnt auch mal zurück.
Ich möchte nur Monitoren (vlt. mal Parameter, Schalter zurück übergeben) und nichts steuern (keine Heizungsregelung).
Erstmal klein anfangen. Ich habe mich beim Neubau gegen eine Hausautomatition entschieden.
Jetzt will ich doch ein wenig überwachen.
Das WLAN in meinem Haus läuft über mehrere Ubiquiti UAP-AC-LITE mit unterschiedlicher SSID.
Die WLAN -Auslastung in meiner Nachbarschaft würde ich als gering (ich finde neben meinen ca. 4 weitere Sichtbare SSIDs, ich denke das in meiner Nachbarschaft wenig bis gar keine verborgenen SSID vorhanden sind), die Nachbarn sind alle Old School :wink:
Die Testhardware (3x ESP32 NodeMCU) wurde "Zum Spielen und Lernen" bereits angeschaft.

Schönen Gruß Kevin

Da hast Du mit dem WLAN Glück. Es gibt Wohngegenden, da ist das Frequenzband schon weitgehend dicht.

Für den Browser wirst Du Auf dem zentralen ESP einen Webserver betreiben müssen (also HTML/JavaScript/CSS) und je nachdem was Du über den Browser machen willst AJAX/Fetch.

Dann kommt die Alles entscheidende Frage, wie Du den Rest übertragen willst.

  1. Webserver ist sowieso da, also per HTTP - Vorteil: alles lesbarer Text - Nachteil: Zahlen müssen aus dem Text wieder gewonnen werden und hoher Overhead

  2. UDP: Vorteil: kurze Datenpakete, Zahlen bleiben erhalten Nachteil: nicht so einfach vom Menschen direkt lesbar, zusätzliche Serverinstanz auf dem zentralen ESP (das schafft der aber).

Die Entscheidung musst Du treffen, die kann Dir keiner abnehmen.

Gedanken solltest Du Dir auch über ein gewisses Datenregime machen, damit nicht alle durcheinander senden.

Gruß Tommy

Ja hier auf dem Land (20.000 People in Town) sieht das mit dem WLAN noch ganz gut aus.

Ich denke ich werde den Webserver erstmal außen vor lassen.
Ich versuch mich mal mit der Kommunikation per UDP und einem Testaufbau.
Ist es theoretisch machpar, die Daten per UDP zwischen den ESPs zu versenden und dann zusätzlich auf dem ESP mit Display einen Webserver einzurichten?

Gruß Kevin

Hallo,

auf den Hinweis von Tommy zu MQTT möchte ich noch kurz eingehen: auf den ESP32 ist der Progarmmieraufwand recht gering und meiner Meinung nach überschaubarer als mit UDP oder sonstien Server/Client Lösungen. Allerdings erfordert MQTT einen Broker (meist Masquitto), der die Verwaltung aller Client händelt. Da bietet sich ein RasPi an, der kleinste reicht. Allerdimgs würde ich einen mit LAN vorzeihen, den man irgendwo beim Router abwrift, wo noch ein LAN-Port verfügbar ist. Der braucht außer Strom und LAN-Anschluß nichts weiter, keinen Monito, keine Tastatur usw.
Wenn man dann auf die Idee kommt, das Richtung Automatisation zu erweitern kann man z.B. FHEM auf den selben Raspi laufen lassen und kann bequem vom PC alles verwalten und bedienen, genauso auch per Handy, Tablett usw. Natürlich kasst Du da auch Deine Anzeige-/Bedieneinheit als MQTT-Client mit einbinden und dort dann machen, was Du willst, ohne Deine grundsätzliche ESP Software sonderlich umbauen zu müssen.

Gruß aus Berlin
Michael

host3470:
Ist es theoretisch machpar, die Daten per UDP zwischen den ESPs zu versenden und dann zusätzlich auf dem ESP mit Display einen Webserver einzurichten?

Gruß Kevin

Ja.

Gruß Fips

Ich würde sowas immer mit kurzen udp-Telegrammen per broadcast machen, dann kann sich jeder die Daten krallen, wenn er sie braucht.

Hallo,

mit UDP hab ich schlechte Erfahrung gemacht, ich hatte einen ESP der ein paar Daten an einen anderen ESP senden sollte, dabei ging immer wieder mal ein Telegram verloren. Ich hab die Daten allerdings nur einfach abgesendet ohne vom Empfänger eine Quittung zurück zu senden. Insofern war der Ansatz falsch.

Ich hab dann auf TCP umgestellt seid dem läuft das sauber, und einer Quittung konnnte ich sparen , ist im TCP protokoll ja bereits enthalten.

Heinz

Tommy56:

  1. Webserver ist sowieso da, also per HTTP - Vorteil: alles lesbarer Text - Nachteil: Zahlen müssen aus dem Text wieder gewonnen werden und hoher Overhead

  2. UDP: Vorteil: kurze Datenpakete, Zahlen bleiben erhalten Nachteil: nicht so einfach vom Menschen direkt lesbar, zusätzliche Serverinstanz auf dem zentralen ESP (das schafft der aber).

man kann auch kurze Datenpakete per tcp verschicken. Warum sollte man für m2m Kommunikation html nehmen?

Richtig, es gibt viele Möglichkeiten. Ich wollte nur Möglichkeiten aufzeigen.

TCP hätte noch den Vorteil der Pseudoverbindung, hat aber auch mehr Overhead.

Das muss man auch in der Hinsicht betrachten - wie sehr stört mich der ausfall eines Datenpackets (UDP)?

Gruß Tommy

host3470:
Ich möchte mit mehreren ESP32 z.B. meine Heizung (Temp., etc.) und solche Standarts wie Wetterstationen etc. Daten in mein Wlan Heimnetz senden. Diese Daten möchte ich dann auch mit einem ESP32 im Wlan Heimnetz empfangen. An diesen soll ein Display, welches die Daten ausgibt. Außerdem soll der ESP32, an dem das Display hängt die Daten auch zu einem Browser senden (nur intern nicht über den Router in die Welt).
Es sollte vlt auch mal ein Wert vom ESP32 mit Display zum ESP32 Heizung gesendet werden.

Ich bin mir nicht ganz sicher, wie ich die einzelnen ESP projektieren muss.

Ich habe bei mir das ähnlich am Laufen, allerdings halte ich den Esp8266 immer noch für den zuverlässigeren und für diese Aufgaben völlig ausreichenden Esp....
Im Winter laufen drei, im Sommer kommt noch der vom Pool dazu. Alle laufen als Webserver und holen die Uhrzeit von der FB..

Gewichtiger Unterschied, ich habe keinen zentralen Esp... mit Display.

Als Display fungiert vorrangig das Smartphone, welches bei uns eh jeder bei der Hand hat. Es gibt eine zentrale Webseite welche als Übersicht die wichtigsten Daten aller Esp's anzeigt. Von dieser aus kommt man dann auf die Detailseiten mit Verlauf, Min/Max oder Einstellungen der jeweiligen Esp.

Unterm Dach der Webserver mit Zeitschaltuhr auf einem Sonoff Dual kümmert sich um zwei Led Fluter.
Geschaltet werden diese wahlweise per Uhrzeit, die Webseite oder vom Esp in der Heizung.

Der Wemos D1 Mini Pro (mit externer Antenne) in der Garage dient als Wetterstation und sendet dem Esp in der Heizung auf Anfrage einmal pro Nacht die Außentemperatur.

Im Heizungsraum überwacht ein Nodemcu den Holzkessel und Pufferspeicher. An diesem hängen sechs DS18B20 und ein Lcd. Mittels "WiFiClientSecure" werden Push Nachrichten zum Handy gesendet, wenn die Temperatur im Pufferspeicher das anheizen des Kessels erfordert oder der Festbrennstoffkessel nach neuem Holz giert!
Mit dem "ESP8266HTTPClient" wird die Außentemperatur von der Wetterstation geholt oder die Led Fluter am Sonoff zum Holz reinholen geschaltet. Nebenher läuft auch noch der normale "WiFiClient" der die Temperaturen aller 16 Sekunden an Thinkspeak sendet.

Da meine Esp wenig untereinander kommunizieren kann ich mir den "Overhead" von ein paar Byte leisten.
Die Webseiten werden im SPIFF der Esp gespeichert.

Ach!
Einer bespaßt zur Zeit noch den Tannenbaum vor der Tür!

Gruß Fips

Ich sehe hier wieder mega potential für ein Blynk Project.
Zusammen mit einem kleinen RPI ZeroW als Zentrale, dort hast du auch das Projekt als "HMI" über Blynk können sich auch die ESP untereinander unterhalten.
Blynk auf die Smartphones/Tablet und du kannst schalten schauen und walten wie du willst.
Du hast auch als lokalers Server keinen "Kontakt" nach aussen. Trends und verschiedene Anzeigen sind mega schnell umgesetzt.

Die Einstiegshürde für Blynk ist auch nicht besonders hoch.
Gruß
DerDani

Vielen Dank für die Resonanz und die vielen Tipps.
Hab jetzt als Testumgebung 2 esp s über udp wlan verbunden. Ich sende 20 fixtive Sensorwerte in einem Packet im 1Sekundentakt hin und dann wieder im Sekundentakt zurück. Lief bis Feierabend durch. Mal sehen ob es morgen auch noch läuft.
Als Spannungsversorgung habe ich an jedem esp en Sony 18650 lipo mit spannungsregler, da ich gelesen habe, dass die esp bei unsauberer Versorgungsspannung nicht stabil laufen sollen.
Ist aber wie gesagt alles erstmal nur eine Testumgebung zum lernen und ausprobieren.

Hallo Host3470,
ich habe den gleichen Anwendungsfall wie Du (für ein Gartenbewässerungsprojekt) und benötige einen Ansatz. Wäre es möglich, dass Du uns die beiden Programme der ESP's zur Verfügung stellst. Ich wäre Dir sehr, sehr dankbar.