Guest User

mqtt_sub_kart

a guest
Mar 30th, 2018
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message)
  2. {
  3. int i;
  4. char* payloadptr;
  5.  
  6. printf("Message arrived\n");
  7. printf(" topic: %s\n", topicName);
  8. printf(" message: ");
  9.  
  10. payloadptr = message->payload;
  11. for(i=0; i<message->payloadlen; i++)
  12. {
  13. putchar(*payloadptr++);
  14. }
  15. putchar('\n');
  16. MQTTClient_freeMessage(&message);
  17. MQTTClient_free(topicName);
  18. return 1;
  19. }
  20.  
  21. void* OTA(void *arg){
  22. int rc = 0;
  23.  
  24. MQTTClient client;
  25. MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;
  26. MQTTClient_SSLOptions sslopts = MQTTClient_SSLOptions_initializer;
  27.  
  28. rc = MQTTClient_create(&client, cADDRESS, cClid,MQTTCLIENT_PERSISTENCE_NONE, NULL);
  29. printf("MQTT SUB created....\n");
  30.  
  31. MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered);
  32.  
  33. sslopts.enableServerCertAuth=0;
  34. conn_opts.keepAliveInterval = 20;
  35. conn_opts.cleansession = 0;
  36. conn_opts.username = "URL/DeviceID";
  37. conn_opts.password = "SaaS Key(Password)";
  38. conn_opts.ssl = &sslopts;
  39. if ((rc = MQTTClient_connect(client, &conn_opts)) !=MQTTCLIENT_SUCCESS){
  40. printf("MQTT SUB Failed to connect, return code %d\n", rc);
  41. MQTTClient_destroy(&client);
  42. continue;
  43. }
  44. else{
  45. printf("MQTT SUB Successfully connected to Server %s\n",cADDRESS);
  46. }
  47.  
  48. memset(cADDRESS,0,sizeof(cADDRESS));
  49. strcat(cADDRESS,"devices/");
  50. strcat(cADDRESS,ucImei);
  51. strcat(cADDRESS,"/messages/events");
  52. if ((rc = MQTTClient_subscribe(client, cADDRESS, 0)) !=MQTTCLIENT_SUCCESS){
  53. printf("MQTT SUBSCRIBE Failed to connect, return code %d\n", rc);
  54. MQTTClient_destroy(&client);
  55. continue;
  56. }
  57. else{
  58. printf("MQTT SUBSCRIBE to Server\n");
  59. }
  60. while(iMQTTSUBlost==0){
  61. sleep(1);
  62. }
  63. iMQTTSUBlost=0;
  64. MQTTClient_disconnect(client, 0);
  65. MQTTClient_destroy(&client);
  66. sleep(1);
  67. }
  68. pthread_exit(NULL);
  69. return (void*)0;
  70. }
Add Comment
Please, Sign In to add comment