Forum: Mikrocontroller und Digitale Elektronik ESP32 soll direkt mit Mini-PC komunizieren


von Klaus R. (klara)


Lesenswert?

Hallo,
im Heizungskeller habe ich einen Mini-PC am Laufen der mit dem Router im 
Erdgeschoß verbunden ist. Ich nutze schon seit Jahren digitale 
Temperatursensoren die mit dem Rechner per I2C verbunden sind.

Jetzt möchte ich den MCP9808 als Temperatursensor einsetzen. Er ist 
besser und billiger als der DS1631. Den MCP9808 setze ich schon über ein 
Jahr als mobilen Sensor und D1 Mini Pro über WLAN ein, also es geht über 
den Router zum Mini-PC. Der Http-Webserver empfängt nicht nur Daten, 
sondern sendet auch über einen Request Anweisungen zurück.

Jetzt möchte ich von einem ESP32 bzw. D1 Mini Pro direkt auf den Mini-PC 
zugreifen. Der Weg über I2C wäre zu umständlich.

Unter
https://randomnerdtutorials.com/esp32-wireless-communication-protocols/
werden einige Protokolle aufgeführt. Was sollte man verwenden?
mfg klaus

von Εrnst B. (ernst)


Lesenswert?

Klaus R. schrieb:
> Was sollte man verwenden?

HTTP, wenn das dein Mini-PC eh schon spricht.
Ansonsten wird MQTT recht gerne für sowas verwendet.
Oder du bastelst dir selber was mit UDP oder TCP.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Klaus R. schrieb:
> Was sollte man verwenden?
Das was alle beteiligten verstehen!

Klaus R. schrieb:
> Der Http-Webserver
Damit hast du dir doch quasi schon deine Antwort gegeben...

von Klaus R. (klara)


Lesenswert?

Hallo,
OK, das Protokoll wäre damit festgelegt.

Mein Problem ist aus meiner Sicht, wie kann ich den Umweg über den 
Router vermeiden?
Dazu muß ich sagen, WiFi oder Blue Tooth habe ich auf dem Mini-PC noch 
nicht eingerichtet. Bekommt das WiFi oder Blue Tooth des Mini-PC dann 
eine eigene IP-Adresse?
mfg Klaus

von Sebastian (Gast)


Lesenswert?

Klaus R. schrieb:
> Hallo,
> OK, das Protokoll wäre damit festgelegt.
> Mein Problem ist aus meiner Sicht, wie kann ich den Umweg über den
> Router vermeiden?
> Dazu muß ich sagen, WiFi oder Blue Tooth habe ich auf dem Mini-PC noch
> nicht eingerichtet. Bekommt das WiFi oder Blue Tooth des Mini-PC dann
> eine eigene IP-Adresse?
> mfg Klaus

Willst du den Mini-PC zu einem eigenen WiFI-AP machen und ein vom Router 
separates WLAN aufspannen?

LG, Sebastian

von Klaus R. (klara)


Lesenswert?

Sebastian schrieb:
> Willst du den Mini-PC zu einem eigenen WiFI-AP machen und ein vom Router
> separates WLAN aufspannen?

Wenn nötig, ja.

Hintergrund ist, ein ESP32 bzw. D1 Mini Pro hat unter Umständen Probleme 
den Router zu erreichen. Deshalb wollte ich die Nahverbindung nutzen.
mfg Klaus

von Brain 2.0 (Gast)


Lesenswert?

Klaus R. schrieb:
> Hintergrund ist, ein ESP32 bzw. D1 Mini Pro hat unter Umständen Probleme
> den Router zu erreichen. Deshalb wollte ich die Nahverbindung nutzen.

Notfalls an den Mini PC einen ESP per UART anbinden und den im Netz mit 
den anderen ESP per UDP die Daten übertragen.

von Harry L. (mysth)


Lesenswert?

Klaus R. schrieb:
> Sebastian schrieb:
>> Willst du den Mini-PC zu einem eigenen WiFI-AP machen und ein vom Router
>> separates WLAN aufspannen?
>
> Wenn nötig, ja.
>
> Hintergrund ist, ein ESP32 bzw. D1 Mini Pro hat unter Umständen Probleme
> den Router zu erreichen. Deshalb wollte ich die Nahverbindung nutzen.
> mfg Klaus

Dann stell einen weiteren AP neben deine PC!
Die gibts schon <20€ und ein kleiner Switch ist auch bereits enthalten.

Bsp.: 
https://www.amazon.de/TP-Link-TL-WR841N-300Mbit-Anschluss-Glasfasermodem/dp/B001FWYGJS/ref=sr_1_3

: Bearbeitet durch User
von Sebastian (Gast)


Lesenswert?

Klaus R. schrieb:
> Sebastian schrieb:
>> Willst du den Mini-PC zu einem eigenen WiFI-AP machen und ein vom Router
>> separates WLAN aufspannen?
>
> Wenn nötig, ja.

Klaus R. schrieb:
> Bekommt das WiFi oder Blue Tooth des Mini-PC dann eine eigene
> IP-Adresse?

Das wäre die einfachste Lösung. Der Mini-PC würde dann WLAN mit komplett 
separaten IP-Adressen aufspannen, evtl. auch incl. DHCP-Service. Der ESP 
wäre dann aber vom Internet abgeschnitten und könnte nur den Mini-PC 
erreichen. Es gibt aber auch andere Möglichkeiten. Welches 
Betriebssystem läuft denn auf dem Mini-PC?

LG, Sebastian

von Harry L. (mysth)


Lesenswert?

Und als Protokoll nimmt man typischerweise für sowas MQTT. Das ist dann 
auch direkt kompatibel mit NodeRed, ioBroker etc.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Klaus R. schrieb:
> Hallo,
> OK, das Protokoll wäre damit festgelegt.
>
> Mein Problem ist aus meiner Sicht, wie kann ich den Umweg über den
> Router vermeiden?

Ich verwette meine Großmutter, dass du mit "Router" definitiv keinen 
IP-Router (OSI Layer 3) meinst, sondern einfach nur einen schnöden 
WLAN-Accesspoint (OSI Layer 2). Richtig?

Wenn wir das geklärt haben, können wir gerne weiter diskutieren.

: Bearbeitet durch User
von Klaus R. (klara)


Lesenswert?

Frank E. schrieb:
> Ich verwette meine Großmutter, dass du mit "Router" definitiv keinen
> IP-Router (OSI Layer 3) meinst, sondern einfach nur einen schnöden
> WLAN-Accesspoint (OSI Layer 2). Richtig?

Ich habe es etwas flapsig formuliert. Es ist eine FritzBox 7490. Aber 
ich möchte die FritzBox ja aus dem Verkehr herauslassen und nur 
immerhalb des Heizungsraumes übertragen.
mfg Klaus

von Klaus R. (klara)


Lesenswert?

Harry L. schrieb:
> Und als Protokoll nimmt man typischerweise für sowas MQTT. Das ist dann
> auch direkt kompatibel mit NodeRed, ioBroker etc.

Darüber hate ich auch schon etwas gelesen. Ich möchte dabei aber von 
einem D1  Mini Pro auf den Mini-PC direkt drauf gehen. Und dort arbeite 
ich unter Windows und VB.NET. Gibt es da MQTT, NodeRed, ioBroker?
mfg Klaus

von Klaus R. (klara)


Lesenswert?

Sebastian schrieb:
> Das wäre die einfachste Lösung. Der Mini-PC würde dann WLAN mit komplett
> separaten IP-Adressen aufspannen, evtl. auch incl. DHCP-Service. Der ESP
> wäre dann aber vom Internet abgeschnitten und könnte nur den Mini-PC
> erreichen. Es gibt aber auch andere Möglichkeiten. Welches
> Betriebssystem läuft denn auf dem Mini-PC?

Auf dem Mini-PC läuft Windows 8.1 und demnächst Windows 11. Programmiert 
wird in VB.NET. Zur Zeit werden die mobilen Sensoren mit D1 Mini Pro per 
Windows-Dienst und Http-Webserver angebunden.
mfg Klaus

von Εrnst B. (ernst)


Lesenswert?

Klaus R. schrieb:
> und nur immerhalb des Heizungsraumes übertragen.

Hat denn dein Mini-PC Wlan? Notfalls per USB-Stöpsel nachrüsten, wenn's 
fehlt oder schon anderweitig verwendet wird.
Der ESP32 kann einen AP aufmachen, an den sich dann der Mini-PC 
verbindet.
Der Weg andersherum, Mini-PC startet den AP, und ESP32 verbindet daran, 
geht natürlich auch, je nachdem was in deinem Windows leichter 
einzurichten geht.

von J. S. (jojos)


Lesenswert?

Klaus R. schrieb:

> Und dort arbeite
> ich unter Windows und VB.NET. Gibt es da MQTT, NodeRed, ioBroker?
> mfg Klaus

Ja, gibt es. In ioBroker installiert man ‚Adapter‘. Da gibt es auch MQTT 
Server/Client in einem Adapter und auch NodeRed ist integriert, damit 
sind keine weiteren Server nötig.

von Rüdiger B. (rbruns)


Lesenswert?

Hast du dir schon mal FHEM angesehen, da ist fast alles drin und läuft 
unter Python auf fast allen Rechnern und BS.

von J. S. (jojos)


Lesenswert?

Zwei Netzwerke kann man in Windows auch einfach mit der Netzwerkbrücke 
verbinden. Beide Adapter in der Adapterliste auswählen und dann gibt es 
die Option die Brücke zu erstellen.

von Klaus R. (klara)


Lesenswert?

Εrnst B. schrieb:
> Hat denn dein Mini-PC Wlan?

Mein jetziger Mini-PC hat WiFi und Bluetooth, was ich nicht genutzt 
habe.
Ein ZOTAC C1331 ZBOX nano Barebone sollte eventuell noch vor Weihnachten 
kommen. Mit dem kann ich mich dann in aller Ruhe beschäftigen. Der hat:

• Wi-Fi-Unterstützung
◦ 802.11ac-WLAN (Dualband)
◦ Bluetooth 5

Wie ich schon sagte, ich habe aktuell per VB.NET einen Http-Webserver 
der läuft unter Windows als Dienst. Die Sensoren sollen aber nicht den 
Umweg über die FritzBox machen, sondern auf kurzem Wege im 
Heizungskeller direkt mit dem Mini-PC sich verbinden. Wenn ich dazu noch 
einen ESP32 als AP benötigen würde wäre das in Ordnung.

Ich werde mal hier nach einem AP schauen.
https://randomnerdtutorials.com

mfg Klaus

von Klaus R. (klara)


Lesenswert?

J. S. schrieb:
> Ja, gibt es. In ioBroker installiert man ‚Adapter‘. Da gibt es auch MQTT
> Server/Client in einem Adapter und auch NodeRed ist integriert, damit
> sind keine weiteren Server nötig.

Zur Zeit ist es so dass drei mobile Sensoren über die FritzBox den 
Http-Webserver, der auf dem Mini-PC unter Windows als Dienst läuft, mit 
Daten füttern und gelegentlich als Request noch einen Befehl erhalten.

Geplant ist ebenfalls mehrere Temperatursensoren, vermutlich 4 Sensoren, 
an einen D1 Mini Pro zu betreiben. Es werden wohl 3 - 4 D1 Mini Pro 
eingesetzt die dann alle über den Http-Webserver Daten liefern werden. 
Die Verbindung wird nach der Lieferung eines Datenpakets jeweils wieder 
beendet.

Grundsatzfrage: Wozu braucht man jetzt einen AP?

Der Http-Webserver baut für jede Verbindung eine eigene Instanz auf.
mfg Klaus

von Εrnst B. (ernst)


Lesenswert?

Klaus R. schrieb:
> Grundsatzfrage: Wozu braucht man jetzt einen AP?

Weil du meintest, dass im Keller kein WLan ist, und du deshalb dort 
nicht per WLan (über die Fritzbox bereitgestellt) funken kannst.

d.H.: Lösung: Wlan im Keller bereitstellen. Entweder über einen neuen AP 
oder einen Wlan-Repeater, oder der miniPC dort spielt AP, oder eben der 
ESP.

von Brain 2.0 (Gast)


Lesenswert?

Klaus R. schrieb:
> Wenn ich dazu noch
> einen ESP32 als AP benötigen würde wäre das in Ordnung.

Das hatte ich dir doch oben schon vorgeschlagen.
Ein ESP8266 reicht da auch.

von Sebastian W. (wangnick)


Lesenswert?

Klaus R. schrieb:
> Grundsatzfrage: Wozu braucht man jetzt einen AP?

Mach mal eine Skizze. Du möchtest doch die Fritzbox aussen vor haben und 
ein zweites WLAN zur direkten Kommunikation zwischen Mini-PC und den 
D1-Mini-Pro haben, oder?. Dazu muss irgendwo ein WLAN-AP laufen, an den 
sich die anderen Geräte verbinden. Der WLAN-AP kann einer der 
D1-Mini-Pro sein, es kann der Mini-PC sein, oder es kann ein separates 
Gerät wie der genannte TL-WR841N sein.

Wie man unter Windows-8/11 einen WLAN-AP einrichtet? Ich hab 
https://www.windowspro.de/michael-pietroforte/internet-verbindung-freigeben-windows-8x-als-access-point 
gefunden. Versuch es doch einmal. Starte auf dem Mini-PC die 
Eingabeaufforderung als Administrator, und gebe ein:
1
netsh wlan set hostednetwork mode=allow ssid=keller key=keller01
2
netsh wlan start hostednetwork

Bei mir kann sich dann mein Smartphone in das neue WLAN "keller" 
einbuchen.

LG, Sebastian

von Klaus R. (klara)


Lesenswert?

Brain 2.0 schrieb:
> Das hatte ich dir doch oben schon vorgeschlagen.
> Ein ESP8266 reicht da auch.

Das wäre für mich in jedem Fall umsetzbar. Solch eine Lösung wurde hier 
schon einmal beschrieben.
https://randomnerdtutorials.com

Danke Brain.
mfg klaus

von Klaus R. (klara)


Lesenswert?

Sebastian W. schrieb:
> Wie man unter Windows-8/11 einen WLAN-AP einrichtet? Ich hab
> 
https://www.windowspro.de/michael-pietroforte/internet-verbindung-freigeben-windows-8x-als-access-point
> gefunden. Versuch es doch einmal.

Das wäre vermutlich mein Favorit. Ich werde mich sofort mal einarbeiten.
mfg Klaus

von Karl Käfer (Gast)


Lesenswert?

Harry L. schrieb:
> Und als Protokoll nimmt man typischerweise für sowas MQTT.

Wenn HTTP bereits vorhanden ist, eher nicht.

von Karl Käfer (Gast)


Lesenswert?

Rüdiger B. schrieb:
> Hast du dir schon mal FHEM angesehen, da ist fast alles drin und läuft
> unter Python auf fast allen Rechnern und BS.

Perl, nicht Python.

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.