Seite 1 von 1

Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 11:27
von Maylifreeed
Moin,
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()

Re: Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 11:36
von __deets__
Ist das Zufall, dass du das exakt gleiche Programm wie in https://forum-raspberrypi.de/forum/thre ... en-lassen/ hast?

Und wenn nicht, warum erwaehnst du nicht all die anderen Randbedingungen, also das es mehrere PIs in einer Werkhalle gibt, etc?

Re: Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 12:09
von Maylifreeed
gehören die foren zusammen?
MfG

Re: Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 12:19
von Sirius3
Python2 sollte man nicht mehr benutzen, das ist veraltet. Eingerückt wird mit 4 Leerzeichen pro Ebene, keine Tabs. Variablen- und Funktionsnamen schreibt man klein.
Dann sollte man noch alles in Funktionen packen und keine globalen Variablen benutzen.

Zur Frage: ja das geht.

Re: Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 12:59
von Maylifreeed
Wie sollte es dann am besten aussehen?
Ich bitte um Hilfe.
MfG

Re: Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 13:05
von __deets__
Die Foren gehoeren nicht zusammen. Aber viele Leute hier lesen beide. Es ist auch kein Problem doppelst zu posten (ich zumindest sehe das so), aber du hast die Fragen nicht beantwortet. Damit man helfen kann, braucht es schon einen Ueberblick darueber, was da insgesamt erreicht werden soll - und da fehlt noch so einiges.

Zu guter Letzt - Hand auf's Herz: hast du den Code geschrieben? Oder irgendwo gefunden, und bestenfalls Namen gaendert? Denn eine GUI ist fuer dein Problem (in den Grenzen, in denen es bekannt ist), ueberhaupt nicht notwendig, im Gegenteil.

Re: Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 13:42
von Maylifreeed
Ich habe den Code im groben übernommen und so abgeändert das er zu meiner Anwendung passt.
MfG

Re: Raspberry Pi Temperatur logger

Verfasst: Montag 25. Mai 2020, 13:48
von __deets__
Ok. Da du immer noch nicht weiter ausholts, was du da machen willst, ist hier fuer mich Ende. Viel Erfolg.

Re: Raspberry Pi Temperatur logger

Verfasst: Dienstag 26. Mai 2020, 05:19
von Maylifreeed
:-)

Re: Raspberry Pi Temperatur logger

Verfasst: Dienstag 26. Mai 2020, 08:57
von NPC
Hallo Maylifreeed,

Es bietet sich vielleicht an, dass du zuerst einmal ein Python tutorial machst.
Wenn ich richtig verstehe was du machen willst, brauchst du aus dem Code oben ungefähr zwei Zeilen https://tutorials-raspberrypi.de/raspbe ... t11-dht22/. Wobei ich zu geben muss, dass ich mit diesem Sensor noch nicht gearbeitet habe....

Schau dir erstmal die Python basics an und versuche dann ein Skript zu schreiben, dass dir beim Ausführen einmalig die Temp, ... ausgibt. Daran arbeitest du dich dann langsam vor.
Maylifreeed hat geschrieben: Montag 25. Mai 2020, 13:42 Ich habe den Code im groben übernommen und so abgeändert das er zu meiner Anwendung passt.
Die beiden sehen sich für "grob" übernommen aber verdammt ähnlich... Letztlich ist es mir egal, ob du den Code selbst schreibst oder nicht aber wenn du sagst, dass du Ihn abändern kannst, wird vielleicht etwas mehr verständnis des Codes angenommen als du vielleicht hast. Wenn man dir dann also sowas schreibt wie:
__deets__ hat geschrieben: Montag 25. Mai 2020, 13:05 ... eine GUI ist fuer dein Problem (in den Grenzen, in denen es bekannt ist), ueberhaupt nicht notwendig, im Gegenteil.
erwartet man dann, dass du weißt welche Teile des Codes gemeint sind und vielleicht erklärst warum du sie beim abändern nicht entfernt hast (da dein Vorhaben dann offenbar falsch von uns verstanden wurde).


Viele Grüße
NPC

Re: Raspberry Pi Temperatur logger

Verfasst: Freitag 29. Mai 2020, 07:47
von Maylifreeed
Moin, erstmal vielen Dank für deine Antwort. Ich sollte mich wirklich mehr mit dem Thema beschäftigen. Also das mit dem automatisch speichern habe ich jetzt auch soweit hinbekommen mit vielen Videos und Codes an denen ich solange geändert und probiert habe bis es lief, es sind mit Sicherheit nicht die besten Lösungen aber es läuft. :D