Hallo Gemeinde,
nachdem mein anderer RFID-Reader nun endlich lief, musste ich feststellen, das es für DoorPI kein Keyboard gibt um diesen anzubinden.
Mal wieder das Pferd von hinten aufgezäumt...aber zumindest ein Problem gelöst
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
..nicht.
Traceback (most recent call last):
File "/home/pi/libnfc/trunk/examples/tagtool.py", line 37, in <module>
from cli import CommandLineInterface
File "/home/pi/libnfc/trunk/examples/cli.py", line 35, in <module>
import nfc
File "/home/pi/libnfc/trunk/nfc/__init__.py", line 28, in <module>
from clf import ContactlessFrontend
File "/home/pi/libnfc/trunk/nfc/clf/__init__.py", line 34, in <module>
import nfc.llcp
File "/home/pi/libnfc/trunk/nfc/llcp/__init__.py", line 31, in <module>
from llc import LOGICAL_DATA_LINK, DATA_LINK_CONNECTION
File "/home/pi/libnfc/trunk/nfc/llcp/llc.py", line 41, in <module>
from . import sec
File "/home/pi/libnfc/trunk/nfc/llcp/sec.py", line 490, in <module>
OpenSSL = OpenSSLWrapper(libcrypto)
File "/home/pi/libnfc/trunk/nfc/llcp/sec.py", line 191, in __init__
self.crypto.ECDH_OpenSSL.restype = c_void_p
File "/usr/lib/python2.7/ctypes/__init__.py", line 375, in __getattr__
func = self.__getitem__(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 380, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL
Display More
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
2. sollte enthalten
-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
4.der letzte Eintrag muss bearbeitet werden
von:
libcrypto = ctypes.util.find_library('crypto')
if libcrypto is not None:
OpenSSL = OpenSSLWrapper(libcrypto)
zu:
#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!