Android Programming
[Mobile Programming] NFC
gangintheremark
2021. 12. 17. 07:47
728x90
NFC (Near Field Communication)
- 단거리 무선 통신 기술의 일종
- 1-4cm이하의 가까운 거리 통신
- 13.56mhz 주파수 사용
- 전송 속도 106~848kbit/s
NFC 특징
- 연결 절차 간단
- 발견, 페어링 절차 없음
- NFC 태그에 가까이 가면 자동 동작
- 보안, 사생활 침해 염려 비교적 적음
NFC 모드
- Read.write 모드 : NFC 태그에 저장된 정보를 단순히 받아 처리, 단순한 방법
- P2P 모드 : 2개의 NFC 장치들이 데이터 주고받음
- Card emulation : 무선 카드처럼 동작(예) 마트 POS 미널에 설치된 NFC 리더 장치)
NFC에서 사용되는 데이터의 형식
- NDEF : NFC에서 데이터를 서로 교환 포맷
- NDEF 레코드에 'TNF/type/id/payload 값' 저장
NDEF의 구조
- NFC 포럼에서 정의한 NDEF 표준 포맷 준수
- NDEF 레코드는 헤더, 페이로드로 나뉨
NDEF Record
- TNF : 가변 길이 필드를 어떻게 해석하는지 나타냄
- Type : 레코드의 타입 기술
- ID : 레코드의 유일한 아이디 기술
- payload : 읽고 쓰기를 원하는 실제 데이터
3-bit TNF
- 페이로드에 저장된 데이터 종류 알림
Type : 레코드의 타입 정의
- RTD-SMART-POSTER : 텍스트나 URI가 여러 레코드에 저장
- RTD-TEXT : 텍스트 타입
- RTD-URI : 페이로드에 URI 가 저장
NDEF 메시지의 예
- 1줄 : TNF
- 2줄 : type
- 3줄 : payload
NFC태그 디스패치 시스템
인텐트를 수신하려면 매니페스트 파일 수정
- 인텐트에 대한 필터를 지정해 줌으로써 NFC 통신에 대한 허가
<intent-filter>
<action android:name="android.nfc.actionNDEF_DISCOVERED"/>
<action android:name="android.intent.category.DEFAULT"/>
<action android:name="text/plain"/>
</intent-filter>
728x90