mc-b
/
MQTTHello
MQTT Beispiel fuer mbed Simulator nicht IoTKitV3!
Diff: main.cpp
- Revision:
- 24:70bddd0f508c
- Parent:
- 21:a68bd76740f9
--- a/main.cpp Tue Jan 16 13:41:29 2018 +0000 +++ b/main.cpp Thu Apr 16 06:55:43 2020 +0000 @@ -15,33 +15,8 @@ * Ian Craggs - make sure QoS2 processing works, and add device headers *******************************************************************************/ - /** - This is a sample program to illustrate the use of the MQTT Client library - on the mbed platform. The Client class requires two classes which mediate - access to system interfaces for networking and timing. As long as these two - classes provide the required public programming interfaces, it does not matter - what facilities they use underneath. In this program, they use the mbed - system libraries. - - */ - - // change this to 1 to output messages to LCD instead of serial -#define USE_LCD 0 - -#if USE_LCD -#include "C12832.h" - -// the actual pins are defined in mbed_app.json and can be overridden per target -C12832 lcd(LCD_MOSI, LCD_SCK, LCD_MISO, LCD_A0, LCD_NCS); - -#define logMessage lcd.cls();lcd.printf - -#else - #define logMessage printf -#endif - #define MQTTCLIENT_QOS2 1 #include "easy-connect.h" @@ -51,7 +26,6 @@ int arrivedcount = 0; - void messageArrived(MQTT::MessageData& md) { MQTT::Message &message = md.message; @@ -77,7 +51,7 @@ MQTT::Client<MQTTNetwork, Countdown> client(mqttNetwork); - const char* hostname = "m2m.eclipse.org"; + const char* hostname = "gateway.northeurope.cloudapp.azure.com"; int port = 1883; logMessage("Connecting to %s:%d\r\n", hostname, port); int rc = mqttNetwork.connect(hostname, port); @@ -106,24 +80,18 @@ message.payload = (void*)buf; message.payloadlen = strlen(buf)+1; rc = client.publish(topic, message); - while (arrivedcount < 1) - client.yield(100); // QoS 1 sprintf(buf, "Hello World! QoS 1 message from app version %f\r\n", version); message.qos = MQTT::QOS1; message.payloadlen = strlen(buf)+1; rc = client.publish(topic, message); - while (arrivedcount < 2) - client.yield(100); // QoS 2 sprintf(buf, "Hello World! QoS 2 message from app version %f\r\n", version); message.qos = MQTT::QOS2; message.payloadlen = strlen(buf)+1; rc = client.publish(topic, message); - while (arrivedcount < 3) - client.yield(100); if ((rc = client.unsubscribe(topic)) != 0) logMessage("rc from unsubscribe was %d\r\n", rc);