All posts by imholic

COM포트에서 GPS NMEA받아서 지도에 띄우기

귀찮아서 안하다가 오랜만에 해봤습니다.

“COM포트로 전송되는 GPS NMEA데이터 받아다가 지도에 띄우기” -> 말은 겁나 쉬운데 이런 프로그램이 있는지도 모르겠고 직접 한번 해볼려면 뭐라고 검색해야 하는지도 모르겠고,,, 해서 겁나 삽질했습니다.

굳이 이걸 해보려는 이유는, 단순히 GPS모듈이 잘 작동하는지 테스트해보고 싶어서입니다.

PUTTY로 열어서 뭐 지나가는걸 확인을 하고 그 좌표를 구글맵이나 네이버맵에 넣어볼,,,,수는 있지만, 그래도 휴대폰 GPS잡히는지 확인할때처럼 지도에 딱 나와주면 깔끔하니까요.

결론부터 알려드리자면 구글어스 프로(윈도우로 exe파일 다운로드 되는 바로 그것) 사용하시면 됩니다.

제가 사용한 GPS모듈은 상용모듈입니다.

제조사 툴인 LOCOSYS GPSFox를 사용하면 화면이 조금 깨져 보이긴 하는데, 그래도 모듈에서 나오는 정보를 어느정도는 해석을 해서 주기는 합니다.

문제는,,, 지도에 표시가 안됩니다.

지도에 표시를 하기 위해서는 구글어스 소프트웨어의 문제로 약간의 사전작업이 필요합니다.

장치 관리자(Device manager)에서 해당 GPS장치를 제외한 나머지 포트를 모두 비활성화(Disable) 해줍니다.

GPS용 COM포트만 남기고 나머지는 전부 비활성화 해주시면 됩니다.

저는 노트북에 내장 GPS모듈이 있어서(이것도 NMEA) 해당 모듈 COM포트와 블루투스 COM포트를 비활성화 했습니다.

안 하셔도 되는데… 그러면 GPS포트 잡는것도 오래걸리고 가장 큰 문제는 구글어스에서 GPS 포트가 복불복으로 잡힙니다(…)

그리고 구글어스를 켭니다.

웹이 아니라, 컴퓨터에 설치되는 설치형 구글 어스를 깔아서 키셔야 합니다.

웹으로 백날 해봐야 안됩니다

켜진걸 확인하고

상단의 도구 > GPS를 선택해줍니다.

창이 뜨면, [실시간] 클릭 후에

“자동으로 경로 따라가기”를 체크하고 난 뒤에 시작 버튼을 눌러줍니다.

이렇게요.

그러면 없는(비활성화된) 포트를 열려고 조금 헤매다가 GPS용 COM포트를 여는걸 보실 수 있으실겁니다.

구글어스 프로그램에 자체적으로 COM포트 선택란이 있었으면 귀찮게 장치관리자 들락거리지 않아도 되는 것은 물론이고 포트도 더 빨리 잡을을텐데,,,, 아쉽습니다.

그리고 GPS가 수신될때까지 조금 기다리시면(GPS모듈이 이미 Fix된 NMEA값을 내보내고 있다면, 약 1~2분 이내).,,,,,, 창백한 푸른 점이 지도 위에 표시됩니다.

GPS수신장치의 상태에 따라서 지금 사진처럼 날짜가 약간 많이 안 맞게 나오는 경우가 있습니다.

GPS의 구조상 종종 이런 경우가 있다고 하니 참고하시고, 지금 중요한건 현재 날짜가 몇년으로 표시가 되는지가 아니라 저기 저 창백한 푸른 점이 정확하게 내 머리 위에 찍혔는지가 중요하므로 지도를 확대해서(자동으로 확대되긴 합니다만,,,,) 확인을 하시면 됩니다.

저는 제 머리 위에서 살짝 더(20m~50m가량?) 떨어진 지점으로 찍혔는데, 실내 창가에서 대충 테스트를 한거라 이렇게 나오는것 같습니다.

아마 글로나스 지원하는 최신 GPS모듈은 정확하게 머리 위에 찍힐겁니다.