From b953225a4b347c7eaf198e2cebb08d5ef9eeb023 Mon Sep 17 00:00:00 2001 From: mohammedcifci78 Date: Fri, 9 Feb 2024 11:46:55 +0100 Subject: [PATCH] nietswerkt(nogfixed) --- goodGarden.sql | 13 +++++++------ index.py | 33 +++++++++++++++++++-------------- updatedata.sql | 2 ++ 3 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 updatedata.sql diff --git a/goodGarden.sql b/goodGarden.sql index 06d9991..1345a38 100644 --- a/goodGarden.sql +++ b/goodGarden.sql @@ -1,16 +1,17 @@ -DROP DATABASE IF EXISTS goodgarden; -CREATE DATABASE goodgarden; +CREATE DATABASE IF NOT EXISTS goodgarden; +USE goodgarden; -CREATE TABLE goodgarden.sensor_data ( +CREATE TABLE IF NOT EXISTS goodgarden.sensor_data ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, timestamp INT, gateway_receive_time VARCHAR(50), device INT, - value DECIMAL(10, 5), + value DECIMAL(12, 8), -- Aangepaste precisie naar DECIMAL(12, 8) PRIMARY KEY (id) ); -- Invoegen van gegevens in de 'sensor_data'-tabel INSERT INTO goodgarden.sensor_data (timestamp, gateway_receive_time, device, value) -VALUES (1707295162, '2024-02-07T08:39:22Z', 256, 4.107448101043701), - (1707261284, '2024-02-06T23:14:44Z', 322, 4.111111164093018); +VALUES + (1707295162, '2024-02-07T08:39:22Z', 256, 4.107448101043701), + (1707261284, '2024-02-06T23:14:44Z', 322, 4.111111164093018); diff --git a/index.py b/index.py index d7be32e..0f1db17 100644 --- a/index.py +++ b/index.py @@ -2,14 +2,14 @@ import mysql.connector import requests import time -def gegevens_ophalen_en_database_bijwerken(): - # API-verzoek - url = "https://garden.inajar.nl/api/battery_voltage_events/?format=json" - headers = { - "Authorization": "Token 33bb3b42452306c58ecedc3c86cfae28ba22329c" - } - +while True: try: + # API-verzoek + url = "https://garden.inajar.nl/api/battery_voltage_events/?format=json" + headers = { + "Authorization": "Token 33bb3b42452306c58ecedc3c86cfae28ba22329c" + } + response = requests.get(url, headers=headers) response.raise_for_status() @@ -39,9 +39,13 @@ def gegevens_ophalen_en_database_bijwerken(): device = entry.get("device") value = entry.get("value") - # Veronderstel dat de kolommen van de 'sensor_data'-tabel timestamp, gateway_receive_time, device, en value zijn - sql_update_query = f"INSERT INTO goodgarden.sensor_data (timestamp, gateway_receive_time, device, value) VALUES ({timestamp}, '{gateway_receive_time}', {device}, {value})" - cursor.execute(sql_update_query) + # Gebruik van prepared statements om SQL-injectie te voorkomen + sql_update_query = ( + "UPDATE goodgarden.sensor_data " + "SET timestamp=%s, gateway_receive_time=%s, device=%s " + "WHERE value=%s" + ) + cursor.execute(sql_update_query, (timestamp, gateway_receive_time, device, value)) connection.commit() print("Database succesvol bijgewerkt") @@ -55,7 +59,8 @@ def gegevens_ophalen_en_database_bijwerken(): connection.close() print("MySQL-verbinding is gesloten") -# Zet een timer op om de functie elke 10 minuten uit te voeren -while True: - gegevens_ophalen_en_database_bijwerken() - time.sleep(60) # 600 seconden = 10 minuten + # Voeg deze regel toe binnen de while-loop + print("Aantal gegevens uit de API:", len(data)) + + # Voeg een pauze toe van 10 minuten voordat de lus opnieuw wordt uitgevoerd + time.sleep(600) diff --git a/updatedata.sql b/updatedata.sql new file mode 100644 index 0000000..21cc3cd --- /dev/null +++ b/updatedata.sql @@ -0,0 +1,2 @@ +USE goodgarden; +ALTER TABLE goodgarden.sensor_data MODIFY COLUMN value DECIMAL(12, 2);