Seite 1 von 1
Datum und Zeit speichern.
Verfasst: Sonntag 13. März 2022, 16:10
von Schlangenmensch
Hallo,
ich bastel mir gerade eine Art Datenlogger mit einem Raspberry Pi Pico zusammen.
Im Groben wird mit dem Pico ein Sensor ausgelesen und die Werte in einer Datei gespeichert. Das Programm läuft soweit. Jetzt würde ich den Messwerten gerne noch Zeit und Datum hinzufügen.
Mit : from datetime import datetime bringt mich nicht weiter, weil mir die datetime library fehlt.
Leider konnte ich bis jetzt keine entsprechende library finden.
Gibt es eine Seite, auf der Standard-Librarys stehen?
Ich hoffe ich konnte mein Anliegen verständlich rüberbringen.
Viele Grüße
Patrick
Re: Datum und Zeit speichern.
Verfasst: Sonntag 13. März 2022, 17:08
von __deets__
Das geht auch nicht, weil der Pico keine Uhr hat. Wenn du das willst, musst du selbst einen RTC Chip anbinden, den dauerhaft mit Strom versorgen, und einmal richtig stellen. Und aus dem dann die Zeiten entnehmen.
Wenn du am Einsatzort WIFI hast, dann kann zb ein ESP32 sich darüber die Zeit holen. Sowas habe ich gerade für ein ähnliches Projekt programmiert.
Re: Datum und Zeit speichern.
Verfasst: Sonntag 13. März 2022, 19:01
von Schlangenmensch
Ok, dann habe ich die Beschreibung des Pico falsch gelesen.
Ich dachte RTC steht für Real Time Clock und gibt die Uhrzeit aus nachdem diese einmal eingestellt und nicht vom Strom getrenn wurde.
Dann werd ich mich mal durch deinen Vorschlag wursteln und hoffen das ich da weiter komme.
Danke Dir jedenfalls fürs Erste.
Gruß
Patrick
Re: Datum und Zeit speichern.
Verfasst: Sonntag 13. März 2022, 19:14
von __deets__
Ich weiß nicht, was genau du da gelesen hast. Aber sowas hier
https://www.berrybase.de/raspberry-pi/r ... ico-ds3231 ist notwendig. Selbst wenn der Pico nicht vom Strom getrennt werden würde, hat er keine stabile Zeit Quelle an Bord. Und wird zb deutlich driften. Darum braucht es eine RTC.
Re: Datum und Zeit speichern.
Verfasst: Sonntag 13. März 2022, 19:30
von sparrow
Soweit ich weiß hat der Pico eine RTC an Bord. Zugriff darauf hat man über das utime-Modul (oder vieleicht über
RTC. Zumindest habe ich das so mal recherchiert, als ich überlegt habe, ob das Board für ein Projekt in Frage kommt.
Trotzdem ist die nicht Batterie-gepuffert und daher nur bedingt sinnvoll einsetzbar.
Die entsprechend Information, die mich zu der Annahme brachte, fand ich
hier.
Zum Einsatz kam dann am Ende aber kein Pico, deshalb kann ich das aus der Praxis nicht bestätigen.
Re: Datum und Zeit speichern.
Verfasst: Sonntag 13. März 2022, 19:47
von __deets__
Ah, interessant. Dann hat er eine bessere Zeitreferenz, als ich dachte. Ich würde das trotzdem nicht benutzen, weil man das System sonst nur umständlich handhaben kann.
Re: Datum und Zeit speichern.
Verfasst: Montag 14. März 2022, 13:23
von DeaD_EyE
Könnte sein, dass dieser Code hier ggf. bald in die micropython-lib integriert wird.
Code: Alles auswählen
# clonen, patchen, uploaden
git clone https://github.com/lorcap/upy-micropython-lib.git -b datetime
cd upy-micropython-lib/python-stdlib/datetime/
patch -p1 < localtz.patch
# pip3 install rshelll
rshell cp datetime.py /pyboard/lib/
# remote repl
rshell repl
>>> from datetime import datetime, date, timezone, timedelta, time
>>> datetime.now()
datetime.datetime(2022, 3, 14, 13, 16, 58, 0, None, fold=0)
>>> datetime.now() + timedelta(hours=1, minutes=1)
datetime.datetime(2022, 3, 14, 14, 18, 31, 0, None, fold=0)
>>> berlin = timezone(timedelta(hours=1), "Europe/Berlin")
>>> datetime.now(berlin)
datetime.datetime(2022, 3, 14, 14, 19, 34, 0, datetime.timezone(datetime.timedelta(microseconds=3600000000), 'Europe/Berlin'), fold=0)
>>> datetime(2022, 1, 1) + timedelta(days=10)
datetime.datetime(2022, 1, 11, 0, 0, 0, 0, None, fold=0)
Interessant... ich frage mich gerade, woher mein RP2040 die aktuelle Zeit hat.
Wird die automatisch via USB gesetzt?
Edit: rshell macht das:
https://github.com/dhylands/rshell/blob ... n.py#L1534
Re: Datum und Zeit speichern.
Verfasst: Montag 14. März 2022, 13:35
von __deets__
Das würde mich überraschen. Allerdings gibt es of Mechanismen, die zb das build datum als Referenz nutzen. YOCTO zb macht das so. Schau mal was der morgen sagt.
Re: Datum und Zeit speichern.
Verfasst: Montag 14. März 2022, 13:45
von DeaD_EyE
Lag an rshell. Das Programm setzt die Zeit. Praktisch.
Hier noch der ausstehende pull-request:
https://github.com/micropython/micropython-lib/pull/449