Files
goodgarden/src/py/script/soil_electric_conductivity_events.py
2024-04-03 14:08:30 +02:00

25 lines
1.4 KiB
Python

# De json module wordt geïmporteerd om te werken met JSON-geformatteerde data.
import json
# Van de paho.mqtt bibliotheek wordt de subscribe module geïmporteerd.
# Deze module stelt ons in staat om ons te abonneren op MQTT-topics en berichten te ontvangen.
from paho.mqtt import subscribe
# Definitie van de functie on_message die wordt aangeroepen wanneer een bericht wordt ontvangen.
def on_message(client, userdata, message):
# De payload van het bericht, dat in bytes is, wordt gedecodeerd naar een UTF-8 string.
payload_str = message.payload.decode("utf-8")
# De gedecodeerde string, die in JSON-formaat is, wordt omgezet naar een Python dictionary.
data = json.loads(payload_str)
# Een bericht wordt geprint naar de console met de informatie over het ontvangen bericht.
print(f"Message received on topic {message.topic}: {data}")
# Dit blok zorgt ervoor dat de volgende code alleen uitgevoerd wordt als dit script direct wordt uitgevoerd.
if __name__ == "__main__":
# Het MQTT-topic waarop het script zich abonneert, gerelateerd aan de elektrische geleidbaarheid van de bodem.
topic = "goodgarden/soil_electric_conductivity"
# De subscribe.callback functie wordt aangeroepen met de on_message functie als callback.
# Dit start het proces van luisteren naar berichten op het gespecificeerde topic.
subscribe.callback(on_message, topic)