현재 순정 아이폰에서는 AV케이블을 연결해도 항상 아이폰 화면이 출력되는게 아니고 동영상 플레이나 사진 보기 정도만 화면이 외부 출력이 가능하다.
하지만 탈옥한 경우 ScreenSplitr이라는 app을 사용하면 AV케이블로 화면 출력을 토글(on/off) 해 줄 수 있다. 이 app은 무료이고 오픈소스라 코드도 공개되어 있다.
이 앱을 사용하면 항상 화면을 외부로 출력할 수 있어 프로젝터에 연결하면 큰 화면으로 여러 사람들에게 프리젠테이션 할 때 유용하게 사용할 수 있다.






또한 ScreenSplitr 개발자가 거기서 한 발자국 더 나가 DemoGod이라는 맥용 어플리케이션도 제공하고 있다.
DemoGod을 사용하려면 아이폰에 ScreenSplitr가 설치되어 있어야 한다.
맥에서 이 프로그램을 사용하면 아이폰 화면을 무선랜을 통해 미러링 할 수 있게 된다.



위의 동영상에서 볼 수 있는것처럼 맥의 모니터에 아이폰의 화면이 무선랜을 통해 전달되어 똑같이 나타나게 된다. (미러링) 무선랜을 통해 화면을 전달하기 때문에 동영상 플레이는 별로 유용하지 않겠지만 강연이나 프리젠테이션 등에서 아이폰 화면을 여러 사람들에게 보여줘야 하는 경우 유용하게 사용할 수 있을 것이다.

* 단 iPhone 3GS부터는 AV케이블에 인증칩이 들어간것만 사용할 수 있게 되어 3G에서 잘 사용하던 AV케이블이라 해도 3GS에 연결하면 동작하지 않는다. AV케이블을 구입하는 경우 3GS에서 사용할 수 있는 제품인지 꼭 확인하길 바란다.

ScreenSplitr는 cydia에서 구할 수 있고 DemoGod는 http://screensplitr.com/ 에서 다운받을 수 있다.
Posted by nautes

최근들어 LBS(Location Based Service)에 대한 관심이 높아지고 아이폰, 구글폰들이 출시되며 이를 이용한 어플리케이션들이 속속 등장하고 있다. 여기에서 현재 휴대폰의 위치를 알아내는 방법의 원리들에 대해 설명해 보겠다.

먼저 가장 먼저, 널리 사용되는건 GPS이다.

GPS(Global Positioning System)의 기본 원리는 삼각측량법이다.

gps1.jpg

위의 그림에서처럼 지도상에 정확한 위치를 알고 있는 3개 지점에서부터 내 위치까지의 거리를 알 수 있으면 그 각 지점(위의 그림에서는 각 스테이션)을 중심점으로 내 위치까지의 거리를 반지름으로 하는 3개의 원을 그리면 3개의 원은 정확하게 한 점에서 만나게 된다. 그 원들이 만나는 지점이 내 현 위치가 된다.


gps2.jpg

단 여기서 전제조건은 각 스테이션과의 정확한 거리를 알고 있어야 한다는 것이다.

그런데 실제로 거리를 측정할 때 줄자를 가지고 잴 수 있는게 아니고 각 스테이션에서 송출하는 특정 신호를 수신해서 그 신호의 세기를 가지고 거리를 예측하게 된다. 하지만 전파의 특성 상 거리에 반비례해서 신호 세기가 약해지긴 해도 여러가지 조건에 따라 그 약해지는 정도가 항상 변화하기 때문에 대강의 거리를 예측할 뿐 정확한 거리를 알 수가 없다. (실제 GPS에서는 신호 세기가 아니고 시간차를 이용하지만 이 경우에도 정확한 거리를 알 수 없는건 차이가 없다.)


gps3.jpg

대략의 거리를 가지고 원을 그리게 되면 3개의 원이 위의 그림과 같이 한 점에서 만나는게 아니고 그림과 같이 3개의 원으로 둘러 쌓인 부분이 생기게 된다. 예측한 거리의 오차가 크면 클 수록 원으로 표시된 부분의 크기가 커지게 된다. 즉 정확한 위치를 찾을 수 없고 대략 저 둘러 쌓인 부분 내에 있다는 것만 알 수 있게 된다.


gps4.jpg

그래서 더 여러 지점과의 거리를 측정해서 더 많은 원을 그려 더 많은 원들에 둘러 쌓인 부분을 찾으면 그 면적이 줄어들기 때문에 오차를 줄일 수 있게 된다.

그런데 최근에는 GPS를 내장하지 않은 모바일 디바이스들도 무선랜 신호를 이용해 자신의 위치를 상당히 정확하게 찾아내는걸 볼 수 있다. 이 경우는 미리 구축되어 있는 무선 AP목록 DB가 구축되어 있어야 한다. 이 DB는 사업자 핫스팟의 경우는 사업자가 설치된 정확한 주소를 알려줄 수 있지만 개인이 설치한 AP의 경우는 등록된 주소가 없는데 어떻게 위치를 알 수 있을까? 정답은 구글 스트리트 뷰 사진과 유사한 방식으로 War driving을 이용해서 DB를 구축하게 된다.


wd.jpg

자동차에 그림과 같이 무선랜 안테나와 GPS 수신기를 장착하고 차를 몰아 길을 돌아다니면서 각 위치에서 신호가 잡히는 AP의 목록과 신호의 세기를 기록해서 DB를 구축하게 된다.


gps5.jpg

위의 그림에서 각 숫자가 AP이고 알파벳이 자동차가 움직이며 해당 위치에서 신호가 잡히는 AP의 목록을 기록해서 테이블을 만든다.


GPS8.jpg

이렇게 만든 테이블을 이용해 각 AP의 위치 DB를 만든다.

GPS9.jpg

위의 그림과 같이 각각 AP의 신호가 잡히는 지점들을 가지고 있게 된다.


gps6.jpg

그림에서 저 지점에 아이팟 터치가 있다면 13, 15, 17번 AP의 신호를 받을 수 있게 된다.


GPS10.jpg

그럼 그 정보를 이용해 위에 만들어 진 DB를 검색하면 13, 15, 17 모두에 공통으로 들어있는 위치는 M이 된다. 즉 예측할 수 있는 가장 가까운 위치는 M이라고 판단할 수 있게 되는 것이다.

Posted by nautes

무선랜을 사용하는데 거리가 멀어지면 수신감도가 급격하게 떨어져 버린다. 그래서 신호강도가 어느 이하로 떨어지면 연결 자체가 유지되지 못하고 붙었다 끊어졌다를 반복하게 된다.

현재 위치에서의 무선 상태는 D-link DWL-G122를 사용하면 공유기가 아예 안보이고 macbook pro의 에어포트를 사용하는 경우 안테나 방향(즉 액정화면이 어느쪽을 보고 있는가), 기온, 외부의 전파 잡음등에 따라 연결이 되다 말다 하는 정도라 안정적으로 인터넷에 연결할수가 없었다.

예전부터 가지고 있던 외부 안테나와 외부안테나 커넥터가 있는 Orinoco PCMCIA 무선랜카드는 맥에는 expresscard 34슬롯밖에 없어서 사용할 방법이 없었다. 2.4GHz 외부안테나를 몇개 가지고 있지만 다들 RP-SMA female 타입의 커넥터를 가지고 있고 RP-SMA male to MMCX male cable로 Orinoco에 연결을 하게 되어 있다.

그래서 일단 USB무선랜(DWL-G122)에 외장 안테나를 붙여보기로 마음을 먹었다. 인터넷을 뒤져본 다음 케이스를 열어보니 안테나 부분은 다음과 같았다.

사용자 삽입 이미지

사진의 가운데가 외부 안테나를 연결할 수 있는 커넥터이고 오른쪽의 가운데에 파란색 선이 그어져 있는 부품이 칩 안테나이다. 다만 문제는 U.FL female타입의 커넥터라 현재 가지고 있는 MMCX 커넥터를 사용할 수 없었다. 다른 방법으로는 패턴의 녹색부분을 긁어내고 직접 케이블을 납땜하면 되는데 그것 보다는 그냥 ebay에서 U.FL male to RP-SMA male cable을 주문하기로 했다. 이 케이블이 배달되면 위의 회로에서 칩 안테나만 뗘 내고 케이블을 커넥터에 꼽아주기만 하면 된다.

사용자 삽입 이미지

일단 주문한 케이블이 오려면 약 2주정도 기다려야 할 거 같아 집에서 구할 수 있는 재료만으로 간단하게 무선신호 감도를 높일 수 있는 반사판을 만들었다.



재료는 적당한 크기의 골판지 박스, USB확장 케이블, 테입, 알미늄 호일만 있으면 된다.
먼저 골판지를 적당히 자르고 가운데 USB 확장케이블을 꼽아 줄 수 있는 구멍을 내고 그 구멍 뒤쪽을 타원형으로 잘라준다. 그 타원형 부분에 종이를 둘러주고 종이의 뒷면에 알미늄 호일을 붙여주면 된다.
말로 설명하는 것 보다 만들어 놓은 사진을 보면 쉽게 이해가 될 것이다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

순전히 집에 있는 재료만으로 만들어서 별도의 재료비는 하나도 들지 않았다.
컴퓨터에 연결해서 확인해 본 결과는 놀랄만큼 좋았다. 무선 신호 계측기가 없어서 수치적으로 비교할수는 없었지만 Macbook pro에서 잡히지 않던 무선랜이 안정적으로 연결되었고 연결이 끊어지는 현상도 나타나지 않고 있다.
원래 omni-directional(특별히 방향성 없는) antenna의 뒤쪽에 일종의 반사판을 붙여 directionl antenna로 바꿔준 것이기 때문에 상자의 방향을 돌려가며 가장 신호 감도가 좋게 나오는쪽으로 놓고 사용하면 된다.

지금 현재만으로도 꽤 만족할만한 결과가 나와서 주문한 커넥터 케이블이 도착한 다음 외부 신호증폭 안테나를 사용하고 뒤쪽에 반사판을 붙였을 경우의 성능향상이 크게 기대된다.
추후 그 결과에 대해서도 여기에 업데이트 할 예정이다.

* Mac 사용자의 경우 D-link는 DWL-G122용 맥 디바이스 드라이버를 지원하지 않는다. 대신 Ralink에서 2500시리즈용 mac os x 드라이버를 설치하면 된다. 다운 받아보면 10.3/10.4용 드라이버만 있는데 10.4를 설치해도 10.5에서도 잘 동작한다. 현재 os x 10.5.3을 사용하고 있는데 별다른 문제는 없었다.
Posted by nautes

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

사용자 삽입 이미지
요새 고급 자동차에 보면 인텔리젼트 키 또는 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 파일을 텍스트 에디터로 직접 수정해 주어야 한다.
Posted by nautes

이전버튼 1 이전버튼