From 7bf086593817948ad6081d12479742bfda3894b2 Mon Sep 17 00:00:00 2001 From: Eva Kaul <74291028+EvaKaul@users.noreply.github.com> Date: Tue, 23 May 2023 15:57:59 +0200 Subject: [PATCH] Fixes and updates (#10) * Add files via upload * Add files via upload * Add files via upload * Add files via upload * updates * Add files via upload --- README.md | 37 ++- docker-compose.yml | 2 +- docs/Overview.png | Bin 35428 -> 40323 bytes docs/PingPongFlow.png | Bin 60265 -> 111825 bytes src/paho_pingpong.c | 662 +++++++++++++++++++++--------------------- 5 files changed, 355 insertions(+), 346 deletions(-) diff --git a/README.md b/README.md index e070802..f687255 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This application example contains the source files to build a Databus Ping Pong - [Overview](#overview) - [General task](#general-task) - [Requirements](#requirements) + - [Prerequisites](#prerequisites) - [Used components](#used-components) - - [Further requirements](#further-requirements) - [Installation](#installation) - [Usage](#usage) - [Documentation](#documentation) @@ -25,6 +25,7 @@ The IE Flow Creator is used to exchange data between different topics within the ![Use Case](/docs/Overview.png) This implementation example uses the ``ubuntu:20.04`` image as base, the [Eclipse Paho MQTT C library](https://github.com/eclipse/paho.mqtt.c) to enable the connection to the IE Databus and ``cmake`` for building the code. + Here a multi-stage process for building the docker image is used to keep the image size as small as possible. The two ``FROM`` Statements in the [Dockerfile](src/Dockerfile) separate the build process into two stages. The fist one is compiling the source code to an executable which then gets copied to the second stage. This stage finally creates the application container, where the executable runs. Please refer to the the [docker documentation](https://docs.docker.com/develop/develop-images/multistage-build/) for more information regarding multi-stage builds. @@ -43,36 +44,34 @@ The names of the IE Databus topics as well as the credentials used by the applic ## Requirements -### Used components +### Prerequisites -- Industrial Edge Management V1.3.0-58 / V1.4.3 - - IE Databus Configurator V1.4.22 - - IE Databus V1.4.16 - - IE Flow Creator V1.2.2 - - IE App Configuration Service V1.0.7 -- Industrial Edge Device (IED) V1.3.0-57 -- Industrial Edge App Publisher V1.4.3 -- Docker Engine V20.10.10 -- Docker Compose V1.28.5 +- Access to an Industrial Edge Management (IEM) with onboarded Industrial Edge Device (IED) +- IEM: Installed apps: Databus Configurator, IE App Configuration Service +- IED: Installed apps: Databus, IE Flow Creator -### Further requirements +### Used components -- IED is onboarded to a IEM -- IE Databus Configurator is deployed to the IEM -- IE Configuration Service is deployed to the IEM -- IE Databus is deployed to the IED -- IE Flow Creator is deployed to the IED +- Industrial Edge Management V1.5.2-4 / V1.12.10 + - IE App Configuration Service V1.2.2 + - IE Databus Configurator V2.1.0-3 +- Industrial Edge Device (IED) V1.9.0-27 + - IE Databus V2.1.0-4 + - IE Flow Creator V1.12.0-1 +- Industrial Edge App Publisher V1.10.5 +- Docker Engine V20.10.10 +- Docker Compose V1.29.2 +- Web browser (Chrome) ## Installation -Please refer to the [Installation](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#installation) section of the *Ping Pong in C#* repository on how to build and deploy the application to an IED. Just use the source files from this repository and follow the instructions. +Please refer to the [Installation](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#installation) section of the *Ping Pong in C#* repository on how to build and deploy the application to an IED. Just use the source files from this repository and follow the instructions: - [Build application](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#build-application) - [Configuring the Industrial Edge Databus](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#configuring-the-industrial-edge-databus) - [Create configuration for the application](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#create-configuration-for-the-application) - [Upload the application to the Industrial Edge Management](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#create-configuration-for-the-application) - [Configuring and deploying the application to a Industrial Edge Device](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#configuring-and-deploying-the-application-to-a-industrial-edge-device) -- [Testing the application using Simatic Flow Creator](https://github.com/industrial-edge/pingpong-csharp/blob/main/docs/Installation.md#testing-the-application-using-simatic-flow-creator) ## Usage diff --git a/docker-compose.yml b/docker-compose.yml index 2b86a20..b361f69 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: #### pingpong service #### pingpong_c: build: ./src - image: pingpong_c:1.3.0 + image: pingpong_c:1.4.0 restart: unless-stopped mem_limit: 100mb networks: diff --git a/docs/Overview.png b/docs/Overview.png index 314ef4ff494924a42c5486dabc97e3b186e0261d..9fa09a3c520d813e861957c6edd448cdfe74c912 100644 GIT binary patch literal 40323 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 My85}Sb4q9e09=zq`Tzg` literal 35428 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༷!5-y*`5+%{J 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 diff --git a/docs/PingPongFlow.png b/docs/PingPongFlow.png index 3b2b854f73f8e2955849e986ded0f76a729f5e51..ae0822741c82eb0ee581bfc73b935e0ee7f30c1b 100644 GIT binary patch literal 111825 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

5I6MB} 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 E0?OEMr2qf` diff --git a/src/paho_pingpong.c b/src/paho_pingpong.c index 1c8c61f..6e94548 100755 --- a/src/paho_pingpong.c +++ b/src/paho_pingpong.c @@ -1,326 +1,336 @@ -// Copyright 2020 Siemens AG -// This file is subject to the terms and conditions of the MIT License. -// See LICENSE file in the top-level directory. - -#include -#include -#include -#include "MQTTAsync.h" - -#include -#include - - -#define CLIENTID "CPingPong" -#define QOS 1 -#define TIMEOUT 10000L - -const char *username; -const char *password; -const char *address; -const char *topic1; -const char *topic2; - -volatile MQTTAsync_token deliveredtoken; - -int disc_finished = 0; -int subscribed = 0; -int finished = 0; - -void connlost(void *context, char *cause) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; - int rc; - - printf("\nConnection lost\n"); - if (cause) - printf(" cause: %s\n", cause); - - printf("Reconnecting\n"); - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start connect, return code %d\n", rc); - finished = 1; - } -} - -void onDisconnect(void *context, MQTTAsync_successData *response) -{ - printf("Successful disconnection\n"); - finished = 0; -} -void onSend(void *context, MQTTAsync_successData *response) -{ - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_disconnectOptions opts = MQTTAsync_disconnectOptions_initializer; - int rc; - - printf("Message with token value %d delivery confirmed\n", response->token); - - opts.onSuccess = onDisconnect; - opts.context = client; -} -int msgarrvd(void *context, char *topicName, int topicLen, MQTTAsync_message *message) -{ - - int i; - char *payloadptr; - char payload[255] = ""; - - printf("Message arrived\n"); - printf(" topic: %s\n", topicName); - printf(" message: "); - - payloadptr = message->payload; - for (i = 0; i < message->payloadlen; i++) - { - payload[i] = *payloadptr; - putchar(*payloadptr++); - } - putchar('\n'); - payload[message->payloadlen + 1] = '\n'; - printf("message payload: %s\n", payload); - - //Ping detected - if (strcmp(payload, "Ping") == 0) - { - printf("Ping detected\n"); - - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; - MQTTAsync_message pubmsg = MQTTAsync_message_initializer; - int rc; - printf("Successful connection\n"); - opts.onSuccess = onSend; - opts.context = client; - pubmsg.payload = "Pong"; - pubmsg.payloadlen = (int)strlen(pubmsg.payload); - pubmsg.qos = QOS; - pubmsg.retained = 0; - deliveredtoken = 0; - - if ((rc = MQTTAsync_sendMessage(client, topic2, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start sendMessage, return code %d\n", rc); - exit(EXIT_FAILURE); - } - } - - //Pong detected - if (strcmp(payload, "Pong") == 0) - { - printf("Pong detected\n"); - - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; - MQTTAsync_message pubmsg = MQTTAsync_message_initializer; - int rc; - printf("Successful connection\n"); - opts.onSuccess = onSend; - opts.context = client; - pubmsg.payload = "Ping"; - pubmsg.payloadlen = (int)strlen(pubmsg.payload); - pubmsg.qos = QOS; - pubmsg.retained = 0; - deliveredtoken = 0; - - if ((rc = MQTTAsync_sendMessage(client, topic2, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start sendMessage, return code %d\n", rc); - exit(EXIT_FAILURE); - } - } - - //something else than ping or pong detected - if (strcmp(payload, "Pong") != 0 && strcmp(payload, "Ping") != 0) - { - printf("something else detected detected\n"); - - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; - MQTTAsync_message pubmsg = MQTTAsync_message_initializer; - int rc; - printf("Successful connection\n"); - opts.onSuccess = onSend; - opts.context = client; - pubmsg.payload = "I only answer to Ping or Pong"; - pubmsg.payloadlen = (int)strlen(pubmsg.payload); - pubmsg.qos = QOS; - pubmsg.retained = 0; - deliveredtoken = 0; - - if ((rc = MQTTAsync_sendMessage(client, topic2, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start sendMessage, return code %d\n", rc); - exit(EXIT_FAILURE); - } - } - - MQTTAsync_freeMessage(&message); - MQTTAsync_free(topicName); - return 1; -} - -void onSubscribe(void *context, MQTTAsync_successData *response) -{ - printf("Subscribe succeeded\n"); - subscribed = 1; -} - -void onSubscribeFailure(void *context, MQTTAsync_failureData *response) -{ - printf("Subscribe failed, rc %d\n", response ? response->code : 0); - finished = 1; -} - -void onConnectFailure(void *context, MQTTAsync_failureData *response) -{ - printf("Connect failed, rc %d\n", response ? response->code : 0); - finished = 1; -} - -void onConnect(void *context, MQTTAsync_successData *response) -{ - - MQTTAsync client = (MQTTAsync)context; - MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; - int rc; - - printf("Successful connection\n"); - - printf("Subscribing to topic %s\nfor client %s using QoS%d\n\n" - "Press Q to quit\n\n", - topic1, CLIENTID, QOS); - opts.onSuccess = onSubscribe; - opts.onFailure = onSubscribeFailure; - opts.context = client; - - deliveredtoken = 0; - - if ((rc = MQTTAsync_subscribe(client, topic1, QOS, &opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start subscribe, return code %d\n", rc); - exit(EXIT_FAILURE); - } -} -int cfileexists(const char *filename) -{ - /* try to open file to read */ - FILE *file; - if (file = fopen(filename, "r")) - { - fclose(file); - return 1; - } - return 0; -} - -int main(int argc, char *argv[]) -{ - - size_t i; - - int exist = cfileexists("/cfg-data/mqtt-config.json"); - - if (exist == 1) - { - FILE *fp; - char buffer[1024]; - struct json_object *parsed_json; - struct json_object *j_username; - struct json_object *j_password; - struct json_object *j_address; - struct json_object *j_topic1; - struct json_object *j_topic2; - fp = fopen("/cfg-data/mqtt-config.json", "r"); - fread(buffer, 1024, 1, fp); - fclose(fp); - parsed_json = json_tokener_parse(buffer); - json_object_object_get_ex(parsed_json, "MQTT_USER", &j_username); - json_object_object_get_ex(parsed_json, "MQTT_PASSWORD", &j_password); - json_object_object_get_ex(parsed_json, "MQTT_IP", &j_address); - json_object_object_get_ex(parsed_json, "TOPIC_1", &j_topic1); - json_object_object_get_ex(parsed_json, "TOPIC_2", &j_topic2); - - char address2[] = "tcp://"; - char port[] = ":1883"; - - strcat(address2, json_object_get_string(j_address)); - strcat(address2, port); - - username = json_object_get_string(j_username); - password = json_object_get_string(j_password); - topic1 = json_object_get_string(j_topic1); - topic2 = json_object_get_string(j_topic2); - address = address2; - } - else - { - - address = getenv("MQTT_IP"); - username = getenv("MQTT_USER"); - password = getenv("MQTT_PASSWORD"); - topic1 = getenv("TOPIC_1"); - topic2 = getenv("TOPIC_2"); - } - - printf("ip:%s user:%s pw:%s t1:%s t2_%s", address, username, password, topic1, topic2); - - MQTTAsync client; - MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; - MQTTAsync_disconnectOptions disc_opts = MQTTAsync_disconnectOptions_initializer; - int rc; - int ch; - - MQTTAsync_create(&client, address, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL); - - MQTTAsync_setCallbacks(client, client, connlost, msgarrvd, NULL); - - conn_opts.keepAliveInterval = 20; - conn_opts.cleansession = 1; - conn_opts.onSuccess = onConnect; - conn_opts.onFailure = onConnectFailure; - conn_opts.context = client; - conn_opts.username = username; - conn_opts.password = password; - if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start connect, return code %d\n", rc); - exit(EXIT_FAILURE); - } - - while (!subscribed) -#if defined(WIN32) - Sleep(100); -#else - usleep(10000L); -#endif - - if (finished) - goto exit; - - do - { - ch = getchar(); - } while (ch != 'Q' && ch != 'q'); - - disc_opts.onSuccess = onDisconnect; - if ((rc = MQTTAsync_disconnect(client, &disc_opts)) != MQTTASYNC_SUCCESS) - { - printf("Failed to start disconnect, return code %d\n", rc); - exit(EXIT_FAILURE); - } - while (!disc_finished) -#if defined(WIN32) - Sleep(100); -#else - usleep(10000L); -#endif - -exit: - MQTTAsync_destroy(&client); - return rc; -} +// Copyright 2020 Siemens AG +// This file is subject to the terms and conditions of the MIT License. +// See LICENSE file in the top-level directory. + +#include +#include +#include +#include "MQTTAsync.h" + +#include +#include + + +#define CLIENTID "CPingPong" +#define QOS 1 +#define TIMEOUT 10000L + +char buffer[1024]; +struct json_object *parsed_json; +struct json_object *j_username; +struct json_object *j_password; +struct json_object *j_address; +struct json_object *j_topic1; +struct json_object *j_topic2; + +const char *username; +const char *password; +const char *address; +const char *topic1; +const char *topic2; + +volatile MQTTAsync_token deliveredtoken; + +int disc_finished = 0; +int subscribed = 0; +int finished = 0; + +void connlost(void *context, char *cause) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; + int rc; + + printf("\nConnection lost\n"); + if (cause) + printf(" cause: %s\n", cause); + + printf("Reconnecting\n"); + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start connect, return code %d\n", rc); + finished = 1; + } +} + +void onDisconnect(void *context, MQTTAsync_successData *response) +{ + printf("Successful disconnection\n"); + finished = 0; +} +void onSend(void *context, MQTTAsync_successData *response) +{ + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_disconnectOptions opts = MQTTAsync_disconnectOptions_initializer; + int rc; + + printf("Message with token value %d delivery confirmed\n", response->token); + + opts.onSuccess = onDisconnect; + opts.context = client; +} +int msgarrvd(void *context, char *topicName, int topicLen, MQTTAsync_message *message) +{ + + int i; + char *payloadptr; + char payload[255] = ""; + + printf("Message arrived\n"); + printf(" topic: %s\n", topicName); + printf(" message: "); + + payloadptr = message->payload; + for (i = 0; i < message->payloadlen; i++) + { + payload[i] = *payloadptr; + putchar(*payloadptr++); + } + putchar('\n'); + payload[message->payloadlen + 1] = '\n'; + printf("message payload: %s\n", payload); + + //Ping detected + if (strcmp(payload, "Ping") == 0) + { + printf("Ping detected\n"); + + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; + MQTTAsync_message pubmsg = MQTTAsync_message_initializer; + int rc; + printf("Successful connection\n"); + opts.onSuccess = onSend; + opts.context = client; + pubmsg.payload = "Pong"; + pubmsg.payloadlen = (int)strlen(pubmsg.payload); + pubmsg.qos = QOS; + pubmsg.retained = 0; + deliveredtoken = 0; + + if ((rc = MQTTAsync_sendMessage(client, topic2, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start sendMessage, return code %d\n", rc); + exit(EXIT_FAILURE); + } + } + + //Pong detected + if (strcmp(payload, "Pong") == 0) + { + printf("Pong detected\n"); + + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; + MQTTAsync_message pubmsg = MQTTAsync_message_initializer; + int rc; + printf("Successful connection\n"); + opts.onSuccess = onSend; + opts.context = client; + pubmsg.payload = "Ping"; + pubmsg.payloadlen = (int)strlen(pubmsg.payload); + pubmsg.qos = QOS; + pubmsg.retained = 0; + deliveredtoken = 0; + + if ((rc = MQTTAsync_sendMessage(client, topic2, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start sendMessage, return code %d\n", rc); + exit(EXIT_FAILURE); + } + } + + //something else than ping or pong detected + if (strcmp(payload, "Pong") != 0 && strcmp(payload, "Ping") != 0) + { + printf("something else detected detected\n"); + + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; + MQTTAsync_message pubmsg = MQTTAsync_message_initializer; + int rc; + printf("Successful connection\n"); + opts.onSuccess = onSend; + opts.context = client; + pubmsg.payload = "I only answer to Ping or Pong"; + pubmsg.payloadlen = (int)strlen(pubmsg.payload); + pubmsg.qos = QOS; + pubmsg.retained = 0; + deliveredtoken = 0; + + if ((rc = MQTTAsync_sendMessage(client, topic2, &pubmsg, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start sendMessage, return code %d\n", rc); + exit(EXIT_FAILURE); + } + } + + MQTTAsync_freeMessage(&message); + MQTTAsync_free(topicName); + return 1; +} + +void onSubscribe(void *context, MQTTAsync_successData *response) +{ + printf("Subscribe succeeded\n"); + subscribed = 1; +} + +void onSubscribeFailure(void *context, MQTTAsync_failureData *response) +{ + printf("Subscribe failed, rc %d\n", response ? response->code : 0); + finished = 1; +} + +void onConnectFailure(void *context, MQTTAsync_failureData *response) +{ + printf("Connect failed, rc %d\n", response ? response->code : 0); + finished = 1; +} + +void onConnect(void *context, MQTTAsync_successData *response) +{ + + MQTTAsync client = (MQTTAsync)context; + MQTTAsync_responseOptions opts = MQTTAsync_responseOptions_initializer; + int rc; + + printf("Successful connection\n"); + + printf("Subscribing to topic %s\nfor client %s using QoS%d\n\n" + "Press Q to quit\n\n", + topic1, CLIENTID, QOS); + opts.onSuccess = onSubscribe; + opts.onFailure = onSubscribeFailure; + opts.context = client; + + deliveredtoken = 0; + + if ((rc = MQTTAsync_subscribe(client, topic1, QOS, &opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start subscribe, return code %d\n", rc); + exit(EXIT_FAILURE); + } +} +int cfileexists(const char *filename) +{ + /* try to open file to read */ + FILE *file; + if (file = fopen(filename, "r")) + { + fclose(file); + return 1; + } + return 0; +} + +int main(int argc, char *argv[]) +{ + printf("\n"); + printf("Starting pingpong app...\n"); + + size_t i; + + int exist = cfileexists("/cfg-data/mqtt-config.json"); + + if (exist == 1) + { + printf("Reading parameters from configuration file\n"); + + FILE *fp; + + fp = fopen("/cfg-data/mqtt-config.json", "r"); + fread(buffer, 1024, 1, fp); + fclose(fp); + + parsed_json = json_tokener_parse(buffer); + json_object_object_get_ex(parsed_json, "MQTT_USER", &j_username); + json_object_object_get_ex(parsed_json, "MQTT_PASSWORD", &j_password); + json_object_object_get_ex(parsed_json, "MQTT_IP", &j_address); + json_object_object_get_ex(parsed_json, "TOPIC_1", &j_topic1); + json_object_object_get_ex(parsed_json, "TOPIC_2", &j_topic2); + + char address2[50] = "tcp://"; + char port[] = ":1883"; + + strcat(address2, json_object_get_string(j_address)); + strcat(address2, port); + + username = json_object_get_string(j_username); + password = json_object_get_string(j_password); + topic1 = json_object_get_string(j_topic1); + topic2 = json_object_get_string(j_topic2); + address = address2; + } + else + { + printf("Reading parameters from environment variables\n"); + + address = getenv("MQTT_IP"); + username = getenv("MQTT_USER"); + password = getenv("MQTT_PASSWORD"); + topic1 = getenv("TOPIC_1"); + topic2 = getenv("TOPIC_2"); + } + + printf("ip:%s user:%s pw:%s t1:%s t2_%s", address, username, password, topic1, topic2); + + printf("Create client instance\n"); + + MQTTAsync client; + MQTTAsync_connectOptions conn_opts = MQTTAsync_connectOptions_initializer; + MQTTAsync_disconnectOptions disc_opts = MQTTAsync_disconnectOptions_initializer; + int rc; + int ch; + + MQTTAsync_create(&client, address, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL); + + MQTTAsync_setCallbacks(client, client, connlost, msgarrvd, NULL); + + conn_opts.keepAliveInterval = 20; + conn_opts.cleansession = 1; + conn_opts.onSuccess = onConnect; + conn_opts.onFailure = onConnectFailure; + conn_opts.context = client; + conn_opts.username = username; + conn_opts.password = password; + if ((rc = MQTTAsync_connect(client, &conn_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start connect, return code %d\n", rc); + exit(EXIT_FAILURE); + } + + while (!subscribed) +#if defined(WIN32) + Sleep(100); +#else + usleep(10000L); +#endif + + if (finished) + goto exit; + + do + { + ch = getchar(); + } while (ch != 'Q' && ch != 'q'); + + disc_opts.onSuccess = onDisconnect; + if ((rc = MQTTAsync_disconnect(client, &disc_opts)) != MQTTASYNC_SUCCESS) + { + printf("Failed to start disconnect, return code %d\n", rc); + exit(EXIT_FAILURE); + } + while (!disc_finished) +#if defined(WIN32) + Sleep(100); +#else + usleep(10000L); +#endif + +exit: + MQTTAsync_destroy(&client); + return rc; +} \ No newline at end of file