[Tutorial] Integration eines RFID-Lesegeräts in Gladys

1. Ausgewähltes Material:

2. Vorbereitung

Nachdem Sie Ihr Material bestellt und erhalten haben (ja, es wird ankommen!), müssen Sie den Wemos D1 Mini programmieren. Ich habe mich für Tasmota entschieden, wegen seiner Benutzerfreundlichkeit und Skalierbarkeit, die keine Programmierkenntnisse erfordert!
Der einzige Schwierigkeit: Die Verwaltung des RFID-Lesers ist nicht im Grundprogramm enthalten, daher muss es kompiliert werden! Aber keine Sorge… Es gibt zwei Möglichkeiten:

  • Entweder Sie tun es selbst (es ist nicht kompliziert, siehe hier: Dashboard). Sie müssen die folgenden Werte in die Datei user_config_override.h einfügen:
#define USE_SPI                                  // Hardware SPI mit GPIO12(MISO), GPIO13(MOSI) und GPIO14(CLK) zusätzlich zu zwei benutzerdefinierten GPIOs(CS und DC)
#define USE_RC522                              // Unterstützung für MFRC522 13.56Mhz Rfid-Leser (+6k Code)
#define USE_RC522_DATA_FUNCTION              // Unterstützung für das Lesen des Datenblockinhalts (+0k4 Code)
#define USE_RC522_TYPE_INFORMATION           // Unterstützung für die Anzeige des Kartentyps (+0k4 Code)
  • Oder Sie laden die von mir vorbereitete Version (Version 9.4) hier herunter

Verbinden Sie Ihren Wemos D1 Mini mit Ihrem PC über das USB-Kabel.
Laden Sie dann „Tasmotizer“ herunter und führen Sie es aus (hier: Releases · tasmota/tasmotizer · GitHub)

Wählen Sie, falls nicht automatisch geschehen, den „COM“-Port aus, der Ihrem Wemos entspricht, klicken Sie dann auf „open“, suchen Sie die „.bin“-Datei, die Sie gerade erstellt/heruntergeladen haben (das Tasmota-Firmware) und klicken Sie auf „Tasmotize!"

Als nächstes konfigurieren Sie Tasmota. Dies erfordert etwas Codierung und Kopieren-Einfügen.

3. Tasmota konfigurieren

3.1 WLAN

Wenn das Flashen erfolgreich war, sollten Sie ein neues WLAN-Netzwerk finden, das mit „Tasmota-xxxx“ beginnt. Verbinden Sie sich mit diesem (ich empfehle, dies mit einem Smartphone zu tun!). Wenn Ihr Gerät dies nicht anbietet, gehen Sie zur Konfigurations-Webseite: 192.168.4.1

Geben Sie die notwendigen Informationen für den Betrieb von Tasmota ein (das WLAN-Netzwerk, mit dem es verbunden werden soll, und das dazugehörige Passwort). Der Wemos startet dann neu und verschwindet!

Jetzt müssen Sie die IP-Adresse finden, um ihn konfigurieren zu können. Zwei Möglichkeiten: Das Netzwerk durchsuchen oder… den „Get IP“-Button von Tasmotizer verwenden! Dazu muss der Wemos weiterhin mit Ihrem Computer verbunden sein…

3.2 Das Template

Damit Tasmota Ihren Wemos D1 Mini als solchen verwaltet, müssen Sie ihm erklären, wofür Sie ihn verwendet haben. Dazu verwenden Sie die „Templates“

Gehen Sie zur Startseite Ihres Wemos, indem Sie die zuvor gefundene IP-Adresse eingeben, und klicken Sie dann auf „Konfiguration“

Dann auf „Weitere Konfiguration“ und fügen Sie den folgenden Text in das Feld „Template“ ein:

{"NAME":"Wemos D1","GPIO":[1,1,1,1,1,1,1,1,1,1,1,1,1,1],"FLAG":0,"BASE":18}

Aktivieren Sie das Kontrollkästchen und nutzen Sie die Gelegenheit, Ihrem Wemos einen netten Namen zu geben:

Klicken Sie dann auf „Speichern“, der Wemos startet neu.
Nach diesem Vorgang klicken Sie auf „Konfiguration“ und dann auf „Modulkonfiguration“.
Im Feld „Modultyp“ wählen Sie „Wemos D1“ aus, klicken Sie auf „Speichern“, der Modul startet neu (wieder einmal!)

3.3 MQTT

Auf der Seite „Konfiguration“ gehen Sie zu „MQTT-Konfiguration“ und geben Sie die Merkmale Ihrer Gladys-Instanz ein

Klicken Sie auf „Speichern“, der Modul startet neu (ja, wieder einmal!)

3.4 Die GPIOs

Jetzt erklären wir Tasmota, dass wir einen RFID-Kartenleser anschließen. Dazu gehen Sie auf die Seite „Konfiguration“, „Modulkonfiguration“ und wählen Sie die folgenden Parameter aus:

Speichern Sie die Einstellungen, der Modul startet neu (und das ist kein Scherz!)
4. Die Modulkonfiguration ist abgeschlossen, jetzt geht es an die Verkabelung (also, trennen Sie die Stromquelle!).
4.1 So verbinden Sie alles (durch Löten, empfohlen, oder mit DuPont-Kabeln, einfacher):

Und das Gleiche in einer Tabelle:

Wemos D1 Mini RC522
D8 SDA
D7 MOSI
D6 MISO
D5 SCK
D0 RST
G GND
3V3 3.3V

4.2 Überprüfen wir, ob es funktioniert!

Stecken Sie das Micro-USB-Kabel in den Wemos. Eine rote LED sollte am RC522 leuchten.

Gehen Sie zur Modulkonfigurationsseite (Sie wissen schon, die IP-Adresse…) und klicken Sie auf „Konsole“. In der Liste der angezeigten Informationen sollte Folgendes stehen:

00:00:00.059 SPI: Hardware mit GPIO14(CLK), GPIO13(MOSI) und GPIO12(MISO)

00:00:00.062 Projekt tasmota Barrière_Scan Version 9.4.0(TasmoCompiler-esp82664M)-2_7_4_9(2021-05-03T14:19:55)

00:00:00.118 MFR: RC522 Rfid Reader erkannt v2.0

Bravo! (ein Bravo, mehrere Bravi, das ist wohlbekannt!)

Um dies zu testen, scannen Sie eine Ihrer bereitgestellten oder gesammelten RFID-Karten und nutzen Sie die Gelegenheit, die Codes zu kopieren (normalerweise 8 bis 16 hexadezimale Werte). Die gescannten Werte werden auf der Startseite oder in der Konsole angezeigt:

image

5. Konfiguration in Gladys
5.1 Über die Tasmota-Integration (in einer mehr oder weniger nahen Zukunft)
5.2 Über die Erstellung eines gefälschten MQTT-Geräts (ein „fake device“)
5.2.1 Gehen Sie zum Tab „Integrationen“ und wählen Sie MQTT. Klicken Sie dann auf „Neu“:

In „Funktionen“ wählen Sie „Zugangskontrollmodus“ und füllen Sie es wie folgt aus (oder wie Sie es für richtig halten). Dann, KOPIEREN Sie den Text (vollständig) in „MQTT-Topic“.

Speichern Sie! (Diesmal kein Neustart!)

5.2.2 Kehren Sie zur Tasmota-Konfigurationsschnittstelle zurück (die IP-Adresse vom Anfang)
Jetzt müssen Sie Ihrem Modul sagen, was es tun soll, wenn eine RFID-Chip gescannt wird. Und das ist sehr einfach… Wir wollen, dass es es Gladys mitteilt!
Dazu werden wir die „Regeln“ verwenden. Es funktioniert wie folgt:
Im Grunde genommen, wenn wir den Wert des RFID-Badges (0F0F0F0F im Beispiel) erhalten, veröffentlichen wir auf dem dedizierten Topic von Gladys (gladys/master/device/mqtt:Jardin:Gate/feature/mqtt:Jardin:Gate:Badged/state im Beispiel) die gewünschte Nummer (3 im Beispiel)

Rule1 ON RC522#UID=0F0F0F0F DO publish gladys/master/device/mqtt:Jardin:Gate/feature/mqtt:Jardin:Gate:Badged/state 3 ENDON 

Um weitere hinzuzufügen, wiederholen Sie den vorherigen Befehl und fügen Sie ein „+“ am Anfang hinzu, wie z.B.:

Rule1 +ON RC522#UID=1F1F1F1F DO publish gladys/master/device/mqtt:Jardin:Gate/feature/mqtt:Jardin:Gate:Badged/state 2 ENDON 

Diese Regel wird dann zur vorherigen hinzugefügt.
Letzte Sache! Sie müssen die Regel aktivieren. Geben Sie einfach den Befehl ein:

Rule1 1

Und jetzt?

6. Verwendung in Gladys-Szenarien





7. Ein Bonus?
Ich habe eine Box gezeichnet, um das hier reinzustecken… Falls ihr etwas zum Ausdrucken habt, hier sind die Dateien!
Der Deckel
Das Gehäuse

Sehr nett zum Lesen, ich würde es nicht bei mir aufstellen, da ich zur Miete wohne, aber danke, allein fürs Lesen.

Ps: Hast du ein kleines Foto des Gehäuses?

Ich habe keine bessere Lösung, da es in einen Holzpfosten integriert ist. Es gibt eine Öffnung hinten, um das Kabel (und den Micro-USB-Stecker) durchzuführen, und der RC522 wird mit vier M3-Schrauben am Deckel befestigt.


Genial! Danke fürs Teilen @GBoulvin, das ist wirklich cool mit all diesen Fotos :slightly_smiling_face: