Doc gemaakt voor scripts
This commit is contained in:
@@ -214,6 +214,7 @@ if __name__ == "__main__":
|
||||
# Update gegevens
|
||||
record_id = int(input("Enter record ID to update: "))
|
||||
# Call the update_data function without additional arguments
|
||||
# Roep de update_data function aan zonder arguments
|
||||
update_data(record_id)
|
||||
elif operation_choice == "D":
|
||||
# Verwijder gegevens
|
||||
|
||||
@@ -1,19 +1,26 @@
|
||||
# Importeer de mysql.connector module en Error klasse uit deze module.
|
||||
import mysql.connector
|
||||
from mysql.connector import Error
|
||||
|
||||
# Definieer een functie genaamd `database_connect` om verbinding te maken met de database.
|
||||
def database_connect():
|
||||
try:
|
||||
# Maak een verbinding met de MySQL database.
|
||||
# Specificeer de database credentials en de database naam.
|
||||
connection = mysql.connector.connect(
|
||||
host="localhost",
|
||||
user="root",
|
||||
password="",
|
||||
database="goodgarden"
|
||||
host="localhost", # De hostnaam waar de database draait, in dit geval lokaal.
|
||||
user="root", # De gebruikersnaam voor de database.
|
||||
password="", # Het wachtwoord voor de gebruiker, leeg in dit geval.
|
||||
database="goodgarden" # De naam van de database waarmee je wilt verbinden.
|
||||
)
|
||||
# Controleer of de verbinding succesvol is opgezet.
|
||||
if connection.is_connected():
|
||||
# Als de verbinding succesvol is, retourneer het verbinding object.
|
||||
# De print statement is uitgecommentarieerd, maar kan worden gebruikt voor debuggen.
|
||||
# print("Connection gelukt!")
|
||||
return connection
|
||||
except Error as e:
|
||||
# Als er een fout optreedt bij het maken van de verbinding, vang deze dan op en print een foutbericht.
|
||||
print(f"Connection NIET gelukt! ${e}")
|
||||
return None
|
||||
|
||||
# database_connect()
|
||||
# Als de verbinding niet succesvol was, retourneer None.
|
||||
return None
|
||||
@@ -49,9 +49,6 @@ def on_message(client, userdata, message):
|
||||
|
||||
print(f"\033[92mMessage received on topic\033[0m {message.topic}: {data}")
|
||||
|
||||
# def berekenAlgo(data):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
topic = "goodgarden/devices"
|
||||
subscribe.callback(on_message, topic)
|
||||
@@ -1,25 +1,38 @@
|
||||
# Importeer de json module om met JSON data te werken.
|
||||
import json
|
||||
|
||||
# Importeer de subscribe module van paho.mqtt om te abonneren op MQTT topics.
|
||||
from paho.mqtt import subscribe
|
||||
|
||||
# Definieer een callback functie die wordt aangeroepen wanneer een bericht wordt ontvangen.
|
||||
def on_message(client, userdata, message):
|
||||
# Decodeer het bericht payload van bytes naar een string met UTF-8 encoding.
|
||||
payload_str = message.payload.decode("utf-8")
|
||||
# Laad de JSON string in een Python dictionary.
|
||||
data = json.loads(payload_str)
|
||||
|
||||
# Initialiseer variabelen om de waarden van de apparaten op te slaan.
|
||||
device_322_value = None
|
||||
device_256_value = None
|
||||
|
||||
# Doorloop de "results" key in de data dictionary.
|
||||
for key in data["results"]:
|
||||
# Controleer of de "device" key overeenkomt met device 322 of 256 en sla de waarde op.
|
||||
if key["device"] == 322:
|
||||
device_322_value = key["value"]
|
||||
elif key["device"] == 256:
|
||||
device_256_value = key["value"]
|
||||
|
||||
# Print de waarden van beide apparaten.
|
||||
print(f"Device 322 value: {device_322_value}")
|
||||
print(f"Device 256 value: {device_256_value}")
|
||||
|
||||
# Print het volledige bericht dat ontvangen is op het abonnementstopic.
|
||||
print(f"Message received on topic {message.topic}: {data}")
|
||||
|
||||
# Dit blok zorgt ervoor dat de code alleen wordt uitgevoerd als dit script rechtstreeks wordt uitgevoerd.
|
||||
if __name__ == "__main__":
|
||||
# Definieer het topic waarop geabonneerd wordt.
|
||||
topic = "goodgarden/par_events"
|
||||
subscribe.callback(on_message, topic)
|
||||
# Roep de subscribe.callback functie aan met de on_message functie als callback om te luisteren naar berichten op het gespecificeerde topic.
|
||||
subscribe.callback(on_message, topic)
|
||||
|
||||
@@ -1,51 +1,54 @@
|
||||
# Importeer de json en mysql.connector modules voor het werken met JSON data en MySQL databases.
|
||||
# Importeer ook os voor bestandssysteem operaties.
|
||||
import json
|
||||
import mysql.connector
|
||||
import os
|
||||
|
||||
# Function to make a connection to the database
|
||||
# Functie om een verbinding met de database te maken.
|
||||
def database_connect():
|
||||
return mysql.connector.connect(
|
||||
host="localhost",
|
||||
user="root",
|
||||
password="",
|
||||
database="goodgarden"
|
||||
host="localhost", # De server waar de database draait.
|
||||
user="root", # De gebruikersnaam om in te loggen op de database.
|
||||
password="", # Het wachtwoord voor de gebruiker.
|
||||
database="goodgarden" # De naam van de database waarmee verbinding moet worden gemaakt.
|
||||
)
|
||||
|
||||
# Function to get the absolute path of the current directory
|
||||
# Functie om het absolute pad van de huidige directory te krijgen.
|
||||
def get_current_directory():
|
||||
return os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
# Functie om plantgegevens uit de database te halen en naar een JSON-bestand te schrijven.
|
||||
def fetch_plant_and_write_to_json():
|
||||
# Establish a database connection
|
||||
# Maak verbinding met de database.
|
||||
connection = database_connect()
|
||||
|
||||
try:
|
||||
cursor = connection.cursor(dictionary=True) # To fetch rows as dictionaries
|
||||
# Execute the query to fetch data
|
||||
# Maak een cursorobject aan met dictionary=True om rijen als woordenboeken op te halen.
|
||||
cursor = connection.cursor(dictionary=True)
|
||||
# Voer de SQL-query uit om gegevens op te halen.
|
||||
cursor.execute("SELECT id, plant_naam, plantensoort, plant_geteelt FROM planten")
|
||||
# Fetch all rows
|
||||
# Haal alle rijen op.
|
||||
plants = cursor.fetchall()
|
||||
|
||||
# Get the absolute path of the current directory
|
||||
# Verkrijg het absolute pad van de huidige directory.
|
||||
current_directory = get_current_directory()
|
||||
# Construct the absolute path for the JSON file
|
||||
# Construeer het absolute pad voor het JSON-bestand.
|
||||
json_file_path = os.path.join(current_directory, 'plants.json')
|
||||
|
||||
# Write fetched data to JSON file
|
||||
# Schrijf de opgehaalde gegevens naar een JSON-bestand.
|
||||
with open(json_file_path, 'w') as json_file:
|
||||
json.dump(plants, json_file, indent=4)
|
||||
|
||||
except mysql.connector.Error as error:
|
||||
# Print de fout als er iets misgaat bij het ophalen van de gegevens.
|
||||
print("Error fetching data from MySQL table:", error)
|
||||
|
||||
finally:
|
||||
# Close cursor and connection
|
||||
# Sluit de cursor en de verbinding, indien ze bestaan.
|
||||
if 'cursor' in locals():
|
||||
cursor.close()
|
||||
if connection.is_connected():
|
||||
connection.close()
|
||||
|
||||
# Call the function to fetch data and write to JSON
|
||||
fetch_plant_and_write_to_json()
|
||||
# if __name__ == "__main__":
|
||||
# fetch_plant_and_write_to_json()
|
||||
# Roept de functie aan om gegevens op te halen en naar JSON te schrijven.
|
||||
fetch_plant_and_write_to_json()
|
||||
@@ -1,13 +1,22 @@
|
||||
# Importeer de json module voor het werken met JSON data.
|
||||
import json
|
||||
|
||||
# Importeer de subscribe functie uit de paho.mqtt module voor MQTT-communicatie.
|
||||
from paho.mqtt import subscribe
|
||||
|
||||
# Definieer een callback functie die wordt aangeroepen wanneer een bericht wordt ontvangen.
|
||||
def on_message(client, userdata, message):
|
||||
# Decodeer de berichtpayload van bytes naar een UTF-8 gecodeerde string.
|
||||
payload_str = message.payload.decode("utf-8")
|
||||
# Converteer de JSON string naar een Python dictionary.
|
||||
data = json.loads(payload_str)
|
||||
|
||||
# Print een bericht uit met de ontvangen data en het topic waarop het bericht is ontvangen.
|
||||
print(f"Message received on topic {message.topic}: {data}")
|
||||
|
||||
# Het hoofdgedeelte van het script wordt alleen uitgevoerd als dit script als hoofdscript wordt gedraaid.
|
||||
if __name__ == "__main__":
|
||||
# Specificeer het MQTT-topic waarop geabonneerd moet worden.
|
||||
topic = "goodgarden/relative_humidity"
|
||||
subscribe.callback(on_message, topic)
|
||||
# Abonneer op het opgegeven topic en roep de on_message functie aan als callback voor ontvangen berichten.
|
||||
subscribe.callback(on_message, topic)
|
||||
|
||||
@@ -1,13 +1,24 @@
|
||||
# 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"
|
||||
subscribe.callback(on_message, topic)
|
||||
# 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)
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
# Importeer de json module om te werken met JSON data.
|
||||
import json
|
||||
|
||||
# Importeer de subscribe functie van paho.mqtt om te abonneren op MQTT berichten.
|
||||
from paho.mqtt import subscribe
|
||||
|
||||
# Definieer een functie die wordt aangeroepen wanneer een bericht wordt ontvangen op het gespecificeerde MQTT topic.
|
||||
def on_message(client, userdata, message):
|
||||
# Decodeer de berichtpayload van bytes naar een UTF-8 string.
|
||||
payload_str = message.payload.decode("utf-8")
|
||||
# Laad de JSON string in een Python dictionary om gemakkelijk met de data te kunnen werken.
|
||||
data = json.loads(payload_str)
|
||||
|
||||
# Print een bericht uit met de topicnaam en de ontvangen data.
|
||||
print(f"Message received on topic {message.topic}: {data}")
|
||||
|
||||
# Het hoofdscript dat wordt uitgevoerd wanneer dit bestand direct wordt gerund.
|
||||
if __name__ == "__main__":
|
||||
# Specificeer het MQTT-topic waarop we willen abonneren. In dit geval luisteren we naar data over de relatieve permittiviteit van de bodem.
|
||||
topic = "goodgarden/soil_relative_permittivity"
|
||||
subscribe.callback(on_message, topic)
|
||||
# Roep de subscribe.callback functie aan met de on_message functie als argument. Dit zorgt ervoor dat we voortdurend luisteren naar berichten op het gegeven topic.
|
||||
subscribe.callback(on_message, topic)
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
# Importeer de json module om te werken met JSON-geformatteerde data.
|
||||
import json
|
||||
|
||||
# Importeer de subscribe functie van de paho.mqtt bibliotheek voor MQTT communicatie.
|
||||
from paho.mqtt import subscribe
|
||||
|
||||
# Definieer de on_message functie die wordt uitgevoerd wanneer een bericht wordt ontvangen.
|
||||
def on_message(client, userdata, message):
|
||||
# Decodeer de payload van het bericht van bytes naar een UTF-8 gecodeerde string.
|
||||
payload_str = message.payload.decode("utf-8")
|
||||
# Converteer de JSON string naar een Python dictionary om het gemakkelijker te verwerken.
|
||||
data = json.loads(payload_str)
|
||||
|
||||
# Print de ontvangen data samen met het topic waarop het bericht is ontvangen.
|
||||
print(f"Message received on topic {message.topic}: {data}")
|
||||
|
||||
# Het hoofdgedeelte van het script dat wordt uitgevoerd als het script direct wordt aangeroepen.
|
||||
if __name__ == "__main__":
|
||||
# Definieer het MQTT-topic waarop we willen abonneren, in dit geval bodemtemperatuur.
|
||||
topic = "goodgarden/soil_temperature"
|
||||
subscribe.callback(on_message, topic)
|
||||
# Start het abonneren op het opgegeven topic met de on_message functie als de callback.
|
||||
subscribe.callback(on_message, topic)
|
||||
|
||||
Reference in New Issue
Block a user