Fork of Hello MQTT, using mbed TLS for secure mqtt transport

Dependencies:   MQTT

Fork of HelloMQTT by MQTT

Revision:
22:4d0628d13870
Parent:
21:4534812bb94f
--- a/main.cpp	Fri Mar 17 08:42:29 2017 +0000
+++ b/main.cpp	Sat Mar 18 01:54:50 2017 +0000
@@ -103,6 +103,7 @@
     "KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n"
     "-----END CERTIFICATE-----";
 
+Serial pc(USBTX, USBRX, 115200);
 int arrivedcount = 0;
 Thread thdMQTT;
 
@@ -118,8 +119,8 @@
 void messageArrived(MQTT::MessageData& md)
 {
     MQTT::Message &message = md.message;
-    printf("Message arrived: qos %d, retained %d, dup %d, packetid %d\r\n", message.qos, message.retained, message.dup, message.id);
-    printf("Payload %.*s\r\n", message.payloadlen, (char*)message.payload);
+    pc.printf("Message arrived: qos %d, retained %d, dup %d, packetid %d\r\n", message.qos, message.retained, message.dup, message.id);
+    pc.printf("Payload %.*s\r\n", message.payloadlen, (char*)message.payload);
     ++arrivedcount;
 }
 
@@ -130,33 +131,33 @@
 {
     int rc;
     
-    printf("Connecting to %s:%d\r\n", hostname, port);
+    pc.printf("Connecting to %s:%d\r\n", hostname, port);
     rc = mqttNetwork.connect(hostname, port);
     if (rc != 0)
     {
-        printf("rc from TCP connect is %d\r\n", rc);
+        pc.printf("rc from TCP connect is %d\r\n", rc);
         return -1;
     }
     else
-        printf("RC passed!\r\n");
+        pc.printf("RC passed!\r\n");
  
-    printf("Creating data connection ...\r\n");
+    pc.printf("Creating data connection ...\r\n");
     MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
     data.MQTTVersion = 3;
     data.clientID.cstring = (char *) clientID;
     data.username.cstring = (char *) username;
     data.password.cstring = (char *) password;
-    printf("Connecting client ...\r\n");
+    pc.printf("Connecting client ...\r\n");
     if ((rc = client.connect(data)) != 0)
     {
         printf("rc from MQTT connect is %d\r\n", rc);
         return -1;
     }
  
-    printf("Subscribing to topic ...\r\n");
+    pc.printf("Subscribing to topic ...\r\n");
     if ((rc = client.subscribe(topic, MQTT::QOS2, messageArrived)) != 0)
     {
-        printf("rc from MQTT subscribe is %d\r\n", rc);
+        pc.printf("rc from MQTT subscribe is %d\r\n", rc);
         return -1;
     }
 
@@ -167,9 +168,9 @@
 {
     int rc;
     
-    printf("Subscribing to topic ...\r\n");
+    pc.printf("Subscribing to topic ...\r\n");
     if ((rc = client.subscribe(topic, os, handler)) != 0)
-        printf("rc from MQTT subscribe is %d\r\n", rc);
+        pc.printf("rc from MQTT subscribe is %d\r\n", rc);
 
     return rc;        
 }
@@ -183,42 +184,42 @@
     *message = msg;
     
     // Push the data to the consumer thread
-    printf("Pushing data to MQTTS Listener thread ...\r\n");
+    pc.printf("Pushing data to MQTTS Listener thread ...\r\n");
     queue.put(message);       
 }
 
 void mqttListener(void)
 {
-    printf("MQTT listener thread started ...\r\n");
+    pc.printf("MQTT listener thread started ...\r\n");
     while(true)
     {
         // Wait for data in the queue, timeout at 10ms
         osEvent evt = queue.get(10);
         if (evt.status == osEventMessage) {
-            printf("Message arrived from main thread ...\r\n");
+            pc.printf("Message arrived from main thread ...\r\n");
             // Unpack the message
             MQTT::Message * message = (MQTT::Message *)evt.value.p;
             
-            printf("Publishing message to MQTT ...\r\n");
+            pc.printf("Publishing message to MQTT ...\r\n");
             // Push to mqtt
             int rc = client.publish(topic, *message);
             if (rc < 0)
-                printf("Error sending mqtt message \r\n");
+                pc.printf("Error sending mqtt message \r\n");
             else
-                printf("Message published ...\r\n");
+                pc.printf("Message published ...\r\n");
                 
             // Don't forget this!
             pool.free(message);
         }        
         
-        printf("MQTT client yeild ...\r\n");
+        pc.printf("MQTT client yeild ...\r\n");
         if (client.yield(100) != 0)
         {
             client.disconnect();
             // TODO: reconnect TLS session.
             return;
         }
-        printf("MQTT client yeild successful ...\r\n");
+        pc.printf("MQTT client yeild successful ...\r\n");
     }
 }
 
@@ -228,29 +229,29 @@
 
     int i = 0;
 
-    printf("HelloMQTT: version is %.2f\r\n", version);
+    pc.printf("HelloMQTT: version is %.2f\r\n", version);
 
     NetworkInterface* network = easy_connect(true);
     if (!network) {
         return -1;
     }
-
+    
     if ( mqttNetwork.setupTLS(network, SSL_CA_PEM) != 0 )
     {
-        printf("Failed initializing sercure MQTTS...\r\n");
+        pc.printf("Failed initializing sercure MQTTS...\r\n");
         return -1;
     }
     
     if ( mqttsConnect("mqtt.mbedhacks.com", 
                         8883,"mbedtest_01","tinong","tatay") != 0 )
     {
-        printf("Failed connecting to mqtt.mbedhacks.com:8883 \r\n");
+        pc.printf("Failed connecting to mqtt.mbedhacks.com:8883 \r\n");
         return -1;
     }
     
     if ( mqttsSubscribe(topic, MQTT::QOS2, messageArrived) != 0 )
     {
-        printf("Failed to subscribe to a topic!\r\n");
+        pc.printf("Failed to subscribe to a topic!\r\n");
         return -1;
     }
     
@@ -281,5 +282,5 @@
 
     //printf("Version %.2f: finish %d msgs\r\n", version, arrivedcount);
 
-    return 0;
+    //return 0;
 }