104 lines
2.7 KiB
Python
104 lines
2.7 KiB
Python
# 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
|
|
|
|
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(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.fetchall() # Fetch all rows
|
|
mydb.close()
|
|
return battery_data
|
|
|
|
|
|
@app.route('/', methods=['GET'])
|
|
def get_data():
|
|
battery_data = get_database_data()
|
|
|
|
if battery_data is None or len(battery_data) == 0:
|
|
|
|
return jsonify({"error": "Failed to fetch data from database"})
|
|
|
|
|
|
return jsonify(battery_data) # Directly return the list of dictionaries as JSON
|
|
|
|
if __name__ == "__main__":
|
|
app.run(host="127.0.0.1", port=5000)
|