본문 바로가기
C++ 200제/코딩 IT 정보

NFC 전송 데이터 교환 포맷, NDEF 레코드 구조

by vicddory 2017. 4. 9.

NFC 전송 데이터 교환 포맷, NDEF 레코드 구조


NFC 데이터 교환 포맷

NFC 포럼은 태그 혹은 NFC 장치 사이의 데이터 전송 시 상호 호환성을 가능하게 NDEF 데이터 공통 포맷을 정의하였습니다. NDEF는 URL, 카드, 그리고 NFC 관련 데이터 타입을 전달할 수 있는 작고 컴팩트한 이진 포맷입니다.


NDEF는 페이로드를 포함하는 일련의 레코드들로 구성된 메시지로 교환됩니다.


. 페이로드 컨텐츠는 URL, MIME 미디어, 혹은 NFC 관련 데이터 타입이 될 수 있음.

. NFC 관련 데이터 타입의 경우 - 페이로드 컨텐츠는 NFC RTD(Record Type Definition)에 정의됨.

. 레코드 내의 데이터 타입과 레코드 크기는 페이로드가 붙여진 헤더에 포함.

. 페이로드의 타입을 식별하기 위한 타입 필드는 헤더에 포함.

. 페이로드 길이 = 페이로드의 옥텟 수.

. 선택적 페이로드 식별자 - 사용자 명령이 NDEF 레코드 내에 전달되는 페이로드를 식별하도록 도움.


다음은 NDEF의 레코드 구조와 사용 예로서 URI 레코드 표현 방법을 나타냅니다.


NFC - TNF 필드 값[NFC 전송 데이터 교환 포맷, NDEF 레코드 구조] TNF 필드 값

NDEF의 레코드 구조

NDEF 레코드는 아래의 [그림 4]와 같은 공통 포맷의 가변길이 레코드입니다. MB, ME, CF, SR, IL은 1비트의 필드를 나타냅니다.


MB (Message Begin) : NDEF 메시지의 시작 설정을 의미.

ME (Message End) : NDEF 메시지의 끝 설정을 의미.


CF (Chunk Flag) : 첫 번째 레코드 청크(Chunk)나 페이로드 청크 중 중간 레코드 청크를 나타냄.

SR (Short Record) : 구조는 [5]와 같으며, 0~255 옥텟 범위 크기의 페이로드 필드에 맞는 컴팩트한 캡슐화를 위함.


IL (ID_LENGTH 필드 有) : 플래그 값이 0이면, ID_LENGTH 필드는 레코드 헤더에서 생략, 레코드의 ID 필드 생략.

TNF (Type Name Format) : 타입(TYPE) 필드 값의 구조를 나타내며, 아래 [표 4]에 정의된 값을 가진 3비트 필드.


NFC - NDEF 레코드 구조[NFC 전송 데이터 교환 포맷, NDEF 레코드 구조] NDEF 레코드 구조


NFC - NDEF 짧은 레코드 구조[NFC 전송 데이터 교환 포맷, NDEF 레코드 구조] NDEF 짧은 레코드 구조


TYPE_LENGTH : 8비트의 정수로 필드의 옥텟 주소를 결정

ID_LENGTH : 8비트의 정수로 ID 필드의 옥텟 주소를 결정. ID 필드가 존재하면 IL 플래그는 1로 설정

PAYLOAD_LENGTH : 필드 크기는 SR 플래그 값으로 결정.


SR 플래그가 설정되면 8비트의 정수인 단일 옥텟을 나타내고,

SR 플래그가 설정되지 않으면 32비트인 4개의 옥텟을 나타냄. 옥텟의 전송 순서는 MSB부터 시작


TYPE : 페이로드의 타입을 설명하는 식별자. 타입 필드의 값은 TNF 필드의 값의 구조와 서식 그리고 인코딩을 따름

ID : URI 참조[RFC 3986]에 안에 있는 식별자


PAYLOAD : NDEF 사용자를 위한 페이로드 운반. 페이로드 필드에 운반되는 데이터의 구조는 NDEF에 보이지 않음

NFC 레코드 타입 : TNF가 0x01로 정의되어 있을 때 사용 가능. NFC 레코드 타입은 아래의 [표 5]와 같음


NFC - NFC 레코드 타입[NFC 전송 데이터 교환 포맷, NDEF 레코드 구조] NFC 레코드 타입


NFC - URI 레코드 구조[NFC 전송 데이터 교환 포맷, NDEF 레코드 구조] URI 레코드 구조


URI 레코드 타입[표 6]은 NDEF 프로토콜을 사용하여 태그에 URL http://www.nfc.com을 넣기 위한 레코드 타입 구조를 보여주고 있으며, 전체 길이는 12바이트입니다. 아래의 데모 프로젝트도 참조하세요.


NFC Demo source

TagReader, TagWriter - NFC_-_Demo.zip


NFC 전송 데이터 교환 포맷, NDEF 레코드 구조

댓글