Simple demo with GPIO MQTT protocol test on STM32 broker tests.mosquitto.org WIFI interface ESP8266 Issue of topic0 by pressing the button If reception of ', switching of the led If received from 'q' end of program
Diff: main.cpp
- Revision:
- 7:3de634f2d40c
- Parent:
- 5:4a257f6ac09a
- Parent:
- 6:e4c690c45021
- Child:
- 8:a3e3113054a1
diff -r 4a257f6ac09a -r 3de634f2d40c main.cpp --- a/main.cpp Fri May 09 23:06:43 2014 +0000 +++ b/main.cpp Sun May 11 19:17:05 2014 +0000 @@ -45,34 +45,12 @@ lcd.puts((char*)message->payload); } -int connect(MQTT::Client<IPStack, Countdown>::connectionLostInfo* info) -{ - char* hostname = "m2m.eclipse.org"; - int port = 1883; - - lcd.cls(); - lcd.locate(0,3); - lcd.printf("%s:%d\n", hostname, port); - printf("Connecting to %s:%d\n", hostname, port); - int rc = info->network->connect(hostname, port); - lcd.printf("TCP connect = %d\n", rc); - printf("rc from TCP connect is %d\n", rc); - - MQTTPacket_connectData data = MQTTPacket_connectData_initializer; - data.MQTTVersion = 3; - data.clientID.cstring = "mbed-icraggs"; - rc = info->client->connect(&data); - lcd.printf("MQTT connect = %d\n", rc); - printf("rc from MQTT connect is %d\n", rc); - - return rc; -} int main(int argc, char* argv[]) { IPStack ipstack = IPStack(); - float version = 0.3; + float version = 0.43; char* topic = "mbed-sample"; lcd.printf("Version is %f\n", version); @@ -80,10 +58,19 @@ MQTT::Client<IPStack, Countdown> client = MQTT::Client<IPStack, Countdown>(ipstack); - client.setConnectionLostHandler(connect); - - MQTT::Client<IPStack, Countdown>::connectionLostInfo info = {&client, &ipstack}; - int rc = connect(&info); + char* hostname = "m2m.eclipse.org"; + int port = 1883; + lcd.printf("Connecting to %s:%d\n", hostname, port); + int rc = ipstack.connect(hostname, port); + if (rc != 0) + lcd.printf("rc from TCP connect is %d\n", rc); + + MQTTPacket_connectData data = MQTTPacket_connectData_initializer; + data.MQTTVersion = 3; + data.clientID.cstring = "mbed-icraggs"; + rc = client.connect(&data); + if (rc != 0) + lcd.printf("rc from MQTT connect is %d\n", rc); rc = client.subscribe(topic, MQTT::QOS1, messageArrived); if (rc != 0) {