ProcessMQTT

This commit is contained in:
2025-12-07 16:04:44 +01:00
parent 9d29b94a96
commit 70aa2687d0
4 changed files with 197 additions and 4 deletions

View File

@@ -109,14 +109,26 @@ int main()
Actions();
ProcessPrometheus();
ProcessMQTT(&client);
ProcessException();
usleep(100000);
}
endwin(); // Termine ncurses et rétablit le terminal
puts("Fin du programme");
/* Arrêt */
try {
client.unsubscribe(TOPIC)->wait();
client.stop_consuming();
client.disconnect()->wait();
} catch(const mqtt::exception &exc){
std::cerr << "Erreur déconnexion MQTT: " << exc.what() << "\n";
}
//th_machine.join();
std::cout << "[MAIN] Terminé\n";
return 0;
}
@@ -859,6 +871,19 @@ void InitPrometheus()
tank_histogram = &hist_volume.Add({}, buckets);
}
void ProcessMQTT(mqtt::async_client* client)
{
std::string payload = R"({
"order": "STATUS",
"speed": 120,
"temperature": 36.1
})";
auto msg = mqtt::make_message("geii/telemetry", payload);
msg->set_qos(1);
client->publish(msg);
}
void ProcessPrometheus()
{
tank_gauge->Set(_digital[IN_TANK_LEVEL].dvalue);