Webserver und MQTT - Wie geht das?

Mehr
21 Feb 2017 11:24 #141 von retep998
retep998 erstellte das Thema Webserver und MQTT - Wie geht das?
Hi liebe Community,
Bevor meine letzen Haare ergrauen wende ich mich mit der Bitte um etwas Unterstützung an euch.

Nach geefühlten 100 Stunden habe ich einen ESP Webserver , der eine Website hostet, die vom Internet extern erreichbar ist zum Laufen bekommen. Ein zweites ESP Modul(B) soll Befehle von diesem ESP Webserver(A) entgegen nehmen und den Empfang quittieren.

Erst habe ich es mit HTTP Requests probiert, aber da bleibt das Programm hängen wenn Modul B nicht erreichbar ist. ...
Im Code steht in etwa... if (client.connected(IP....)...
Soweit ich es verstanden habe, versucht dieser Aufruf zu verbinden, und wenn das nicht möglich ist, bleibt das Programm hängen und die Website ist von außen nicht oder nur extrem schleppend erreichbar.

Da später eine ganze Home Automatisierung daraus entstehen soll, möchte ich auf MQTT umsteigen und den Webserver auf einen Raspberry Pie auf dem ein MQTT Broker läuft auslagern. Also habe ich mit Hilfe fertiger Sketches auf ESP(B) einen MQTT subscriber zum Laufen gebracht. A soll vorläufug die HTTP Webpage hosten und Per MQTT mit B sprechen (MQTT publisher sein), solange ich den Pie noch nicht fit habe. (Is leider alles Neuland für mich)

Beides alleine HTTP Server oder MQTT Publisher habe ich hin bekommen. In Verbindung schaffe ich es aber nicht,sie zum Laufen zu bringen.
Die Libraries esp8266.h, esp8266Webserver.h, pubsubclient... scheinen nicht in Verbindung zu funktionieren. Wie kann ich Webserver und MQTT Publisher gemeinsam betreiben?

WiFiClient client = client und WiFiClient Client = espClient

(jeweils im separaten Sketch verwendet) funktionieren nicht gemeinsam.

Was mache ich falsch, bzw. wie gehört es richtig und wie verhindere ich ein Hängen bleiben des Programmes wenn der Server nicht erreichbar ist.
Wie werden Verbindungen korrekt aufgebaut und wieder geschlossen?

Ich habe einen Sketch im Netz gefunden, der HTTP und MQTT verbindet, leider compiliert er bei mir nicht, da er irfendwelche Deklarationskonflikte meldet, die weit über meine Kenntnisse hinaus gehen... denke, der Sketch ist sehr lange und in C++ geschrieben...

Die Befehle sind übrigens alle aus dem Kopf, bin gerade nicht in be dem Projekt, sonst könnte ich es detailierter posten.

Vielen Dank für eure Unterstützung im Voraus...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum