ich bin sehr neu und unbeholfen in diesem Gebiet, ich habe einen Temperatur und Luftfeuchtigkeitssensor an einem Pi Laufen, der die Werte auf einen Monitor ausgibt.
Nun wollte ich gerne diese Werte auf einem USB-Stick in einer Textdatei speicher, sodass diese druckbar sind. Es soll Datum Uhrzeit und halt die Temperatur und Luftfeuchte enthalten.
Ausserdem soll der Pi die Werte einen Monat speichern und danach eine neue Datei anfangen und ab dem dritten Monat soll die erste Datei gelöscht werden, es darf keinen Einfluss nehmen, wenn ich den USB-Stick rausziehe, wenn ich ihn wieder reinstecke soll der Pi die Aufzeichnung weiterführen.
Ist das soweit möglich? Der Sensor ist ein DHT22 und der Pi ein 3B+. Angedacht war auch einen zweiten Pi mit dem anderen zu kommunizieren lassen, sodass ich einen Mittelwert aus zwei Sensoren messen kann, das wäre wenns zu aufwändig ist aber erstmal nicht so wichtig.
MfG
Hier mein aktueller Code:
Code: Alles auswählen
# -*- coding: utf-8 -*-
from Tkinter import *
import Tkinter as tk
import Adafruit_DHT as dht
import threading
import tkFont
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(40, GPIO.OUT)
GPIO.output(40, GPIO.HIGH)
root = tk.Tk()
image = PhotoImage(file="background.gif")
background=Label(root, image=image)
background.place(x=0,y=0,relwidth=1, relheight=1)
temperature = StringVar()
temperature.set("----"+" °C")
humidity = StringVar()
humidity.set("----"+" %")
temperatureLabel = Label(root, fg="blue", background="#FFFFFF", textvariable=temperature, font=("Helvetica", 120,"bold"))
temperatureLabel.place(x=50, y=500)
humidityLabel = Label(root, fg="blue", background="#FFFFFF", textvariable=humidity, font=("Helvetica", 120,"bold"))
humidityLabel.place(x=50, y=700)
root.attributes("-fullscreen",True)
root.bind("<1>",exit)
def exit():
root.quit()
def readSensor():
root.after(2000, readSensor)
h,t = dht.read_retry(dht.DHT22,20)
temp = "Temperatur "+"%.1f" %t
temperature.set(temp+" °C")
hum = "Luftfeuchtigkeit "+"%.1f" %h
humidity.set(hum+" %")
root.after(2000, readSensor)
root.mainloop()