• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

WSWin Daten in MySQL-Datenbank

Begonnen von stefan, 25.01.2005, 23:28:19

⏪ vorheriges - nächstes ⏩

stefan

Hallo,
ich suche ein Programm oder Script mit dem ich meine Daten in eine MySQL-Datenbank speichern kann. Dies solle automatisch in regelmässigen Abständen geschehen.   Es sollen alle von WSWin gelieferten Daten gespeichert werden.
Hat jemand ein entsprechendes Programm?

Danke für Eure Hilfe

viele Grüße
Stefan

wneudeck

Hallo Stefan,
der Autor von awekas hat mal ein solches Skript zur Verfügung gestellt. Schau mal auf seiner Seite
http://wetter.kremstalnet.at/
Da kannst du vielleicht mit ihm Kontakt aufnehmen. Sein Skript übernimmt die Daten der ws_newdata.csv von WSWIN und schreibt sie direkt in eine Datenbank.
Ich habe mir auch selbst mal ein solches Skript geschrieben, da ich diesen Weg auch gehe. Es ist jedoch ganz auf meine persönliche Situation angepasst, hat dir also so keinen Wert, sonst würde ich es dir zur Verfügung stellen.

Wetterfrosch13

Gibt es diesen Skript noch irgendwo zu finden?

LG, Pauli
Private Wetterstaion Lambach https://wetterlambach.at/

wneudeck

Hallo Pauli,
nein, mir ist keine andere Quelle bekannt.

Wetterfrosch13

Kann ich in WSWIN eine Datei erstellen in der alle Daten meiner Station sind und die ca. alle 5 Minuten aktualisiert wird?
Private Wetterstaion Lambach https://wetterlambach.at/

Tex

Wie meinst du das? Nur Datenstring, oder Datei, die was anzeigt (html). Oder noch was anderes?
bis dann, Tex

wneudeck

Hallo,
ZitatKann ich in WSWIN eine Datei erstellen in der alle Daten meiner Station sind und die ca. alle 5 Minuten aktualisiert wird?
Das macht WSWIN automatisch  in der Datei ws_newdata.csv
"Datei - Optionen" und Haken setzen bei "autom. Datensatz exportieren -> importieren"

r2602

Hallo an alle,

Dies ist ein Thema was mich auch sehr interessiert.

1. Grundsätzliche Vorgehensweise:
Zunächst einmal würde ich gerne wissen wie man eine solche Aufgabe grundsätzlich umsetzt. Es müssen ja regelmäßig die Daten auf den Webserver übertragen werden. Beispielsweise eine CSV-Datei. Diese Datei muss ja dann vom Server eingelesen, verarbeitet und die Daten in die Datenbank geschrieben werden. Ist es dazu grundsätzlich erforderlich auf dem Server einen Cron-Job zu implementieren oder gibt es serverseitig dazu andere Mechanismen?
Oder ist es möglich von Remote aus (von zu Hause) direkt Datensätze in die Datenbank des Webservers zu schreiben? Oder stößt man von zu Hause aus nach dem Übertragen der CSV-Datei auf den Webserver, ein Webserverscript an?
Also, wie macht man so etwas prinzipiell?

2. Fehlertoleranz:
Die Umsetzung der Aufgabe sollte ja möglichst fehlertolerant geschehen.
Was passiert, wenn eine neue Datei auf den Webserver übertragen wird, aber die vorhergehende Datei wurde noch nicht verarbeitet? Gestaltet man da den Dateiinhalt redundant. Z.B. indem die Datei immer die Daten der letzten zwei Tage enthält, aber nur die Daten der letzten Stunde neu sind.
Oder, was passiert wenn der Internetzugang mal z.B. mehrere Tage nicht zur Verfügung steht? Auch dann sollten möglichst danach automatisiert alle Daten dieses Zeitraumes nachgeliefert werden. Oder, wenn die Wetterstation mal für z.B. zwei Tage defekt ist und keine Daten liefert. In diesem Fall darf das System nicht unendlich auf die fehlenden Daten warten.

Ich fasse meine Fragen zusammen:
Wie implementiert man das Vorhaben, seine Wetterdaten in eine Datenbank auf dem Webserver zu schreiben, grundsätzlich? Wie macht man das am besten möglichst fehlertolerant und welche Voraussetzungen muss das gebuchte Hosting dazu bieten?

Gruß
Roland

wneudeck

#8
Hallo Roland,
ich kann Dir hier keine befriedigende Antwort geben, weil ich hier für mich eine, ich sage  mal, ganz persönliche Lösung entwickelt habe.
Trotzdem in  Kurzform:
- ich lasse von WSWIN die Datei ws-newdata.csv erzeugen und übertrage mit einer batchdatei, die von der Aufgabenplanung von Windows viermal am Tag ausgeführt wird, die Daten zunächst mal auf den Webspace meines Hosters.
- dort werden dann per cronjob 2 Minuten nach Eingang der Daten diese in die mysql-Datenbank übertragen. Diese Datei für den cronjob habe ich natürlich auch selbst entwickelt, denn ich möchte nicht alle Daten der ws-newdata in  der Datenbank haben.
Das ist im Prinzip alles.
Was ich dann zusätzlich noch mache:
Ich habe lokal auch einen Server installiert und damit eine lokale Datenbank. Diese fülle ich ebenfalls mit den Daten der ws_newdata vor ich die ws-newdata hochlade, ich fahre also sozusagen zweigleisig.
Wenn nun aus irgendeinem Grund der upload mal nicht klappt, kann ich mit Hilfe des Programms mysqldumper den kompletten Inhalt der Datenbank von meinem PC in die Datenbank beim Webhoster übertragen.
Nun etwas anderes:
Ich bin überzeugt, dass es auch eine Möglichkeit gäbe, die Daten aus meiner lokalen Datenbank direkt in die Datenbank des Hosters zu übertragen, aber dazu reichen meine Kenntnisse nicht aus.

Noch ein Nachtrag bez. der Voraussetzungen:
- es muss auf alle Fälle die Möglichkeit serverseitig vorhanden sein, einen cronjob auszuführen
- das skript für den cronjob musst Du selbst entwerfen, so wie Du auch die Struktur der Datenbank selbst entwerfen musst. Es gibt also nicht sozusagen eine serverseitige Anweisung "übertrage alles, was ankommt, in die Datenbank", wie sollte das auch gehen

Tex

Wer nur bestimmte Daten, oder nach Kategorien (Sensor-IDs) getrennte dateien haben will, kann auch das hier nutzen:

Dateien erweitern/anhängen          %customfileappend=anhangen.txt%                            V2.85.8
Damit kann man sich z.B. eine eigene Export-Datei erstellen, die laufend selbsttätig
erweitert wird.
bis dann, Tex