레이블이 RFID인 게시물을 표시합니다. 모든 게시물 표시
레이블이 RFID인 게시물을 표시합니다. 모든 게시물 표시

2011년 7월 6일 수요일

블루투스 기기를 맥의 RFID 스마트키로 사용하기 (Use bluetooth device like iPhone or Android phone as a RFID smart key for Mac)

맥에서 proximity (http://code.google.com/p/reduxcomputing-proximity/)를 사용하면 블루투스 디바이스를 맥의 스마트 키로 사용할 수가 있다.
디바이스의 블루투스 MAC ID를 기준으로 동작하기 때문에 블루투스 디바이스는 아이폰이나 안드로이드 스마트폰 또는 일반 피쳐폰도 상관 없다.

 

다운 받아 설치한 다음 실행시키면 화면 위에 아이콘이 나타난다.
현재 등록된 블루투스 디바이스가 통신가능 범위 내에 들어와 있기 때문에 아이콘 아래쪽에 조그마한 글씨로 'IN'이라고 써 있다. 처음 실행해서 아직 블루투스 디바이스를 등록하지 않았거나 등록된 디바이스가 통신가능 범위 외에 있으면 'OUT'이라고 나오게 된다.



설정을 위해 아이콘을 클릭하면 메뉴가 나오고 그 메뉴에서 'Preferences'를 선택하면 된다.


설정 화면은 간단하고 각각에 대해 위에 설명을 달아 놓았다.

여기서 핵심은 자신이 원하는 동작을 애플스크립트로 만들어 주는 것이다.
예를 들어 사용자가 컴퓨터에 가까이 오면 스크린 세이버를 풀어준다던가 원하는 음악을 플레이 하게 해 줄수도 있다. 반대로 컴퓨터에서 멀어지면 자동으로 화면이 락이 걸리게 하는 식의 동작을 할 수 있다.

예를 들어 in range script와 out range script에 각각 아래의 이름으로 파일을 저장한 다음 Preferences 화면에서 해당 스크립트 파일을 지정해주면 멀어지면 스크린 세이버가 켜지고 가까이 오면 자동으로 스크린 세이버가 꺼지게 된다.

InScript.scpt


-- Disable the screen Saver Password
     do shell script "defaults -currentHost write com.apple.screensaver askForPassword -int 0"
     do shell script "notif"
     -- Turn OFF the screen saver
     tell application "ScreenSaverEngine" to quit
     tell application "Address Book"
          if not unsaved then
               try
                    quit
                    delay 1
               end try
          end if
     end tell

OutScript.scpt

-- Turn on the screen saver password
     do shell script "defaults -currentHost write com.apple.screensaver askForPassword -int 1"
     do shell script "notif"
     -- Activate the screen saver
     tell application "ScreenSaverEngine" to activate
 
다른 예제로 LockScreen 2를 사용하는 경우에는 다음 스크립트를 사용하면 된다.


In.scpt

tell application "System Events" 
          keystroke "l" using {command down}
end tell 

Out.scpt


tell application "System Events" 
          keystroke "asdfghjkl"  
end tell 
 
만일 시스템 이벤트가 아니고 특정 어플리케이션을 실행한 다음 그 어플리케이션에 키 이벤트를 보내고 싶으면 아래와 같이 하면 된다.


tell application "TextEdit"
activate
tell application "System Events" 
               keystroke "f" using {command down}
end tell 
end tell 
 

LockScreen 2를 사용하는 스크립트의 사용 예제이다.


 먼저 아이패드의 블루투스를 켜고 등록을 시켜 주었다. 맥에서 아이패드가 등록되어 현재 통신가능 범위 내에 있는걸 확인할 수 있다.


통신가능 범위 바깥으로 나간걸 시뮬레이션 하기 위해 아이패드의 블루투스를 꺼 주었다. 그러면 몇초 후 스크립트가 실행되어 LockScreen 2가 실행된 화면을 볼 수 있다.


여기서 다시 통신가능 거리로 들어온걸 시뮬레이션 하기 위해 아이패드의 블루투스를 켜 주었다. 역시 몇초 후 proximity가 등록된 블루투스 디바이스가 통신가능 거리로 들어온 걸 인식하면 바로 스크립트를 실행해 주기 때문에 LockScreen 2가 풀려 데스크탑 화면으로 돌아온다.



애플스크립트에 관해서는 인터넷을 찾아보면 공개되어 있는 자료들을 쉽게 찾을 수 있다.

http://www.computer-books.us/applescript_1.php

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리더기를 설치하고 스티커로 되어 있는 태그를 자신의 휴대폰 뒷면에 붙여주면 휴대폰을 집 열쇠로 사용할 수도 있다.

2008년 5월 6일 화요일

블루투스 휴대폰의 활용법 - 컴퓨터의 RFID키로 사용하기 (Use bluetooth-enabled cellphone as a RFID key for PC)

블루투스를 지원하는 휴대폰을 가지고 있어도 막상 블투 헤드셋 연결하는 경우 제외하면 블루투스를 활용할 기회가 없지만 여기서 재미있는 활용법을 소개하겠다.

사용자 삽입 이미지
요새 고급 자동차에 보면 인텔리젼트 키 또는 keyless entry라고 해서 열쇠를 꺼낼 필요 없이 주머니에 넣은 상태로 자동차로 가서 바로 문을 열고 시동도 걸 수 있는 기능이 달려 나온다.
블루투스 기능을 가지고 있는 휴대폰을 자동차의 인텔리젼트 키 같이 동작시켜서 휴대폰의 블루투스가 컴퓨터와 통신할 수 있는 거리로 들어가면 암호가 걸린 스크린 세이버가 자동으로 해제되고, 컴퓨터에서 멀어지면 자동으로 암호가 걸린 스크린 세이버가 동작하게 만들어 줄 수가 있다. 여러 사람이 같이 사용하는 오피스 같은 곳에서 본인이 잠시 자리를 비운 사이 컴퓨터를 남이 함부로 사용하지 못하게 만들어 줄 수 있는 것이다.
물론 스크린 세이버 뿐 아니고 컴퓨터에 가까이 접근했을 때와 멀어졌을 때 어떤 동작을 하게 만들지는 원하는대로 설정할 수 있다. 이 방법의 최고의 장점은 휴대폰에 아무 소프트웨어도 설치할 필요가 없고 특정 프로파일을 지원해줘야 할 필요도 없고 단지 휴대폰과 컴퓨터를 블루투스로 페어링만 해 줄 수 있으면 된다는 점이다.

맥에서는 Home Zone이라는 소프트웨어를 사용하면 블루투스 뿐 아니고 무선랜 신호 또는 유선랜에 따라서도 원하는 동작을 하게 설정해 줄 수 있다. 예를 들어 집에서 사용하는 무선랜의 SSID가 연결되면 자동으로 집에 있는 네트웍 드라이브나 프린터들을 언결하게 만들기 또는 유선랜이 연결되면 자동으로 무선 끄기 등등을 해 줄 수 있다.


현재 베타버젼 0.9.9.2이고 위의 링크에서 무료로 다운받을 수 있다. 프로그램을 설치하고 실행시키면 화면 오른쪽 위의 상태바에 열쇄 모양의 아이콘이 나타난다.


아이콘을 눌러주면 다음과 같은 풀다운 메뉴가 나타난다. 지금 화면은 이미 Proximity라는 설정(configuration)이 되어 있고 이름 옆의 녹색 불은 그 설정내용이 현재 동작중(enabled)이라는걸 보여준다.

처음 실행했으면 Proximity라는건 없고 그 아래부터 보일것이다. 원하는 동작을 설정하고 싶으면 'Configure...'를 선택해 준다.





(그림을 누르면 원래 크기로 볼 수 있다.)

Configure...를 선택하면 위와 같은 창이 열린다. 처음에는 Zones에 아무
사용자 삽입 이미지
것도 없다. '+' 버튼을 눌러 Zone을 추가해준다. 여기서는 Proximity라고 이름을 지정해 주었다. 그리고 이 Zone에 대해서는 어떤 디바이스를 사용할지를 Kind와 Device에서 선택해준다. 여기서는 블루투스 휴대폰을 사용할 것이기 때문에 Kind는 'Bluetooth Device'를, Device에는 내 휴대폰을 선택해준다. 물론 이 프로그램 설정 이전에 휴대폰은 맥과 페어링이 되어 있어야 Device목록에 보인다. 그리고 각각 휴대폰이 zone에 들어왔을 때(컴퓨터와 휴대폰이 블루투스로 통신이 가능한 거리에 있을 때)와 zone에서 나갈 때(컴퓨터와 휴대폰이 더 이상 블루투스로 통신을 할 수 없을 때)의 동작을 지정해주면 된다. 여기서는 zone에 들어오면 스크린 세이버가 멈추고 zone에서 나가면 스크린 세이버가 시작하게 해 주었다. 지정해 줄 수 있는 동작의 종류는 다음과 같다.




Preference...에서 설정할 수 있는 내용들은 다음과 같다.
사용자 삽입 이미지


윈도우 환경의 PC에서는 Blue Lock을 사용하면 유사하게 사용할 수 있다.
사용자 삽입 이미지

Blue Lock 역시 freeware로 위의 링크에서 다운받을 수 있다. 다만 설정할 수 있는 옵션이 Home Zone보다 적고 설정을 변경하려면 bluelock.conf 파일을 텍스트 에디터로 직접 수정해 주어야 한다.

---

최근에 확인한 결과 Blue Zone은 개발자가 더 이상 개발을 하지 않기로 했다고 한다.
그 대신 사용할 수 있는 프로그램으로는 Sleep Watcher, Proximity 등이 있다.
Sleep Watcher는 커맨드라인 유틸리티라 약간의 컴퓨터 지식이 있어야 하고 Proximity는 Home Zone과 매우 유사하게 사용할 수 있다.