SCHOON
This commit is contained in:
@@ -1,17 +1,8 @@
|
||||
import mysql.connector
|
||||
import requests
|
||||
from datetime import datetime, timezone, timedelta
|
||||
import time
|
||||
import sys
|
||||
|
||||
# Function to make a connection to the database
|
||||
def database_connect():
|
||||
return mysql.connector.connect(
|
||||
host="localhost",
|
||||
user="root",
|
||||
password="",
|
||||
database="goodgarden"
|
||||
)
|
||||
from db_connect import database_connect
|
||||
|
||||
# Functie voor het aanmaken van gegevens in de database
|
||||
def create_data(url, access_token, repeat_count=5):
|
||||
@@ -197,7 +188,7 @@ def delete_data(record_id):
|
||||
|
||||
if __name__ == "__main__":
|
||||
url = "https://garden.inajar.nl/api/battery_voltage_events/?format=json"
|
||||
access_token = "33bb3b42452306c58ecedc3c86cfae28ba22329c" # Vervang dit door je werkelijke toegangstoken
|
||||
access_token = "33bb3b42452306c58ecedc3c86cfae28ba22329c"
|
||||
|
||||
# Je kunt repeat_count wijzigen om te bepalen hoe vaak je de bewerking wilt herhalen
|
||||
repeat_count = 10
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# 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.
|
||||
|
||||
@@ -1,34 +1,26 @@
|
||||
import sys
|
||||
import json
|
||||
import mysql.connector #** TYPE IN TERMINAL: "pip install mysql-connector-python"
|
||||
|
||||
from db_connect import database_connect
|
||||
from mysql.connector import Error
|
||||
|
||||
# Voeg de data uit het formulier toe aan de database
|
||||
def insert_plant_name(plant_naam, plantensoort, plant_geteelt):
|
||||
|
||||
# Als er "true" is meegeven als waarde dan komt in de database 1 anders 0 (false)
|
||||
# Als er "true" is meegegeven als waarde dan komt in de database 1 anders 0 (false)
|
||||
plant_geteelt_value = 1 if plant_geteelt.lower() == "true" else 0
|
||||
|
||||
try:
|
||||
connection = mysql.connector.connect(
|
||||
host='localhost',
|
||||
database='goodgarden',
|
||||
user='root',
|
||||
password=''
|
||||
)
|
||||
# Gebruik de verbinding die teruggegeven wordt door de database_connect functie uit de db_connect module
|
||||
connection = database_connect()
|
||||
|
||||
# Als er verbinding gemaakt kan worden voer dan onderstaande query uit
|
||||
if connection.is_connected():
|
||||
|
||||
# De crusor() zorgt ervoor dat er een verbinding met de database gelegt kan worden en de data gemanipuleerd
|
||||
cursor = connection.cursor()
|
||||
query = "INSERT INTO goodgarden.planten (plant_naam, plantensoort, plant_geteelt) VALUES (%s, %s, %s)"
|
||||
cursor.execute(query, (plant_naam, plantensoort, plant_geteelt_value)) # "%s" wordt hier ingevuld doormiddel van de variable (parameter)
|
||||
connection.commit()
|
||||
print(json.dumps({"success": True}))
|
||||
|
||||
else:
|
||||
print(json.dumps({"success": False, "error": "Database connection failed"}))
|
||||
# Je kunt de controle of de verbinding succesvol is rechtstreeks in de database_connect functie uitvoeren
|
||||
# De cursor() zorgt ervoor dat er een verbinding met de database gelegd kan worden en de data gemanipuleerd
|
||||
cursor = connection.cursor()
|
||||
query = "INSERT INTO goodgarden.planten (plant_naam, plantensoort, plant_geteelt) VALUES (%s, %s, %s)"
|
||||
cursor.execute(query, (plant_naam, plantensoort, plant_geteelt_value)) # "%s" wordt hier ingevuld doormiddel van de variable (parameter)
|
||||
connection.commit()
|
||||
print(json.dumps({"success": True}))
|
||||
|
||||
except Error as e:
|
||||
print(json.dumps({"success": False, "error": str(e)}))
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import json
|
||||
|
||||
from db_connect import database_connect
|
||||
from paho.mqtt import subscribe
|
||||
|
||||
|
||||
14
src/py/script/json/plants.json
Normal file
14
src/py/script/json/plants.json
Normal file
@@ -0,0 +1,14 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"plant_naam": "Tomatenplant",
|
||||
"plantensoort": "Groente",
|
||||
"plant_geteelt": 1
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"plant_naam": "ergerg",
|
||||
"plantensoort": "ergerwgergerg",
|
||||
"plant_geteelt": 1
|
||||
}
|
||||
]
|
||||
@@ -1,4 +1,3 @@
|
||||
# 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.
|
||||
@@ -11,23 +10,6 @@ def on_message(client, userdata, message):
|
||||
# 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.
|
||||
@@ -35,4 +17,4 @@ if __name__ == "__main__":
|
||||
# Definieer het topic waarop geabonneerd wordt.
|
||||
topic = "goodgarden/par_events"
|
||||
# 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)
|
||||
subscribe.callback(on_message, topic)
|
||||
@@ -1,17 +1,8 @@
|
||||
# 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
|
||||
|
||||
# Functie om een verbinding met de database te maken.
|
||||
def database_connect():
|
||||
return mysql.connector.connect(
|
||||
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.
|
||||
)
|
||||
from db_connect import database_connect # Gebruik deze geïmporteerde functie
|
||||
|
||||
# Functie om het absolute pad van de huidige directory te krijgen.
|
||||
def get_current_directory():
|
||||
@@ -33,7 +24,7 @@ def fetch_plant_and_write_to_json():
|
||||
# Verkrijg het absolute pad van de huidige directory.
|
||||
current_directory = get_current_directory()
|
||||
# Construeer het absolute pad voor het JSON-bestand.
|
||||
json_file_path = os.path.join(current_directory, 'plants.json')
|
||||
json_file_path = os.path.join(current_directory, './json/plants.json')
|
||||
|
||||
# Schrijf de opgehaalde gegevens naar een JSON-bestand.
|
||||
with open(json_file_path, 'w') as json_file:
|
||||
@@ -41,13 +32,13 @@ def fetch_plant_and_write_to_json():
|
||||
|
||||
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)
|
||||
print(f"Error fetching data from MySQL table: {error}")
|
||||
|
||||
finally:
|
||||
# Sluit de cursor en de verbinding, indien ze bestaan.
|
||||
if 'cursor' in locals():
|
||||
cursor.close()
|
||||
if connection.is_connected():
|
||||
if connection and connection.is_connected():
|
||||
connection.close()
|
||||
|
||||
# Roept de functie aan om gegevens op te halen en naar JSON te schrijven.
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"plant_naam": "Tomatenplant",
|
||||
"plantensoort": "Groente",
|
||||
"plant_geteelt": 1
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"plant_naam": "Sla",
|
||||
"plantensoort": "Groente",
|
||||
"plant_geteelt": 1
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"plant_naam": "Aardappel",
|
||||
"plantensoort": "Groente",
|
||||
"plant_geteelt": 1
|
||||
}
|
||||
]
|
||||
@@ -1,4 +1,3 @@
|
||||
# Importeer de json module voor het werken met JSON data.
|
||||
import json
|
||||
|
||||
# Importeer de subscribe functie uit de paho.mqtt module voor MQTT-communicatie.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# 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.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# 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.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# 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.
|
||||
|
||||
Reference in New Issue
Block a user