Вам нужно создать функцию для вычисления метки времени, скажем, get_timestamp()
:
def get_timestamp():
t = time.localtime()
return time.strftime('%Y-%m-%d %H:%M:%S', t)
, после чего вам нужно вызвать get_timestamp в вашей функции main
:
def main():
while True:
temp = gettemp()
pm25 = getpm25()
pm10 = getpm10()
co = getco()
timestamp = get_timestamp()
logdata(temp, co, pm25, pm10,timestamp)
time.sleep(refresh)
все, что вам сейчас нужно, это изменить logdata
так, чтобы в качестве входных данных использовалась метка времени:
def logdata(temp,co,pm25,pm10,timestamp):
conn = sqlite3.connect(dbname)
curs=conn.cursor()
curs.execute("INSERT INTO sensors values(?,?,?,?,?)", (timestamp, temp, co, pm25, pm10))
curs.execute("INSERT INTO temperatures values(?,?,?)", (timestamp, sensorID, temp ))
curs.execute("INSERT INTO co values(?,?,?)", (timestamp, sensorID, co ))
curs.execute("INSERT INTO pm25 values(?,?,?)", (timestamp, sensorID, pm25 ))
curs.execute("INSERT INTO pm10 values(?,?,?)", (timestamp, sensorID, pm10 ))
conn.commit()
conn.close()
и удалить из кода следующие строки:
t = time.localtime()
timestamp = time.strftime('%Y-%m-%d %H:%M:%S', t)