Posts by raspybeginner
-
-
Huhu,
das mit dem Flush teste ich mal aus, und melde mich dann zurück. Danke auch schon mal für die Tipps bzgl. Zeit & co.
QuoteWie hast Du das (funktionierende) python-Script manuell (d. h. ohne systemd bzw. ohne die service-unit) getestet und festgestellt, dass es funktioniert?
Über
Hat dann die entsprechenden Werte zeilenweise in die csv data.csv geschrieben alle 60s.
QuoteBTW: Warum hat in deinem Beitrag #9, der Prozess (1724) den Du via service-unit zeigst, eine andere PID als der Prozess (1889) den Du via "ps -x" zeigst?
Denke, weil ich zwischendurch etwas angepasst und den Service gestoppt und dann neugestartet hatte (nach daemon-reload). Prüfe ich aber auch nochmal nach. -> ist dieselbe ID.
EDIT: das flush() hat leider nichts gebracht, die CSV bleibt leer.
Viele Grüße
-
Moin,
sudo systemctl status wetterstation.service
Code● wetterstation.service - Messwerte erfassen Loaded: loaded (/lib/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-12-29 12:37:48 CET; 43s ago Main PID: 1724 (python) Tasks: 1 (limit: 8986) CPU: 134ms CGroup: /system.slice/wetterstation.service └─1724 /usr/bin/python /home/pi/weather-station/bme280-sensor.py Dec 29 12:37:48 raspberrypi systemd[1]: Started Messwerte erfassen.
sudo systemctl is-enabled wetterstation.service
sudo systemctl is-active wetterstation.service
sudo journalctl -u wetterstation.service.
Code
Display MoreDec 29 11:50:48 raspberrypi systemd[1]: Started Messwerte erfassen. Dec 29 11:52:57 raspberrypi systemd[1]: Stopping Messwerte erfassen... Dec 29 11:52:57 raspberrypi systemd[1]: wetterstation.service: Succeeded. Dec 29 11:52:57 raspberrypi systemd[1]: Stopped Messwerte erfassen. -- Boot 7d92886296d946268bc6783758734a60 -- Dec 29 11:53:08 raspberrypi systemd[1]: Started Messwerte erfassen. Dec 29 11:55:54 raspberrypi systemd[1]: Stopping Messwerte erfassen... Dec 29 11:55:54 raspberrypi systemd[1]: wetterstation.service: Succeeded. Dec 29 11:55:54 raspberrypi systemd[1]: Stopped Messwerte erfassen. -- Boot 9992e3dd75ea4339b6e2b00e2c2469fc -- Dec 29 12:37:48 raspberrypi systemd[1]: Started Messwerte erfassen.
ls -la des Scriptpfades
Codedrwxr-xr-x 2 pi pi 4096 Dec 29 12:13 . drwxr-xr-x 17 pi pi 4096 Dec 29 12:28 .. -rwxr-xr-x 1 pi pi 957 Dec 28 21:05 bme280-sensor.py -rw-r--r-- 1 pi pi 0 Dec 29 12:37 data.csv
mit ps -x kriege ich auch den Prozess angezeigt.
Ich kann auch das Script anpassen und eine neue csv anlegen lassten - wird auch angelegt, aber sie bleibt leer.
-
-
Hab auch grad gedacht, dass das sinnvoller gewesen wäre ;D
Service:
Code
Display More[Unit] Description=Messwerte erfassen After=user.target [Service] Type=idle ExecStart=/usr/bin/python /home/pi/weather-station/bme280-sensor.py User=pi [Install] WantedBy=multi-user.target
Python Script, bisschen fies aber es läuft ^^:
Python
Display Moreimport bme280 import smbus2 from time import sleep import datetime import time from datetime import date import csv port = 1 address = 0x77 bus = smbus2.SMBus(port) bme280.load_calibration_params(bus,address) # read values header = [] #i = 0 with open('/home/pi/weather-station/data.csv', 'w', newline='', encoding='utf-8') as csv_file: header = ['humidity', 'airpressure', 'temperature', 'date', 'time'] writer = csv.writer(csv_file, delimiter=';') writer.writerow(header) while True: bme280_data = bme280.sample(bus,address) temperature = round(bme280_data.temperature, 2) pressure = round(bme280_data.pressure, 2) humidity = round(bme280_data.humidity, 2) today = date.today() now = datetime.datetime.now().time() values = [humidity, pressure, temperature, today, now] writer.writerow(values) #print(values) #i = i + 1 #print(i) sleep(60)
-
Moin zusammen,
mein RP 4B soll eine Wetterstation sein und mir Werte für Temperatur, Luftdruck, Luftfeuchtigkeit, Windrichtung, -geschwindigkeit und Niederschlagsmenge liefern. Das Ganze wird mit Python verwirklicht.
Ich hatte gestern mal ein erstes einfaches Script gebaut, welches die Werte eines BME280 (Temperatur, Feuchtigkeit und Druck) alle 60s ausliest und in eine CSV schreibt. Funktioniert. Danach habe ich das Ganze mal mit systemd als Service eingebaut nur bleibt dabei immer die csv-Datei leer. Habe dazu diese Anleitung benutzt - funktioniert leider nicht, weil der Python Pfad nicht stimmt?!
Habe dann mal diese verwendet - auch das klappt nicht (Variante mit Bash), dort steht dann was von "Current Command vanished from the unit file, execution of the command list won´t be resumed."
Als nächstes habe ich das probiert, da gibrs auch keinen Fehler, aber auch hier wir die csv einfach "leer gemacht".
Hat einer einen Tipp, woran es liegen könnte? Hatte die Pfade mal verändert und offensichtlich findet er die csv-Datei, aber sie bleibt leer (vorher war waren Zeilen enthalten, die dann überschrieben werden). Er schreibt nicht mal die Kopfzeile.
Viele Grüße
-
Wie kann ich mir denn das "Abkleben" vorstellen? Ich nehme an,das Abkleben ist dann nur gegen das Wasser? Kommt mir grad was doof vor die Frage, aber ich stell´ sie trotzdem mal ;-D
Stecker und Pins dran und dann Isolierband drum oder wie ist das gemeint?
-
Ah ok, danke für die Antworten. Kann den Pico ja mal mit einer Powerbank i.d. Gefrierschrank legen und schauen was passiert
Taupunkt ist mir "bekannt"
Sehe ich immer a.d. 3-fach Verglasung bevor ich wusste, dass das ein gutes Zeichen ist :o)
Möchte erstmal ganzjährig die Werte für Temp, Luftfeuchtigkeit, Windgeschwindigkeit, -richtung und die Niederschlagsmenge messen und sauber festhalten. Gerade den Niederschlagswerten, die hier so angesagt werden, traue ich nicht
Viele Grüße
-
Noch eine Frage: bis zu welchen Temperaturen, sollten denn Raspberry (PI4 oder Pico) betrieben werden? Ich vermute mal, dass -20°C weniger dramatisch sind, als +35°C (Schatten),
Viele Grüße
-
Moin,
okay, danke für die Infos. Weitere Sensoren für Windgeschwindigkeit, Windrichtung und Niederschlagsmenge hatte ich schon gekauft.
Wollte das RP in einem Gehäuse ins Gartenhaus packen, wo auch Strom und Internet vorhanden sind und dann auf der Außenseite die Sensoren plazieren.
Viele Grüße
-
Moin,
ich weiß, dass ich eine Wetterstation bauen möchte, die mir ganzjährlich die vorgesehenen Werte aufzeichnet und speichert und dann noch einfach exportierbar und auswertbar macht, damit ich das in Relation zu den Heizkosten setzen kann und mehr Infos zum Wetter hier habe
Welchen BME280 hättest du mir empfohlen, der draußen die Temperatur, Luftfeuchtigkeit und den Luftdruck misst?
Yup, wollte bei Python bleiben und danke für die Tips!
Viele Grüße und ne gute Woche
-
Moin,
ich bin halt noch Beginner und wusste es leider nicht besser, zumal i.d. Tutorial der Name Adafruit gefallen ist und ich dann davon ausgegangen bin, dass sie zu gebrauchen sind. Immerhin funktioniert das teure Ding nun, im Gegensatz leider zum Ersten.
Gibts hier vielleicht einen Hardware-Leitfaden oder bekannte Firmen, die gute Sachen zu fairen Preisen erzeugen oder nennenswerte Anbieter im Netz? Ein Teil des Preises wird denke ich auch vom Chipmangel und Co. verursacht worden sein, so wie das RP 4 selber, was anscheinend nun mehr doppelt so teuer ist, wie vorher.
Viele Grüße
-
So, habe den neuen BME280 gelötet, angeschlossen - beim Start des RP leuchtet da zumindest nun aktuell eine kleine grüne LED auf dem Chip.
i2cdetect liefert nun:
Code0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- 77
DANKE! Also ist nur der andere BME280 kaputt, oder (sind dieselben PINS: 1,3,5,9 bzw. 3v3, GPIO2, GPIO3, GND)?
Viele Grüße
-
Moin,
kürzere Kabel (15 cm) sind dran, Ausgabe i2cdetect bleibt aber:
Code0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
Sind alles diese Steckkabel, nichts gelötet, da ich erstmal testen wollte.
[Anzeige]Neuer BME280 [Anzeige] Sensor ist nun da, muss die Pins noch anlöten und dann mit dem testen.
mit lsmod | grep i2c kommt das hier:
heißt das, dass nicht geladen wurde?!
Viele Grüße und frohe Weihnachten
-
Hi,
genau, den Schaltertest habe ich beim SDA und SCLjeweils schon gemacht mit aktiviertem I2C. Ging problemlos.
Hmne von den Komponenten da habe ich keine hier, was ich noch hier habe ist den Wind-/Regensensor. Ein neuer BME280 zum testen sollte bis morgen Abend hier sein ebenso wie die Zange, die mir fehlt, um kürzere Kabel zu machen ;-D
Viele Grüße -
-
Moin,
soo, habe also einen zweiten Kreis gebaut mit einer zweiten LED, einer steckt auf SDA (GPIO 2) einer auf SCL (GPIO 3). Beim Start des RP leuchten beide leicht - I2C ist aktiviert.
Funktioniert - die LED leuchten abwechselnd.
Irgendwie habe ich dennoch das Gefühl, dass das RP einen Hauweg hat - jetzt gerade startet es nicht mehr und die grüne Led blinkt immer 7x - heißt ja, dass der kernel image fehlt?! Strom weg, Strom dran - wieder da. Merkwürdig.
Viele Grüße
-
Moin,
bin jetzt etwas verwirrt. Folgendes habe ich nun gemacht:
I2C deaktiviert - LED leuchtet weiterhin, auch wenn das RP aus ist: SCL und SDA.
I2C deaktiviert und den Code von mir nochmal mit der LED laufen lassen:
SDA: Diode wird 5s heller und dann wieder dunkler (im Code = aus). Anscheinen ist "aus" so ein Ministrom, der da fließt
SCL: Same
I2C aktiviert und den Code von mir nochmal mit der LED laufen lassen:
SDA: s.o. (gestern war das nicht so?!)
SCL: Same
Muss man eigentlich neustarten, nachdem I2C aktiviert oder deaktiviert wurde? - Habe ich auf jeden Fall gemacht zwischen jedem Test.
I2C aktiviert: Danach Das mit dem Schalter gemacht:
SDA: Geht, Ausgabe ändert sich bei Berührung sofort und beim Loslassen ebenfalls wieder.
SCL: Geht auch.
Was sagt mir das? Am RP alles gut und der BME280 ist doof?
Viele Grüße
-
Moin,
ich hatte die LED an GPIO 17 und GRND angeschlossen - wenn ich sie an SDA1 (GPIO 2) und SCL (GPIO 3) anschließe, leuchtet die LED direkt permanent. Auch wenn das Raspberry heruntergefahren ist (und eben noch Strom hat). Ist das richtig so?!
Wenn ich in dem Python Script da den Port auf die 3 ändere, passiert gar nichts - die LED bleibt einfach an
Viele Grüße
-
Ah doch, habe LEDs, die waren in einem SET dabei, das ich noch geholt hatte mit Einzelteilen.
Teste es mal mit einer Anleitung, die ich gerade gefunden habe
UPDATE: geht. Also BME280 kaputt oder Kabel zu lang?