v1

Dependencies:   MQTTSN mbed-http

Committer:
m_ahsan
Date:
Mon Mar 11 07:51:06 2019 +0000
Revision:
15:557d0008dd2d
123

Who changed what in which revision?

UserRevisionLine numberNew contents of line
m_ahsan 15:557d0008dd2d 1 #define MQTTSNCLIENT_QOS2 1
m_ahsan 15:557d0008dd2d 2
m_ahsan 15:557d0008dd2d 3 #include "mbed.h"
m_ahsan 15:557d0008dd2d 4 #include "stdio.h"
m_ahsan 15:557d0008dd2d 5 #include "MQTT_server_setting.h"
m_ahsan 15:557d0008dd2d 6 #include "MQTTSNUDP.h"
m_ahsan 15:557d0008dd2d 7 #include "MQTTSNClient.h"
m_ahsan 15:557d0008dd2d 8 #include "MbedJSONValue.h"
m_ahsan 15:557d0008dd2d 9 #include "Enumeration.h"
m_ahsan 15:557d0008dd2d 10 #include "sensor.h"
m_ahsan 15:557d0008dd2d 11 #include "easy-connect.h"
m_ahsan 15:557d0008dd2d 12 #include "MQTTSN_func.h"
m_ahsan 15:557d0008dd2d 13 #include "registration.h"
m_ahsan 15:557d0008dd2d 14
m_ahsan 15:557d0008dd2d 15 NetworkInterface* network = NULL;
m_ahsan 15:557d0008dd2d 16
m_ahsan 15:557d0008dd2d 17 int main() {
m_ahsan 15:557d0008dd2d 18
m_ahsan 15:557d0008dd2d 19 float version = 0.47;
m_ahsan 15:557d0008dd2d 20 MQTTSNUDP* ipstack = NULL;
m_ahsan 15:557d0008dd2d 21 MQTTSN::Client<MQTTSNUDP, Countdown> *client = NULL;
m_ahsan 15:557d0008dd2d 22
m_ahsan 15:557d0008dd2d 23 /////////////////////////////////////////////////////////////////////////////////////////
m_ahsan 15:557d0008dd2d 24 printf("Nai binary hai ye theek hai Opening network interface...\r\n");
m_ahsan 15:557d0008dd2d 25 {
m_ahsan 15:557d0008dd2d 26 network = easy_connect(true); // If true, prints out connection details.
m_ahsan 15:557d0008dd2d 27 if (!network) {
m_ahsan 15:557d0008dd2d 28 printf("Unable to open network interface.\r\n");
m_ahsan 15:557d0008dd2d 29 return -1;
m_ahsan 15:557d0008dd2d 30 }
m_ahsan 15:557d0008dd2d 31 }
m_ahsan 15:557d0008dd2d 32 printf("Network interface opened successfully.\r\n");
m_ahsan 15:557d0008dd2d 33 printf("\r\n");
m_ahsan 15:557d0008dd2d 34 JUMP:
m_ahsan 15:557d0008dd2d 35 ipstack = new MQTTSNUDP(network);
m_ahsan 15:557d0008dd2d 36 //MQTTSNUDP ipstack = MQTTSNUDP(network);
m_ahsan 15:557d0008dd2d 37
m_ahsan 15:557d0008dd2d 38 const char* Local_IP = network->get_ip_address();
m_ahsan 15:557d0008dd2d 39 printf("IP Address of Device is: %s\n", Local_IP);
m_ahsan 15:557d0008dd2d 40
m_ahsan 15:557d0008dd2d 41 const char* Local_MAC = network->get_mac_address();
m_ahsan 15:557d0008dd2d 42 printf("MAC Address of Device is: %s\n", Local_MAC);
m_ahsan 15:557d0008dd2d 43
m_ahsan 15:557d0008dd2d 44 client = new MQTTSN::Client<MQTTSNUDP, Countdown>(*ipstack);
m_ahsan 15:557d0008dd2d 45 //////////////////////////////////UDP Connect///////////////////////////////////////////
m_ahsan 15:557d0008dd2d 46 printf("Connecting to %s:%d\n", MQTT_SERVER_HOST_NAME, PORT);
m_ahsan 15:557d0008dd2d 47 rc = ipstack->connect(MQTT_SERVER_HOST_NAME, PORT);
m_ahsan 15:557d0008dd2d 48 if (rc != 0)
m_ahsan 15:557d0008dd2d 49 printf("rc from UDP connect is %d\n", rc);
m_ahsan 15:557d0008dd2d 50 else
m_ahsan 15:557d0008dd2d 51 printf("UDP connected\n");
m_ahsan 15:557d0008dd2d 52 //////////////////////////////////MQTT Connect///////////////////////////////////////////
m_ahsan 15:557d0008dd2d 53 attemptConnect(client, ipstack);
m_ahsan 15:557d0008dd2d 54 Registration(client, ipstack);
m_ahsan 15:557d0008dd2d 55 while(1)
m_ahsan 15:557d0008dd2d 56 {
m_ahsan 15:557d0008dd2d 57 // Check connection //
m_ahsan 15:557d0008dd2d 58 if(!client->isConnected()){
m_ahsan 15:557d0008dd2d 59 break;
m_ahsan 15:557d0008dd2d 60 }
m_ahsan 15:557d0008dd2d 61 // Received a control message. //
m_ahsan 15:557d0008dd2d 62 if(isMessageArrived) {
m_ahsan 15:557d0008dd2d 63 isMessageArrived = false;
m_ahsan 15:557d0008dd2d 64 // Just print it out here.
m_ahsan 15:557d0008dd2d 65 //printf("\r\nMessage arrived:\r\n%s\r\n", messageBuffer);
m_ahsan 15:557d0008dd2d 66 //process_msg();
m_ahsan 15:557d0008dd2d 67 //free(messageBuffer);
m_ahsan 15:557d0008dd2d 68 }
m_ahsan 15:557d0008dd2d 69 // Publish data //
m_ahsan 15:557d0008dd2d 70 //PUB_Count++;
m_ahsan 15:557d0008dd2d 71
m_ahsan 15:557d0008dd2d 72 client->yield(4000);
m_ahsan 15:557d0008dd2d 73 //wait(4);
m_ahsan 15:557d0008dd2d 74
m_ahsan 15:557d0008dd2d 75 }
m_ahsan 15:557d0008dd2d 76
m_ahsan 15:557d0008dd2d 77 //if ((rc = client->unsubscribe(topicid2)) != 0)
m_ahsan 15:557d0008dd2d 78 // printf("rc from unsubscribe was %d\n", rc);
m_ahsan 15:557d0008dd2d 79
m_ahsan 15:557d0008dd2d 80 if ((rc = client->disconnect()) != 0)
m_ahsan 15:557d0008dd2d 81 printf("rc from disconnect was %d\n", rc);
m_ahsan 15:557d0008dd2d 82
m_ahsan 15:557d0008dd2d 83 ipstack->disconnect();
m_ahsan 15:557d0008dd2d 84
m_ahsan 15:557d0008dd2d 85 delete ipstack;
m_ahsan 15:557d0008dd2d 86 delete client;
m_ahsan 15:557d0008dd2d 87
m_ahsan 15:557d0008dd2d 88 printf("Version %.2f: finish %d msgs\n", version, arrivedcount);
m_ahsan 15:557d0008dd2d 89 printf("Finishing with %d messages received\n", arrivedcount);
m_ahsan 15:557d0008dd2d 90 goto JUMP;
m_ahsan 15:557d0008dd2d 91
m_ahsan 15:557d0008dd2d 92 return 0;
m_ahsan 15:557d0008dd2d 93
m_ahsan 15:557d0008dd2d 94 }