ESP RFID - Zugangskontrolle mit ESP8266, RC522 PN532 WIEGAND RDM6300
Zugriffskontrollsystem mit einem billigen MFRC522, PN532 RFID, RDM6300 -Lesern oder WIEGAND RFID -Lesern und Espressifs ESP8266 -Mikrocontroller.
Merkmale
Für Benutzer
- Minimale Anstrengungen zum Einrichten Ihres Zugriffskontrollsystems, einfach Blitz und alles kann über die Web -Benutzeroberfläche konfiguriert werden
- In der Lage, bis zu 1.000 Benutzer zu verwalten (noch mehr ist möglich)
- Ideal für Herstellerräume, Labors, Schulen usw.
- Billig zu bauen und leicht zu warten
Für Bastler
- Open Source (Mindestmenge an hartcodierter Variable, dies bedeutet mehr Freiheit)
- Verwenden von WebSocket -Protokoll zum Austausch von Daten zwischen Hardware und Webbrowser
- Daten werden als JSON -Objekt codiert
- Die Datensätze werden Zeitstempel (Zeit von einem NTP -Server synchronisiert)
- MQTT aktiviert
- Bootstrap, JQuery, Fußables für wunderschöne Webseiten für mobile und Desktop -Bildschirme
- Dank an die EspaSyncWebserver -Bibliothekskommunikation ist die Kommunikation asynchron
Offizielle Hardware
- Kleiner Formfaktor, manchmal ist es möglich, ihn in vorhandene Leser zu kleben.
- Einzelstromquelle für Power 12V/2A Powers ESP12 -Modul, RFID -Wiegand -Leser und Magnetschloss zum Öffnen von Türen.
- Exponierte Programmierstifte für ESP8266
- In Bezug auf das Hardware -Design erhalten Sie mehrere mögliche Setup -Optionen:
- Forward Bell klingelt auf den Leser, um MCU zu
- Streckentürstatus
- Status der Steuerung des Lesers
- Status -Summerschall des Lesers *
- Power Reader, Sperre und das Board durch Single 12V, 2A PSU
- Optional Leistung Magnetic Lock durch externes AC/DC -PSU
- Möglich, jede Art und jede Art von Wiegand -Lesern zu verwenden
- Ermöglicht es Ihnen, IoT -Zugriffssystem mit sehr wenig Verkabelung zu erstellen
- Passt in eine universelle Gehäuse mit Din Mount
- Open Source -Hardware
Erhalten Sie weitere Informationen und sehen Sie zu Zubehöroptionen im Tindie Store
| Was sagen andere über ESP-RFID? |
|---|
| "Hallo, schönes Projekt." - @rotzbua |
| "Ihre App funktioniert wie ein Zauber" - @tueddy |
| "Ich bin gerade auf dieses Projekt gestoßen, während er plante, etwas Ähnliches zu tun. Sehr schön gemacht!" - @lifep |
| "Hallo, ich bin auf dein Projekt gestoßen und vor allem ... wow - dank aller Mitwirkenden für deine harte Arbeit!" - @byt3w4rri0r |
| "Brillante Arbeit." - @danbicks |
| "Dies ist ein beeindruckendes Projekt." - @Appi1 |
| "Ich möchte mich bei jedem einzelnen Mitwirkenden für die Erstellung dieses epischen Projekts bedanken." - @Thecellmc |
| "Herzlichen Glückwunsch zu Ihrer großartigen Arbeit! Dieses Projekt ist absolut brillant." - @Quikote |
Erste Schritte
Dieses Projekt ist noch in seiner Entwicklungsphase. Neue Funktionen (und auch Fehler) werden häufig eingeführt und einige Funktionen können veraltet werden. Bitte zögern Sie nicht, zu kommentieren oder Feedback zu geben.
- Holen Sie sich die neueste Veröffentlichung von hier.
- Siehe bekannte Probleme, bevor Sie sofort anfangen.
- Siehe Sicherheit für Ihre Sicherheit.
- Siehe ChangeLog
Was Sie brauchen werden
Hardware
- Offizielles ESP-RFID-Staffel Board oder
- Ein ESP8266 -Modul oder ein Entwicklungsausschuss wie Wemos D1 Mini oder NodeMcu 1.0 mit mindestens 32Mbit Blitz (entspricht 4mbytes) (ESP32 wird vorerst nicht unterstützt)
- Ein MFRC522 RFID -PCD -Modul oder PN532 NFC -Readermodul oder RDM6300 125KHz RFID -Modul Wiegand -basierte RFID -Leser
- Ein Relaismodul (oder Sie können Ihre eigene Schaltung erstellen)
- N Menge an Mifare Classic 1KB (empfohlen aufgrund der verfügbaren Codebasis) PICCS (RFID -Tags), die der Benutzernummer entsprechen
Software
Verwenden von kompilierten Binärdateien
Laden Sie kompilierte Binärdateien aus GitHub Releases-Seite https://github.com/eprfid/esp-rfid/releases
Unter Windows können Sie "Flash.Bat" verwenden. Sie werden Sie gefragt, welchen COM -Port der ESP angeschlossen ist, und blinkt ihn dann. Sie können jedes Blinkwerkzeug verwenden und das Blinken manuell durchführen. Der Blitzprozess selbst wurde an zahlreichen Orten im Internet beschrieben.
Gebäude mit Platformio
Die Build -Umgebung basiert auf Platformio. Befolgen Sie die hier gefundenen Anweisungen: http://platformio.org/#!/get-started für die Installation, überspringen Sie jedoch den platform init Schritt, wie dies bereits durchgeführt, geändert und in diesem Repository enthalten ist. Zusammenfassend:
sudo pip install -U pip setuptools
sudo pip install -U platformio
git clone https://github.com/esprfid/esp-rfid.git
cd esp-rfid
platformio run
Wenn Sie zum ersten Mal platformio run ausführen, wird die Toolchains und alle erforderlichen Bibliotheken automatisch heruntergeladen.
Nützliche Befehle:
-
platformio run - Prozess/Erstellen Sie alle Ziele -
platformio run -e generic -t upload -Prozess/Build und Flash nur das ESP12E -Ziel (das NodeMcu V2) -
platformio run -t clean - sauberes Projekt (Kompilierte Dateien entfernen)
Das resultierende (erstellte) Bild (en) finden Sie im Verzeichnis /bin das während des Build -Prozesses erstellt wurde.
So ändern Sie das Projekt
Wenn Sie den Code ändern möchten, können Sie weitere Informationen in der beitragenden Datei lesen.
Pin -Layout
Die folgende Tabelle zeigt das typische PIN -Layout zum Anschließen von Lesernhardware mit ESP:
| ESP8266 | Nodemcu/wemos | Wiegand | PN532 | MFRC522 | RDM6300 |
|---|
| GPIO-16 | D0 | | SS (Wemos D1) | SDA/SS | |
| GPIO-15 | D8 | | | SDA/SS | |
| Gpio-13 | D7 | D0 | Mosi | Mosi | |
| Gpio-12 | D6 | D1 | Miso | Miso | |
| GPIO-14 | D5 | | Sck | Sck | |
| Gpio-04 | D2 | | | | Tx |
| Gpio-05 | D1 | | Ss | | |
Für WIEGAND -Basis -Leser können Sie über Einstellungsseite die D0- und D1 -Pins konfigurieren. Standardmäßig ist D0 GPIO-4 und D1 ist GPIO-5
Schritte
- Erstens Flash Firmware (Sie können /bin/flash.bat unter Windows verwenden) für Ihr ESP entweder mit Arduino IDE oder mit Ihrem Lieblings -Flash -Tool
- (Optional) Starten Sie Ihren seriellen Monitor, um informiert zu werden
- Suchen Sie nach drahtlosen Netzwerk "ESP-RFID-XXXXXX" und stellen Sie eine Verbindung dazu her (es sollte ein geöffnetes Netzwerk sein und kein Kennwort benötigt).
- Öffnen Sie Ihren Browser und besuchen Sie entweder "http://192.168.4.1" oder "http: //esp-rfid.local" (.Local braucht Bonjour auf Ihrem Computer).
- Melden Sie sich bei ESP an, das Standardkennwort lautet "Admin".
- Gehen Sie zur Seite "Einstellungen"
- Konfigurieren Sie Ihr erstaunliches Zugangskontrollgerät. Drücken Sie die Schaltfläche "Scan", um Ihrem drahtlosen Netzwerk beizutreten. Konfigurieren Sie RFID -Hardware und Relay -Modul.
- Speichern Sie Einstellungen. Wenn Sie Ihr ESP neu gestartet haben, versuchen Sie, Ihrem drahtlosen Netzwerk beizutreten.
- Überprüfen Sie Ihre neue IP -Adresse bei Serienmonitor und stellen Sie erneut eine Verbindung zu Ihrem ESP her. (Sie können auch eine Verbindung zu "http: //esp-rfid.local" herstellen))
- Gehen Sie zur "Benutzer" -Seite
- Scannen Sie ein PICC (RFID -Tag) und sollten Sie den Bildschirm Ihres Browsers sehen.
- Geben Sie "Benutzername" oder "Etikett" für die von Ihnen gescannten PICC ein.
- Wählen Sie "Zugriff zulassen", wenn Sie möchten
- Klicken Sie auf "Hinzufügen"
- Herzlichen Glückwunsch, alles lief gut, wenn Sie auf ein Problem stoßen, können Sie sich gerne bei GitHub um Hilfe bitten.
Mqtt
Sie können ESP-RFID mit MQTT in andere Systeme integrieren. Lesen Sie die zusätzliche Dokumentation für alle Details.
Bekannte Probleme
- Sie müssen Ihren MFRC522 -Leser ordnungsgemäß mit Ihrem ESP anschließen, oder Sie werden eine Startschleife erhalten
- Bitte überprüfen Sie auch GitHub -Probleme.
Zeit
Wir synchronisieren die Zeit von einem NTP -Server (im Client -aka -Infrastrukturmodus). Dies erfordert ESP, eine Internetverbindung zu haben. Zusätzlich kann Ihr ESP auch ohne Internetverbindung (Access Point -aka Ad-hoc-Modus) arbeiten, ohne die Funktionalität aufzugeben. Auf diese Weise müssen Sie die Zeit manuell synchronisieren. ESP kann für Sie ungefähr 51 Tage ohne große Probleme speichern und Zeit halten, die Gerätezeit kann abhängig von der Verwendung, Temperatur usw. driften. Sie müssen sich also auf die Seite "Einstellungen" anmelden und rechtzeitig synchronisieren. Timezones werden mit automatischer Schalter zu und von Tageslichtsparzeit unterstützt.
Sicherheit
Wir gehen davon aus, dass das ESP-RFID -Projekt-als Ganzes keine starke Sicherheit bietet. Es stehen PICCs zur Verfügung, dass ihre UID (eindeutige Identifikationsnummern) manuell festgelegt werden kann (derzeit ist ESP-RFID nur UID, um seine Benutzer zu identifizieren). Es kann auch einen Fehler in dem Code geben, der einen freien Zugriff auf Ihre Sachen entstehen kann. Und wie jedes andere mit Netzwerk verbundene Geräte ESP-RFID ist auch anfällig für viele Angriffe, einschließlich Man-in-the-Middle, Brute-Force usw.
Dies ist ein einfaches Hobby -Projekt, verwenden Sie es nicht, bei dem eine starke Sicherheit benötigt wird.
Was kann getan werden, um die Sicherheit zu erhöhen? (von dir und von uns)
- Wir arbeiten an sichereren Möglichkeiten zur Authentifizierung von RFID -Tags.
- Sie können das drahtlose Netzwerk deaktivieren, um die Angriffsoberfläche zu reduzieren. (Dies kann auf der Seite "Web UI -Einstellungen" konfiguriert werden.)
- Wählen Sie ein starkes Passwort für die Web -Benutzeroberfläche
Skalierbarkeit
Da wir sowohl auf Flash- als auch auf RAM -Größe begrenzt sind, werden die Dinge möglicherweise irgendwann in der Zukunft hässlich. Nachfolgend finden Sie einige Testergebnisse.
Tests
1) Wie viele RFID -Tag können behandelt werden?
Stellen Sie einige zufällig generierte Benutzerdaten im Dateisystem wert:
- 1000 separate "userfile"
- zufällige 4 Bytes lange UID und
- zufällige Benutzernamen und
- 4 Bytes zufällige Unix -Zeitstempel
- Jeder verfügt über "Zugriffstyp" 1 Byte Integer "1" oder "0".
Insgesamt 122.880 Bytes
Mindestens 1000 eindeutiger Benutzer (RFID -Tag) können behandelt werden, der Test wurde auf Wemos D1 Mini durchgeführt.
Zusätzliche Tests sind erforderlich:
- Protokollierung muss getestet werden. Wie lange sollte es für den Zugriff protokollieren müssen? Was ist, wenn ein Chef das ganze Jahr lang Protokoll braucht?
- Zuverlässigkeit bei Flash (diese noch Flash haben einen begrenzten Schreibzyklus in ihren Zellen). Es hängt von der Auswahl des Flash -Chips und der Verwendung von Herstellern ab.
Gemeinschaft
Treten Sie dem Community -Chat auf dem Gitter bei
Projekte, die auf ESP-RFID basieren
- ESP-IO-Projekt zur Manipulation von GPIOs mit EventGhost
- ESP-RCM-Raumklima-Monitor mit ESP8266, HTU21D, SI7021, AM2320
- ESP-RFID-PY Micro-Python-Implementierung von ESP-RFID wird ebenfalls von @IBOBIK zur Verfügung gestellt
Anerkennung
- @rneurink
- @thunderace
- @Zeraien
- @nardev
- @romanzava
- @Arduino12
- @Pako2
- @marelab
Siehe ChangeLog
Spenden
Die Entwicklung vollständig offener, ausführlich getesteter eingebetteter Software ist schwierig und zeitaufwändig. Bitte ziehen Sie Spenden in Betracht, um Entwickler hinter dieser schönen Software zu unterstützen.
Spenden, die durch offenes Kollektiv transparent verarbeitet werden, werden von OCs Open Ledger veröffentlicht.
- 2017-10-03 Steinar-T
- 2017-12-10 Saschaludwig
- 2018-10-02 Dennis Parsch
- 2019-01-12 Chris-Topher Slater
- 2019-04-23 Klaus Blum
- 2019-04-25 Andre Diäten
Mitwirkende
Dieses Projekt besteht dank aller Menschen, die einen Beitrag leisten.
Lizenz
Die von den Autoren des ESP-RFID-Projekts geschriebenen Code-Teile sind unter MIT-Lizenz lizenziert. Bibliotheken der Drittanbieter, die von diesem Projekt verwendet werden, werden unter verschiedenen Lizenzsystemen lizenziert. Bitte überprüfen Sie sie auch.