Skip to content

stephanflug/AltitudeSensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛰️ Altitude Sensor

Altitude Sensor Logo

License Platform MQTT

Sensor Hardware

Kontakt

Bei Fragen können Sie mich gerne per E-Mail erreichen:
📧 steuerung@gmx.at

📋 Beschreibung

Firmware für einen IoT-Höhen- und Umweltsensor basierend auf ESP32c3

Features:

  • Temperatur- und Luftfeuchtigkeitsmessung mit AHT20
  • Luftdruck- und Höhendaten mit BMP280
  • OLED-Display (SSD1306) zur Anzeige
  • WLAN mit konfigurierbarem Setup-Hotspot
  • MQTT-Protokoll zum Senden der Sensordaten
  • OTA-Updates per Button
  • Langdruck-Button zur Steuerung (Reset, Setup, Update)
  • Speicherung der Einstellungen & Maximalwerte im non-volatile Speicher (Preferences)
  • Anzeige Einstellungen direkt am Gerät möglich.
  • OTA Update auch über WEB direkt am Gerät möglich
  • Vertikalgeschwindigkeit

Neue Funktionen (v1.5.0)

🛩️ Vertikalgeschwindigkeit (m/s) mit Glättung & Peak‑Hold (max_v)

📶 RSSI‑Balken oben rechts: zeigt die aktuelle WLAN‑Signalstärke (0–4 Balken)

🔵 MQTT‑Send‑Indikator unten links: Punkt blinkt kurz nach erfolgreichem Publish

7‑Segment‑ähnliche Auto‑Fit‑Zahlen mit Dezimal‑Komma (z. B. „230,5“) – dynamische Schriftgröße

🔁 Seitenrotation am Display (alle ~5 s):

dH max [m]

v max [m/s]

AF (Boot‑Zähler)

✨ Coole Features auf einen Blick

🧠 Smart Setup via WLAN-Hotspot

Kein Hardcoding nötig! Einfach Gerät einschalten, Hotspot öffnen und SSID + MQTT-Zugang im Browser konfigurieren.

📡 Live MQTT-Datenübertragung

Temperatur, Luftfeuchtigkeit, Luftdruck und Höhe – alles in Echtzeit über MQTT an dein Smart-Home-System.

🖥️ OLED-Anzeige integriert

Die wichtigsten Sensordaten immer direkt im Blick – auch ohne Smartphone oder PC.

🔄 OTA-Updates per Tastendruck

Firmware-Updates direkt per WLAN – ganz ohne Kabel oder PC-Verbindung. Nur lange drücken, fertig.

📏 Automatisches Höhendelta-Tracking

Das Gerät misst und speichert automatisch die maximale Höhenänderung seit dem letzten Reset.

💾 Speicher für Maximalwerte und Einstellungen

Alle wichtigen Daten bleiben erhalten – auch nach Stromverlust oder Neustart.

🧰 Super einfacher Web-Flasher

Keine IDE, keine Treiberprobleme. Flash direkt im Browser:
➡️ Zum Flasher

🪛 Open Hardware – Platinen-Layout inklusive

Platine selbst bauen oder bestellen – die Gerber-Dateien sind bereits vorbereitet!


📐 Neues Platinen-Layout

Ein eigenes Platinen-Layout wurde erstellt!
Du kannst jetzt ganz einfach die Gerber-Datei verwenden und die gewünschte Anzahl der Platinen direkt und bequem online bei JLCPCB bestellen. 🚀

📁 Gerber-Dateien zum Download

📦 Gerber_HoehensensorV4.zip

🖼️ Vorschau der Platine

Platine Vorschau


💡 Tipp:

  • Einfach die ZIP-Datei bei JLCPCB hochladen und die Platinen individuell konfigurieren.
  • JLCPCB bietet schnelle Fertigung zu günstigen Preisen.
  • Ideal, um schnell und unkompliziert deine Platinen in professioneller Qualität zu erhalten.

⚙️ Hardwareanschluss

Funktion GPIO-Pin
I2C SDA 5
I2C SCL 6
Boot Button 9
Status LED 8

🚀 Installation & Nutzung

  1. Verbinde Sensoren und Display mit den oben angegebenen Pins.

  2. Firmware auf den ESP32c3 flashen
    👉 Dafür kann bequem der Web ESP Flasher verwendet werden:
    https://flugbuch.gltdienst.home64.de/flasher/

    🛠️ Hinweis zum Flash-Vorgang(nur wenn das Gerät nicht angezeigt wird)

    • Halte während des Verbindungsaufbaus im Flasher-Tool die Boot-Taste gedrückt.
    • Drücke kurz die Reset-Taste am ESP32, während die Boot-Taste weiterhin gedrückt ist.
    • Danach kannst du die Boot-Taste loslassen.
    • Nun sollte die Verbindung hergestellt und die Firmware übertragen werden.
  3. Beim ersten Start (Lang drücken (≥ 3 Sek.):** Start des Setup-Hotspots.)öffnet sich ein WLAN-Hotspot „Altitude Sensor“ für die Konfiguration.

  4. Im Browser den Hotspot aufrufen und SSID, Passwort, MQTT-Daten sowie Sensor-ID eingeben.

  5. Nach dem Speichern erfolgt ein automatischer Neustart und die Verbindung zum WLAN.

  6. Die Sensordaten werden über MQTT gesendet und auf dem OLED-Display angezeigt.


🔘 Bedienung des Buttons(rechte Taste)

  • Kurz drücken (< 3 Sek.): Reset der gespeicherten Maximalwerte.

  • Lang drücken (≥ 3 Sek.): Start des Setup-Hotspots.

  • Sehr lang drücken (≥ 10 Sek.): OTA-Update starten.

    Zusätzlich existiert ein zweiter Reset‑Button (links), der die Werte sofort zurücksetzt.

image

🖥️ Anzeige‑Details (OLED)

Oben rechts: WLAN‑Signal (RSSI‑Balken, 0–4)

Unten links: MQTT‑Punkt, blinkt kurz nach erfolgreichem Publish

Einheiten: „m“ bzw. „m/s“ rechts unten

Außerhalb Bereich (|ΔH| > ALT_RANGE): Anzeige des aktuellen ΔH mit „P“ links unten (Peak)

Rotation: dH max → v max → AF (je ~5 s)

📡 MQTT-Topic & Payload

Topic‑Format:

Altitude/sensor<SENSOR_ID>

Beispiel für SENSOR_ID = 1 → Altitude/sensor1

Beispiel Payload (JSON):

{
"temp": 22.5,
"hum": 55.3,
"alt": 250.1,
"max_delta_alt": 103.4,
"v": 0.72,
"max_v": 2.85,
"bootCount": 3
}

📚 Benötigte Bibliotheken

Adafruit AHTX0

Adafruit BMP280

U8g2 Display

PubSubClient MQTT

Preferences Library (Teil des ESP Arduino Cores)

Unterstütze das Büro-Kaffeekonto!

Damit der Kaffee im Büro nie ausgeht, wäre eine kleine Spende super! 💰☕
Jeder Beitrag hilft, die Kaffeemaschine am Laufen zu halten, damit wir alle produktiv bleiben können!

Spende für Kaffee

Vielen Dank für deine Unterstützung! 🙌