- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Frage zum Befehl "Readmagcard"

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1

    Frage zum Befehl "Readmagcard"

    Anzeige

    Praxistest und DIY Projekte
    ... hat zwar nichts direkt mit Robotern zu tun,
    hoffe aber dass mir der eine oder andere weiterhelfen kann.


    Ich versuche einen RFID Transponder auszulesen.
    Hierfür habe ich einen r/o leser mit Data-Clock (Magstripe) Protokolll.

    Bild hier  

    Das Bascom - Beispiel "MAGCARD.BAS" funktioniert zwar tadellos,
    jedoch sind meine Transponder anders beschriftet als das Resultat liefert.


    von Programm bekomme ich das Ergebniss "'100100102003301123023'"
    mein Transponder liefert aber eigentlich "302978763" und ist auch so beschriftet.

    Wie kann ich den ermittelten Code umsetzten, so dass dieser mit der Beschriftung übereinstimmt.


    Der Code 302978763 ist natürlich korrekt und wird auch in anderen systemen so akzepiert.



    Code:
    '--------------------------------------------------------------------------
    '                           (c) 2000-2003 MCS Electronics
    '                               MAGCARD.BAS
    '  This example show you how to read data from a magnetic card
    'It was tested on the DT006 SimmStick.
    '--------------------------------------------------------------------------
    
    $crystal = 16000000
    $baud = 19200
    $regfile = "m32def.dat"
    
    
    '[reserve some space]
    Dim Ar(100) As Byte , B As Byte , A As Byte
    
    'the magnetic card reader has 5 wires
    'red      - connect to +5V
    'black    - connect to GND
    'yellow   - Card inserted signal CS
    'green    - clock
    'blue     - data
    
    'You can find out for your reader which wires you have to use by connecting +5V
    'And moving the card through the reader. CS gets low, the clock gives a clock pulse of equal pulses
    'and the data varies
    'I have little knowledge about these cards and please dont contact me about magnectic readers
    'It is important however that you pull the card from the right direction as I was doing it wrong for
    'some time :-)
    'On the DT006 remove all the jumpers that are connected to the LEDs
    
    '[We use ALIAS to specify the pins and PIN register]
    _mport Alias Pinb                                           'all pins are connected to PINB
    _mdata Alias 0                                              'data line (blue) PORTB.0
    _mcs Alias 1                                                'CS line (yellow) PORTB.1
    _mclock Alias 2                                             'clock line (green) PORTB.2
    
    Config Portb = Input                                        'we only need bit 0,1 and 2 for input
    Portb = 255                                                 'make them high
      Print
    
    Do
      Print "Insert magnetic card  ";                           'print a message
      Readmagcard Ar(1) , B , 5                                 'read the data
      Print B ; " bytes received. Code: ";
      For A = 1 To B
        Print Ar(a);                                            'print the bytes
      Next
      Print
    Loop

    HILFE
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    Keine Ahnung....

    Aber wenn du die Zahl 302978763 in binär umwandelst und jedes 2er päärchen einzeln wieder als Zahl darstellst kommst du auf den Bascom Wert.:



    302978763 binär = 1 00 10 00 00 11 11 00 01 01 10 11 00 10 11
    (0)1=1
    00=0
    10=2
    00=0
    00=0
    11=3
    11=3
    00=0
    01=1
    01=1
    10=2
    11=3
    00=0
    10=2
    11=3

    =102003301123023


    Gruß
    Christopher

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    WOW
    sollte das so einfach sein...

    muss ich gleich mal ausprobieren.

    Danke erst mal.

    Melde mich wieder.
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    Tja also so einfach kann es manchmal sein...



    Code:
    ' *************************************************************                                                          '
    '  Proxileser
    '  Protect Proxileser an Portb
    '                         (b.0=Data, b.2=Clock, b.3=Chipdetect)
    '
    ' *************************************************************                                                          '
                                                              '
    $crystal = 16000000
    $baud = 19200
    $regfile = "m32def.dat"
    
    
    Dim Mc_ar(100) As Byte
    Dim Mc_b As Byte
    Dim Mc_a As Byte
    Dim Rc_x As Byte
    Dim Rc_str As String * 8
    Dim Rc_binstr As String * 100
    Dim Rc_lng As Long
    Dim L As Long
    Dim X As Byte
    
    Declare Function Recode() As Long
    
    _mport Alias Pinb                                           'all pins are connected to PINB
    _mdata Alias 0                                              'data line (blue) PORTB.0
    _mcs Alias 1                                                'CS line (yellow) PORTB.1
    _mclock Alias 2                                             'clock line (green) PORTB.2
    
    Config Portb = Input                                        'we only need bit 0,1 and 2 for input
    Portb = 255                                                 'make them high
    
    
    
          Do
             Cls
             Locate 1 , 1
             Lcd "BEREIT fuer CHIP"
    
             Readmagcard Mc_ar(1) , Mc_b , 5                    'read the data
    
             L = Recode()                                       ' Umwandeln der Daten
             Print L                                            ' Ausgabe des Ergebnisses
             Wait 3                                             ' Kurz warten
          Loop
    End
    
    ' *******************************************************************************************
    
    Function Recode() As Long
       Rc_binstr = ""                                           ' Den String leeren
    
       For Rc_x = 1 To Mc_b
          Rc_str = Bin(mc_ar(rc_x))                             ' Die im Array abgelegte Zahlen umwandeln
          Rc_str = Right(rc_str , 2)                            ' Nur die lezten 2 Bit werden benötigt
    
          Rc_binstr = Rc_binstr + Rc_str                        ' Diese Bits in den String ablegen
       Next Rc_x
       Rc_binstr = Right(rc_binstr , 32)                        ' Abschneiden da ein Long 32 Bit hat
    
       Rc_lng = Binval(rc_binstr)                               ' das ganze in eine Zahl umwandeln
    
       Recode = Rc_lng                                          ' Ermittelter Wert zürückgeben
    
    ' wenn die Zahl vom Readmagcard-Befehl in binär umgewandelt wird
    ' und jedes 2er päärchen einzeln wieder als Zahl dargestellt wird,
    ' kommst man auf den Bascom Wert.
    ' Beispiel: 302978763
    '          binär =  (0)1 00 10 00 00 11 11 00 01 01 10 11 00 10 11
    '     ============================================================
    '      umcodiert =     1  0  2  0  0  3  3  0  1  1  2  3  0  2  3
    
    
    End Function

    Danke chr-mt für Deinen Tipp
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2005
    Beiträge
    17
    Hallo darwin.nuernberg,

    darf ich fragen wo Du die Hardware bezogen hast?

    mfg
    AVRWALLI

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    57
    Beiträge
    298
    Hallo avrwalli,

    wo darwin seinen RFID Leser her hat kann ich Dir leider nicht sagen,
    aber bei http://www.codatex.com gibt es welche mit RS232 und eigener Logik samt Schaltausgang (Leser 2 bis 4)
    bzw für den Anschluß an einen AVR/PIC/C-Controll auch mit seriellem TTL Ausgang (Leser 1).
    Zusätzlich wird ein Antennenmodul benötigt.

    Das große "C" verkauft die übrigens auch.
    Leser (13007 für 19,90 Euro und das Antennenmodul (130183) für 9,95

    Gruß
    m.tmann

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2005
    Beiträge
    17
    Hallo m.artmann,

    Danke für die schnelle Antwort.

    mfg
    AVRWALLI

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    Zitat Zitat von avrwalli
    Hallo darwin.nuernberg,

    darf ich fragen wo Du die Hardware bezogen hast?

    mfg
    AVRWALLI
    http://www.protectid.de
    Den Preis kann ich Dir noch nicht nennen, da ich das Teil von meinem Chef geschenkt bekam (offensichtlich nicht ohne Hintergedanken... )

    Aber ich frag mal und hänge den dann hier als Edit rein...

    Vorteil entgegen dem Conrad Teil ist vor allem dass kein RS232 verbraucht wird sondern über Data/Clock an einen beliebigen Port angebunden werden kann

    und die Abmessung ist auch sehr kompakt.(45x40x8mm)
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2005
    Beiträge
    17
    Hallo darWIN,

    Danke für die Antwort, ein Preis interessiert mich natürlich. Welche Transponder benutzt Du? Ich benötige diese kleinen Transponder im Glasröhrchen. Hast Du eine Ahnung, ob man die mit diesem Leser benutzen kann?

    Vielen Dank und herzl. Grüße

    AVRWalli

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    Zitat Zitat von avrwalli
    Hallo darWIN,

    Danke für die Antwort, ein Preis interessiert mich natürlich. Welche Transponder benutzt Du? Ich benötige diese kleinen Transponder im Glasröhrchen. Hast Du eine Ahnung, ob man die mit diesem Leser benutzen kann?

    Vielen Dank und herzl. Grüße

    AVRWalli
    Minitransponder: Prinzipiell JA da die gleiche Funktionsweise zugrunde liegt.

    Probleme könnte es mit der Reichweite (Leseabstand) geben, da die Spule im minitransponder sehr klein ist, muss die Antenne im Leser entsprechend größer sein.

    Ich arbeite mit Transpondern im Scheckkarten-Format und im Schlüsselanhänger Format (Antennendurchmesser von 2-3cm) und erziele hierbei mit dem Protect Leser eine max. Lesedistanz von 7 cm.
    Bild hier  

    Sogenannte "Long-Range" Leser (für passive Transponder) erzielen bei einer Antennenkantenlänge von ca 30 cm die wahnsinne ultra Reichweite von bis zu gigantischen 20 cm !!!
    Wahnsinn oder?

    Preis: kann ich Dir nicht sagen, da ich die EK-Preise nicht weitergeben darf und wir keinen Abgabe/Verkauf an privat vornehmen. Kontakte doch Protect direkt. Liegt aber deutlich höher als der von m.artmann erwähnte Preis.
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus