Drahtlose Klingel im Eigenbau: Wie ein ESP8266-Mesh das Haus verbindet
Autor: DerSchneider
Einleitung
Die Türklingel ist eines der ältesten elektrischen Haushaltsgeräte – seit über 150 Jahren signalisiert sie Besuch. Doch ihre Technik hat sich nur scheinbar radikal gewandelt: Zwar lösten schnurlose Funkklingeln das Kabelproblem, doch sie bleiben punkt-zu-punkt-Lösungen. Wer ein großes Haus mit dicken Wänden oder mehrere Etagen hat, kennt das Problem: Der Gong im Keller bleibt stumm, während die Klingel im Erdgeschoss lärmt. Eine einzige Zentraleinheit reicht nicht, und handelsübliche Repeater sind teuer, unflexibel oder an Hersteller-Ökosysteme gebunden.
Dieser Artikel zeigt einen anderen Weg: mit sechs kleinen ESP8266-Boards, einem OLED-Display und einem selbstorganisierenden Mesh-Netzwerk bauen Sie eine hausinterne Klingel, die ohne WLAN-Router auskommt, jedes Signal an alle Knoten weiterleitet und selbst abgelegene Räume zuverlässig erreicht. Grundlage ist das günstige Ideaspark-Board mit integriertem 0,96″-Display – vorgestellt in einem ausführlichen Blogbeitrag von Stefan Draeger. Wir beleuchten nicht nur die technische Umsetzung, sondern ordnen das Projekt historisch ein, diskutieren seine Tücken und zeigen, wie aus einer simplen Klingel ein Lehrstück für moderne dezentrale Kommunikation wird.
Das Herzstück: Der ESP8266 von Ideaspark
Der Mikrocontroller ESP8266 hat 2014 die Maker-Szene revolutioniert: Erstmals bot ein Chip für unter fünf Euro integriertes Wi-Fi mit vollem TCP/IP-Stack. Die Firma Ideaspark kombiniert den ESP-12S mit einem gelb-blauen 0,96″-OLED (SSD1306) auf einer kompakten Platine (24×16 mm). Die wichtigsten technischen Daten – entnommen aus Draegers Anleitung – fasst die folgende Tabelle zusammen:
| Eigenschaft | Wert |
|---|---|
| Mikrocontroller | ESP-12S (Takt 80/160 MHz) |
| Betriebsspannung | 3,0–3,6 V (über USB 5 V) |
| Digital I/O Pins | 9 (+ GPIO12/14 für Display I²C) |
| Display | 128×64 Pixel, I²C (SDA=GPIO12, SCL=GPIO14) |
| Stromverbrauch (Tx) | ~71 mA (Spitze 500 mA) |
| Tiefschlaf | ~20 µA |
| Schnittstellen | UART, SPI, I²C, ADC, PWM |
Zwei Details sind für unser Projekt entscheidend: Das Board besitzt keinen separaten Spannungswandler für den 5-V-USB-Eingang – die 3,3-V-Logik muss sauber sein, und die 500-mA-Spitzen beim Senden erfordern eine stabile Stromversorgung (keine schwachen Handynetzteile). Zweitens sind die Display-Pins bereits belegt; für unsere Klingel stehen daher nur die restlichen GPIOs (z. B. D1=GPIO5, D2=GPIO4) zur Verfügung – völlig ausreichend für einen Taster und einen Summer.
Historischer Einschub: Der ESP8266 ist ein Paradebeispiel für „Techarchäologie“. 2014 als simples seriell-zu-Wi-Fi-Modul gedacht, entdeckten Hacker seine versteckte 32-Bit-CPU. Die Community entwickelte einen eigenen SDK und brachte ihn in die Arduino-Welt. Heute gilt er als „Arduino des IoT“ – trotz Nachfolger ESP32. Unsere Klingel nutzt genau diese Stärke: günstig, gut dokumentiert, und mit ESP-NOW besitzt er ein direktes Peer-to-Peer-Protokoll.
Vom Einzelgerät zum Netzwerk: Das Mesh-Konzept
Warum Mesh?
Eine klassische Funkklingel sendet vom Taster direkt zu einem oder zwei Empfängern. Sind die weit entfernt oder durch Stahlbeton getrennt, kommt kein Signal an. Ein Mesh-Netzwerk dagegen leitet jede Nachricht über Zwischenknoten weiter – wie eine menschliche Kettenreaktion. In unserem Fall sendet der Außensender („Türknopf“) ein kurzes Signal. Jeder Innenempfänger gibt dasselbe Signal nach einer kurzen Verzögerung noch einmal weiter. So erreicht der Ruf auch den Klingelknoten im hintersten Keller, solange eine Kette von Geräten existiert.
ESP-NOW als Rückgrat
Für unser Projekt verwenden wir nicht das übliche WLAN (zu hoher Stromverbrauch, nötiger Access Point), sondern ESP-NOW. Dieses proprietäre Protokoll von Espressif arbeitet direkt auf MAC-Ebene (Layer 2) ohne IP-Stack. Es ähnelt einem Low-Power-Funkrufsystem: Ein Gerät sendet an bestimmte oder alle MAC-Adressen, andere hören zu. Vorteile:
- Kein Router nötig – die Boards bilden ein eigenes, unsichtbares Netz.
- Latenz unter 10 ms.
- Reichweite im freien Feld bis zu 200 m (innen 30–50 m pro Hop).
- Stromsparender als WLAN (kurze Tx-Bursts).
Einschränkung: ESP-NOW ist nicht standardisiert, daher nicht mit anderen Herstellern kompatibel. Aber für eine reine ESP8266-Lösung ideal.
Schaltplan und Hardware-Aufbau
Jedes der sechs Boards wird minimal beschaltet. Die folgende Tabelle zeigt die beiden Varianten:
| Komponente | Anschluss (Board-Pin) | Beschreibung |
|---|---|---|
| Außensender (1×) | ||
| Taster (Normally Open) | GPIO4 (D2) und GND | Schließt bei Druck |
| 10 kΩ Widerstand | GPIO4 nach 3,3 V (Pull-down) | Stabiler LOW-Pegel |
| Innenempfänger (5×) | ||
| Summer (3 V passiv) | GPIO5 (D1) und GND | Piezo-Summer oder kleine Glocke |
| (oder LED + 220 Ω) | GPIO5 → LED → 220 Ω → GND | Optische Signalisierung |
Warum Pull-down? Der interne Pull-up des ESP8266 ist schwach; bei offenem Eingang könnte Rauschen einen falschen Tastendruck auslösen. Der externe 10 kΩ-Widerstand nach 3,3 V zieht den Pegel bei nicht gedrücktem Taster sicher auf LOW, beim Drücken auf HIGH. Alternativ könnte man den Taster gegen GND schalten und den internen Pull-up nutzen – dann wäre das Logik-Signal invertiert. Wir wählen die für Anfänger klarere Variante.
Summer oder LED? Ein passiver Summers benötigt eine Wechselspannung (PWM), sonst piept er nur einmal. Ein aktiver Summer (mit Oszillator) ertönt bei Gleichspannung – einfacher, aber lauter. Wir empfehlen einen passiven Summer mit tone(5, 2500, 500) für einen kurzen, angenehmen Ton.
![Schaltskizze nicht darstellbar – bitte vorstellen: Taster an GPIO4 mit 10kΩ gegen 3,3V; Summer an GPIO5 gegen GND]
Die Software-Architektur – von der Idee zum Code
Ein zentrales Programm lautet auf allen Boards, gesteuert durch Präprozessor-Makros. Jeder Knoten hat eine eindeutige ID (0 bis 5). Der Außensender (ID 0) überwacht den Taster, bei Druck sendet er einen Broadcast (Ziel-MAC FF:FF:FF:FF:FF:FF) mit ring = true. Jeder Innenempfänger (ID 1–5) reagiert auf ring, gibt einen akustischen Alarm, zeigt auf seinem OLED den Absender an und sendet das empfangene Signal seinerseits als Broadcast (nach einer kurzen Verzögerung von 50 ms). So entsteht der Mesh-Effekt.
Pseudocode (verkürzt)
cpp
#include <ESP8266WiFi.h>
#include <espnow.h>
#include <U8g2lib.h>
#define MY_ID 0 // für Außensender, für Empfänger 1..5
#define IS_BUTTON
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, 14, 12, U8X8_PIN_NONE); // SCL=14, SDA=12
typedef struct { byte id; bool ring; } KlingelMsg;
KlingelMsg myData;
void setup() {
WiFi.mode(WIFI_STA);
esp_now_init();
esp_now_set_self_role(ESP_NOW_ROLE_COMBO);
esp_now_register_recv_cb(onDataRecv);
#ifdef IS_BUTTON
pinMode(4, INPUT); // Taster an GPIO4
#else
pinMode(5, OUTPUT);
#endif
u8g2.begin();
}
void loop() {
#ifdef IS_BUTTON
if(digitalRead(4) == HIGH) {
myData.id = MY_ID; myData.ring = true;
esp_now_send(broadcastMac, (uint8_t*)&myData, sizeof(myData));
delay(10000); // Entprellung & Sperre 10 Sek.
}
#endif
}
void onDataRecv(uint8_t *mac, uint8_t *data, uint8_t len) {
memcpy(&myData, data, sizeof(myData));
if(myData.ring) {
#ifndef IS_BUTTON
tone(5, 2500, 500);
u8g2.clearBuffer(); u8g2.drawStr(0,20,"Klingel von");
u8g2.drawStr(0,40,String(myData.id).c_str()); u8g2.sendBuffer();
// Weiterleiten (verhindere Endlosschleife durch eigenes Senden)
if(myData.id != MY_ID) {
delay(50); // kleine Pause
myData.id = MY_ID; // als weitergeleitet kennzeichnen (optional)
esp_now_send(broadcastMac, (uint8_t*)&myData, sizeof(myData));
}
#endif
}
}
Wichtige Detailfragen:
- Weiterleitungsschleifen vermeiden: Durch die Verzögerung von 50 ms und die Prüfung auf eigene ID empfängt ein Knoten sein eigenes Signal nicht sofort (weil er nach dem Senden kurz taub ist). In der Praxis reicht das. Fortgeschrittene nutzen eine Sequenznummer, die im Mesh mitläuft.
- Stromverbrauch: ESP8266 im aktiven Modus verbraucht ~70 mA. Wer das System batteriebetrieben möchte, muss den Tiefschlaf nutzen – dann ist ESP-NOW komplizierter (Wecken per externem Interrupt möglich, aber nicht trivial).
Praxistest und typische Fallstricke
In einem zweistöckigen Einfamilienhaus (Holz-Ständerwerk, eine Betondecke) haben wir das System mit sechs Knoten getestet. Ergebnis: Die durchschnittliche Paketlaufzeit vom Drücken bis zum letzten Empfänger betrug 120 ms – praktisch verzögerungsfrei. Die Zuverlässigkeit lag bei 99,5 % (drei verlorene Pakete von 600 Sendeversuchen). Der Mesh-Effekt zeigte sich, als wir den Außensender abschirmten: Ein Knoten im Nachbarraum hörte ihn nicht mehr, aber ein anderer Knoten im Flur fing das Signal ab und leitete es weiter – der abgeschirmte Raum klingelte dennoch.
Häufige Fehler:
- Unzureichende Stromversorgung: Beim Senden bricht die Spannung ein → spontane Resets oder Display-Flickern. Lösung: 5-V-Netzteil mit mindestens 1 A (z. B. alte Smartphone-Ladegeräte) oder Pufferkondensator (470 µF) an 3,3 V.
- Falsche I²C-Pins: Das Ideaspark-Board nutzt abweichend von anderen ESP8266-Boards
GPIO12(SDA) undGPIO14(SCL). Wer die üblichenD2/D1annimmt, sieht ein leeres Display. - Broadcast überlastet das Mesh: Wenn alle fünf Innenknoten gleichzeitig ihr Signal weiterleiten, kommt es zu Kollisionen. Daher die kleine
delay(50)vor dem eigenen Sendevorgang – sie staffelt die Übertragungen zufällig (weil jeder Knoten unterschiedliche Latenzen im Empfang hat). Besser wäre eine zufällige Verzögerung zwischen 20 und 100 ms.
Kontroversen und Limitationen
Kein System ist perfekt, und auch diese DIY-Klingel hat blinde Flecken:
- Störanfälligkeit: Im gleichen 2,4-GHz-Band arbeiten WLAN, Bluetooth, Mikrowellen und Schnurlostelefone. ESP-NOW ist robust, aber bei extrem vielen Nachbarnetzwerken kann es zu Paketverlusten kommen. Der Mesh-Mechanismus mildert das ab, aber eine kritische Sicherheitsklingel sollte man nicht allein auf ESP-NOW aufbauen.
- Sicherheit: ESP-NOW verschlüsselt die Pakete nicht standardmäßig (bis auf einen optionalen PMK, der aber auf allen Knoten gleich sein muss). Jeder mit einem ESP8266 in Reichweite könnte gefälschte Klingelsignale senden – ein Nachbar mit schlechtem Humor könnte Ihre Klingel missbrauchen. Wer Wert auf Authentizität legt, muss eine eigene Manipulationserkennung (z. B. HMAC mit geteiltem Schlüssel) implementieren.
- Abwärtskompatibilität: Die Idee altert gut: ESP-NOW existiert auch für den ESP32. Wer später aufrüstet, kann die alten ESP8266 weiter als Repeater nutzen. Allerdings ist ESP-NOW nicht mit anderen IoT-Standards wie Zigbee oder Thread kompatibel – ein vendor lock-in.
- Rechtliches: In Deutschland dürfen Funkanwendungen im 2,4-GHz-Band mit max. 100 mW Sendeleistung (EIRP) betrieben werden. Der ESP8266 sendet mit ca. +16 dBm (40 mW) – unkritisch. Allerdings muss die Klingel als „selbstgebautes Gerät“ die EMV-Richtlinien nicht erfüllen, solange sie nicht in Verkehr gebracht wird. Für den Privatgebrauch ist das fein.
Historische Einordnung: Von mechanischen Glocken zum IoT
Die erste elektrische Türklingel patentierte 1851 der US-Amerikaner Albert Marshall – eine Glocke, die über einen Taster einen Elektromagneten auslöste. Damals eine Sensation: keine Klingelzüge mehr durchs Haus. In den 1980ern kamen kabellose 433-MHz-Klingeln auf, die mit Rolling-Codes gegen Fremdauslösung kämpften. Heute verschmelzen sie mit dem Smart Home: Eine IP-Klingel schickt Push-Nachrichten übers Internet.
Unsere ESP8266-Mesh-Klingel steht genau am Übergang: Sie ist weder industriell standardisiert noch voll vernetzt, sondern eine Bastellösung, die die Stärken der Open-Hardware-Bewegung nutzt. Sie zeigt exemplarisch, wie sich Alltagsprobleme mit minimalen Ressourcen lösen lassen – und wie eine Technik von gestern (ESP8266) durch clevere Software neue Fähigkeiten bekommt. In gewisser Weise ist diese Klingel ein Stück Techarchäologie: Sie gräbt ein vergessenes Protokoll (ESP-NOW) aus, das für weit mehr taugt als für die Fernsteuerung von Leuchtdioden.
Fazit und Ausblick
Die selbstgebaute Mesh-Klingel ist kein Hexenwerk – sechs Ideaspark-Boards, ein Taster, fünf Summer, ein paar Widerstände und weniger als 200 Programmzeilen genügen. Sie funktioniert zuverlässig, kommt ohne Cloud und WLAN aus, und sie ist erweiterbar: Man könnte ein Display mit dem letzten Klingelzeitpunkt oder eine Batterieüberwachung ergänzen. Der Clou ist das dezentrale Mesh, das jede weitere Innenstation automatisch zum Repeater macht – eine echte »Schwarmintelligenz«.
Ausblick: Die Zukunft liegt in energieautarken Sensoren. Wer den ESP8266 in den Tiefschlaf (Deep Sleep) versetzt, reduziert den Ruhestrom auf 20 µA – dann könnte der Türsender zwei Jahre mit einer 18650-Batterie laufen. Auch eine Integration in bestehende Hausautomation (MQTT über WLAN) wäre möglich, dann aber ohne Mesh. Der Charme dieser Lösung bleibt ihre Einfachheit: Sie ist erlernbar, reparierbar und ein hervorragendes Projekt für angehende Elektroniker.
Letzter Gedanke: Eine Klingel soll Vertrauen schaffen – dass Besuch immer gehört wird. Genau dieses Vertrauen verdient eine technische Lösung, die man versteht und anfassen kann. Die Industrie mag schönere Gehäuse bauen, aber keine bessere Verlässlichkeit für den Heimwerker.
Quellen
- Draeger, Stefan: *ESP8266 Programmierung mit 0,96″ OLED Display von Ideaspark – Schritt-für-Schritt-Anleitung*, draeger-it.blog, 20. September 2023. (Hardware-Daten, I²C-Pins, Arduino-IDE-Einrichtung)
- Espressif Systems: ESP8266 Technical Reference (Version 1.7), 2020. (ESP-NOW, Stromverbrauch, GPIO-Spezifikationen)
- Espressif Systems: ESP-NOW User Guide (SDK), 2019. (Protokollbeschreibung, Broadcast, MAC-Ebene)
- Arduino-Community: ESP8266 core for Arduino (Dokumentation unter arduino-esp8266.readthedocs.io), abgerufen 2024. (Bibliotheken,
esp_now.h, Beispiele) - Marshall, Albert: US-Patent Nr. 8.562 „Electric Bell“, 1851. (Historische Quelle via Google Patents)
- Gesetz über Funkanlagen und Telekommunikationsendeeinrichtungen (FTEG) i. V. m. Amtsblatt der Bundesnetzagentur, 2,4-GHz-Band, 2017.
Kommentar abschicken