Lösung zu : RaspberryPi3 RFID-PN532 - Problem mit python /home/pi/libnfc/trunk/examples/tagtool.py --device tty:AMA0:pn532

  • Hallo Gemeinde,


    nachdem mein anderer RFID-Reader nun endlich lief, musste ich feststellen, das es für DoorPI kein Keyboard gibt um diesen anzubinden.8)

    Mal wieder das Pferd von hinten aufgezäumt...aber zumindest ein Problem gelöst8o


    Nun, die DoorPI Community hatte mehrmalig den PN532 im Einsatz, die Threads sind meist schon einige Jahre alt und die Ersteller fast die gleiche Zeit offline...denn damals funktionierte dieser problemlos.

    Bei meinem Glück, jetzt natürlich nicht mehr.


    Nach erfolgreicher Installation siehe -->https://www.doorpi.org/forum/t…n-des-pn532-rfid-readers/

    ...klappte der Aufruf

    Code
    python /home/pi/libnfc/trunk/examples/tagtool.py --device tty:AMA0:pn532

    ..nicht.:/


    Es lag nicht an der belegten UART Schnittstelle, denn Bluetooth war bereits umgelegt, bzw. deaktiviert.

    Die Lösung: man achte auf libcrypto.so.1.1


    Der Script ist noch für die ältere Version z.B.: libcrypto.so.1.0.2.

    Die Lösung fand ich versteckt bei Github : https://github.com/nfcpy/nfcpy/issues/59 --> der User faddey-w zeigte diese.


    1.aufrufen

    Code
    ls -la /usr/lib/arm-linux-gnueabihf/libcrypto.so.*

    2. sollte enthalten

    Code
    -rw-r--r-- 1 root root 1493272 Dec 13  2017 /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.2
    -rw-r--r-- 1 root root 1827948 Nov  2  2017 /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1

    3. anpassen der sec.py

    Code
    /libnfc/trunk/nfc/llcp/sec.py

    4.der letzte Eintrag muss bearbeitet werden


    von:

    Code
    libcrypto = ctypes.util.find_library('crypto')
    if libcrypto is not None:
        OpenSSL = OpenSSLWrapper(libcrypto)

    zu:

    Code
    #libcrypto = ctypes.util.find_library('crypto')
    libcrypto = 'libcrypto.so.1.0.2'
    if libcrypto is not None:
        OpenSSL = OpenSSLWrapper(libcrypto)


    Bei mir funktioniert der Aufruf nun ohne Probleme.

    Sicher kann man der Code auch auf den neuen Stand bringen, dazu fehlen mir allerdings die Python-Fähigkeiten.

    Vielleicht ist ja jemand in der Lage dazu?


    Gruß Robert!