2016년 5월 16일 월요일

Arduino GPS, Altimeter (고도, 기압계) 로 놀기 - 5편 (테스트와 '뭘할지' 정하기 - smart climbing stick)

GPS + Altimeter + HM-10 + Arduino 를 들고 다니기 편하게 소형화 했으니 이제 직접 테스트를 해 보고 싶었다. 가방에 넣고 뛰어 다녀도 무리 없게 다이소에서 천원짜리 플라스틱 이유식 케이스에 담았다. 날씨도 좋고 점심때가 되서 근처 빵집에서 샌드위치를 사서 공원 벤치에 앉아 한컷 찍었다.

출발전 샌드위치와 GPS 한 컷
A-GPS 를 사용하고 싶어서 u-blox 에 AssistNow 계정 신청을 했는데 아직 회신이 없어서 아쉽지만 S-GPS 로 테스트 하기로 했다. 테스트 코스는 근처 산이 좋을 것 같아서 경희대 옆에 있는 매미산으로 정했다. S-GPS 초기화 시간이 12분 정도 소요 되니, 슬슬 걸어 가면서 warm up 하면 될 것 같았다.

벤치에서 샌드위치도 먹고 하다보니 가는 도중에 gps 초기화가 되어 data 가 들어오기 시작했다.
출발 하기 전에, 시간이 지난 후에 오차가 어떻게 되는지 확인하고 싶어서 정문에 위치를 정하고 capture 를 했다. 등산 코스가 다시 이 위치로 돌아오게 되어 있기 때문에 마지막에 다시 같은 위치에서 capture 를 해서 오차를 비교해 볼 생각이다.
경희대 정문에서 출발 전에 capture 한 google glass 화면
 매미산은 그리 높은 산이 아니라서 2~30분 이면 산을 오르 내릴 수 있었다. 올라가면서 MSMble 로 GPS data 와 고도계에서 들어오는 온도/고도 data 를 확인했다.
산을 오르면서 초당 들어오는 data 확인
 산을 내려오니 기흥 저수지가 나왔다. 운치가 좋아서 둘러보고 싶었지만 테스트를 위해서 다시 경희대로 진입했다. 등산로를 내려오면 경희대안 버스 정류소로 들어가게 되는데 그곳에서 capture 를 해 봤다.
산에서 막 내려와서 경희대안 버스 주차장에서 capture 한 google glass 화면
 정확도를 확인해 보고 싶어서 google map 에 같은 위치를 노트5 가 잡은 gps data 와 같이 capture 해 봤다. 동일한 위치이고 이 capture 에서는 잘 확인이 안되지만 확대 했을 때 NEO-6MV2 의 정확도가 더 높았었다.
정확도 확인을 위해 노트5 와 NEO-6MV2 를 같이 찍어봄
교내를 통과해서 다시 원점으로 돌아와서 다시 capture 를 했다.
등산코스로 돌아 다시 원점으로 돌아온 뒤 capture 한 google glass 화면
출발전과 비교해 보면 위/경도는 동일하고 고도가 2.1m 정도 차이가 났다.
오늘은 바람이 많이 부는 날씨여서 오차가 큰것일거라고 추측을 했는데, 그렇다고 하더라도 이정도 크기의 오차라면 고도 정보를 사용해 정밀한 뭔가를 하는데는 무리가 있어 보였다.

logging 한 data 는 kml 로 변환하여 google earth 나 map 에서 볼 수 있다.
변환 사이트 > http://www.convertcsv.com/csv-to-kml.htm
google earth 다운로드 > https://www.google.com/earth/download/ge/agree.html

집근처를 로깅해서 earth 에서 보면 이렇게 나온다.
google earth 로 logging 한 data 를 본 모습
초당 한번 찍었으니 촘촘하게 잘 나온다.

경희대 옆 산을 완주하면서 로깅한 경로는 이렇다.
google earth 에서 전체 경로를 import 한 모습

테스트 하면서 특이점은,
가방 안에 넣고 다녀서 그런지 모르겠지만, 중간중간 data 가 들어오지 않는 빈도가 잦았다. 산을 오를때도 나무가 많은 구간에서는 신호가 끊겼다. 그럴 때는 가방에서 꺼내서 확인을 해도 마찬가지였다. 도심지를 다닐때도 아파트 옆을 지나갈때 중간중간 신호가 끊겼다.
gps 안테나를 연장하고 싶은 마음에 선을 끊어서 납땜하는 과정에서 data 손실이 많아서 위와 같은 오류가 발생했었던 것 같다. 다시 제대로 연결하고 테스트 해 보니 data 가 끊기는 현상은 없다. 다만 높은 건물 옆을 지나갈때 오차가 상당했다. 하지만 산에서는 data 끊김이라던가 오차는 거의 없었다. 고도 정보도 상당히 정확하게 유지 됐다. 처음 booting 때도 gps 위치를 잡는데 불과 1, 2분 정도 밖에 소요 되지 않았다.

노트5 에서 S Health 로깅도 했는데 건물 주위 오차는 노트5 도 마찬가지 였다.
노트5 에서 S Health 로 로깅한 Capture


이 정도 정확도와 수신율이라면 다양한 시나리오로 응용을 해 볼 수 있을 것 같다. 어쩌다 보니 산을 오르면서 테스트를 했는데, 산을 오르내리다 보니 등산 정보를 알려주는 것을 만들면 어떨까 생각이 들었다. 예를 들어 갈림길에서 어느쪽으로 가라고 '화살표'로 알려 준다던가, 다음 spot 까지의 남은 거리 같은 것을 숫자로 보여주면 편리하지 않을까? 휴대폰이나 다른 장비 없이 편리하게 사용할 수 있는 '등산 스틱' 과 합치면 그럴싸한 것이 나오지 않을까?

그래서! 이번 취미는 '스마트 등산 스틱' 으로 정했다. 일단 기능은 이정도면 되지 않을까?
- 처음 가는 산의 route 를 logging 하기
- 다시 간 산의 (혹은 공유된 route data) 정보를 사용해 진행 경로 알려주기
- 휴대폰 혹은 google glass 에 data 공유

일단 저렴한 등산 스틱을 구매 하러 가야 겠다. ㅋㅋㅋ


댓글 없음: