in einem aktuellen Projekt nutze ich einen ESP32. Ziel ist es letztendlich, per Loxone virtuellem Ausgangsbefehl über http-Befehle die BLE Befehle abzusetzen.
Nun funktioniert auch tatsächlich alles, aber aus für mich unergründlichen Gründen nur sehr unzuverlässig.
Am WLAN kann es eigentlich nicht liegen (AP im Haus verteilt, Ubiquiti Hardware durch und durch), der Empfang im Haus ist gut. RSSI = -80dB oder besser für das kleine Modul...
Rufe ich die IP des ESP32 auf, dann bekomme ich meine im Programm loop() definierte Webseite. Hier kann ich die Befehle ebenfalls über den Browser (Safari) absetzen, z.B. den ESP32 zum Test blinken lassen. Das klappt oft gut und instantan, dann irgendwann nach dem vllt. zweiten mal nicht mehr. Ab da an braucht es dann immer zwei Aufrufe / refreshes im Browser: der erste Aufruf löst ein Rödeln aus (Fortschrittsbalken läuft ergebnislos. Im Serial Monitor steht: "New Client", aber es geht nicht weiter, bzw. braucht >1min bevor der Befehl ausgeführt wird!), der zweite Aufruf / refresh triggert instantan den gewünschten Befehl. Das gleiche verhalten über curl-Befehle im Terminal. Erst klappt es gut, dann irgendwann läuft der curl ins Leere...
Ich denke damit verbunden klappt auch das Triggern über Loxone nur sehr unzuverlässig. d.h. mein Problem liegt aktuell beim ESP32.
Ich habe den Wifi-Code von hier genutzt: link. Kann es sein, dass es hier irgendwo in der void loop() hakt? Kann mir jemand einen Tipp geben wie man zuverlässig einen ESP32 so programmiert, dass er auf http-GET Befehl wie z.B. "IP/M1" die gewünschte Aktion ausführt? Das Web-Interface benötige ich nicht unbedingt..
Vielen Dank!
Kommentar