2017-02-02 144 views
-2

nfcpyライブラリで指定されたsend_apdu()コマンドを使用して、アンドロイドスマートフォンと対話しようとしています。特定のヘッダーファイルとそれを使用する手順は何ですか?可能であれば、使用中の機能を例に挙げてください。ここに関数の説明へのリンクがあります:http://nfcpy.readthedocs.io/en/latest/modules/tag.htmlnfcpyライブラリでsend_apdu()コマンドを使用するにはどうすればよいですか?

答えて

1

使用する特定のヘッダーファイルはありません。コマンドクラス(CLA)、命令コード(イン)、パラメータ1(P1)、パラメータ2(P2:send_apduへの引数のほとんどは、ISO/IEC 7816-4 APDU構文の直接一致しています)、コマンドデータ(データ)、および最大応答長(mrl)を含む。 check_status引数には、同等のものがありません。

APDUを構築するには、呼び出し元が適切な値を提供する必要があります。以下はAID "D2760000850101" hを使用して特定のアプリケーション(NDEFアプリケーション)を起動する例です。この例では、サポートされているNFC ReaderがUSBを介して接続されており、NFC Forum Type 4タグがリーダーに置かれているものと想定しています。この特定の場合

$ python 
>>> import nfc 
>>> clf = nfc.ContactlessFrontent("usb") 
>>> tag = clf.connect(rdwr={'on-connect': lambda tag: False}) 
>>> 
>>> cla = 0x00 # last or only command, no secure messaging, channel zero 
>>> ins = 0xA4 # SELECT command 
>>> p1 = 0x04 # Select by DF name 
>>> p2 = 0x00 # First or only occurrence, Return FCI template 
>>> data = bytearray.fromhex("D2760000850101") # NDEF AID 
>>> 
>>> tag.send_apdu(cla, ins, p1, p2, data, check_status=False) 
bytearray(b'\x90\x00') 

応答データは、ちょうど2つの状態があるため(成功を意味9000'h実際に」)がまたは可能性のあるエラーを示さないかもしれない偽CHECK_STATUS =で、SW1とSW2バイトとされ、T4T 。

関連する問題