# Importe tout les modules requis
from machine import Pin, I2C
import uSGP30
import uBME280
from i2c_lcd import lcd
import time
import network
import socket
# Défini l'interface du protocole I2C
i2c = I2C(0, scl = Pin(9), sda = Pin(8), freq = 1024)

# Défini l'adresse I2C requis pour les capteurs
BME_addr = 0x76;
SGP30_addr = 0x58;

# Déclare les paramètres dans des variables
bme280 = uBME280.BME280(uBME280.BME280_OSAMPLE_1, BME_addr, i2c)
sgp30 = uSGP30.SGP30(i2c, SGP30_addr);
display = lcd(i2c)

def Update():
    # Récupère toutes les données du capteur BME280
    t = str(bme280.read_temperature()/100)
    p = str(bme280.read_pressure()/1000)
    h = str(bme280.read_humidity()/1000)
    t_CO2, t_COV = sgp30.measure_iaq()
    co2 = str(t_CO2)

    
    # Affiche la première image (Température + Humidité)
    display.home()
    display.write("Temp = ")
    display.write(t)
    display.write(" °C")
    display.setCursor(0,1)
    display.write("Hum = ")
    display.write(h)
    display.write(" %")
    time.sleep(5)
    # Affiche la deuxième image (Pression + CO2)
    display.clear()
    display.home()
    display.write("P = ")
    display.write(p)
    display.write(" Pa")
    display.setCursor(0,1)
    display.write("TCO2 = ")
    display.write(co2)
    display.write(" ppm")
    f = open("demofile1.txt", "w")
    f.write(t)
    f.close()
    time.sleep(5)
    display.clear()
while True:
    Update()