# Cluster-F > Projektdokumentation – ESP32-Umweltsensor mit BME280 über MQTT This document contains the full content of all documentation pages for AI consumption. --- ## Funktionsweise **URL:** https://docs.example.com/docs/ablauf **Description:** Programmablauf zur Laufzeit und der Entwicklungs-Workflow ## Ablauf des Programms Nach dem Start durchläuft der ESP32 die folgenden Schritte: ## Entwicklungs-Workflow Der typische Ablauf beim Bearbeiten des Codes: ```text Code in Thonny bearbeiten ↓ Datei auf ESP32 speichern (main.py) ↓ ESP32 startet das Skript automatisch ↓ Ausgabe / Fehler in der Thonny-Konsole prüfen ``` | Aspekt | Wert | |--------------|--------------------------------------------------------| | IDE | [Thonny](https://thonny.org/) | | Sprache | MicroPython | | Übertragung | Dateien werden per Thonny direkt auf den ESP32 geschrieben | --- ## Fehlerbehebung **URL:** https://docs.example.com/docs/fehlerbehebung **Description:** Häufige Fehlermeldungen, ihre Ursachen und Lösungen Treten Probleme auf, hilft meist ein Blick in die **Thonny-Konsole** weiter. Dort werden die Fehlermeldungen ausgegeben. Die folgenden Fehler kommen am häufigsten vor. --- ## Übersicht **URL:** https://docs.example.com/docs **Description:** ESP32-Umweltsensor mit BME280, der Messwerte per WLAN über MQTT überträgt Diese Dokumentation beschreibt einen **ESP32-basierten Umweltsensor**, der die Messwerte eines **BME280** (Temperatur, Luftfeuchte, Luftdruck) ausliest und per WLAN über **MQTT** an einen Broker im lokalen Netzwerk sendet. ## Datenfluss Der ESP32 liest in regelmäßigen Abständen die Werte des BME280 über den I²C-Bus aus und veröffentlicht sie als MQTT-Nachrichten an den Broker. ```text ┌──────────┐ I²C ┌──────────────┐ WLAN / MQTT ┌──────────────┐ │ BME280 │ ───────▶ │ ESP32 │ ──────────────▶ │ MQTT-Broker │ │ Sensor │ │ (MicroPython)│ │ (Mosquitto) │ └──────────┘ └──────────────┘ └──────────────┘ T · H · P main.py sensor/… ``` ## Komponenten | Komponente | Verwendung | |--------------|---------------------------------------------| | ESP32 | Mikrocontroller mit WLAN-Modul | | BME280 | Sensor für Temperatur, Feuchte, Luftdruck | | MicroPython | Firmware / Laufzeitumgebung auf dem ESP32 | | Thonny | Entwicklungsumgebung (IDE) | | MQTT-Broker | Empfänger der Sensordaten (z. B. Mosquitto) | ## Inhalt --- Erstellt von **Finn**. --- ## Installation **URL:** https://docs.example.com/docs/installation **Description:** MicroPython-Libraries installieren und die Dateien auf den ESP32 bringen Damit der Sensor funktioniert, müssen auf dem ESP32 zwei MicroPython-Libraries installiert sein und das Programm `main.py` aufgespielt werden. ## Voraussetzungen - **Thonny** ist installiert ([thonny.org](https://thonny.org/)) - Der **ESP32** ist mit der **MicroPython-Firmware** geflasht - Der ESP32 ist per USB-Kabel mit dem Computer verbunden ## Verwendete Libraries | Library | Zweck | |----------------------------|----------------------------------| | `micropython-bme280` | Auslesen der BME280-Sensorwerte | | `micropython-umqtt.simple` | MQTT-Client für die Veröffentlichung | ## Installation über Thonny ## Dateistruktur auf dem ESP32 Nach erfolgreicher Installation liegen folgende Dateien auf dem ESP32: ```text / ├── main.py # Hauptprogramm (Sensor lesen + MQTT senden) └── lib/ ├── bme280.py # BME280-Library └── umqtt/ └── simple.py # MQTT-Client-Library ``` --- ## Konfiguration **URL:** https://docs.example.com/docs/konfiguration **Description:** MQTT-Broker-Adresse einstellen und die verwendeten Topics im Überblick Die wichtigsten Einstellungen befinden sich in der Datei `main.py`. ## MQTT-Broker-IP anpassen Der MQTT-Broker bezieht seine IP-Adresse per **DHCP** und kann sich daher ändern. Bei einer geänderten IP muss in `main.py` die Konstante `BROKER` angepasst werden: ```python # main.py BROKER = "192.168.1.***" # <-- IP des MQTT-Brokers ``` ## MQTT-Topics Der ESP32 veröffentlicht die Messwerte unter folgenden Topics: | Topic | Inhalt | Einheit | |----------------------|------------------|---------| | `sensor/temperatur` | Temperatur | °C | | `sensor/luftfeuchte` | Relative Feuchte | % | | `sensor/luftdruck` | Luftdruck | hPa | --- ## Maschinen **URL:** https://docs.example.com/docs/maschinen **Description:** Übersicht aller Maschinen der Cluster-F Group und der darauf laufenden Dienste Die Cluster-F Group besteht aus mehreren Maschinen. Jede Maschine ist für **einen Dienst** zuständig – und ist nach genau diesem Dienst benannt. ## Namenskonvention | Dienst | Maschinenname | Zweck | |------------|---------------|-------------------------------| | unmint | `unmint` | Generiert diese Dokumentation | | Node-RED | `nodered` | Automatisierung & Flows | | PostgreSQL | `posql` | Datenbank | | OPNsense | `opnsense` | Firewall / Router | | MQTT | `mqtt` | MQTT-Broker (Mosquitto) | ## Zugangsdaten Die Passwörter folgen einer festen Regel (`Ichbin` + Name in Großbuchstaben) und sind zentral hinterlegt. --- ## Passwörter **URL:** https://docs.example.com/docs/passwoerter **Description:** Zentrale Ablage aller Zugangsdaten der Cluster-F-Maschinen – inklusive Namens- und Passwort-Regel Hier liegen die Zugangsdaten **aller Maschinen** der Cluster-F Group an einem Ort. Damit man sich nichts merken muss, folgt alles einer festen Regel – sie steht ganz oben. ## Die Regel Damit ergibt sich das Passwort jeder Maschine automatisch: ```text Passwort = "Ichbin" + MASCHINENNAME (in CAPSLOCK) unmint → IchbinUNMINT nodered → IchbinNODERED ``` ## Maschinen & Passwörter | Maschine | Läuft darauf / Dienst | Passwort | |------------|------------------------------------|------------------| | `unmint` | unmint – diese Dokumentation | `IchbinUNMINT` | | `nodered` | Node-RED – Automatisierung & Flows | `IchbinNODERED` | | `posql` | PostgreSQL – Datenbank | `IchbinPOSQL` | | `opnsense` | OPNsense – Firewall / Router | `IchbinOPNSENSE` | | `mqtt` | MQTT-Broker (Mosquitto) | `IchbinMQTT` | ## Neue Maschine aufnehmen --- ## Links - [GitHub](https://github.com/gsmgh/cluter-f-unmint) - [Discord](https://discord.gg/your-invite)