3.2차 중간 보고

                 종합설계 프로젝트 2차 중간보고서 요약

팀명

Building No.7

제출일

2014 5 1

프로젝트 제목

IPS(Indoor Positioning System)

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 개요

현대인들의 생활에 있어 전국 곳곳에 실내 멀티플렉스관이 들어 서면서 여가를 즐기는 공간이 하나의 건물 안으로 모여지고 있다멀티플렉스관에서는 영화관람서점 식당마트 등의 다양하고 많은 매장들을 포함하여 매우 복잡한데이러한 곳에서 일반 팜플렛을 가지고 자신이 원하는 매장이나 특정위치를 한번에 찾아간다는 것은 상당히 어려운 일이  것이다현재 실외에서는 GPS 이용하여 정확한 위치 측정이 가능하지만 아직 실내 위치 측정은 어려운 실정이다.

따라서, 이 프로젝트는 건물 내부에 설치되어 있는 Wireless Access Point와 Bluetooth장비를 이용하여 사용자의 정확한 위치를 찾고 그에 따른 부가정보를 제공한다.


마일스톤 수행 내용

1. Indoor Positioning System

  • Wifi-Collector
7호관 내부 AP 정보에 대한 Mac 주소와 SSID, 사용 주파수를 포함한 AP 고유정보와RSSI를 보여준다. Mapping Server에 전송할 데이터를 생성한다

  • Indoor Mapping Server
실내 위치 계산을 위한 Indoor Mapping Server Google App Engine을 이용하여 구현하려 하였으나 현재까지 나와있는 Mapping 기술들을 구현하는데 어려움이 있어 Google Maps나 Indooratlas와 같이 Mapping Server API형태로 제공하는 회사를 이용하였다.다음은 Indooratlas에서 제공하는 Package이다.

  • Navigation App

   Indoor Atlas에서 제공하는 API로 현재 측정된 AP들 간의 신호세기를 전송하고계산된       위치를 전송을 받는다사용자가 건물과 층을 선택하면 단면도를 보여주고 현재 위치를         보여준다. Indoor Atlas에 단면도와 위치에 대한 정보를 입력한 후 API를 이용하여 서버에     서 계산된 사용자 위치 값을 사용자에게 보여준다. Google Maps Android API V2와 마커     를 이용하여 국민대학교 7호관을 표시한다. 표시된 마커를 2번 누르게 되면 Indoor             Positioning을 하기 위한 준비 단계가 시작된다. 각각의 준비 단계에 대한 정보를 화면 아래   쪽에서 제공한다.

· onResume

Indoor Atlas의 서버와 연결하기 위한 정보들을 보내고, 사용자에게 지구자기장 측정을 위해 핸드폰을 무한대 기호로 흔들게 메시지를 보여준다.(메시지 : onResume(): Calibrating... Figure \"8\" motion until onCalibrationFinished() or onCalibrationFailed() is called)

 

· onServiceInitializing

Indoor Atlas의 서버와 연결하여 현재 위치에 대한 좌표 값을 계산할 준비를 한다. 여기서 사용자에게 몇 걸음 걸으라는 메시지를 보여준다. 이는 조금 더 정확한 위치 판별을 가능하게 한다. (메시지 :  onServiceInitialized(): Walk to get location fix)

 

· onServiceUpdate

Indoor Atlas의 서버가 현재 위치 좌표 값을 보낼 때마다 호출되는 함수이다. 이 함수는 사용자에게 서버로부터 사용자의 디바이스까지 정보를 제공받는데 걸리는 시간을 보여준다.( 메시지 : Roundtrip : 걸린시간(ms))

현재 측정된 AP들 간의 신호세기와 지구자장 정보를 전송하고, 계산된 위치를 전송받는다. 사용자가 원하는 층을 선택하면 단면도를 보여주고 현재 위치를 빨강색 원으로 표시한다. 사용자가 보고 싶은 층의 버튼을 누르게 되면 

   현재 측정된 AP들 간의 신호세기와 지구자기장 정보를 전송하고, 계산된 위치를 전송을 받    는다. 사용자가 원하는 층을 선택하면 단면도를 보여주고 현재 위치를 빨강색 원으로 표시    한다. 사용자가 보고 싶은 층의 버튼을 누르게 되면 그에 해당하는 단면도를 보여준다.        또한 메뉴 버튼을 통한 길 찾기를 선택하고 도착점을 선택하게 되면, 사용자의 위치로부터    도착점까지 경로를 표시한다. 도착점은 파랑 색으로 표시한다.


2. 실내 LBS(Location Based Services)
  • Bluetooth Server & Client side

         두 디바이스에서 실행되는 어플리케이션간에 커넥션을 만들기 위해서는 서버쪽과 클라이            언트쪽 메카니즘을 모두 구현해 줘야만 한다. 한 디바이스는 서버소켓을 열어줘야 하고 다            른 디바이스가 서버 디바이스의 MAC 주소를 사용해서 커넥션을 시작해야만 하기 때문이            . 서버와 클라이언트는 같은 RFCOMM 채널에 각각 커넥션 된 BluetoothSocket을 가지고          있을 때 서로 커넥트 된 것으로 간주된다. 이 지점에서 각 디바이스는 입, 출력 스트림을             얻어 데이터 전송을 시작한다. 

    • 서버로 동작

                    두 디바이스를 커넥트하려고 할 때 하나의 디바이스는 BluetoothServerSocket                       열어 서 버로 동작해야만 한다. 서버소켓의 목적은 incoming 커넥션 요구를 기다                       리다 accept되면 커넥션 된 BluetoothSocket을 제공해 준다.                                            BluetoothServerSocket에서 BluetoothSocket이 얻어지고 더 이상의 커넥션을                            accept할 필요가 없으면 BluetoothServerSocket은 제거해 도 된다.

    • 클라이언트로 동작

                    원격 디바이스와 커넥션을 시작하려면 우선 원격 디바이스를 나타내는                                    BluetoothDevice 객체를 얻어야만 한다. 그리고 나면 BluetoothDevice를 사용해서                     BluetoothSocket을 얻어 커넥션을 시작한다.

    • 연결된 디바이스 위치 표시

      두 디바이스를 성공적으로 커넥션하게 되면 각 디바이스는 커넥션 된 Bluetoothsocket을 가지게 된다. 이소켓을 통해 GPS로 받는 해당 디바이스의 Current Location 정보를 교환 한다.


동영상

Building 7 중간발표2 동영상



다음 마일스톤 일정

마일스톤

개요

시작일

종료일

구현 완료

 실내 위치 저장 및 탐색 구현완료 

 Navigation App 구현 완료

 지역별 환경설정 구현완료

산출물 :

1. Navigation App 소스코드

2. Bluetooth Navigation 소스코드.

2014-05-02

2014-05-16

테스트

 시스템 통합 테스트

 산출물: 실제 7호관에서 사용가능 한 App

2014-05-17

2014-05-27

최종 보고서

 최종 보고

 산출물최종보고서시연 가능한 결과물

2014-05-17

2014-05-27



첨부화일 (아래 안내는 첨부 후에 삭제할 것)

1. 동영상 (위 본문 페이지에 삽입)
2. 중간 보고서(PDF)
Ċ
cap20@cs.kookmin.ac.kr,
2014. 5. 1. 오전 7:27