Seite 1 von 1

Diverse Fehlermeldungen beim anlegen einer sqlite3 Datenbank

Verfasst: Samstag 15. April 2023, 16:18
von Der Ahnungslose
Mittels eines Raspberry Pi und dem SenseHat möchte ich Wetterdaten sammeln und in einer Datenbank speichern um sie später aufzubereiten.
Mit dem Python3 Handbuch von Rheinwerk Verlag habe ich folgenden Code geschrieben.


import sqlite3

connection=sqlite3.connect("wetterdaten.db")#Temperatur, Luftfeuchtigkeit, Luftdruck
cursor=connection.cursor()

CREATE TABLE wetterdaten (
datum DATE, uhrzeit TIME,
temperatur INTERGER, luftfeuchtigkeit INTERGER, luftdruck INTERGER
)

cursor.execute("""CREATE TABLE wetterdaten(datum DATE, uhrzeit TIME,
temperatur INTERGER, luftfeuchtigkeit INTERGER, luftdruck INTERGER)""")

INSERT INTO (wetterdaten), VALUES(
2023/1/1, 12/10/30, 24, 76, 1040
)
cursor.execute("""INSERT INTO wetterdaten VALUES(
2023/1/1, 12/10/30, 24, 76, 1040)""")
connection.commit()

Es werden überwiegend Syntax-Fehler gemeldet.
Den Code habe ich 1:1 aus dem Buch übernommen und für mein Projekt angepasst.
Von einem Python VHS-Grundkurs abgesehen habe ich nur professionelle CNC Kenntnisse, was einem bei Python nicht weiter hilft.
Ich denke das es sich lediglich um typische Anfängerfehler handelt.
Sollte es noch einfachere Lösungen für das Daten sammeln und aufbereiten geben, wäre ich auch dafür sehr dankbar. Wobei ich finde das dieser Code schon recht übersichtlich ist, vom Syntax mal abgesehen.

Euch Allen einen schönen Tag noch und möge die Macht mit euch sein

Re: Diverse Fehlermeldungen beim anlegen einer sqlite3 Datenbank

Verfasst: Samstag 15. April 2023, 16:33
von __deets__
Bitte Code Tags benutzen, damit die in Python relevanten Einrückungen erhalten bleiben. Und wenn du Fehler bekommst, die bitte auch posten. Auch in Code Tags.

So wie es aussieht, hast du einfach die SQL Anweisungen nochmal in den Code kopiert. Damit kann Python natürlich nix anfangen.

Das nächste problem wird dein relativer Pfad zur Datenbank werden. Sobald das Skript von zb cron gestartet werden wird, fliegt dir das um die Ohren. Da muss also ein absoluter Pfad hin.

Zu guter letzt: das ist doch alles schon of gemacht worden. Gibt’s da keine fertigen Projekte, zb mit Grafana etc pp? Da sollte etwas auffindbar sein.

Re: Diverse Fehlermeldungen beim anlegen einer sqlite3 Datenbank

Verfasst: Samstag 15. April 2023, 16:59
von Sirius3
Das Buch wird wohl die SQL-Statements nochmal extra erklärt haben, das ist aber nicht alles Python-Code.
Datum und Uhrzeit sollte ein TIMESTAMP-Feld sein und nicht getrennt.
Apropos Uhrzeit und Datum, das könnte entweder ein String im ISO-Format sein, oder ein Unix-Timestamp, oder man richtet es sich gleich richtig ein, so dass man sqlite auch mit datetime-Objekten füttern kann.

Re: Diverse Fehlermeldungen beim anlegen einer sqlite3 Datenbank

Verfasst: Sonntag 16. April 2023, 02:00
von grubenfox
__deets__ hat geschrieben: Samstag 15. April 2023, 16:33 Zu guter letzt: das ist doch alles schon of gemacht worden. Gibt’s da keine fertigen Projekte, zb mit Grafana etc pp? Da sollte etwas auffindbar sein.
Also hier hatte sich der geneigte Hobby-Python-Programmierer für weewx http://www.weewx.com/ entschieden.... läuft seit 2021 auf einem Raspi. Dafür hatte ich mich wohl entschieden weil es das erste in Python programmierte System war, welches ich bei meiner Suche fand. Aber vielleicht hatte ich auch gar nicht direkt danach gesucht, sondern war nur auf der Suche nach interessanten Python-Projekten.
Theoretisch ununterbrochen, aber es gab ein paar Strom-bedingte Unterbrechungen. Aktuell [heute um 01:53] sagt mir weewx
Server uptime 137 days, 6 hours, 23 minutes
WeeWX uptime 137 days, 6 hours, 23 minutes
Nach der Einrichtung hatte ich überlegt ob ich mich mal in die Sourcen vertiefe: zum einen zwecks Übersetzung der Oberfläche (insbesondere bei den astronomischen Texten), zum anderen auch bei den astronomischen Routinen um die angezeigten Daten für Sonne und Mond (Auf-/Untergangszeiten, Phasen usw.) auch noch um z.B. die Daten der Venus zu ergänzen. Man will ja wissen wann die Venus wieder als Morgen bzw. Abendstern gut zu sehen ist. Zum dritten müsste ich mir mal die Berechnung vom "Heat Index" raussuchen. Bei vielen Kurven kann man ja gewisse Zusammenhänge gut mit bloßem Auge erkennen: Wind Chill hängt von Außentemperatur und Windgeschwindigkeit ab, aber beim Heat Index zeigt die Kurve gelegentlich spontane Sprünge die ich in anderen Kurven nicht nachvollziehen kann. Vermutlich fließen da, wenn irgendwelche Messwerte bestimmte Grenzwerte über/unterschreiten zusätzlich Faktoren mit in die Berechnung ein.

Hier https://github.com/sbsrouteur/weewx-PiSenseHat gibt es auch noch einen Treiber (100% Pythoncode) der die Daten vom Sense Hat abholen soll. Von meiner Seite ungetestet, wegen nicht vorhandenem SenseHat. Ich hole mir die Daten ganz klassisch von einer Wetterstation die per USB am Raspi hängt.

Re: Diverse Fehlermeldungen beim anlegen einer sqlite3 Datenbank

Verfasst: Mittwoch 19. April 2023, 21:10
von ThomasL
Bist du dir sicher, dass da im Buch INTERGER steht?
Ich vermute mal da steht INTEGER.