group mesage with csv

This commit is contained in:
Hristo Jelev
2020-05-03 19:57:37 +03:00
parent f768e9643a
commit 7d305c5908
4 changed files with 89 additions and 31 deletions

View File

@@ -1,5 +1,21 @@
# MQTT server configuration
mqtt_host = "192.168.0.13"
mqtt_user = "user"
mqtt_password = "password"
mqtt_port = "1883"
mqtt_topic_prefix = "topic"
mqtt_topic_prefix = "rpi-MQTT-monitor"
# Messages configuration
# If this is send to True the script will send just one message containing all values
group_messages = True
# This is the time between sending the indivudual messages
sleep_time = 0.5
cpu_load = True
cpu_temp = True
used_space = True
voltage = True
sys_clock_speed = True
swap = True
memory = True

View File

@@ -89,23 +89,18 @@ def publish_to_mqtt (cpu_load = 0, cpu_temp = 0, used_space = 0, voltage = 0, sy
client.disconnect()
def bulk_publish_to_mqtt (cpu_load = 0, cpu_temp = 0, used_space = 0, voltage = 0, sys_clock_speed = 0, swap = 0, memory = 0):
# compose the json message containing the measured values
values = {}
values['cpu_load'] = str(cpu_load)
values['cpu_temp'] = str(cpu_temp)
values['used_space'] = str(used_space)
values['voltage'] = str(voltage)
values['sys_clock_speed'] = str(sys_clock_speed)
values['swap'] = str(swap)
values['memory'] = str(memory)
print(values)
# compose the CSV message containing the measured values
values = cpu_load, float(cpu_temp), used_space, float(voltage), int(sys_clock_speed), swap, memory
values = str(values)[1:-1]
# connect to mqtt server
client = paho.Client()
client.username_pw_set(config.mqtt_user, config.mqtt_password)
client.connect(config.mqtt_host, config.mqtt_port)
# publish monitored values to MQTT
client.publish(config.mqtt_topic_prefix+"/"+hostname, str(values), qos=1)
client.publish(config.mqtt_topic_prefix+"/"+hostname, values, qos=1)
# disconect from mqtt server
client.disconnect()