Skip to content
This repository has been archived by the owner on Apr 6, 2024. It is now read-only.

Software

Alex470 edited this page Mar 6, 2018 · 5 revisions

Software

Datenbankabfragen optimieren

Im Moment laufen die Datenbankabfragen über alle Datensätze im Auswertungszeitraum. Bei viel Wind steigt dazu die Datenmenge, da der Sensor mehr Daten erzeugt um so mehr Wind gemessen wird.

AL: Das ist interessant, warum ist das so? Ich wollte die Frage stellen, ob der Anemo Daten in gewisser Weise aggregieren kann?

Eine SQL-Group-By Variante habe ich schon mal versucht, war aber mit der Art, wie SQLite mit Zeit-Daten arbeitet nicht zufrieden.

Ich denke am sinnvollsten ist es:

  1. die Rohdaten weiter aufzuzeichnen und zu speichern wie bisher
  2. alle X Minuten (z.B. 5) die Daten auslesen, aggregieren und in eine zweite Tabelle schreiben.
  3. Die Webseite liest dann die Daten aus der Tabelle mit den aggregierten Daten.
  4. Die Rohdaten können wir dann nach einer gewissen zeit löschen (meine Testdatenbank hat jetzt nach einigen Tagen eine Größe von 80MB)

AL: Das würde dann bedeuten, dass die Daten in einem fünfminütigen Intervall gemittelt sind. Für das Chart mag das reichen, beim Windpfeil vermutlich nicht.

AL: Als Segler sind bestimmt weiter aufbereitete Werte von Interesse:

  • Die Schwankungsbreite in der Windstärke
  • ebenso für die Richtung.
  • Hier fände ich es auch lohnend, die Charts untereinander darzustellen, um Korrelationen erfassen zu können

Den Regensensor finde ich persönlich nicht so wichtig, würde in nicht weglassen, aber "einklappbar" gestalten.

Slack Integration mit "Go Sailing" Nachrichten

Wir könnten uns überlegen, welche Sensordaten "optimale Segelbedingungen" sind, z.B. konstanter West- oder Ostwind mit > 15 km/h und dann über Slack eine Nachricht versenden: "Geht segeln" :-)

Darstellung der Webseite

Ich denke das kann man noch etwas hübscher machen. Die "Live"-Anzeige der Windrichtung kann sich auch maximal 360° drehen, wenn der Wind sich von z.B. 315° auf 45° ändert dreht sich das Rad nicht über den 0° marker sondern über den 180° marker (längerer Teil vom Kreisbogen).

AL: Eine Ideensammlung

  • Den Windpfeil mit einer Straßenkarten hinterlegen.
  • Der Windpfeil sollte aus einem 'mooving average' heraus erzeugt werden. Die letzten 20 Werte ergeben einen Mittelwert oder Median. Nur diese Änderungen werden angezeigt.
  • Das mit dem Kreisbogen stimmt. Vielleicht hilft es, wenn 45 als 405 (=360+45) angegeben wird.Da müsste man noch experimentieren.
  • Die Windrichtung und/oder Stärke könnte als Text im Windpfeil geschrieben werden
  • Der Länge des Windpfeils könnte die Stärke kodieren
  • Wir könnten die Daten hinsichtlich Mittelwert und Böen (und Flauten) interpretieren und entsprechend darstellen

Historische Daten mit verschiedenen Beobachtungszeiträumen

Im Moment kann man nur die letzten 6 Stunden ansehen und dort sind die Messdaten in 5-Minuten Schritte unterteilt (bzw. beim Regen in Stundenschritte). Vielleicht wäre es ganz nett wenn man den Zeitraum auswählen kann und auch die Granularität, mit der der Durchschnitt gebildet wird. (Oder man nimmt hier - je nach länge des Zeitraumes - sensible defaults)

AL: Warum nicht den Regen auch auf 5 Minuten Basis anzeigen? Das liefert eine andere Information als man es schon über eine Wettervorhersage erhält. Was kann da der Sensor liefern?