Malý repozitář pro ukládáni programu pro práci s ESP32
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

46 lines
1.3 KiB

from flask import Flask, render_template, g
import sqlite3
import os
DB_FILE = "dht_data.sqlite"
TABLE_NAME = "readings"
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
DATABASE_PATH = os.path.join(BASE_DIR,DB_FILE)
app = Flask(__name__)
app.config["DATABASE"] = DATABASE_PATH
def get_db():
if "db" not in g:
try:
g.db = sqlite3.connect(
app.config["DATABASE"],
detect_types=sqlite3.PARSE_DECLTYPES
)
g.db.row_factory = sqlite3.Row
except sqlite3.Error as e:
print(f"Chyba při pripojeni db: {e}")
return g.db
@app.teardown_appcontext
def close_db():
db = g.pop("db",None)
if db is not None:
db.close()
@app.route("/")
def index():
data = []
try:
db = get_db()
cursor = db.cursor()
cursor.execute(f"SELECT timestamp, temperature, humidity FROM {TABLE_NAME} ORDER BY timestamp DESC")
data = cursor.fetchall()
except sqlite3.Error as e:
print(f"Chyba při čtení z db: {e}")
return render_template("index.html", data=data)
if __name__ == "__main__":
print(f"DB se očekává zde: {app.config['DATABASE']}")
print(f"Server bude dostupný na http://localhost:5000")
app.run(debug=True, host="0.0.0.0", port=5000)