MQTT mit ESP-01 und STM32 Testprogramm mit eigenem Thread für MQTT
Dependencies: LCD_i2c_GSOE ESP8266MQTT
Diff: main.cpp
- 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); + } }