84 lines
No EOL
3.8 KiB
Markdown
84 lines
No EOL
3.8 KiB
Markdown
# WLAN Sternenhimmel Ilzstausee
|
||
|
||
## Überblick
|
||
Dieses Repository dokumentiert das Experiment **wlan_sternenhimmel_ilzstausee**. Ziel des Projekts ist die Erfassung und Visualisierung von WLAN-Signalen am Ilzstausee. Dafür wurde ein ESP32 eingesetzt, der mithilfe eines Spektrum-Analyzers die Signalstärken aufzeichnet. Die Daten werden anschließend in Echtzeit visualisiert, um die räumliche Verteilung der WLAN-Signale darzustellen.
|
||
|
||
**Link zum Artikel:** [https://donau2space.de/wlan-sternenhimmel-am-ilzstausee/](https://donau2space.de/wlan-sternenhimmel-am-ilzstausee/)
|
||
|
||
**Git Repository:** [https://git.donau2space.de/Mika/wlan_sternenhimmel_ilzstausee](https://git.donau2space.de/Mika/wlan_sternenhimmel_ilzstausee)
|
||
|
||
### Hinweis
|
||
Alle Inhalte wurden per KI generiert.
|
||
|
||
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
|
||
|
||
## Inhalt des Repositories
|
||
Das Repository umfasst drei Hauptartefakte, die zusammen den Erfassungs- und Visualisierungsprozess der WLAN-Daten unterstützen.
|
||
|
||
### 1. data_logging
|
||
- **Art:** Python Script
|
||
- **Ziel:** Mixed (ESP32 + lokale Verarbeitung)
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Erfassung und Protokollierung von WLAN-Signalstärken über den ESP32.
|
||
|
||
**API-Funktionen:**
|
||
- `log_wifi_data(timestamp, frequency, signal_strength)` – protokolliert eine Messung im JSON-Format.
|
||
|
||
**Datenstruktur:**
|
||
- `log_entry` (JSON): *timestamp*, *frequency*, *signal_strength*
|
||
|
||
### 2. gps_sync
|
||
- **Art:** Python Script
|
||
- **Ziel:** Mixed
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Synchronisierung der erfassten WLAN-Daten mit GPS-Koordinaten, um Signalstärken präzisen Positionen zuzuordnen.
|
||
|
||
**API-Funktionen:**
|
||
- `sync_with_gps(gps_data, wifi_data)` – kombiniert GPS- und WLAN-Daten zu einem synchronisierten Datensatz.
|
||
|
||
**Datenstruktur:**
|
||
- `synced_data_entry` (JSON): *timestamp*, *latitude*, *longitude*, *signal_strength*
|
||
|
||
### 3. data_visualization
|
||
- **Art:** Web UI
|
||
- **Ziel:** Web
|
||
- **Sprachen:** HTML, CSS, JavaScript
|
||
- **Zweck:** Echtzeitvisualisierung der gesammelten WLAN-Daten in Form einer dynamischen Heatmap.
|
||
|
||
**API-Funktionen:**
|
||
- `render_heatmap(data)` – erzeugt eine visuelle Darstellung der Signalverteilung anhand der bereitgestellten Daten.
|
||
|
||
**Datenstruktur:**
|
||
- `heatmap_data` (JSON): *location*, *intensity*
|
||
|
||
## Voraussetzungen (Webserver/DB)
|
||
- Ein lokaler oder externer Webserver mit Unterstützung für statische HTML-, CSS- und JS-Dateien.
|
||
- Zugriff auf die durch die Python-Skripte generierten JSON-Daten.
|
||
|
||
## Installation & Nutzung
|
||
### Python-Komponenten
|
||
1. Python 3.9+ installieren.
|
||
2. Erforderliche Bibliotheken installieren (z. B. `pip install -r requirements.txt`).
|
||
3. Skripte auf den ESP32 sowie das Auswertungsgerät übertragen.
|
||
|
||
### Web-Oberfläche
|
||
1. Inhalt des `data_visualization`-Ordners auf einen Webserver kopieren.
|
||
2. Datenquelle der Heatmap im JS-Code auf die erzeugten JSON-Dateien verweisen.
|
||
3. Im Browser aufrufen, um die Echtzeitergebnisse anzuzeigen.
|
||
|
||
## Typische Use-Cases
|
||
- Erfassen von WLAN-Signalstärken an einem geografisch abgegrenzten Ort.
|
||
- Zuordnung der Signalstärke zu GPS-Koordinaten.
|
||
- Echtzeit-Visualisierung der Kommunikationslandschaft eines Gebiets.
|
||
- Nachträgliche Analyse der Signalverfügbarkeit zur Netzoptimierung.
|
||
|
||
## Struktur & mögliche Erweiterungen
|
||
- **data_logging:** kann erweitert werden zur Erfassung zusätzlicher Frequenzbänder.
|
||
- **gps_sync:** Erweiterung um Differenzial-GPS zur Verbesserung der Genauigkeit.
|
||
- **data_visualization:** Integration zusätzlicher Visualisierungsmodi (z. B. Zeitverlauf, Spektrumfluss-Diagramm).
|
||
|
||
## Lizenz
|
||
Dieses Projekt steht unter der **MIT-Lizenz**.
|
||
|
||
---
|
||
*Die Inhalte wurden automatisch durch eine KI generiert. Nutzung erfolgt auf eigene Verantwortung.* |