ProcessMQTT
This commit is contained in:
29
main.cpp
29
main.cpp
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user