FingerprintDoorbell

Hallo

kann mir jemand helfen? ich habe hier einen D1 Mini und den R503

angeschlossen habe ich ihn nach dem Schaubild hier von Frickelzeug

Dann habe ich versucht über dieses

esptool --chip esp8266 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader_dio_40m.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin 2686976 spiffs.bin

den zu flashen, es wird aber dann kein WLAN aufgebaut

weiterer Versuch:
Onlineflash über

Tasmota geht zu flashen aber kein AS608 auswählbar
Tasmota Flash Sensors auch kein AS608 auswählbar
Verbindung auf den D1 funktioniert aber.

es gibt dann noch die custom firmware.bin zum hochladen.

kann mir jemand diese verlinken oder schicken?

DANKE schon jetzt

in der allsensors Tasmota Online Flash Version hab ich den AS608 RX und TX gefunden. Bekomme es aber irgendwie doch nicht zum laufen.

Wie ist eure Langzeiterfahrung mit diesen Fingerprintmodulen im Außenbereich? Hatte zuerst die nicht wetterfeste Variante und musste sie erwartungsgemäß nach einigen Monaten tauschen (unterm Vordach aber dennoch). Habe dann die wetterfeste genommen, aber leider scheint diese auch nach einigen Monaten kaputt gegangen zu sein :frowning:

Mein R503 läuft seit 1 Jahre ohne Vordach :slight_smile:

Läuft hier seit über 2 Jahren ohne Vordach, ist aber Wetterfest vergossen.
Problem sind nur nasse und dreckige Finger, die muss man sauber machen.
Ich komme damit klar.

hmm Kann mir einer mit der Firmaware helfen? :slight_smile:

Wenn ich Zeit finde… Ev Am WE…

tasmota.bin.gz.zip (445,9 KB)
Im Anhang eine Tasmota Version mit dem Fingerprint (R503).
Bitte die Zip erst entpacken.
Ist für ESP8266.

1 „Gefällt mir“

habs jetzt endlich zum laufen bekommen

https://frickelzeugs.github.io/FingerprintDoorbell-flasher/

hier kann man es direkt über den browser flashen

Hallo zusammen, bin auf diesen tollen Thread gestoßen und habe mir auch einen R503 und einen ESP32 bestellt.
ESP32 habe ich schon und bin die Firmware am vorbereiten. Jetzt lese ich aber, dass wohl mit der normalen Tasmota Firmware die LEDs nicht funktionieren? Ich hätte es gerne so wie oben beschrieben von @tomgr damit ich bei unbekanntem Finger ne ID 254 und rote LED bekomme.

Fragen:

  1. Könnte mir einer eine aktuelle Tasmota Firmware für ESP32 bauen, wo die LEDs so wie oben im Thread funktionieren?

  2. Wie kann ich bei der Tasmota Firmware den Sensor mit den einzelnen Fingerabrücken anlernen?

  3. Brauche ich auch den IO5 GPIO mit dem Wakeup Signal über I2C SDA? Hat man dadurch irgendwelche Vor- oder Nachteile?

Danke und Grüße
Atifan.

@tomgr würde es dir was ausmachen die Firmware auch für ESP32 bereitzustellen?

lass mir Zeit…

Muss erst wieder das Testmodul rauskramen.

Im Anhang eine Tasmota32 Version mit dem Fingerprint (R503) für ESP32.
tasmota32_fingerprint.zip (1,2 MB)

1 „Gefällt mir“

@tomgr super, vielen Dank!!!
Muss ich bestimmte GPIOs nutzen, damit das mit den Farben funktioniert?

Mal ein kurzes Update fairnesshalber, der wasserfeste Sensor scheint doch besser zu funktionieren als ich dachte. Ich glaube, es war eher das Netzteil kaputt. Seit es getauscht wurde funktioniert das ganze System wieder zuverlässig.

Hallo zusammen und erstmal vielen Dank für den tollen Austausch hier. Ich habe auch so einen R503 Sensor hier samt ESP32 und dank eurer Hilfe das ganze aus Tasmota geflashed.

Ich hatte es anfangs damit probiert: FingerprintDoorbell | An MQTT enabled combined fingerprint reader and doorbell based on the ESP32 MCU and the R503 fingerprint sensor called "FingerprintDoorbell".
Lief leider nicht, ich bekomme keinen Finger enrollt und beim auflegen des Fingers stürzt er ab und startet im AP Mode neu. Hab ich gedacht ok probiere ich was anderes und bin auf euer Thema gestoßen.

Ich habe ein Modul mit grauem Kabel, wie ich es oben schon mal in manchen Bildern gesehen habe, das ist wohl das günstiger R503S Modell mit „nur“ 150 Speicherplätzen. Mir reichen auch 10, aber anscheinend hat das Ding entweder nen Hau weg oder man benätigt für die R503S Version etwas anderes, da ich auch beim Tasmota das Problem habe, dass er andauernd lila blinkt und in der Konsole wird als dieser Eintrag wiederholt:

13:05:05.507 RSL: RESULT = {„FPrint“:{„Id“:10,„Confidence“:0}}
13:05:06.508 RSL: RESULT = {„FPrint“:{„Id“:10,„Confidence“:0}}

Beim Start findet er den Sensor auch und zeigt teilweise an, ob Finger drauf sind, aber löschen kann ich auch nichts.
00:00:00.038 UFS: FlashFS mounted with 304 kB free
00:00:00.061 CFG: Loaded from File, Anzahl 26
00:00:00.071 QPC: Count 1
00:00:00.159 BRY: Berry initialized, RAM used=4438 bytes
00:00:00.176 TFS: File ‚.drvset003‘ not found
00:00:00.183 Projekt tasmota - Tasmota Version 13.1.0.1(tasmota32)-2_0_11(2023.08.24 21:41:47)
00:00:02.133 AS6: Detected with 1 fingerprint(s) stored

Jetzt die Frage an euch, Sensor mist oder habt ihr Erfahrung damit und könnt mir eventuell helfen?

Danke und schönes WE

Ich bin ebenfalls über das R503 + ESP32 Projekt Fingerdoorbell gestolpert.

Da die kommerziellen Lösungen alle viel zu teuer sind. Die günstigen kommerziellen durchwegs schlecht sind, möchte ich das hiermit umsetzen.

Nun aber meine Frage zur Funktion.
Wenn ich R503 + ESP32 / ESP8266 kombiniere, wo sind die Finger gespeichert, wo werden sie später abgerufen? Muss für einen eingelesenen Finger, zum öffnen IP-Symcon laufen (Mqtt / Tasmota…), mal abgesehen, davon wie man den Türöffner dann ansteuert. Oder ist letzteres immer der Knackpunkt - also z.B. IP-Symcon wird der gelesene FInger mitgeteilt, IPS schaltet einen Shelly der den Kontakt zum Motorschloss öffnet/schließt?

Oder hat jemand eine Idee, wie man direkt über einen ESP32/8266 einen Kontakt fürs Motorschloss schalten könnte?

Was ist der Vorteil, dass hier die Tasmota Variante gewählt wird statt der Datenübertragung direkt an MQTT Server (IP-Symcon).

Ich hab gesehen, dass es auch eine “Offline” variante gibt, die direkt einen Kontakt schalten kann. Wäre dann zwar nicht so smart, aber dafür unabhängig von WLAN, IP-Symcon, .etc)…

Hier was ich als Offlinevariante gefunden habe. Anlernen funktioniert über eine Taste. Die Schließ/Öffnungsdauer lässt sich über ein Poti einstellen - je nach Schloss.
https://www.roboter-bausatz.de/p/fingerabdrucksensor-steuerplatine-k202

Ich habe es mit Tasmota gemacht, damit ich die ID’s in Symcon sehe, und dort auswähle was man machen will.

Am ESP32/8266 habe ich auch ein Relais, welches dann über symcon geschaltet wird.

Um das ganze unabhänig von Symcon zu schalten, müsste der Tasmota Code umgebaut werden.
Ev gibt es da auch was fertige, hab jetzt lange nichts mehr mit Tasmota gemacht, da hier einfach alles läuft.

lg Thomas

Danke für die Info.

Ich bin da noch am grübeln, was ich mache.
Mal schauen, muss mir die Doku des Motorschlosses mal genauer anschauen, und wie das im Zählerschrank verkabelt ist. Wenns direkt zu der Steuerplatin K202 passt, werde ich vermutlich das umsetzen. Die Komponenten kaufe ich dann doppelt, und hab so hoffentlich lange Ersatz.

Parallel lade ich mir mal den ESP Sketch runter und schau, ob man das auch einfach auf einen Kontakt legen könnte.

Also das Beste aus beiden Welten sozusagen. (offline Nutzung + smarte Möglichkeiten)

  • Man kann laut Recherche in Tasmota wohl -im Nachgang- eine Regel einsetzen
  • oder man baut z.b. in der main.cpp von FingerprintDoorbell folgendes ein:

Hier wird ein Kontakt (z.B: 23) definiert der für 5 Sekunden auf HIGH. Und daran dann ein “Relais” das zum Motorschloss führt… Ich glaube das wird mein Urlaubsprojekt :wink:

Damit beide welten - offline nutzung - + smarte Rückinfo in IP-Symcon.

Was mir aber noch unklar ist - ist der eingelesene Finger im Fingerprintsensor selbst gespeichert?

const int relayPin = 23; // GPIO Pin für Relais-Ausgang definieren

void setup()
{
// … bestehender Setup-Code …

pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // sicherheitshalber Relaisausgang auf LOW initialisieren

// … Rest Setup …
}

void doScan()
{
Match match = fingerManager.scanFingerprint();
String mqttRootTopic = settingsManager.getAppSettings().mqttRootTopic;
switch(match.scanResult)
{
case ScanResult::noFinger:
// … (bestehender Code) …
break;
case ScanResult::matchFound:
notifyClients( String("Match Found: ") + match.matchId + " - " + match.matchName + " with confidence of " + match.matchConfidence );
if (match.scanResult != lastMatch.scanResult) {
if (checkPairingValid()) {
mqttClient.publish((String(mqttRootTopic) + „/ring“).c_str(), „off“);
mqttClient.publish((String(mqttRootTopic) + „/matchId“).c_str(), String(match.matchId).c_str());
mqttClient.publish((String(mqttRootTopic) + „/matchName“).c_str(), match.matchName.c_str());
mqttClient.publish((String(mqttRootTopic) + „/matchConfidence“).c_str(), String(match.matchConfidence).c_str());
Serial.println(„MQTT message sent: Open the door!“);

      // Relais für 5 Sekunden einschalten
      digitalWrite(relayPin, HIGH);
      delay(5000);
      digitalWrite(relayPin, LOW);

    } else {
      notifyClients("Security issue! Match was not sent by MQTT because of invalid sensor pairing! This could potentially be an attack! If the sensor is new or has been replaced by you do a (re)pairing in settings page.");
    }
  }
  delay(3000); // warte vor nächstem Scan
  break;
case ScanResult::noMatchFound:
  // ... (bestehender Code) ...
  break;
case ScanResult::error:
  // ... (bestehender Code) ...
  break;

};
lastMatch = match;
}

Ja, mit einer ID.

lg Thomas