2017-02-02 1 views
-2

nfcpy 라이브러리에서 주어진 send_apdu() 명령을 사용하여 Android 스마트 폰과 상호 작용하려고합니다. 특정 헤더 파일과이를 사용하는 절차는 무엇입니까? 가능하면 사용중인 기능을 예제로 제공하십시오. 다음은 함수 설명에 대한 링크입니다. http://nfcpy.readthedocs.io/en/latest/modules/tag.htmlnfcpy 라이브러리에서 send_apdu() 명령을 사용하는 방법은 무엇입니까?

답변

1

사용할 특정 헤더 파일이 없습니다. send_apdu의 인자의 대부분은 ISO/IEC 7816-4 APDU 구문의 직접 경기입니다 : 명령 클래스 (CIA 요원), 명령 코드 (), 파라미터 1 (P1), 매개 변수 2 (P2을), 명령 데이터 (데이터) 및 최대 응답 길이 (mrl). check_status 인수에만 해당 값이 없습니다.

APDU를 구성하려면 호출자가 적절한 값을 제공해야합니다. 아래는 AID "D2760000850101"h를 사용하여 특정 응용 프로그램 (NDEF 응용 프로그램)을 활성화하는 예입니다. 이 예에서는 지원되는 NFC Reader가 USB를 통해 연결되고 NFC Forum Type 4 태그가 리더에 설치되어 있다고 가정합니다. 응답 데이터 T4T이 특정 들어

$ 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') 

그냥이 상태로 인해 check_status의, SW1과 SW2 바이트이고 =이 나 오류를 표시하지 않을 수도 있습니다 거짓 (그러나 성공을 의미 9000'h 사실 '에서) .

관련 문제