v1

Dependencies:   MQTTSN mbed-http

Revision:
15:557d0008dd2d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Client-AE.cpp	Mon Mar 11 07:51:06 2019 +0000
@@ -0,0 +1,94 @@
+#define MQTTSNCLIENT_QOS2 1
+
+#include "mbed.h"
+#include "stdio.h"
+#include "MQTT_server_setting.h"
+#include "MQTTSNUDP.h"
+#include "MQTTSNClient.h"
+#include "MbedJSONValue.h"
+#include "Enumeration.h"
+#include "sensor.h"
+#include "easy-connect.h"
+#include "MQTTSN_func.h"
+#include "registration.h"
+
+NetworkInterface* network = NULL;
+
+int main() {
+       
+    float version = 0.47;
+    MQTTSNUDP* ipstack = NULL;
+    MQTTSN::Client<MQTTSNUDP, Countdown> *client = NULL;
+    
+    /////////////////////////////////////////////////////////////////////////////////////////
+    printf("Nai binary hai ye theek hai Opening network interface...\r\n");
+    {
+        network = easy_connect(true);    // If true, prints out connection details.
+        if (!network) {
+            printf("Unable to open network interface.\r\n");
+            return -1;
+        }
+    }
+    printf("Network interface opened successfully.\r\n");
+    printf("\r\n");
+JUMP:
+    ipstack = new MQTTSNUDP(network);
+    //MQTTSNUDP ipstack = MQTTSNUDP(network);  
+
+    const char* Local_IP = network->get_ip_address();
+    printf("IP Address of Device is: %s\n", Local_IP);
+    
+    const char* Local_MAC = network->get_mac_address();
+    printf("MAC Address of Device is: %s\n", Local_MAC);
+    
+    client = new MQTTSN::Client<MQTTSNUDP, Countdown>(*ipstack);
+    //////////////////////////////////UDP Connect///////////////////////////////////////////    
+    printf("Connecting to %s:%d\n", MQTT_SERVER_HOST_NAME, PORT);
+    rc = ipstack->connect(MQTT_SERVER_HOST_NAME, PORT);
+    if (rc != 0)
+         printf("rc from UDP connect is %d\n", rc);
+    else
+        printf("UDP connected\n"); 
+    //////////////////////////////////MQTT Connect///////////////////////////////////////////
+    attemptConnect(client, ipstack);
+    Registration(client, ipstack);
+    while(1) 
+     {
+        // Check connection //
+        if(!client->isConnected()){
+            break;
+        }
+        // Received a control message. //
+        if(isMessageArrived) {
+            isMessageArrived = false;
+            // Just print it out here.
+            //printf("\r\nMessage arrived:\r\n%s\r\n", messageBuffer);
+            //process_msg();
+            //free(messageBuffer);
+        }
+        // Publish data //
+            //PUB_Count++;
+                     
+            client->yield(4000);
+            //wait(4);
+        
+    } 
+    
+    //if ((rc = client->unsubscribe(topicid2)) != 0)
+    //    printf("rc from unsubscribe was %d\n", rc);
+    
+    if ((rc = client->disconnect()) != 0)
+        printf("rc from disconnect was %d\n", rc);
+    
+    ipstack->disconnect();
+    
+    delete ipstack;
+    delete client;
+    
+    printf("Version %.2f: finish %d msgs\n", version, arrivedcount);
+    printf("Finishing with %d messages received\n", arrivedcount);
+goto JUMP;
+    
+    return 0;
+
+}