25 lines
1.4 KiB
Python
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)
|