devices GEEN IDEE!

This commit is contained in:
Atilla
2024-04-02 11:23:40 +02:00
parent b45fca728f
commit f1562764f1
3 changed files with 90 additions and 31 deletions

89
app.py
View File

@@ -1,3 +1,56 @@
# from flask import Flask, jsonify
# import mysql.connector
# app = Flask(__name__)
# def database_connect():
# try:
# connection = mysql.connector.connect(
# host='localhost',
# user='root',
# password='',
# database='goodgarden'
# )
# return connection
# except Exception as e:
# print("Database connection failed:", e)
# return None
# # Function to get data from the MySQL database
# def get_database_data():
# mydb = database_connect()
# if mydb and mydb.is_connected():
# cursor = mydb.cursor()
# # Query to retrieve the latest battery voltage data
# query = "SELECT label, last_seen, last_battery_voltage, device_id FROM devices"
# cursor.execute(query)
# battery_data = cursor.fetchall()
# mydb.close()
# return battery_data
# @app.route('/', methods=['GET'])
# def get_data():
# battery_data_322 = get_database_data()
# if battery_data_322 is None:
# return jsonify({"error": "Failed to fetch data from database"})
# data_dict = {
# "label": battery_data_322[0],
# "last_seen": battery_data_322[1],
# "last_battery_voltage": battery_data_322[2],
# "device_id": battery_data_322[3]
# }
# return jsonify(data_dict)
# if __name__ == "__main__":
# app.run(host='127.0.0.1', port=5000)
from flask import Flask, jsonify
import mysql.connector
@@ -5,48 +58,46 @@ app = Flask(__name__)
def database_connect():
try:
connection = mysql.connector.connect(
host='localhost',
user='root',
password='',
database='goodgarden'
host="localhost",
user="root",
password="",
database="goodgarden"
)
return connection
except Exception as e:
print("Database connection failed:", e)
return None
# Function to get data from the MySQL database
def get_database_data():
mydb = database_connect()
if mydb and mydb.is_connected():
cursor = mydb.cursor()
cursor = mydb.cursor(dictionary=True) # Enable dictionary result
# Query to retrieve the latest battery voltage data
query = "SELECT label, last_seen, last_battery_voltage, device_id FROM devices"
cursor.execute(query)
battery_data = cursor.fetchone()
battery_data = cursor.fetchall() # Fetch all rows
mydb.close()
return battery_data
@app.route('/', methods=['GET'])
def get_data():
battery_data_322 = get_database_data()
battery_data = get_database_data()
if battery_data_322 is None:
if battery_data is None or len(battery_data) == 0:
return jsonify({"error": "Failed to fetch data from database"})
data_dict = {
"label": battery_data_322[0],
"last_seen": battery_data_322[1],
"last_battery_voltage": battery_data_322[2],
"device_id": battery_data_322[3]
}
return jsonify(data_dict)
return jsonify(battery_data) # Directly return the list of dictionaries as JSON
if __name__ == "__main__":
app.run(host='127.0.0.1', port=5000)
app.run(host="127.0.0.1", port=5000)

View File

@@ -49,6 +49,9 @@ 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)
subscribe.callback(on_message, topic)

View File

@@ -138,16 +138,21 @@ function fetchBatteryData() {
});
}
function updateBatteryData(batteryData) {
document.getElementById('deviceNumber-322').innerHTML = batteryData[1].device_id;
document.getElementById('voltage-322').innerHTML = batteryData[1].label;
document.getElementById('time-322').innerHTML = batteryData[1].last_seen;
document.getElementById('tevredenheid-322').innerHTML = batteryData[1].last_battery_voltage;
document.getElementById('deviceNumber-256').innerHTML = batteryData[0].device_id;
document.getElementById('voltage-256').innerHTML = batteryData[0].label;
document.getElementById('time-256').innerHTML = batteryData[0].last_seen;
document.getElementById('tevredenheid-256').innerHTML = batteryData[0].last_battery_voltage;
function updateBatteryData(batteryData)
{
if(batteryData[1].device_id == 322)
{
document.getElementById('deviceNumber-322').innerHTML = batteryData[1].device_id;
document.getElementById('voltage-322').innerHTML = batteryData[1].label;
document.getElementById('time-322').innerHTML = batteryData[1].last_seen;
document.getElementById('tevredenheid-322').innerHTML = batteryData[1].last_battery_voltage;
}
if (batteryData[0].device_id == 256)
{
document.getElementById('deviceNumber-256').innerHTML = batteryData[0].device_id;
document.getElementById('voltage-256').innerHTML = batteryData[0].label;
document.getElementById('time-256').innerHTML = batteryData[0].last_seen;
document.getElementById('tevredenheid-256').innerHTML = batteryData[0].last_battery_voltage;
}
console.log(batteryData);
}