top of page
uweschwartz2

Zugangskontrolle mit Wiegand Reader und ESP8266/ESP32

Aktualisiert: 13. Dez. 2024


Auf der Suche nach Möglichkeiten für die Zugangskontrolle in Home Assistant bin ich unweigerlich auf Adonnos PN532-Projekt gestoßen. Ich habe den kleinen Reader bestellt und testen können – er funktioniert tadellos, auch wenn die Karte sehr nah an die Box gehalten werden muss, um gelesen zu werden.


Bei potenziellen Kunden stieß ich jedoch auf Bedenken hinsichtlich des Designs in bestimmten Umgebungen sowie der Wetterfestigkeit für den Außenbereich. Auf AliExpress gibt es zahlreiche solcher Reader, die preiswert und teilweise auch ansprechend gestaltet sind. Diese sind in der Regel für die Verwendung mit einem Wiegand-Controller ausgelegt, der wiederum Türöffner oder ähnliche Geräte steuert. Solche Systeme benötigen 12V und sind in diesem Setup nicht direkt mit Home Assistant kompatibel. Einige Reader mit Keypad und Fingerabdrucksensor verwalten diese Funktionen direkt im Gerät. Diese sollen hier jedoch nicht weiter berücksichtigt werden.



Das folgende Setup habe ich mit drei verschiedenen Wiegand-Readern (siehe oben) getestet: Man benötigt den Reader, einen ESP8266 sowie ein Stepdown-Modul, das aus der 12-Volt-Versorgung für den Reader 3,3 Volt für den ESP8266 bereitstellt. GND wird durchgeschleift, unabhängig von der Spannung. In meinem Versuchsaufbau kam ein 12-Volt-Netzteil zum Einsatz. Möchte man das Ganze jedoch am Hauseingang installieren, hat man meist 24 Volt vom Klingeltrafo zur Verfügung. Hier müsste ein weiteres DC-Stepdown-Modul vorgeschaltet werden.




Das Wiegand-Protokoll ist ein weit verbreitetes Übertragungsprotokoll für Kartenleser. Liest man eine Karte über das vorgestellte Setup ein, erhält man eine scheinbar zufällige, aber eindeutige Zahl. Da das Wiegand-Protokoll ursprünglich für einfache Zugangssysteme entwickelt wurde, überträgt es nicht die vollständige UID der Karte, sondern eine gekürzte Version (meist 24 Bit). Es findet eine Umrechnung (z. B. binär zu dezimal) oder eine Trunkierung der UID statt, um sie an das 26-Bit-Wiegand-Format anzupassen. Dies führt zu Diskrepanzen zwischen der ursprünglichen Kartennummer – in meinem Fall +04FF8271110189 – und der vom Reader ausgegebenen Zahl, die in diesem Fall 8584964 lautet. Es ist auch möglich, den Reader auf 32 Bit umzustellen.

Der so installierte Reader wird dann einfach über ESPHome erkannt und lässt sich nahtlos in das System integrieren. In den Automatisierungen muss allerdings die „Wiegand-Nummer“ verwendet werden, während bei einer PN532-Variante ganz andere Ergebnisse geliefert werden.


Kombinierte Reader, die neben einem NFC-Reader auch ein Keypad zur PIN-Eingabe bieten, erfordern eine etwas komplexere Integration.

Um das Keypad effizient zu nutzen, benötigt man einen sogenannten „Key Collector“. Dieser erfasst die Tasteneingaben und sendet den vollständigen Code an einen vordefinierten Text-Sensor, nachdem eine Abschluss-Taste (z. B. ENTER oder #) gedrückt wurde.

Der Text-Sensor dient als zentrale Instanz, die den eingegebenen Code überwacht. In einer Automation – beispielsweise zur Aktivierung oder Deaktivierung einer Alarmanlage, zum Öffnen eines Smartlocks oder zum Schalten von Licht – wird der Code überprüft. Stimmt er mit einem vorher definierten Wert überein, wird die beabsichtigte Aktion ausgelöst.

Diese Lösung ermöglicht eine präzise und flexible Steuerung, erfordert jedoch eine durchdachte Konfiguration des Key Collectors und der Automationen.




Die Entertaste gibt eine 11 zurück. die ESC Taste eine 10. Diese wurden entsprechend festgelegt: 11 schließt die Eingabe ab, 10 setzt die vorherige Eingabe zurück, falls man sich verdrückt hat.



Nach jeder Eingabe und Abschluss durch die ENT-Taste (11) wird der PIN an den Text Sensor gesendet, die Automation sofort ausgelöst.


Zusätzlich zur Verwendung eines Text-Sensors zur Speicherung der PIN-Eingabe oder der Karten-UID besteht die Möglichkeit, diese Informationen direkt an einen MQTT-Server, wie beispielsweise Mosquitto, zu senden. Dies bietet eine noch größere plattformübergreifende Flexibilität und eröffnet zahlreiche Integrationsmöglichkeiten. Es ist auch möglich, beide Ansätze gleichzeitig zu nutzen. Das könnte dann beispielhaft so aussehen:

Durch die serverseitige Integration in Home Assistant eröffnen sich zahlreiche Möglichkeiten: Karten können aus der Ferne für den Zugang freigeschaltet oder gesperrt werden, was sich beispielsweise ideal für die Verwaltung von Ferienwohnungen eignet. Oder der PIN für den Zugang kann einfach online geändert werden.


Über Text Input oder Number Input Felder kann man jetzt ganze UID Pools anlegen, diese Pools sperren und die PIN ändern.


Sensoren werden entweder direkt in die configuration yaml oder über Helper angelegt.

Textsensoren, die nur Informationen anzeigen, kann man auch direkt in ESPHOME mit kompilieren. Sie stehen dann in HA automatisch zur Verfügung. (Hier im Beispiel: Anzeige der gerade gescannten UID oder des eingebenben PINs.


Die Automatisierung könnet dann so aussehen, hier am einfachen Beispiel einer Lampe, die ein- und ausgeschaltet wird.


Sinnhafter ist es jedoch, eine Alarmanlage zu schalten oder dieses Setup im Bereich der Zutrittskontrolle anzuwenden.

So kann man bei einem Ferienhaus die PIN neu setzen oder hinterlegte NFC Karten für den gebuchten Zeitraum hinterlegen. Sind die Gäste weg, werden die Karten oder PIN Codes für die Servicekräfte aktiviert nd nach getaner Arbeit wieder gesperrt.


Nachfolgend nochmal die Vor- und Nachteile bei der Verwendung von Wiegand Readern mit Esphome:


Vorteile:

  • Preiswert: Der ESP8266 und die Wiegand Reader/Keypads sind kostengünstig und leicht verfügbar.

  • Vielfältige Designs: Wiegand-Reader gibt es in zahlreichen Ausführungen, passend für verschiedene Einsatzbereiche.

  • Kein Wiegand-Controller notwendig: Der ESP8266 übernimmt die Verarbeitung der Wiegand-Signale.

  • Flexible Einsatzmöglichkeiten: Dank der drahtlosen Anbindung per WLAN kann der Reader flexibel positioniert werden.

  • Direkte Weiterverarbeitung von Daten: NFC-Tags und PIN-Codes vom Keypad können direkt an einen MQTT-Server gesendet und dort weiterverarbeitet werden.

  • Kein Kabelsalat: Die drahtlose Integration macht zusätzliche Verkabelung überflüssig.

  • Einfacher Betrieb mit 24V-Systemen: Kann direkt mit bestehenden 24V-Systemen wie dem Klingeltrafo an der Haustür betrieben werden.

Nachteile:

  • Kein Batteriebetrieb: Der ESP8266 und das Wiegand Gerät benötigen eine feste Stromquelle und sind nicht für den Batteriebetrieb ausgelegt. Darüber hinaus arbeitet das Wiegand gerät mit 12 Volt, der esp8266 aber mit 3,3 Volt, so dass ein DC Step-down Modul von 12 V --> 3,3 V zwischengeschaltet werden muss.


Idee für ein weiterführendes Projekt:

Erstellung einer PCB für esp8266 und stepdown Modul, wie im PDF beschrieben


 
 

Weitere Projekt Ideen:

Erweiterung des Projekts basierend auf einem ESP32-Mikrocontroller in Kombination mit einem Step-Down-Modul und einem Wiegand Reader, um einen universellen, plattformunabhängigen RFID-Leser zu realisieren. Der ESP32 dient auch hier als zentrales Steuerungselement, das RFID-Daten und Keypad PIN Eingaben erfasst und über das MQTT-Protokoll an einen MQTT Server weiterleitet.

Das initiale Setup erfolgt über ein intuitives Webinterface (Fallback Hotspot), in dem Benutzer die Wi-Fi-Zugangsdaten sowie die Einstellungen des MQTT-Servers eingeben können. Diese Informationen werden sicher im EEPROM des ESP32 gespeichert, wodurch eine einfache Einrichtung und Wiederherstellung bei Bedarf ermöglicht wird.

Darüber hinaus kann man die BLE Funktionalität des ESP32 ( esp32_ble_tracker) nutzen, um zum Beispiel das automatische Öffnen von Türen zu realisieren, wenn sich eine autorisierte Person nähert.

Dieses Project sollte man mit Arduino IDE umsetzen, da es in Esphome einige Beschränkungen gibt.






154 Ansichten0 Kommentare

Aktuelle Beiträge

Alle ansehen

コメント

5つ星のうち0と評価されています。
まだ評価がありません

評価を追加
bottom of page