Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법

이 튜토리얼은 리눅스 환경에서 노키아 N95에 내장된 GPS 모듈을 블루투스를 통해 노트북과 공유하는 전 과정을 단계별로 안내합니다.

참고: 이 가이드는 2008년에 처음 게시된 글로, 당시 소개된 일부 소프트웨어는 현재 더 이상 존재하지 않습니다. 이에 따라 구글 검색 데이터베이스에서의 삭제를 요청했으며, 본 문서는 기록 보관 목적으로만 온라인에 남겨두고 있습니다.

1. ExtGPS 앱 준비

먼저 Symarctic의 ExtGPS 앱을 다운로드해야 합니다(업데이트: 해당 소프트웨어는 더 이상 존재하지 않습니다). ExtGPS는 개인적·비상업적 용도로 무료로 사용할 수 있었습니다.

2. ExtGPS 실행 및 권한 허용

ExtGPS를 설치했다면 메뉴(Menu)응용 프로그램(Applications)ExtGPS 순서로 실행할 수 있습니다. 실행 시 연결 응용 프로그램 사용과 위치 데이터 사용을 허용하라는 안내가 나타나는데, 두 항목 모두 예(Yes)를 선택합니다.

리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법 리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법
리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법

3. GPS 신호 수신 대기

GPS가 유효한 위성 신호를 받아 위치를 확정(fix)하기까지 상당한 시간이 걸릴 수 있습니다. 반드시 실외에서 하늘이 잘 보이는 개방된 장소에 있어야 합니다. 위치가 확정되면 위성 아이콘이 빨간색에서 초록색으로 바뀝니다.

리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법 리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법

4. 블루투스 검색 허용

휴대폰이 블루투스를 통해 검색될 수 있도록 설정합니다. 메뉴(Menu)도구(Tools)블루투스(Bluetooth)로 이동한 뒤, 여기서는 휴대폰을 5분 동안 표시되도록 설정했습니다.

리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법 리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법
리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법 리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법
리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법

5. SDP 검색으로 서비스 채널 확인

다음 단계부터는 명령줄에서 작업합니다. Fedora 9 시스템에서 실행한 결과는 다음과 같습니다.

[user@radon ~]$ sdptool search SP
Inquiring ...
Searching for SP on aa:bb:cc:dd:ee:ff ...
Service Name: Data Transfer
Service Description: Version
Service RecHandle: 0x1000f
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)

Service Name: Symarctic ExtGPS
Service Description: Share phone's built-in GPS module via Bluetooth
Service Provider: Symarctic Solutions
Service RecHandle: 0x10019
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x656e
encoding:    0x6a
base_offset: 0x100

6. rfcomm으로 시리얼 포트 생성

위 출력에는 휴대폰의 블루투스 MAC 주소와 함께, ExtGPS가 5번 채널에서 시리얼 포트 서비스를 제공하고 있다는 정보가 표시됩니다. 이제 이 두 정보를 묶어 /dev 디렉터리에 장치 항목을 만들어야 합니다.

[user@radon ~]$ sudo rfcomm bind 1 aa:bb:cc:dd:ee:ff 5

rfcomm bind 명령의 매개변수는 순서대로 rfcomm 장치 번호, 휴대폰의 블루투스 MAC 주소, 그리고 sdptool에서 확인한 채널 번호입니다. 이 명령을 실행하면 /dev/rfcomm1에 시리얼 포트가 생성됩니다.

7. NMEA 데이터 스트리밍 확인

이 시점에서 N95가 출력하는 원본 NMEA 문장을 콘솔로 직접 스트리밍받을 수 있는지 확인해 봅니다.

[user@radon ~]$ sudo cat /dev/rfcomm1
$GPGGA,022314.000,4826.67566,N,12322.19605,W,1,07,1.9,13.7,M,-18.3,M,,*52
$GPGLL,4826.67566,N,12322.19605,W,022314.000,A,A*4A
$GPGSA,A,3,30,29,10,21,24,26,15,,,,,,2.9,1.9,2.2*3D
$GPGST,022314.000,8.8,13.0,6.1,65.6,7.1,11.1,14.0*63
$GPGSV,3,1,11,05,09,179,,02,10,072,25,30,28,194,38,29,77,118,42*72
$GPGSV,3,2,11,10,42,059,36,16,24,315,27,21,45,256,43,24,84,024,40*79
$GPGSV,3,3,11,18,14,198,,26,10,114,38,15,09,128,33*49
$GPRMC,022314.000,A,4826.67566,N,12322.19605,W,0.1,159.6,151008,18.1,W,A*3B
$GPVTG,159.6,T,177.7,M,0.1,N,0.3,K,A*2C
^C

NMEA 문장이 콘솔로 흘러들어오는 동안 ExtGPS 화면의 블루투스 아이콘이 빨간색에서 초록색으로 변경됩니다.

리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법

8. gpsd 데몬 실행

연결이 완료되었으니 이제 좀 더 유용하게 활용해 보겠습니다. 먼저 컴퓨터에서 gpsd를 실행합니다.

[user@radon ~]$ sudo /usr/sbin/gpsd -N /dev/rfcomm1

-N 매개변수는 gpsd가 백그라운드 모드로 전환하지 않도록 지시하는 옵션입니다. gpsd를 항상 상주시키기보다는 필요할 때만 실행하고 Ctrl+C(^C)로 종료하는 방식을 선호합니다. 그 외 세부 옵션은 gpsd 맨 페이지(man page)를 참고하시기 바랍니다.

9. xgps로 위치 데이터 확인

이제 두 번째 터미널 창을 열고 xgps를 실행해 봅니다.

[user@radon ~]$ xgps

화면에 다음과 비슷한 결과가 표시될 것입니다.

리눅스에서 블루투스로 노키아 N95의 내장 GPS를 노트북과 공유하는 방법
클릭하면 확대됩니다

xgps에는 위도, 경도, 고도, 속도 등 일반적인 GPS 데이터가 표시됩니다.

GPS 데이터 활용하기

리눅스에서 GPS 장치를 활용할 수 있는 응용 프로그램은 매우 다양합니다. 필자는 워드라이빙(wardriving)을 할 때 Kismet과 GPSDrive를 조합해 사용하는 것을 선호합니다. 관심이 많다면 Kismet과 GPSDrive로 워드라이빙하는 방법에 대한 튜토리얼도 별도로 작성할 예정입니다.