Testprogramm MQTT ESP01 und Nucleo-F401-RE

Dependencies:   LCD_i2c_GSOE ESP8266MQTT

Revision:
7:4a93a41afa3b
Parent:
6:5f6c4afcd8ca
--- a/main.cpp	Tue Jul 13 06:15:08 2021 +0000
+++ b/main.cpp	Tue Jul 27 09:29:56 2021 +0000
@@ -1,6 +1,6 @@
 #include "mbed.h"
-#include "PubSubClient.h"
-#include "LCD.h"
+#include "PubSubClient.h"   //MQTT- Bibliothek
+#include "LCD.h"            //LCD-Display-Bibliothek
 /*
         "wifi-ssid": {
             "help": "WiFi SSID",
@@ -17,13 +17,14 @@
             "value": "\"test.mosquitto.org\""
         },
 */
-PortOut diag(PortC,0xFF);
-AnalogIn poti(PA_0);
-lcd mylcd;
+PortOut diag(PortC,0xFF);   //Testausgabe für Binärzähler
+AnalogIn poti(PA_0);        //Testsensor Analogeingang Drehknopf    
+lcd mylcd;                  //LCD-Display
 
-PubSubClient client;
+PubSubClient client;        //Deklaration des MQTT-Clients
 
 /*
+//Beschreibung von Message und MessageData
 struct Message
 {
     enum QoS qos;
@@ -34,7 +35,7 @@
     size_t payloadlen;
 };
 
-
+//MessageData beinhaltet Message und Topicname
 struct MessageData
 {
     MessageData(MQTTString &aTopicName, struct Message &aMessage)  : message(aMessage), topicName(aTopicName)
@@ -45,15 +46,17 @@
 };
 */
 
+//Subscribe-Callbacks
 void subscribeCallback(MessageData& mymessage)
 {
     mylcd.cursorpos(0);
+    //Der Inhalt einer Botschaft (payload) kann als String mit gibPayload 
+    //abgerufen werden
     mylcd.printf("%s   ",client.gibPayload(mymessage).c_str());
 }
 
 void subscribeCallback2(MessageData& mymessage)
 {
-
     mylcd.cursorpos(0x40);
     mylcd.printf("%s   ",client.gibPayload(mymessage).c_str());
 }
@@ -66,19 +69,22 @@
     int d;
     char buffer[64];
     mylcd.clear();
-    client.connect((char*)"joerg");  
+    client.connect((char*)"joerg"); //Verbinde Client mit ID 
+    //Client für topic einschreiben
     client.subscribe("MBED/joerg/ersteTests", QOS0, subscribeCallback); 
-    //client.subscribe("MBED/joerg/zweiteTests", QOS0, subscribeCallback2); 
+    client.subscribe("MBED/joerg/zweiteTests", QOS0, subscribeCallback2); 
     while(true)
     {
-        client.loop();
-        diag=diag+1;
-        d=diag;
-        sprintf(buffer, "poti=%d", (int)(poti*4095));
-        client.publish("MBED/joerg/ersteTests", buffer);
-        HAL_Delay(200);
-        //sprintf(buffer, "diag=%d", d);
-        //client.publish("MBED/joerg/zweiteTests", buffer);
+        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/joerg/ersteTests", buffer); //unter Topic veröffentlichen
+        //HAL_Delay(200);
+        //diag veröffentlichen
+        sprintf(buffer, "diag=%d", d); //diag in buffer speichern
+        client.publish("MBED/joerg/zweiteTests", buffer); //unter Topic veröffentlichen
         //HAL_Delay(200);
     }
 }