[PYTHON] Édition Mac qui lit la carte IC avec PaSoRi RC-S380 / P

Qu'est-ce que le PaSoRi RC-S380 / P?

Cette chose https://www.sony.co.jp/Products/felica/consumer/products/RC-S380.html

Essayez de lire diverses cartes IC en utilisant ceci.

Quoi essayer cette fois

Environnement de test

Malheureusement, nfcpy ne prend pas encore en charge python 3. (Au 30 septembre 2016)

Préparation de la bibliothèque

Utilisez nfcpy.

$ brew install libusb
$ brew install libusb-compat
$ brew install bzr
$ sudo pip install pyusb libusb1 pyserial
$ bzr branch lp:nfcpy trunk

Exécutez l'exemple

$ python examples/tagtool.py show
Traceback (most recent call last):
  File "examples/tagtool.py", line 37, in <module>
    from cli import CommandLineInterface
  File "/Users/ryo/programming/python/trunk/examples/cli.py", line 35, in <module>
    import nfc
  File "/Users/ryo/programming/python/trunk/nfc/__init__.py", line 28, in <module>
    from clf import ContactlessFrontend
  File "/Users/ryo/programming/python/trunk/nfc/clf/__init__.py", line 34, in <module>
    import nfc.llcp
  File "/Users/ryo/programming/python/trunk/nfc/llcp/__init__.py", line 31, in <module>
    from llc import LOGICAL_DATA_LINK, DATA_LINK_CONNECTION
  File "/Users/ryo/programming/python/trunk/nfc/llcp/llc.py", line 41, in <module>
    from . import sec
  File "/Users/ryo/programming/python/trunk/nfc/llcp/sec.py", line 490, in <module>
    OpenSSL = OpenSSLWrapper(libcrypto)
  File "/Users/ryo/programming/python/trunk/nfc/llcp/sec.py", line 183, in __init__
    self.crypto.EC_KEY_set_public_key_affine_coordinates.restype = c_int
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 378, in __getattr__
    func = self.__getitem__(name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 383, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(0x7fecdb411890, EC_KEY_set_public_key_affine_coordinates): symbol not found

J'ai une erreur. Puisqu'il y a une erreur autour d'OpenSSL, j'ai pensé qu'elle serait corrigée si je réinstallais OpenSSL, mais comme prévu, OpenSSL n'était pas la dernière, donc installer.

$ brew install openssl
ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/libcrypto.dylib
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/libssl.dylib

Après avoir confirmé qu'OpenSSL est nouveau, exécutez-le à nouveau.

$ python examples/tagtool.py show
[nfc.clf] searching for reader on path usb
[nfc.clf] using SONY RC-S380/P NFC Port-100 v1.11 at usb:020:005
** waiting for a tag **
Type3Tag 'FeliCa Standard (RC-S???)' ID=xxxxxxxxxxxxxxxx PMM=xxxxxxxxxxxxxxxx SYS=0003
$ python examples/tagtool.py show
[nfc.clf] searching for reader on path usb
[nfc.clf] using SONY RC-S380/P NFC Port-100 v1.11 at usb:020:005
** waiting for a tag **
Type3Tag 'FeliCa Standard (RC-SA00/1)' ID=xxxxxxxxxxxxxxxx PMM=xxxxxxxxxxxxxxxx SYS=04C7

La première carte est Suica, la deuxième carte est Nanaco, et la troisième carte e-pass ne peut pas être lue car la carte est cassée (peut-être parce que je l'ai accidentellement lavée ...)

En savoir plus sur Felica ici http://www.sony.co.jp/Products/felica/business/tech-support/data/code_descriptions_1.2.pdf

Articles référencés

what's Next Il y a une tarte aux framboises qui semble être gratuite, alors je vais essayer de gérer la fréquentation, etc. en l'utilisant

Recommended Posts

Édition Mac qui lit la carte IC avec PaSoRi RC-S380 / P
Visualisez le point P qui fonctionne avec Python
Lire FeliCa en utilisant Pasori (RC-380S) sur Mac