Skip to content

Latest commit

 

History

History
127 lines (104 loc) · 5.11 KB

DEVELOPMENT.md

File metadata and controls

127 lines (104 loc) · 5.11 KB

Log anzeigen

journalctl -u kiosk.service -f

Folgende Zeile ändern in der weather_app/config.ini

[Service] URL = Servicename des Wetterdienstes

Configs änderen bei der Datenbank für Produktion

Folgende Zeilen ändern in der weather_app/config.ini

[Database] DB_Host = Ihr Hostname username = Datenbankusername password = Datenbankpasswort!! nicht im cleartext sondern als env variable DB_PORT = Ihr Datenbank port DB_Name = Datenbankname

Requirements

  • InfluxDB (vorzugsweise eine v1.x Version)
  • Python 3.8 oder neuer

Docker InfluxDB alternative

  1. docker pull influxdb:1.8.10
  2. docker run -p 8086:8086
    -v influxdb:/var/lib/influxdb
    influxdb:1.8.10

Run development Server

InfluxDB muss auch gestartet sein.

python3 main.py --config=config.ini

Hinzufügen weiterer Wetterdaten-Quellen

  • falls jetziger service genutzt wird:
    • unter weatherdata.py -> class Config -> stations -> weiterer stationsName hinzufügen
    • unter templates/index.html -> auf Zeile 20 ->
    • <a href="/wetterstation/neuer_stations_name" class={{ "text-bold" if station == "neuer_stations_name" }}>neuer_stations_name

Projekt Struktur

📦FHNW_Wettermonitor 
 ┣ 📂Messwerte                                                # CSV Template Files
 ┃ ┣ 📜messwerte_mythenquai_2007-2020.csv                     # Mythenquai Messwerte
 ┃ ┗ 📜messwerte_tiefenbrunnen_2007-2020.csv                  # Tiefenbrunnen Messwerte
 ┣ 📂weather_app
 ┃ ┣ 📂static                                                 # Static Files
 ┃ ┃ ┣ 📂Images                                               # Static Images
 ┃ ┃ ┃ ┣ 📂graphs
 ┃ ┃ ┃ ┣ 📂weather                                            # Static Weather Images für Website
 ┃ ┃ ┃ ┃ ┣ 📜arrow.png
 ┃ ┃ ┃ ┃ ┣ 📜barometer.png
 ┃ ┃ ┃ ┃ ┣ 📜humidity.png
 ┃ ┃ ┃ ┃ ┣ 📜rain.png
 ┃ ┃ ┃ ┃ ┣ 📜sea-level.png
 ┃ ┃ ┃ ┃ ┣ 📜temperature.png
 ┃ ┃ ┃ ┃ ┣ 📜water-drop.png
 ┃ ┃ ┃ ┃ ┣ 📜water-temperature.png
 ┃ ┃ ┃ ┃ ┗ 📜windy.png
 ┃ ┃ ┃ ┣ 📜generating_plot.png
 ┃ ┃ ┃ ┗ 📜loading.png
 ┃ ┃ ┣ 📜jquery-3.4.1.min.js
 ┃ ┃ ┣ 📜metro-all.min.css                                      # Metro UI CSS
 ┃ ┃ ┣ 📜metro.min.js                                           # Metro UI JS
 ┃ ┃ ┣ 📜scripts.js
 ┃ ┃ ┣ 📜stop_server.js                                         # Script zum stoppen des Javascript Web Servers 
 ┃ ┃ ┗ 📜styles.css                                             # Stylesheet für die Website
 ┃ ┣ 📂templates                                                # View Schicht Templates für die Website ref(https://flask.palletsprojects.com/en/2.0.x/tutorial/templates/)
 ┃ ┃ ┣ 📜graph.html                                             # Template für die Graphs
 ┃ ┃ ┣ 📜index.html                                             # Template für die Startseite Navigationsleiste und imports der anderen Seiten
 ┃ ┃ ┣ 📜load_data.html                                         # Template für die Daten laden auch splash screen gennant
 ┃ ┃ ┗ 📜main.html                                              # Daarstellungs Template für die Startseite
 ┃ ┣ 📜config.ini                                               # Config für die Datenbank & Webservice Url / Endpoints
 ┃ ┣ 📜getEntries.py
 ┃ ┣ 📜Logger.py
 ┃ ┣ 📜main.py                                                   # Webservice Instanziierung und zentraler Controller
 ┃ ┣ 📜requirements.txt                                          # pip install -r requirements.txt 
 ┃ ┣ 📜test_sean.ipynb
 ┃ ┣ 📜weatherdata.py                                            # Helper Klasse für Controller
 ┃ ┣ 📜weatherimport.py                                          # Controller & Modell Schicht mit allen Funktionalitäten
 ┃ ┣ 📜wettermonitor.log
 ┣ 📜DEVELOPMENT.md
 ┣ 📜diagram.png
 ┣ 📜install.sh
 ┣ 📜INSTALLATION.md
 ┣ 📜kiosk.service
 ┣ 📜kiosk.sh
 ┣ 📜Powerpoint.pptx
 ┣ 📜README.md
 ┣ 📜response_time.txt                                          

Künftiges Ui und Upcoming Features

Dark Mode und andere Themes

image info

Zukünftiges Design

alt text

Detailansicht Wind, Temperaturen und Wasser

alt text

Detailansicht Warnungen und Diverses

alt text

Roadmap

  • User Feedback implementieren
  • Satelliten Bilder für Graphs
  • Alerts per SMS und Email für geplante Sportaktivitäten
  • Docker integration mit Docker File und Docker Compose
  • Performance Optimierungen
  • Sonnenaufgang und Sonnenuntergang anzeigen
  • Warnungen von Swissmeteo darstellen
  • Wettermonitor nicht im Userverzeichnis installieren
  • Flaskwebgui ersetzten mit electron-flask production ready