Files
goodgarden/app.py
2024-03-19 11:18:04 +01:00

51 lines
1.5 KiB
Python

from flask import Flask, jsonify
import mysql.connector
app = Flask(__name__)
# Function to get data from the MySQL database
def get_database_data():
try:
connection = mysql.connector.connect(
host='localhost',
user='root',
password='',
database='goodgarden'
)
cursor = connection.cursor()
# Query to retrieve the latest battery voltage data
query = "SELECT id, timestamp, gateway_receive_time, device, value FROM battery_voltage_events ORDER BY timestamp DESC LIMIT 1"
cursor.execute(query)
battery_data = cursor.fetchone()
connection.close()
return battery_data
except Exception as e:
print("Error fetching data from database:", e)
return None
@app.route('/', methods=['GET'])
def get_data():
# Get data from the database
battery_data = get_database_data()
if battery_data is None:
return jsonify({"error": "Failed to fetch data from database"})
# Convert the fetched data into a dictionary
data_dict = {
"id": battery_data[0],
"timestamp": str(battery_data[1]), # Convert timestamp to string for JSON serialization
"gateway_receive_time": str(battery_data[2]), # Convert timestamp to string for JSON serialization
"device": battery_data[3],
"value": battery_data[4]
}
# Return the data as JSON
return jsonify(data_dict)
if __name__ == "__main__":
app.run(host='127.0.0.1', port=5000)