57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# Wetterstation Data Collector
|
|
|
|
Dieses Programm liest Wetterdaten von einem MQTT-Broker und speichert sie in einer PostgreSQL-Datenbank.
|
|
|
|
## Features
|
|
|
|
- Verbindung zu MQTT-Broker mit TLS/SSL und Authentifizierung
|
|
- Automatisches Speichern von Wetterdaten alle 5 Minuten
|
|
- PostgreSQL-Datenbank mit automatischer Tabellenerstellung
|
|
- Duplikatschutz über UPSERT
|
|
- Logging für Monitoring und Fehlersuche
|
|
|
|
## Setup
|
|
|
|
1. **Python-Pakete installieren:**
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
2. **.env Datei erstellen:**
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
Dann `.env` mit deinen Zugangsdaten ausfüllen:
|
|
- MQTT Broker Zugangsdaten (Username, Password)
|
|
- PostgreSQL Datenbank Zugangsdaten (User, Password, DB Name)
|
|
|
|
3. **PostgreSQL Datenbank erstellen:**
|
|
```sql
|
|
CREATE DATABASE wetterstation;
|
|
```
|
|
|
|
## Verwendung
|
|
|
|
```bash
|
|
python main.py
|
|
```
|
|
|
|
Das Programm läuft kontinuierlich und:
|
|
- Verbindet sich mit dem MQTT-Broker rexfue.de:18883
|
|
- Abonniert das Topic "vantage/live"
|
|
- Speichert eingehende Wetterdaten in der Datenbank
|
|
- Kann mit Ctrl+C beendet werden
|
|
|
|
## Datenstruktur
|
|
|
|
Die empfangenen Daten enthalten:
|
|
- `datetime`: Zeitstempel der Messung
|
|
- `temperature`: Temperatur in °C
|
|
- `humidity`: Luftfeuchtigkeit in %
|
|
- `pressure`: Luftdruck in hPa
|
|
- `wind_speed`: Windgeschwindigkeit
|
|
- `wind_gust`: Windböen
|
|
- `wind_dir`: Windrichtung in Grad
|
|
- `rain`: Niederschlagsmenge
|
|
- `rain_rate`: Niederschlagsrate
|