![]() |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Danke für die ausführliche Info. Wenn die DB offline ist, ist der ganze Betrieb ohnehin offline. Bei dem Einsatzgebiet hier geht es nicht um eine Produktion, sondern eher um ein Büroumfeld.
Gibt es derzeit keine APIs für RFID-Geräte? Das war auch ein Grund, warum ich hier nachgefragt habe. Ich habe nämlich keine Ahnung, wie ich mit einem solchen Gerät arbeiten müsste. Ich dachte, es gäbe schon eine Api oder Framework. Liefert der Hersteller eine DLL mit aus, mit der ich arbeiten kann? Wisst ihr da was? Was die Tür angeht: Ich dachte an ein eigenständiges Türschloss mit Zylinder und Reader. Türen im Nachhinein mit anderen Anlagen (Bus-Systeme oder PCs) zu verbinden ist ja kaum möglich ;) Danke |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Es gibt schon API's, allerdings muss man sich doch etwas mit den Spezifikationen beschäftigen, ein Beispiel für eine Obit-Anbindung ....
Delphi-Quellcode:
unit OBIT_Thread;
interface uses Windows, Classes, FECOM, FERWA; Type T_2 = Array [0 .. 1] of AnsiChar; T_256 = Array [0 .. 255] of AnsiChar; TTagStatus = Record Key: Double; Schrank: Integer; Locked: Boolean; Valid: Boolean; Batterie: Integer; end; TPollBuffer = Record cPollAction: T_2; cTrAdr: T_2; cSendPollData: T_256; cPollValid: T_2; cRecPollData: T_256; end; TCallBackFunc = Procedure(Status: TTagStatus); Type TOBID_Thr = Class(TThread) private PollBuffer: TPollBuffer; FCallBackFunc: TCallBackFunc; FPortHandle, FReader: Integer; FDelay: Integer; TagStatus: TTagStatus; FLastKey: Double; protected procedure CallCallBack; Function ReadTag: Boolean; procedure Debug; public procedure Execute; override; constructor Create(CallBack: TCallBackFunc; Port: PAnsichar; Delay: Integer); Destructor Destroy; override; end; var ObidThread: TOBID_Thr; implementation Uses Dialogs, ConstsAndGlobals; Constructor TOBID_Thr.Create(CallBack: TCallBackFunc; Port: PAnsichar; Delay: Integer); begin FDelay := Delay; FPortHandle := FECOM_OpenPort(Port); FCallBackFunc := CallBack; if FPortHandle > 0 then begin FReader := FERWA_NewReader(FPortHandle); end; FLastKey := -1; inherited Create(False); FreeOnTerminate:=true; end; Destructor TOBID_Thr.Destroy; begin ObidThread := nil; Try if FPortHandle > 0 then begin FERWA_DeleteReader(FReader); FECOM_ClosePort(FPortHandle); end; except end; inherited Destroy; end; Procedure TOBID_Thr.Execute; var I: Integer; begin I := 0; While not Terminated do begin try If ReadTag then begin if FLastKey = -1 then begin FLastKey := TagStatus.Key; Synchronize(CallCallBack); end; end else FLastKey := -1; except inc(I); if I > 10 then begin I := 0; Synchronize(Debug) end; end; Sleep(FDelay); end; end; procedure TOBID_Thr.Debug; begin MessageDLG (C_OBITNOWORK, mtWarning, [mbok], 0); Terminate; end; procedure TOBID_Thr.CallCallBack; begin FCallBackFunc(TagStatus); end; Function TOBID_Thr.ReadTag: Boolean; var iDataType: Integer; I: Integer; d: Double; begin PollBuffer.cPollAction := #0#2; PollBuffer.cTrAdr := #0#2; I := FERWA_0x01_MultiJobPollAndState(FReader, 0, PollBuffer.cPollAction, PollBuffer.cTrAdr, PollBuffer.cSendPollData, PollBuffer.cPollValid, PollBuffer.cRecPollData, 0); TagStatus.Valid := I = 0; Result := TagStatus.Valid; if TagStatus.Valid then begin TagStatus.Key := 0; d := 1; For I := 1 to 5 do begin TagStatus.Key := TagStatus.Key + Ord(PollBuffer.cRecPollData[6 - I]) * d; d := d * 256; end; PollBuffer.cTrAdr := #0#0; PollBuffer.cPollAction := #0#2; I := FERWA_0x03_AdvMultiJobPollAndState(FReader, 0, PollBuffer.cPollAction, PollBuffer.cTrAdr, PollBuffer.cSendPollData, PollBuffer.cPollValid, PollBuffer.cRecPollData, 0); TagStatus.Valid := I = 0; Result := TagStatus.Valid; TagStatus.Schrank := Ord(PollBuffer.cRecPollData[2]) * 256 + Ord(PollBuffer.cRecPollData[3]); TagStatus.Locked := PollBuffer.cRecPollData[5] = #3; TagStatus.Batterie := Integer(Ord(PollBuffer.cRecPollData[6])); FERWA_0x75_SetOutput(FReader, 0, $10, $10, $2, $0); // BEEP end; end; end. |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Ich habe gerade mal nach OBIT gesucht und einen alten Thread "Zeiterfassung" gefunden, in dem du diesen Code auch gepostet hast. Ich nehme an, OBIT ist eine Marke oder?
Oder ist das eine API, die mit verschiedenen Lese- und Schreibgeräten funktioniert? Wie sollte ich jetzt am besten vorgehen, um einen Hersteller auszuwählen, von dem ich die Geräte kaufe? Seid mir nicht böse, ich tappe gerade - was die Anbindung mit Delphi angeht - noch recht im Dunkeln |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Nee, jeder Hersteller hat eine eigene API, aber im Grunde genommen willst Du eh nur lesen.
Bei den USB-Dingern z.B. geht das alles über einen zu installierenden Treiber und eine DLL. Dort öffnest Du einen Pseudo-COM Port und das war es dann. Brooks schickt dir per TCP einfach einen String, also bist Du da schon mit einem TIdTCPClient fertig. Allerdings ist das Konfigurieren per Software etwas Aufwändiger, eben weil das Teil so dermaßen viel Kann (ist ja auch für die Industrie) Das Beispiel von Bummi ist so mit das Komplizierteste, was ich bisher in Sachen RFID-Leser an Code gesehen habe. Ich habe den Code über dieses USB-Dingens nicht hier, aber über einen Thread per RS-232 Zeichen bis zum #13 einlesen sollte bekanntermaßen nicht so das große Ding sein. Ich schätze, das Du pro Gerät/Schnittstelle/Protokoll so ca. 0,5-1,5 Tage am Basteln bist. Maximal. |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Das hört sich doch mal super an. Also brauche ich beim Kauf mir weniger Gedanken über Delphi zu machen. Ich sollte halt nur sehen, dass die Leser von PC und Türen miteinander kompatibel sind. Wenn wirklich jeder Hersteller eine DLL liefert, dann sollte das passen.
Vielen Dank |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
@Furtbichler
Das ist ein Auszug aus den API-Aufrufsmöglichkeiten welche auch mit Schreibzugriff bieten. (einmal wegkapseln und gut ist) Die Leser gibt es wie ein meinem ersten Beitrag erwähnt für lesenden Zugriff auch mit trivialer serieller Kommunikation (billiger). OBIT ist die Marke, Feig der Hersteller, aber ich denke der Markt in diesem Bereich ist recht groß. |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
@Bummi: Trotzdem kompliziert :stupid: ;-)
|
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Bausatz RFID-125kHz-Empfänger
Beschreibung und Software: ![]() ![]() Kurzbeschreibung des RFID-125kHz-Empfängers Der RFID-125kHz-Empfänger dient dem kontaktlosen Auslesen von so genannten Transponderkarten (HF-Tags bzw. Read-Only-Blanco-Transponderkarten Best.-Nr. 810 065). Die wesentlichen Bestandteile dieses Empfängers sind zum einen der RFID-Reader-Baustein U2270B sowie der Mikrocontroller AT-Tiny 2313 der Firma Atmel. Der RFID-Reader-Baustein dient zum Auslesen der Daten einer Transponderkarte. Die Aufbereitung der aus der Transponderkarte ausgelesenen Daten wird vom Mikrocontroller übernommen. Die ausgewerteten Daten können über die RS232-Schnittstelle an einen PC oder ein anderes übergeordnetes System weitergegeben werden. Eine Firmware, welche die Aufbereitung der ausgelesenen Daten einer Transponderkarte und deren Ausgabe über die RS232-Schnittstelle übernimmt, ist bereits auf dem Mikrocontroller vorprogrammiert. Somit lassen sich ohne großen Aufwand Anwendungen für Zugangskontrollen, Zeiterfassungen usw. leicht und schnell realisieren. Weiterhin ist der RFID-125-KHZ-Empfänger so von seiner Funktionalität ausgelegt, dass er eine optimale Entwicklungsumgebung sowohl für den professionellen Anwender als auch für den Hobbybastler darstellt. Dieses wird durch die auf der Platine befindliche ISP-Schnittstelle gewährleistet, mit der leicht eigene Programme und Anwendungen auf den Mikrocontroller übertragen werden können. Der RFID-125kHz-Empfänger kann mit einem 2 Zeilen x 16 Zeichen LCD-Display das über einen integrierten Controller (Industriestandard) verfügt, z.B. Best.-Nr. 120420, ausgestattet werden. Somit können die ausgelesenen Daten direkt auf dem LCD-Display angezeigt werden. Entsprechende Anschlussmöglichkeiten sind auf der Platine vorgesehen und im Lieferumfang dieses Bausatzes enthalten. |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Ich kann noch das Phidgets-Gerät empfehlen:
![]() Die haben ne anständige API (nicht nur für Delphi) sind günstig und die meisten Sachen haben die deutschen Reseller auf Lager. |
AW: RFID Lese- und Schreibgerät, geeignet für Delphi
Hey sorry das ich diesen älteren thread noch mal ausgrabe, aber das ist wichtig.
RFID Tags können ALLE kopiert werden! Auch die mit fester ID. Und auch mifare Tags. Siehe den RFID kopierer vom CCC. Gibts mitlerweile für ein paar euro auf ebay zu kaufen. Sicherheitssysteme mit RFID sind also etwa so sicher als wenn du deinen Haustürschlüssel außen an deiner Tasche befestigst. :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz