MQTT mit ESP-01 und STM32 Testprogramm mit eigenem Thread für MQTT

Dependencies:   LCD_i2c_GSOE ESP8266MQTT

Revision:
11:2e571ffc2f22
Parent:
10:fcb75a994c37
--- a/main.cpp	Thu Aug 19 11:41:39 2021 +0000
+++ b/main.cpp	Thu Aug 19 16:08:09 2021 +0000
@@ -14,6 +14,7 @@
 
 PubSubClient client;        //Deklaration des MQTT-Clients
 
+Thread thread;
 /*
 //Beschreibung von Message und MessageData
 struct Message
@@ -52,29 +53,40 @@
     mylcd.printf("%s   ",client.gibPayload(mymessage).c_str());
 }
 
+void mqtt(void)
+{
+    char buffer[64];
+    int d;
+    while(true)
+    {
+        client.loop();  //Auf neue Botschaften prüfen
+        d=diag;         //Zählerstand speichern
+        //Poti veröffentlichen
+        sprintf(buffer, "poti=%d", (int)(poti*4095)); //Potiwert in buffer speichern
+        client.publish("MBED/oehringen/ersteTests", buffer,QOS1); //unter Topic veröffentlichen
+        //diag veröffentlichen
+        sprintf(buffer, "diag=%d", d); //diag in buffer speichern
+        client.publish("MBED/oehringen/zweiteTests", buffer,QOS2); //unter Topic veröffentlichen
+    }
+}
+
 
 //test.mosquitto.org 5.196.95.208
 int main()
 {
     diag=1;
-    int d;
-    char buffer[64];
+
     mylcd.clear();
     client.connect((char*)"joerg"); //Verbinde Client mit ID 
     //Client für topic einschreiben
     client.subscribe("MBED/oehringen/ersteTests", QOS0, subscribeCallback); 
     client.subscribe("MBED/oehringen/zweiteTests", QOS0, subscribeCallback2); 
+    thread.start(mqtt);
     while(true)
     {
-        client.loop();  //Auf neue Botschaften prüfen
         diag=diag+1;    //Zähler auf PortC
-        d=diag;         //Zählerstand speichern
-        //Poti veröffentlichen
-        sprintf(buffer, "poti=%d", (int)(poti*4095)); //Potiwert in buffer speichern
-        client.publish("MBED/oehringen/ersteTests", buffer); //unter Topic veröffentlichen
-        //diag veröffentlichen
-        sprintf(buffer, "diag=%d", d); //diag in buffer speichern
-        client.publish("MBED/oehringen/zweiteTests", buffer); //unter Topic veröffentlichen
+        ThisThread::sleep_for(500);
+
     }
 }