2010년 2월 9일 화요일

Near Field Communication (NFC) - RFID extension

NFC는 초단거리 무선통신 기술로 대략 10cm이내의 기기간에 통신을 가능하게 해 준다. NFC는 ISO/IEC 14443 proximity-card standard (비접촉 카드 또는 RFID) 표준을 확장한 것으로 스마트카드와 리더기를 하나로 합쳐놓은 것이라고 생각하면 된다.
ISO/IEEE 14443 표준을 확장한 것이기 때문에 NFC 디바이스간 뿐 아니고 기존의 ISO/IEEE 14443 리더기나 스마트카드와도 통신을 할 수 있다. NFC는 기본적으로 휴대폰에서 사용할 목적으로 만들어졌다.



간단한 기술적인 스펙으로는

- 13.56MHz의 ISM밴드에서 14KHz의 대역폭을 사용
- 최대 동작 거리: 20cm
- 지원하는 통신 속도: 106, 212, 424, 848 Kbit/s
- 동작모드: Passive, Active

NFC포럼은 현재까지 11개의 스펙을 공개하고 있다.


   * NFC Data Exchange Format (NDEF) - Common data format for devices and tags
   * NFC Tag Types 1,2,3 &4 Operation - Defines RW operation for NFC tags
   * NFC Record Type Definition (RTD) - Standard record types used in messages between devices/tags
   * Smart Poster RTD - For posters with tags with text, audio or other data
   * Text RTD - For records containing plain text
   * Uniform Resource Identifier (URI) RTD - For records that refer to an Internet resource
   * Generic COntrol Record Type Definition (RTD) - Ways to request an action
   * Connection Handover Specification - How to establish a connection with other wireless technologies

스펙은 http://www.nfc-forum.org/specs 에서 무료로 다운받을 수 있다.


현재 NFC는 주로 휴대폰에서 사용되는데 3가지 방식으로 동작하고 있다.

- 카드 에뮬레이션: NFC디바이스(휴대폰)이 기존의 RFID카드와 같이 동작한다. 즉 리더기에 기존의 카드 대신 휴대폰을 가져다 대면 된다.
- 리더 모드: NFC디바이스가 카드 리더기로 동작하는 모드이다.
- P2P 모드: 두대의 NFC디바이스가 서로 통신하는 모드이다.

이렇게 3가지 모드를 지원하기 때문에 NFC디바이스는 매우 다양한 방법으로 사용할 수 있다. 휴대폰이 교통카드, 문 열쇠등으로 동작(카드 에뮬레이션), 미술관, 박물관 등에서 작품에 휴대폰을 가까이 가져가면 해당 작품의 소개로 연결하기, 스마트카드 결제 단말기(리더모드), 휴대폰간 명함 교환 (P2P 모드)등등이 가능해진다.

그리고 통신거리가 매우 짧기 때문에 보안 문제도 간단해지고 통신을 위한 초기 셋업타임이 매우 짧은것이 (0.1초 이하) 최대의 장점이다.

현재 휴대폰에는 노키아, 삼성, 모토롤라의 일부 소수 기중에서만 채용되어 있지만 여러곳에서 트라이얼 하는 곳이 많아서 조만간 급속하게 사용이 늘어나리라고 본다.

그리고 이 방식의 통신이 가장 널리 사용되고 있는 곳은 역시 일본이다. 일본은 소니가 개발한 FeLiCa를 교통카드에서부터 신용카드와 멤버쉽카드와 핸드폰, 결제 기능이 있는 손목시계 등, 다양한 곳에서 이용하고 있다.






물론 현재 일본의 FeLiCa기능을 가지고 있는 휴대폰의 경우 카드 에뮬레이션 모드로만 동작한다. (즉 스마트카드를 휴대폰에 집어넣은 형태) 소니의 발표에 의하면 2억개 이상의 FeLiCa칩을 판매하였다고 하고 가정용 USB리더기도 구매할 수 있다. 또한 일본 내수용 바이오 모델을 가지고 있는 사람들은 터치패드 오른쪽에 아래 사진과 같은 마크가 찍혀 있는것 봤을텐데 그 부분에 FeLiCa리더가 들어있다.


libnfc 에서 오픈소스 NFC 라이브러리(리눅스, Mac OS X, 윈도우)를 구할 수 있고 몇일전에 NFC 칩을 판매하는 프랑스 회사인 Inside Contactless 가 Linux 2.6 and Windows CE 6.0용 프로토콜 스택인 Open NFC 3.4를 open source Apache License 2.0으로 공개했고 3월 말에는 안드로이드도 지원하는 Open NFC 3.5를 공개할 예정이다.

libnfc에는 여러가지 예제 코드와 함께 사용할 수 있는 하드웨어 목록을 확인할 수 있다.




몇가지 종류의 하드웨어가 있는데 현재 가장 쉽고 저렴하게 구할 수 있는 리더로는 ACR-122 NFC가 있다. 몇곳에서 다른 이름으로 팔고 있지만 하드웨어는 기본적으로 동일하고 PN532 NFC Controller를 사용하고 있다.


touchatag 에서도 ACR-122 리더기를 사용(윈도우, 맥용 드라이버 제공)한다. 다른곳에 비해 이 것이 가장 구하기 쉽고 저렴하다. 사진의 리더기와 10장의 스티커로 된 태그를 포함해서 $39.95, 추가로 태그만 구입하는 경우 25장에 $24.95, 500장에 $474.95이다.

touchatag에서도 라이브러리를 제공해 주지만 그걸 사용하지 않고 libnfc를 사용해도 된다.

집의 현관 문 앞에 저 USB리더기를 설치하고 스티커로 되어 있는 태그를 자신의 휴대폰 뒷면에 붙여주면 휴대폰을 집 열쇠로 사용할 수도 있다.

댓글 11개:

  1. NFC 에 대한 내용 찾아보다가 발견하게 되어서 들어왔는데요,

    포스팅 내용이 정말 많은 도움이 되었어요 감사합니다~ ^^



    궁금한 점이 있어서 질문 드리고 싶은데요,,

    핸드폰을 신용카드나 교통카드로 쓰는 기능은 현재 우리나라에서도 많이 사용되고 있는데,

    (USIM 만 있으면 된다.. 뭐 이런 광고를 몇년전에 본것 같아요)

    저희가 T-mobile? 이라고 해서 사용하는 기능도 저 NFC 인건가요?



    그럼 교통카드가 되는 우리나라 핸드폰도 ID 카드로 사용한다던지 카드리더기로 사용한다던지 하는 활용이 가능한건가요?

    답글삭제
  2. @은경 - 2010/06/22 14:29
    국내에도 NFC를 사용하는 테스트는 몇개 있는걸로 알고 있는데 정확하게 어느 서비스가 NFC를 사용하는지는 모르겠습니다.

    그런데 아직까지 국내에 테스트되는건 거의 대부분이 IC 카드의 기능만 가지고 있는거롤 알고 있습니다. (노키아 6212 NFC폰 같은 경우 IC카드/리더기 기능을 같이 가지고 있습니다)



    그리고 FeLiCa같은 경우 프로그래가 사용할 수 있는 API가 공개되어 있는데 비해 국내 핸드폰은 API가 공개되어 있지 않아 원래 제공되는 기능 이외에 사용자나 일반 프로그래머가 기능 추가는 힘들다고 봅니다.

    답글삭제
  3. NFC에 대해서 이해하는데 많은 도움이 되었네요. 내용 좀 퍼가도 괜찮으면 퍼가겠습니다.

    답글삭제
  4. @하얀전구 - 2010/12/07 17:50
    출처만 명시해 주시면 상관 없습니다.

    답글삭제
  5. NFC 에 대한 개념 잡기가 어려워 자료를 찾았는데 아주 명쾌하게 정리되어 있군요. 감사합니다.

    답글삭제
  6. 안녕하세요 문의가 있어 글 남김니다.
    안드로이드와 아이폰간의 NFC 통신이 호환 가능한가요?
    블루투스의 경우 표준기술임에도 불구하고 애플의 폐쇄정책으로 인해 다른 핸드폰과의 통신이 되지 않았습니다. 현재 안드로이드는 NFC API가 존재하지만 아이폰의 경우 루머는 있지만 공식적인 API가 나와있지 않거든요 혹시 아시나요?

    답글삭제
  7. 아직 아이폰은 NFC가 들어있지 않아 어떻게 될지는 뭐라 말하기가 힘듭니다. 다만 NFC표준 스펙을 따랐다면 특별히 안될 이유는 없습니다. 물론 애플이 어느 수준까지 API를 공개해주느냐에 따라 앱 프로그래머가 얼마만큼 제어할 수 있을까가 결정되겠지만요.

    답글삭제
  8. 깔끔하고 세세하게 정리해주셨네요. 감사합니다.

    답글삭제
  9. NFC에 대해서 이해하는데, 많은 도움이 되었습니다.
    감사합니다.

    답글삭제
  10. 유튜브에 올린 NFC관련 동영상 이네요. ( Korea )

    http://www.youtube.com/watch?v=MMdJ155qQkM&feature=player_detailpage

    답글삭제
  11. 안녕하세요....... 구글링하다가 질문좀 드릴려고..ㅎㅎ;; acr-122u 리더기를 사용해서 p2p통신을 할려고 하는데요.. 좀 참조할만한 자료나 조언좀 부탁드리겠습니다.ㅜㅜ

    답글삭제