Als Anlage das Mifare-Light Projekt Projekt konvertiert mit RB auf dem MAC OS-X.
Nach Installation der Treiber anhand der Beschreibung auf http://www.ftdichip.com/Drivers/D2XX.htm kann das Programm gestartet werden. Achtung, alle Schritte befolgen (Benötigt Admin Rechte)! Auf den Seiten von FTDI sind sogar schon die Treiber für Leopard vorhanden (nicht probiert).
Das Programm wurde in RB5.5 entwickelt aber normalerweise sollten andere RB Versionen kein Problem darstellen.
Diese Konvertierung war alles andere als einfach:
1. Einbau ins Gehäuse
Um die Empfindlichkeit zu erhalten muss das Batteriefach hinter dem Display also oben liegen. Andernfalls geht zu viel Antennenleistung an den Metallhüllen der Batterien verloren. Leider müssen dafür die Halteklammern am Display ganz flach gedrückt werden (Achtung dass kein Kurzschluss erzeugt wird) und die eingelöteten Pins des Displays dürfen absolut nicht über die Platinen-Oberfläche überstehen (maximale Höhe 0.5 mm). Sonst lässt sich das Gehäuse nicht schliessen.
2. Selbst am PC lief mein Modul nicht zuverlässig.
Mifare RESET funktionierte meist aber die Aktivierung der Karte ergab bei etwa 8 Versuchen von 10 einen Fehler. Der Mac verhielt sich hier empfindlicher als der PC vielleicht auch deshalb, da ich das Programm erst noch debuggen musste. Ich habe alle Vorschläge befolgt, die ich in diesem Forum gefunden habe: Re-Konfigurierung auf den externen Oszillator, Verkleinerung der Kondensatoren C und C von 68pF auf 56pF ganz schön schwierig (Und übrigens, warum muss man für einen Artikel der eine Fehlerberichtigung darstellt bezahlen?). Ich hatte zwar den Eindruck, dass es nach den Änderungen ein wenig besser liefen aber wirklich stabil war es nie.
Erst ein Downgrade des Moduls mit Hilfe von FlashMagic (wo übrigens gibt es eine MAC version?) auf den "ELEKTROR_RFID_Reader_V10.hex" brachte ein stabiles funktionieren zu Tage. Leider unterstützt diese Version keine Zugangskontrolle. Herr Schenk, können Sie nicht auch den Quellkode für die Version 2.x des Elektor Readers und des Mifare Readers zur Verfügung stellen?. In der Zwischenzeit benutze ich die Version ELEKTROR_RFID_Reader_V21.hex die halbwegs stabil läuft. Allerdings treten bei der seriellen Übertragung immer noch einige Fehler auf die sich zum Beispiel darin offenbaren, dass in der Terminal-Ausgabe zusätzliche Zeilenumbrüche ausgegeben werden.
3. Der Visual Basic zu RB Konverter half zwar bei der Umsetzung aber das Ergebnis war kein funktionierendes Programm.
RB könnte hier glaube ich mehr machen. Allerdings sind die Konzepte zwischen Visual Basic und RB teils extrem unterschiedlich, dass eine 100% automatische Umsetzung nahezu unmöglich scheint (mir gefällt trotz einiger Macken RB sehr viel besser).
4. Es gibt keinen von Elektor modifizierten Treiber für den MAC mit dem richtigen Verkäufer- und Produkt- Kode (VID, PID).
Daher müssen einige Funktionen FT_Open, FT_Openex und FT_ListDevices ein wenig modifiziert werden (sh. FTDI homepage).
Dim status as Integer
Dim vendorID, productID as Integer
Declare Function FT_Open Lib "/usr/local/lib/libftd2xx.dylib"(intDeviceNumber as Integer, ByRef lngHandle as Integer) as integer
Declare Function FT_GetVIDPID Lib "/usr/local/lib/libftd2xx.dylib"(ByRef vid as Integer, ByRef pid as Integer) as Integer
Declare Function FT_SetVIDPID Lib "/usr/local/lib/libftd2xx.dylib"(vid as Integer, pid as Integer) as Integer
status = FT_GetVIDPID(vendorID, productID) get original VID and PID
status = FT_SetVIDPID(3197, 5) ' use our VID and PID
status = FT_Open(intDeviceNumber, lngHandle)
status = FT_SetVIDPID(vendorID, productID) ' restore
Das Programm kann für Linux, Windows und MAC kompiliert werden. Allerdings sind die ausführbaren Dateien jeweils ca. 3MB gross, sodass ich davon abgesehen habe diese zu laden. Ausserdem wurde von mir nur die MAC Version getestet. Viel Spass beim probieren.
Gruss JeanRF'
