Robick은 딕테이션이나 어학공부에 매우 유용한 아이폰/아이팟 터치용 앱이다.
$2.99로 앱스토어에서 구입하면 된다.
플레이리스트 수정 모드이다. 아이폰/아이팟 터치에 들어있는 곡들을 플레이 리스트에 추가하거나 플레이 리스트에서 곡을 삭제할 수 있다.
동작 동영상이다.
아이폰/터치팟에서 가상키보드로 입력을 할 때 가장 불편했던 것 중에 하나가 숫자를 입력하려면 123 키를 눌러 숫자키패드로 바꿔줘야만 한다는 것이었다.
5-row QWERTY keyboard는 일반 키보드의 배열과 마찮가지로 아아폰/터치팟의 가상키보드를 5줄로 만들어 맨 윗줄에 숫자키를 집어넣어서 이 문제를 해결해 준다. Jail-broken된 아이폰/터치팟에 설치할 수 있다.
설치하려면 cydia를 실행한 다음 search를 사용해서 5-Row QWERTY 프로그램을 찾아준다.
정식 명칭은 '5-Row QWERTY Keyboard'이다. 이 프로그램을 검색해서 설치해주면 된다.
설치가 끝나면 초기화면으로 돌아와서 Settings로 간다.
Settings에서 'General'을 선택한다..
General 화면에서 'International'을 선택한다.
International에서 'Keyboards'를 선택한다.
Keyboards에 보면 iKeyEx Keyboards라는 항목이 추가된 걸 볼 수 있다. 여기서 5 Row QWERTY를 ON이 되게 해 준다.
이것으로 설정이 모두 끝났다.
이제 실제 키보드를 사용해 보기로 한다. 노트 어플로 가서 보면 키보드가 5줄이 되어서 맨 윗줄에 숫자키가 생긴걸 볼 수 있다.
또한 이 상태에서 Shift키를 누르면 숫자키가 일반 키보드 배열에서 숫자키 위의 기호들로 바뀐걸 볼 수 있다.
이 뿐 아니고 여기서 '123' 키를 누르면 이 키는 'ABC'로 바뀌고 나머지 기호들과 숫자키패드가 나오게 된다.
마지막으로 '123' 모드에서 shift를 눌러주면 그 동안 키보드에는 없던 커서 이동키(←,↑,→,↓, pg up, pg dn, tab 등등)들을 사용할 수 있다.
iPhone 3G와 새로 나온 iPod Touch의 경우 케이블을 컴퓨터의 usb포트에 연결하거나 같이 포함되어 있는 충전기를 사용하지 않으면 충전이 되지 않는다.
원인은 변경된 충전회로 때문이다.
위 사진은 iPhone의 회로인데 빨간색으로 표시 된 칩이 Linear Technology의 LTC 4066 USB Power Controller and Li-Ion Linear Charger이다. 즉 아이폰의 배터리 충전과 사용을 컨트롤하는 칩이다.
여기서 문제는 USB 전원을 사용할 경우가 되는데 USB포트에 500mA의 전류가 공급되는 경우에만 USB 전원을 사용하게 된다. 하지만 USB 케이블을 컴퓨터에 연결하는 것 만으로 컴퓨터가 바로 500mA를 공급해 주는게 아니고 enumeration이라는 과정을 거치며 USB장치(여기서는 아이폰)와 컴퓨터간에 정해진 절차(즉 컴퓨터가 아이폰에게 '너 전류가 얼마나 필요해?'라고 물어보고 아이폰이 500mA라고 알려줘야 그에 맞는 전류를 공급해준다.)를 거친 후에야 컴퓨터가 그 포트에 500mA의 전류를 흘려주게 된다. 이 절차 후에 컴퓨터가 충분한 전류를 공급해 줄 때부터 LTC 4066은 USB 전원을 사용해서 충전을 하게 된다.
그런데 일반 외부 아답터를 사용하는 경우는 처음부터 필요한 전류를 항상 공급해주지만 LTC 4066에 그 사실을 알려주지 않으면 LTC 4066은 USB 포트의 전원을 사용할 수가 없다. 이 사실을 알려주기 위해서는 LTC 4066의 HPRW(pin 13)과 WALL(pin 20) 핀을 1.25v이상으로 풀-업(pull-up) 해주면 된다.
아이폰에서는 이 두 핀이 USB 커넥터의 D+, D-에 연결되어 있다. 즉 USB 케이블의 +(USB커넥터의 1번 핀)에 5V를 공급해주고 D+, D-핀을 1.25v이상으로 풀업 해 주면 아이폰은 USB 포트를 통해 공급되는 전원을 사용해서 충전을 할 수 있게 된다.
즉 아래와 같은 회로를 만들어주면 된다.
다음 포스트에서 실제 제작방법을 볼 수 있다.
최근들어 LBS(Location Based Service)에 대한 관심이 높아지고 아이폰, 구글폰들이 출시되며 이를 이용한 어플리케이션들이 속속 등장하고 있다. 여기에서 현재 휴대폰의 위치를 알아내는 방법의 원리들에 대해 설명해 보겠다.
먼저 가장 먼저, 널리 사용되는건 GPS이다.
GPS(Global Positioning System)의 기본 원리는 삼각측량법이다.
위의 그림에서처럼 지도상에 정확한 위치를 알고 있는 3개 지점에서부터 내 위치까지의 거리를 알 수 있으면 그 각 지점(위의 그림에서는 각 스테이션)을 중심점으로 내 위치까지의 거리를 반지름으로 하는 3개의 원을 그리면 3개의 원은 정확하게 한 점에서 만나게 된다. 그 원들이 만나는 지점이 내 현 위치가 된다.
단 여기서 전제조건은 각 스테이션과의 정확한 거리를 알고 있어야 한다는 것이다.
그런데 실제로 거리를 측정할 때 줄자를 가지고 잴 수 있는게 아니고 각 스테이션에서 송출하는 특정 신호를 수신해서 그 신호의 세기를 가지고 거리를 예측하게 된다. 하지만 전파의 특성 상 거리에 반비례해서 신호 세기가 약해지긴 해도 여러가지 조건에 따라 그 약해지는 정도가 항상 변화하기 때문에 대강의 거리를 예측할 뿐 정확한 거리를 알 수가 없다. (실제 GPS에서는 신호 세기가 아니고 시간차를 이용하지만 이 경우에도 정확한 거리를 알 수 없는건 차이가 없다.)
대략의 거리를 가지고 원을 그리게 되면 3개의 원이 위의 그림과 같이 한 점에서 만나는게 아니고 그림과 같이 3개의 원으로 둘러 쌓인 부분이 생기게 된다. 예측한 거리의 오차가 크면 클 수록 원으로 표시된 부분의 크기가 커지게 된다. 즉 정확한 위치를 찾을 수 없고 대략 저 둘러 쌓인 부분 내에 있다는 것만 알 수 있게 된다.
그래서 더 여러 지점과의 거리를 측정해서 더 많은 원을 그려 더 많은 원들에 둘러 쌓인 부분을 찾으면 그 면적이 줄어들기 때문에 오차를 줄일 수 있게 된다.
그런데 최근에는 GPS를 내장하지 않은 모바일 디바이스들도 무선랜 신호를 이용해 자신의 위치를 상당히 정확하게 찾아내는걸 볼 수 있다. 이 경우는 미리 구축되어 있는 무선 AP목록 DB가 구축되어 있어야 한다. 이 DB는 사업자 핫스팟의 경우는 사업자가 설치된 정확한 주소를 알려줄 수 있지만 개인이 설치한 AP의 경우는 등록된 주소가 없는데 어떻게 위치를 알 수 있을까? 정답은 구글 스트리트 뷰 사진과 유사한 방식으로 War driving을 이용해서 DB를 구축하게 된다.
자동차에 그림과 같이 무선랜 안테나와 GPS 수신기를 장착하고 차를 몰아 길을 돌아다니면서 각 위치에서 신호가 잡히는 AP의 목록과 신호의 세기를 기록해서 DB를 구축하게 된다.
위의 그림에서 각 숫자가 AP이고 알파벳이 자동차가 움직이며 해당 위치에서 신호가 잡히는 AP의 목록을 기록해서 테이블을 만든다.
이렇게 만든 테이블을 이용해 각 AP의 위치 DB를 만든다.
위의 그림과 같이 각각 AP의 신호가 잡히는 지점들을 가지고 있게 된다.
그림에서 저 지점에 아이팟 터치가 있다면 13, 15, 17번 AP의 신호를 받을 수 있게 된다.
그럼 그 정보를 이용해 위에 만들어 진 DB를 검색하면 13, 15, 17 모두에 공통으로 들어있는 위치는 M이 된다. 즉 예측할 수 있는 가장 가까운 위치는 M이라고 판단할 수 있게 되는 것이다.