Files
c_pompes/main-mqtt.cpp
2025-12-03 21:44:16 +01:00

44 lines
1.2 KiB
C++

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MQTTClient.h"
#define ADDRESS "tcp://localhost:1883"
#define CLIENTID "CClientExample"
#define TOPIC "test/topic"
#define PAYLOAD "Hello MQTT"
#define QOS 1
#define TIMEOUT 10000L
int main() {
MQTTClient client;
MQTTClient_create(&client, ADDRESS, CLIENTID, MQTTCLIENT_PERSISTENCE_NONE, NULL);
MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;
conn_opts.keepAliveInterval = 20;
conn_opts.cleansession = 1;
int rc;
if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) {
printf("Échec de connexion, code %d\n", rc);
return EXIT_FAILURE;
}
MQTTClient_message pubmsg = MQTTClient_message_initializer;
pubmsg.payload = (void*)PAYLOAD;
pubmsg.payloadlen = strlen(PAYLOAD);
pubmsg.qos = QOS;
pubmsg.retained = 0;
MQTTClient_deliveryToken token;
MQTTClient_publishMessage(client, TOPIC, &pubmsg, &token);
MQTTClient_waitForCompletion(client, token, TIMEOUT);
printf("Message publié !\n");
MQTTClient_disconnect(client, 10000);
MQTTClient_destroy(&client);
return EXIT_SUCCESS;
}