import sqlite3 import random from datetime import datetime, timedelta DB_FILE = "iot_data.sqlite" POCET_MERENI = 50 conn = sqlite3.connect(DB_FILE) cursor = conn.cursor() cursor.execute(""" CREATE TABLE IF NOT EXISTS mereni ( id INTEGER PRIMARY KEY AUTOINCREMENT, cas TEXT NOT NULL, teplota REAL NOT NULL, vlhkost REAL NOT NULL ) """) conn.commit() print("Tabulka mereni vytovřena (nebo již existuje).☺") #Generovani dat - začínáme od aktualního času, měření probíha každých 5 vteřin cas_start = datetime.now() - timedelta(seconds=POCET_MERENI*5) zakladni_teplota = 22.0 #píšeme .0 z důvodu toho aby se počítalo s FLOAT dat.typem zakladni_vlhkost = 50.0 data= [] for i in range(POCET_MERENI): cas = cas_start + timedelta(seconds=i*5) #Simulace realistickych hodnot s mírným kolísáním teplota = round(zakladni_teplota + random.uniform(-3.0,5.0),1) vlhkost = round(zakladni_vlhkost + random.uniform(-20.0,15.0),1) data.append((cas.strftime("%Y-%m-%d %H:%M:%S"),teplota,vlhkost)) cursor.executemany( "INSERT INTO mereni (cas, teplota, vlhkost) VALUES (?, ?, ?)", data ) conn.commit() print(f"Vygenerováno {POCET_MERENI} měření do {DB_FILE}") print(f"Časový rozsah: {data[0][0]} - {data[-1][0]}") print(f"Ukázka prvních 5 záznamů:") for cas, t, v in data[:5]: print(f"{cas} | {t}°C | {v}%") conn.close()