AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi RFID Lese- und Schreibgerät, geeignet für Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

RFID Lese- und Schreibgerät, geeignet für Delphi

Ein Thema von TheMiller · begonnen am 15. Aug 2012 · letzter Beitrag vom 5. Mai 2015
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#11

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 15. Aug 2012, 11:55
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
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#12

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 15. Aug 2012, 12:09
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.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#13

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 15. Aug 2012, 12:15
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
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#14

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 15. Aug 2012, 12:44
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.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#15

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 15. Aug 2012, 12:54
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
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#16

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 15. Aug 2012, 13:43
@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ß.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#17

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 15. Aug 2012, 16:00
@Bummi: Trotzdem kompliziert
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#18

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 18. Aug 2012, 14:05
Bausatz RFID-125kHz-Empfänger

Beschreibung und Software:
http://www.pollin.de/shop/ds/MDQ5OTgxOTk-.html

http://www.pollin.de/shop/dt/MDQ5OTg...mpfaenger.html

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.

Geändert von hathor (18. Aug 2012 um 14:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gloegg_FHBI
Gloegg_FHBI

Registriert seit: 28. Nov 2006
Ort: Neuss
46 Beiträge
 
Delphi 10 Seattle Professional
 
#19

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 18. Aug 2012, 14:23
Ich kann noch das Phidgets-Gerät empfehlen:
http://www.phidgets.com/products.php?category=14

Die haben ne anständige API (nicht nur für Delphi) sind günstig und die meisten Sachen haben die deutschen Reseller auf Lager.
  Mit Zitat antworten Zitat
IchEben

Registriert seit: 15. Dez 2006
1 Beiträge
 
#20

AW: RFID Lese- und Schreibgerät, geeignet für Delphi

  Alt 16. Nov 2012, 09:48
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz