ESP Wlan + Bluetooth

Wie ich gelesen habe kann ein ESP32 nicht gleichzeit Bluetooth und WLAN. Ich würde gerne wissen wie man das am einfachsten machen könnte um beides zu nutzen.
2 ESP per Kabel direkt verbinden (einer für BT, einer für WLAN)?
Oder andere Hardware nutzen?
H

Was genau verstehst du unter gleichzeitig ?
Reicht es dir nicht, wenn du es nacheinander nutzt ?

Benötigst Du denn wirklich die Funktionalität absolut zeitgleich?
Es ist wohl möglich (sehr schnell) nacheinander einzelne Tasks abzuarbeiten. Es müsste dann nur logisch klar sein, wenn per WiFi gerade etwas übertragen wird, BT für den Moment nicht zur Verfügung steht.

Ansonsten einen HC-06 dran prümpeln, anstelle einen weiteren vollwertigen ESP zu verwenden.

Die WLAN Funktion hätte ich für die Verbindung von mehreren ESP genutzt während gleichzeitig auf dem Master per Bluetooth auf Daten gewartet wird bei durchgehender Verbindung

Dann musst du mit 2 Modulen arbeiten.
Entweder 2 ESP32, oder wie schon vorgeschlagen, 1 ESP32 und ein HC-05.
Wenn 2 ESP32, dann die ESP32-C3, die sind schön klein.

Dann werde ich das mal testen. Problem ist das ich BT Classic benötige und gleichzeitig halt die Verbindung zu den ESPs aufbauen will... bin gespannt ob es klappt

Ich nutze BT nicht, weil viel zu geringe Reichweite. Das sollte aber mit 2 ESP32 funktionieren. Beide mit I2C verbinden.

Kann man mehrere ESP über I2C verbinden wenn diese gleichzeitig ein Display haben wie
in meinem Fall:
1 Master mit I2C Display
2 Slave mit I2C Display

also in der ESP FAQ gibts da sogar eine Antwort:

https://docs.espressif.com/projects/espressif-esp-faq/en/latest/software-framework/ble-bt.html#how-do-esp32-bluetooth-and-wi-fi-coexist

So wie ich das verstehe funktioniert der folgende Ansatz dann nicht ... :dizzy_face:

  • ESP32 mit Display als Wetterstation und Controllinstanz für die Poolsteuerung, periodische Abfrage des Poolthermometers über BLE,
  • Poolthermometer mit BLE im Sleep, welches alle x Minuten kurz die Temperatur sendet

Problem wäre hier die nicht zu erreichende Synchronität der BLE-Zeiten.

Eventuell müsste ich hier das WLAN abschalten und nur bei erforderlichen Aktionen aktivieren.
BLE könnte so ständig laufen und es wird relativ selten ein Wert des Thermometers (WLAN aktiv) verpasst.

(Es gibt ja diverse Sensoren für die Wasserqualität, einschl. Temperatur, hat da jemand schon Erfahrung? Da wir ziemlich lange "on the road" sind wäre eine Fernabfrage ziemlich hilfreich um einem "umkippen" rechtzeitig entgegen zu wirken.)

cu

Kommt ganz drauf an:

Wenn klar ist ob nun der Haupt-ESP32 aktiv abfragt oder das Thermometer sendet.
Bei einer Abfrage liegt das Timing alleine beim ESP mit Display. Sofern nicht gerade ein Web-Interface aktiv ist oder eine Datenübertragung läuft, können die BT Geräte angefragt werden.

Andersherum müsste einfach eine eine Zeit festgelegt werden, wann die nächsten Daten gesendet werden. Sprich der Master bekommt Daten vom Thermometer und meldet "180s" zurück. Dann geht der Client für 3 Minuten schlafen und meldet dann erneut. Etwas Toleranz im Master sorgt für etwas mehr Robustheit.
So wäre auch ein Timing von mehreren Clients möglich.
Es braucht nur initial einmal eine Verbindung, wo der ganze Spaß einmal das Intervall festlegt.

Ich würde auf gar keinen Fall I2C nehmen.
Wenn in der I2C-Datenübertragung ein eiziges mal der Signalpegel nicht stimmt dann hängt sich das Programm an der Stelle auf und wartet ewig auf den Signalwechsel.
Es sei denn du nimmst eine spezielle Variante von non-blocking I2C mit timeout.
Aber wozu dieser extra-Aufwand?

Mit einem ESP32 kannste ohne weiteres die zweite serielle Schnittstelle benutzen.
Da ist der Timeout schon standardmäßig mit drin

Darüber hinaus: wenn du einen Pool überwachst dabb kommt es doch wohl auf den Strom eines weiteren ESP32 nicht an.

vgs

Das Thermometer musss mit Batterie laufen, die Wassertemperatur ändert sich relativ langsam, da reicht einmal pro Stunde melden ....
Der "Chef" schaut also nach ....
Mal sehen wie synchron so etwas läuft, 5 oder 10 Minuten kann man das WLAN ja mal wegnehmen und auf das Thermometer warten.
So zeitkritisch ist die Pumpensteuerung ja nun nicht.

Hier bringst Du wohl meins mit dem TO seins :grinning: durcheinander :sunglasses: ....

cu

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.