diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 5a21f97..2b89cac 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -15,13 +15,25 @@ RUN set -eux; \ libmicrohttpd-dev \ libcurl4-openssl-dev \ zlib1g-dev \ - prometheus-cpp-dev + prometheus-cpp-dev \ + nlohmann-json3-dev + RUN set -eux; \ apt-get update; \ apt-get install -y \ libpaho-mqtt-dev +RUN set -eux; \ + git clone https://github.com/eclipse/paho.mqtt.cpp.git; \ + cd paho.mqtt.cpp; \ + git submodule init; \ + git submodule update; \ + mkdir build && cd build; \ + cmake -DPAHO_WITH_MQTT_C=ON ..; \ + cmake --build . --target install; \ + ldconfig; + RUN set -eux; \ apt-get update; \ apt-get install -y \ diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a2b47a..73b9cd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,6 +34,7 @@ find_library(NCURSESW_LIB ncursesw REQUIRED) find_library(RABBITMQ_LIB rabbitmq REQUIRED) # Paho MQTT C client +find_library(PAHO_MQTTPP3_LIB paho-mqttpp3 REQUIRED) find_library(PAHO_MQTT3C_LIB paho-mqtt3c REQUIRED) # ------------------------------- @@ -53,5 +54,6 @@ target_link_libraries(geii_exporter ${Z_LIB} ${NCURSESW_LIB} ${RABBITMQ_LIB} - ${PAHO_MQTT3C_LIB} + ${PAHO_MQTT3C_LIB} # dépendance C + ${PAHO_MQTTPP3_LIB} # lib C++ ) diff --git a/main.cpp b/main.cpp index 1c061b4..4531d68 100644 --- a/main.cpp +++ b/main.cpp @@ -12,6 +12,23 @@ #include #include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#undef timeout +#include "mqtt/async_client.h" + +using namespace std::chrono_literals; + // Constantes de fonctionnement #define LEVEL_MIN 2 #define FLOW_PER_PUMP 150