Location Tracker → 이동한 장소 정보(이름), 이동 시각, 체류 시간 등을 기록하는 애플리케이션
예시 앱들을 보면 아래와 같다.
KeepTrax
keeptraxapp
KeepTrax automatically captures all your important visits as you go about your day. No check-in required.
keeptraxapp.com
Arc App - Location & activity
• https://itunes.apple.com/kr/app/arc-app-location-activity/id1063151918?mt=8
Arc App - Location & activity
Automatically keep track of the places you visit, how you got there, and what you did while you were there. With a learning engine that gets smarter and more accurate the more you use it. FEATURES - Moves app data importer! - Automatic recording of places
itunes.apple.com
SilentLog
• https://itunes.apple.com/kr/app/silentlog/id901679160?mt=8
SilentLog
설치만 해도 걸음 수와 경로를 자동으로 기록합니다. 방문했던 장소나 그때 찍은 사진을 원하는 때에 언제든지 생생하게 다시 확인할 수 있는 앱입니다 ▼▼▼사일런트 로그는 이런 앱입니다▼▼▼ ●iPhone을 휴대하기만 해도 일상 행동과 사진을 자동으로 기록합니다! ●과거의 추억을 앨범처럼 다시 볼 수 있습니다! ●걸음 수를 기록하는 만보계 역할도 합니다! ●아름다운 배경화면과 사진을 즐겨보세요! ▼▼▼다양한 사용 방법▼▼▼ ●일기로 사일런트 로그는 말하자면
itunes.apple.com
LifeMap
Moves - 현재 서비스 중단
간단한 Location Tracker를 만들어보자.
- 5분 이상 동일 장소에 머무르는 경우 이를 기록하는 tracker
- 실내/실외 위치
- 실외 3곳, 실내 3곳의 위치 정보를 미리 등록
- 실외 : GPS 위도, 경도 기반
- 실내 : WiFi AP ID, RSSI 기반
- 실외 3곳, 실내 3곳의 위치 정보를 미리 등록
- 현재 위치를 계속 모니터링하면서 등록 장소에 5분 이상 있는지 검사
- 5분 이상 있으면 머무르기 시작한 시점 기록
- 다른 곳으로 이동한 경우 해당 장소에서 머무른 시간 계산하여 기록
- 예)
- 2019.04.23 13:30, 운동장 (30분)
- 2019.04.23 16:50, 420 (50분)
등록된 장소 판단 기준
- 실외
- GPS 위도, 경도 좌표 사이의 거리
- 등록된 위치의 좌표에서 특정 반경 이내의 좌표는 해당 위치로 가정
- 반경은 장소에 따라 알맞게 맞춰줘야 한다.(GPS 위치에 따른 오차범위 고려)
- 두 위치 좌표 사이의 거리 계산은 Location 클래스 메소드 활용
- distanceBetween()
- distanceTo()
- GPS 위도, 경도 좌표 사이의 거리

- 실내
- AP 정보 유사도
- 현재 스캔한 AP 정보가 사전 등록된 위치의 AP 정보와 유사한 경우 등록
- 판단 기준
- Jaccard index 값 비교
- Cosine similarity 값 비교
- RSSI 상위 AP 정보를 이용하여 판단
- AP 정보 유사도

위 내용을 바탕으로 현재 만드려는 tracker 구조는 다음과 같다.

이러한 방식의 sensing pipeline의 단점은 뭘까?
- 실내에 있을 땐 GPS 센싱이 필요 없다.
- 실외에 있을 땐 WiFi 센싱이 필요 없다.(실외는 GPS만으로 한다고 가정)
따라서 실내/외 판단을 먼저 한 후 선택적으로 GPS 혹은 WiFi sensing을 수행한다면
불필요한 센싱 처리 과정을 생략할 수 있다.
그렇다면 실내/외 여부 판단 기준은 어떤 것으로 할 수 있을까?
- 현재 위치의 GPS 데이터의 정확도
- 실내에서는 GPS 위치 정확도가 낮을 것이다.
- Location 클래스의 getAccuracy() 메소드
- 현재 위치에서 스캔된 AP 개수와 RSSI
- 실외에서 스캔되는 AP가 별로 없고 RSSI도 작을 것이다.
- 조도
- 낮 동안은 실외가 실 내보다 조도가 높을 것이다.
- 실외에 있지만 폰을 주머니나 가방에 둔 경우는?
- 낮 동안은 실외가 실 내보다 조도가 높을 것이다.
위 내용을 바탕으로 발전시킨 tracker 구조는 다음과 같다.

실제 구현하려고 한다면 또 고려해야 할 사항들이 어떤 것들이 있을까?
- location tracking 시 센싱 주기는 어떻게 정할까?
- 얼마 간격으로 센싱을 해야 할까? → 5분 동안 한 장소에 머무른다는 것을 감지할 수 있는 정도의 센싱 주기
- 센싱을 계속할 필요가 있을까?
- 실내/외 검사 후 한 가지 방법의 센싱만 하면 된다.
- 그런데, GPS로 tracking 중 실내로 들어갈 때
조도 센싱, WiFi AP 센싱이 멈춰 있다면 이런 변화는 어떻게 감지할 수 있을까?
- 실내/외 판단의 구체적인 방법은 어떻게 정할까?
- GPS 정확도의 기준
- WiFi AP 개수의 기준(실외에서는 정말 AP가 보이지 않을까?)
- WiFI 신호 강도의 기준(실외에서는 정말 AP가 보이지 않을까?)
- 조도의 기준(낮시간/밤시간)
- 이것들을 모두 조합해서 판단하는 방법은?
- 등록되지 않은 장소에 대해서도 기록을 한다면?
'School Study > Mobile System Programming' 카테고리의 다른 글
Energy-efficient Mobile Sensing System Design 2 (AlarmManager) (0) | 2019.05.07 |
---|---|
Energy-efficient Mobile Sensing System Design 1 (0) | 2019.04.30 |
Mobile Sensing Pipeline 2 (0) | 2019.04.23 |
Mobile Sensing Pipeline 1 (0) | 2019.04.17 |
Mobile Device Power Measurement (0) | 2019.04.16 |