Fingerprint Reader Modul für Raspberry GT-511C3

Hi.

ich habe nun auch die ersten Schritte mit der Modulerstellung probiert … Dank auch an Nallchan :wink: … ist ein tolles Werkzeug :).

Wie der Titel schon sagt, wird der Fingerabdruckleser GT511C3 über das Modul in IPS eingebunden. Getestet nur auf Raspberry PI - sollte aber auch an anderen IPS-SerialPorts funktionieren.

Details stehen auf der Seite: HFmodule/FPgt511

Der Git-Download ist unter: GitHub - herbert-f/HFmodule

Viel Spaß

herbertf

Hi,
kannst du uns bitte etwas genauere Infos zum Sensor geben?! (bevor ich 50€ ausgebe :D)

Ich sehe gerade 2 Probleme:

-ich muss also etwa jede Sekunde abfragen, ob ein Finger aufgelegt wurde? Das erzeugt 'ne Menge Overhead. Schöner wäre es, wenn aktiv übermittelt wird, dass gerade jemand vor der Tür steht :wink:

-ich erhalte vom Modul also nur die boolsche Info, ob ein registrierter Finger aufgelegt wurde?! Eine Unterscheidung in unterschiedliche Personen ist also nicht möglich?! Ferner dürfte das sehr einfach zu manipulieren sein, wenn der Sensor draußen hängt.

Gruß,
ika

Das Problem mit dem Datentraffic sehe ich nicht, trotzdem werde ich bei mir - über vorhandene Bewegungsmelder - die LED erst einschalten wenn auch jemand in der Nähe ist und dann auch entsprechend pollen ob „FingerPress=true“ ist. Nach x Minuten - oder erfolgter Öffnung (Identifikation) - werde ich die LED wieder ausschalten und logischerweise aufhören zu pollen. Meines Erachtens mehr eine optische als eine datentechnische Frage.

Das ist nicht richtig, es kommt auch der Speicherplatz des erkannten Fingerprints mit, allerdings schreibe ich ihn derzeit nur ins Log und nicht in eine separate Variable.
Hinsichtlich Manipulation kann man natürlich - bei Zugang zu den seriellen Verbindungsdrähten - die Host (IPS) - Client Kommunikation auf diverse Arten hacken. Eine wäre men in the middle, eine andere man simuliert einen anderen Host und bringt den Fingerprintreader zum einlesen (neues Enrollment).
Theoretisch geht dies, von den 1000 Varianten in ein Haus zu kommen - sind dies für mich mit die umständlichsten.

Da sind alle Funk-Türöffner wesentlich anfälliger, da kein wirklicher physikalischer Zugang zu der Hardware (zu den Drähten) nötig ist.

Hinsichtlich Außenanbringung noch eine Warnung: Ich werde das Modul im „überdachten“ Außenbereich anbringen, sonst ist das Thema Wasserschutz sicher zu beachten!

ciao
Herbertf

Hallo Herbert,

habe den Fingerprint installiert.
Umgebung Windows Server 2012 an RS232
IPS Vers. 4.2

Testumgebung:
LED an aus funkt
Anzahl eingelesener Finger funkt auch
Bei allem anderen kommt Fehler:

  • Open Zugriff verweigert
  • Port ist nicht offen

Hast Du eventuell eine Lösung?

Nachtrag Fehlermeldung

LED - 1

Warning:  open: Zugriff verweigert in D:\IP-Symcon\Modules\HFmodule\FPgt511\module.php on line 533


Warning:  Port ist nicht offen in D:\IP-Symcon\Modules\HFmodule\FPgt511\module.php on line 525


Warning:  open: Zugriff verweigert in D:\IP-Symcon\Modules\HFmodule\FPgt511\module.php on line 533


Warning:  Port ist nicht offen in D:\IP-Symcon\Modules\HFmodule\FPgt511\module.php on line 525
Finger - 



Bei diesem Script

<?php

    include("debuging.ips.php");
    $_debug = 1;


    $id_instanz = 17559;
    $id_led     = 31697;
    $st_led     = GetValue($id_led);
    
    if($st_led == false) {
        $we_instanz = true;
    } else {
        $we_instanz = false;
    }
    
    $we_instanz = true;
    $result = FPgt511_SetLED($id_instanz, $we_instanz);
    if($_debug == true) {echo "LED - ".$result."
";}
    
    $result = FPgt511_Identify($id_instanz);
     if($_debug == true) {echo "Finger - ".$result."
";}


?>

Noch ein Nachtrag:

in Modul Script Zeile 533 IPS_ApplyChanges($COM_ID); deaktiviert

so funkt es

Hi Wibo,

Du hast die Zeile auskommentiert und dann funktioniert es unter Windows?

Wenn das so ist, verhält sich ja IPS unter Windows anders als unter RaspberryPI - interessant. Leider kann ich das Modul unter Windows nicht testen, vielleicht kann mir jemand von den SerialPort-Freaks (NallChan???) mal einen Tipp geben.

Beste Grüße
HerbertF

Grundsätzlich hat SPRT_SendText in einem Modul nix zu suchen.
Dafür gibt es SendDataToParent.
Die Fehlermeldung ist ja auch eindeutig, die IO-Instanz ist nicht geöffnet.
Michael

Hi Nallchan,

Danke für den Tipp, ich schau mir das nächste Woche mal an, momentan bin ich etwas eingespannt ;-)))

herbertf

Hallo Herbert,

besteht die Möglichkeit den einlese Zyklus etwas hoch zu setzen.

Zur Zeit ca. 1-2 Sekunden ?

Oder über eine Variable dynamisch einzustellen?

Hi Wibo,

ich komme erst ab Samstagnachmittag dazu - werde mir aber beide Themen ansehen und nach Möglichkeit ändern.

Ciao
herbertf

Bitte mach dir kein Stress.

Sind nur Wünsche,

Familie (und Shop!) haben andere Priorität !

Hi Michael,

ich habe in der Testing-Version jetzt dies:
SPRT_SendText($COM_ID, $sendestring);
durch dies ersetzt:
$this->SendDataToParent($sendestring);

Bekomme jetzt aber eine Fehlermeldung:

sendatatoparnet.JPG

Hast Du da noch einen Tipp für mich?

Schönen Sonntag noch

Ciao
herbertf

Du musst da schon etwas mehr machen, dazu gibt es einmal das Thema Datenaustausch in der Doku und die Beispiele von dem SymconTest Repositorie auf GitHub.
Michael

Danke, ich schaue mir das Beispiel an - wird aber erst morgen, ich muss nochmal los.

Hi,

ich habe nun also in der Testing auf SendDataToParent umgestellt.

Weiterhin habe ich die DELAYS von 1100ms auf 1500ms erhöht.

Das Problem (bzw. vor allem die Lösung) unter Windows verstehe ich aber nach wie vor nicht. Die von Wibu unter Windows auskommentierte Zeile:


in Modul Script Zeile 533  IPS_ApplyChanges($COM_ID); deaktiviert

wird nur im SerialPort-Fehlerfall erreicht und speziell da möchte ich ja die serielle SS erneut öffnen und IPS_ApplyChanges durchführen. Gerade dies funktioniert beim Raspberry super. Warum dies unter Windows nicht gehen soll erschließt sich mir nicht.

Die Zeile533 ist jetzt in Zeile 536, ich habe auch zusätzlich noch ein Delay hinzugefügt.


IPS_SetProperty($COM_ID,"Open",true);            //serielle Schnittstelle verschluckt sich - IPS-Problem?
IPS_Sleep($delay);
//Nachfolgende Zeile Probleme unter Windows ??? 
IPS_ApplyChanges($COM_ID);    

@Wibu: Es wäre schön wenn Due die Testing nochmal ausprobieren könntest.
@Nallchan: Muss ich zum Öffnen der SS unter Windows etwas anderes tun?

Ciao
herbertf

Hallo Herbert,

komme sehr wahrscheinlich erst ende nächster Woche dazu.

Werde dann berichten.