diff --git a/README.md b/README.md new file mode 100644 index 0000000..e31b4b2 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# 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.* \ No newline at end of file