You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
bakera 53147d9d3f Merge pull request 'fixed the cache functionality' (#12) from download-dev1 into main 1 year ago
sample_data added more sample data 1 year ago
.gitignore Added cache functionality and the corresponding documentation \(^_^)/ 1 year ago
Graphs.py Finalized Display of Graph ^v^ 1 year ago
README.md Branch master umbenannt nach main 1 year ago
cache.py Revert "delete cache.py siince it was copy" 1 year ago
download.py fixed the cache functionality 1 year ago

README.md

Feinstaubstation

Projekt zur Auswertung der Daten einer Feinstaubmessstation.

Ist-Zustand

Die TBS1 misst die Feinstaubbelastung über einen Sensor, der von Schülern der TBS1 in Betrieb genommen wurde. Die Daten werden dem Projekt luftdaten.info zur Verfügung gestellt.

Auf dieser Karte werden die Sensorwerte für das Ruhrgebiet visualisiert.

Die Feinstaubmessstation an der E-Bike-Garage der TBS1 misst kontinuierlich die Feinstaubbelastung, die Temperatur und den Luftdruck. Die Daten werden regelmäßig als CSV-Dateien auf einem Server archiviert - unter den IDs 3659 (Feinstaubsensor vom Typ SDS01) und 3660 (Temperatur- und Luftdrucksensor vom Typ DHT22).

Der Feinstaubsensor kann zwei unterschiedliche Partikel größen von Feinstaub messen: P1 (PM10) und P2 (PM2,5).

Auftrag (Soll-Zustand)

Diese Daten sollen heruntergeladen und ausgewertet werden.

Verschiedene Python-Konsolenprogramme sollen die folgenden Aspekte umsetzen:

  1. DATENBESCHAFFUNG: Download der notwendigen Daten. (optional) Einmal heruntergeladene Daten sollen nicht erneut heruntergeladen werden.
  2. VALIDIERUNG: Einlesen der Daten in eine Datenstruktur. Validierung der Daten. Prüfung auf Vollständigkeit und Plausibilität: fehlen bestimmte Werte? gibt es unplausible Werte? Welche Werte sind sinnvoll bzw. typisch?
  3. DATENAUSWERTUNG:
    • Durchschnitts-, Höchst- und Tiefstwerte
    • der Temperatur-, Feuchtigkeits- und Feinstaubwerte
    • über unterschiedliche Zeiträume: Stunde, Tag, Woche, Monat, Jahr.
  4. AUSGABE: Die aggregierten Ergebnisse werden
    • als Rohdaten,
    • in einer Tabelle auf der Konsole und
    • (optional) grafisch in einem Graphen ausgegeben.

Für die Umsetzung sind Entwicklerteams aus 3-4 Personen vorgesehen.

Neben der Entwicklung sichten die Entwicklerteams auch die Ergebnisse der anderen Entwicklerteams.

Achtung! Ein Team darf den eigenen Code nicht in den main branch überführen!

Teams

  • Dev1: Schütte, Biniek, Riecks, Mattern
  • Dev2: Pazer, Kertscher, Fischer, Hollmann
  • Dev3: Grzeganek, Rabe, Soga, Yagoue
  • Dev4: Kayabasi, Hannig, Chudaska, Kwelik
  • Dev5: Münchow, Olschewski, Ehrhard, Marx, Persico
  • Dev6: Benk, Schellenberg, Schlüter, Skoczek, Herms

Initiales Setup

  1. Erstelle ein Team und darin ein Repository.
  2. Füge alle Mitglieder hinzu.
  3. Schütze den main-Branch des Repositories gegen push ("don't push to main").
  4. Ggf. Webhook einrichten, der Änderungen nach Teams veröffentlicht. Beitrittscode: XXXXXX

Issues

  1. Formuliere Meilensteine, die für die Umsetzung der o.a. Aspekte notwendig sind. Gehe möglichst kleinschrittig vor und teile die Aufgaben in Unteraufgaben auf. Brainstorming Dokument beachten.
  2. Teile die Meilensteine auf die Teams auf.
  3. Setze die Meilensteine um und sichte die Umsetzungen der anderen Teams.