울산대학교 | IT융합전공
본문바로가기
ender
졸업작품
졸업작품게시판

졸업작품게시판

2013-1 졸업작품 NoTouch
작성자 관** 작성일 2014-05-14 조회수 1360


 

 

졸업 작품 최종 개발 보고서

 

 

소리 감지로 작동되는 위험 알림 어플리케이션

(No Touch ? 위험알림이 )

 

 

학 과

 

전기공학부 컴퓨터 정보통신공학부

지 도 교 수

 

배재학

이 름

 

20082539 정성환

 

 

 

 

1. 작품명

 

국문 : 노터치 ? 위험 알림이 ( 큰일이다 )

 

영문 : No Touch ? Risk Notification

 

2. 작품개요

해마다 강력범죄 및 성범죄율이 높아지고 있다 . 특히 여성 관련 범죄율이 계속 높아지고 있다 . 나이가 많은 여성 , 여학생 , 심지어 어린 아이까지 연령대를 가리지 않는 성범죄율이 계속 발생 하고 있다 . 그래서 현재 위험한 상황에 대비한 스마트폰 ( 위험 알림 ) 어플리케이션이 많이 개발 되어있다 . 하지만 기존의 위험 알림 어플리케이션은 접촉 작동식의 구조다 . 급박한 상황에서 기존 접촉 작동식의 위험 알림 어플리케이션을 사용할 수 있는지 의문이다 .

그래서 비접촉 작동식 위험알림 어플리케이션을 구상하게 되었다 . No Touch( 위험 알림이 ) 는 처음에 소리크기 , 수신자 번호 , 알람 시간을 설정 후 작동 시키면 스마트폰을 사용자가 접촉 하지 않아도 사용자가 말하는 ( 위험상황일 때 소리 지르면 ) 소리크기를 감지하여 수신자에게 사용자의 위험상태를 알리는 어플리케이션이다 .

 

자료 경찰청

3. 개발 배경 및 목적

 

- 개발 목적

위험 알림 어플리케이션 개발

 

- 개발 목표

소리 감지로 작동되어 위험 상황 시 다른 사람에게 알리기

 

- 개발 필요성

계속해서 성범죄율이 증가하고 있음

기존 접촉 작동식의 범죄 알림 어플리케이션의 단점을 보완 손을 사용할 수 없는

상황에서 비접촉 식으로 작동되는 어플리케이션이 요청됨

 

서울 신문

 

- 관련 연구

관련 어플리케이션

주요 기능

늑대다

성범죄자 , 범죄발생지역 , 청소년 출입금지 지역 반경 50M 접근 시 경보

 

자신의 위치를 주기적으로 수신자에게 전송

 

호신용이어폰에 버튼을 누르면 구조요청 및 위치지도가 보호자에게 발송

흔들면 범죄예방

- 수신자 번호 설정 후 스마트폰을 흔들면

자신의 위치전송

 

- 싸이렌 발생

 

- 지도에 자신의 위치 표시

지니콜 S

 

- 긴급통보 버튼을 조작하거나 스마트 폰을

흔들면 보호자에게 SMS 를 통해 위치

정보를 전송

 

- 긴급 상황 시 보호자의 요청에 의해

에스원의 관제센터와 긴급출동요운이 상황에

대응

 

- 설정한 도착 예정 시간을 초과하면

보호자에게 귀가시간 초과 SMS 를 전송

- 안전지역 , 위험지역을 확인

 

귀가 지킴이

- 등록한 시간에 전화가 걸려오는 속임 수

전화

- 지킴이 ( 수신자 ) 에게 이동경로 문자 전송

 

- 현재 위치 문자 전송

 

- 지도에 이동경로를 표시

 

- 관련 어플리케이션 결론

어플리케이션

단점

늑대다

진동감지 , 이어폰 동작 , 위치 추적 등 많은 기능이 있지만 손으로 접촉해야 작동이 된다 .

흔들면 범죄예방

지니 콜 S

귀가 지킴이

 

 

관련 기술

 

? GPS

GPS ?

GPS(Global Positioning System 글로벌 포지셔닝 시스템 [*]) 또는 범지구위치결정시스템은 현재 완전하게 운용되고 있는 유일한 범지구위성항법시스템이다 . 미국 국방부에서 개발되었으며 공식 명칭은 NAVSTAR GPS(NAVSTAR 는 약자가 아님 그러나 종종 NAVigation System with Timing And Ranging 이라고 하기도 한다 . ) 이다 . 무기 유도 , 항법 , 측량 , 지도제작 , 측지 , 시각동기 등의 군용 및 민간용 목적으로 사용되고 있다 .

 

GPS 에서는 중궤도를 도는 24 ( 실제는 그 이상 ) 의 인공위성에서 발신하는 마이크로파를 GPS 수신기에서 수신하여 수신기의 위치벡터를 결정한다 .

 

GPS 위성은 미국 공군 제 50 우주비행단에서 관리하고 있다 . 노후 위성의 교체와 새로운 위성 발사 등 유지와 연구 , 개발에 필요한 비용은 연간 약 7 5 천만 달러에 이른다 . 그러나 GPS 는 전 세계에서 무료로 사용가능하다 .

 

위치 계산

위성으로부터 송신된 신호를 이용해 좌표를 계산하기 위해서는 정밀한 시계가 필요한데 , GPS 위성에는 고정밀의 원자 시계가 탑재되어 있으며 , GPS 수신기는 필요한 정밀도에 따라서 원자 시계 또는 수정발진기를 이용한 시계 등이 탑재되어 있다 .[12] 위성으로부터 수신한 항법메시지를 통해 GPS 수신기의 시계와 GPS 위성의 시계를 비교한다 .

 

수신기로부터 여러 위성까지의 의사거리를 동시에 오차 보정해 중첩하면 수신기 위치의 최확값이 구해진다 .

위성으로부터 반송파에 실려 보내진 C/A 코드를 GPS 수신기가 감지하면 똑같은 코드를 생성해 두 코드의 시간차를 측정한다 . 측정된 두 코드의 시간차에 전파의 속도를 곱하면 GPS 위성과 수신기간의 거리가 구해진다 . 그러나 실제 전파 경로로 인한 오차 , GPS 위성과 GPS 수신기에 내장된 시계의 오차 , 수신기 내부 회로에서 발생하는 오차 등으로 인해 이렇게 구한 거리는 실제의 거리가 아닌 의사거리 (pseudorange) 이다 . [18] GPS 로부터 수신한 신호에는 항법메시지도 들어 있는데 의사거리는 항법메시지에 담겨 있는 각종 계수를 이용해 보정된다 .

 

P(Y) 코드를 이용한 거리 계산도 C/A 코드를 이용한 계산과 비슷하다 . 그러나 암호화 되어 있기 때문에 허용된 사용자만이 해독할 수 있다 .

GPS 에서 위치는 세계측지계인 WGS84 좌표계에 따라 계산된다 . 따라서 각 지역에 맞는 좌표계에 적용하기 위해서는 적절한 좌표 변환이 필요하다 .

 

정확도와 오차

GPS 수신기에서 위치를 계산하기 위해서는 현재의 시각 , 위성의 위치 , 신호의 지연량이 필요하다 . 위치 계산 오차는 이 가운데 주로 위성의 위치와 신호 지연의 측정으로부터 발생한다 .

 

신호의 지연 시간은 GPS 위성으로부터 수신한 신호와 동일한 신호를 GPS 수신기에서 발생시켜 비교하여 얻는다 . 이 비교 과정에서 발생하는 오차는 수신기의 수신 상태가 양호한 경우 , 부호 길이의 1% 정도이므로 C/A 코드에서는 약 1~10 이다 . 전파의 속도를 고려하면 1~3 미터 정도의 오차이다 . 이는 신호 지연 측정 과정에서 발생하는 오차의 최소치이다 . P(Y) 코드를 해독할 수 있는 경우 , 부호 길이의 1% 의 오차는 약 30 센티미터에 해당한다 .

 

이 밖에 다음과 같은 오차가 발생한다 .

 

전리층의 영향 : ± 5 미터

천체력 오차 : ± 2.5 미터

위성의 시계 오차 : ± 2 미터

전파 경로에 따른 오차 : ± 1 미터

대류권의 영향 : ± 0.5 미터

수치 오차 : ± 1 미터 이하

 

 

 

? SMS

단문 메시지 서비스 ( 短文 -; Short Message Service, 줄여서 SMS) 는 휴대 전화의 부가 서비스로 짧은 문장을 상대방에게 보낼 수 있는 기능을 말한다 . 청소년들에게 특히 인기가 높아 통신사에서는 단문 메시지 서비스에 특화된 요금 체계를 제공하기도 한다 .

 

문자 서비스를 이용하여 보내는 문장을 문자 메시지라고 하며 줄여서 문자라고도 한다 . 단문 메시지 서비스의 종류에는 통신사 또는 국가에 따라 차이가 있으나 일반 SMS, WAP-PUSH SMS, 호출용 SMS, Long SMS 등이 있다 . WAP-PUSH SMS 는 본문 내용에 URL 을 포함시켜 , 해당 SMS 를 수신한 휴대 전화에서 사용자가 통화 버튼을 선택할 경우 , 특정 사이트로 접속이 가능하다 . 이를 Callback-URL SMS 라고 지칭하기도 한다 .

 

대한민국 휴대 전화의 경우 , SK 텔레콤과 LG 유플러스의 단문 문자 메시지는 최대 80 바이트로 로마자나 숫자는 80 , 한글은 40 자까지 한 번에 보낼 수 있다 . 한 건당 20 원의 요금이 과금된다 . KT 의 단문 문자 메시지는 최대 90 바이트이며 , 2011 11 월부터 최대 160 바이트까지 ( 한글은 70 자까지 ) 20 원이 과금되도록 요금을 조정하였다 . 따라서 기존 출시된 단말기에서 멀티미디어 메시지를 전송하더라도 최대 한글 70 자 이내라면 요금은 단문 문자 메시지와 같은 20 원이 과금된다 .

 

단문 메시지 서비스를 최대 160 바이트까지 제공하는 외국의 휴대 전화를 이용해 국내에서 단문 문자 메시지로 발신하는 경우 시스템 특성상 한글 41 자가 넘어도 멀티미디어 메시지가 아닌 단문 문자 메시지로 전송된다 . SK 텔레콤과 LG 유플러스를 이용해 발신할 경우 한글 40 자까지는 단문 문자 메시지 요금인 20 , 한글 41 자부터는 상대방에게 멀티미디어 메시지로 전달되어 30 원이 과금된다 . KT 를 이용해 발신할 경우 한글 70 자까지 단문 문자 메시지로 발신하며 , 요금 또한 20 원이 과금된다 .

 

미국 휴대 전화의 경우 , 단문 문자 메시지는 최대 160 바이트까지 한 번에 보낼 수 있다 . 대한민국 휴대폰과는 달리 기본적으로 메시지를 보내는 사람뿐만 아니라 받는 사람에게도 요금이 부과된다 . 하지만 이는 요금제에 달려 있다 . ( 문자가 무제한인 경우는 요금이 부과되지 않는다 .)

 

일본 휴대 전화의 경우 , 대한민국과 미국과는 달리 단문 문자 메시지는 인터넷에서 메일을 보내는 것과 비슷하다 . 같은 통신사끼리는 번호만 알아도 보낼 수 있지만 , 다른 통신사끼리는 번호가 아닌 메일 주소로 메시지를 보내야 한다 . 메시지 용량에는 제한이 없지만 수신자가 문자 메일을 확인할 때 요금이 부과된다 .[1]

 

일부 웹사이트에서는 휴대 전화 없이도 컴퓨터를 통해 무료 혹은 유료로 문자 메시지를 보낼 수 있는 기능을 제공하기도 한다 .

 

기술적으로 단문 문자 메시지는 MO MT 로 구분된다 . MO (Short message) Mobile Originated, MT (Short message) Mobile Terminated 의 약자이다 . 여기서 Mobile 은 휴대 전화 단말기를 뜻하는 것으로 MO 는 단말기로부터 발생한 메시지이고 , MT 는 단말기에 종착되는 메시지를 의미한다 . 다른 사람에게 메시지를 발송하는 경우 보내는 사람은 MO 를 발송하는 것이고 받는 사람은 MT 를 받는 것이다 .

 

 

? 마이크 모듈

갤럭시 S2 는 음성통화 등에서 소리를 인식할 수 있도록 마이크가 탑재되어 있다 . 특히 갤럭시 S2 에는 두 개의 마이크를 탑재해 통화 품질을 높였다 . 소리 크기 감지는 마이크 모듈을 이용하였다 .

 

 

? 작품에 사용된 API

- 주요 클래스

Geocoder

지오 코딩 및 역 지오 코딩을 처리하기위한 클래스이다 . 지오 코딩은 거리 주소 또는 ( 위도 , 경도 ) 좌표로 위치를 다른 설명을 변환하는 프로세스이다 . 역 지오 코딩은 ( 부분 ) 주소로 ( 위도 , 경도 ) 좌표를 변환하는 프로세스이다 . 역 지오 코딩 위치 설명의 세부 금액은 다른 단지 도시 이름과 우편 번호가 포함될 수 있다 . 예를 들어 하나의 가장 가까운 건물의 전체 거리 주소를 포함 할 수 있는 다를 수 있다 . 지오 코더 클래스는 코어 안드로이드 프레임 워크에 포함되지 않은 백 엔드 서비스가 필요하다 . 지오 코더 쿼리 방법이 없는 백 엔드 서비스 경우 플랫폼 빈 목록을 반환한다 . 지오 코더 구현이 존재하는지 여부를 결정하기 위해 ) (isPresent 메서드를 사용한다 .

 

LocationManager

 

시스템 위치 서비스에 대한 액세스를 제공한다 . 이 서비스는 응용 프로그램이 장치의 지리적 위치를 주기적으로 업데이트를 얻기 위해 , 또는 응용 프로그램이 지정한 발사 할 수 있도록 의도 장치가 주어진 지리적 위치의 근접성을 입력한다 .

 

 

Notification

 

스마트폰의 상태 표시 줄 알림을 통해 사용자에게 영구적 알림을 나타내는 클래스이다 .

 

 

 

 

AudioRecord

 

AudioRecord 클래스는 플랫폼의 오디오 입력 하드웨어에서 오디오를 기록하는 Java 응용 프로그램에 대한 오디오 자원을 관리한다 . 이 응용프로그램은 다음과 같은 세 가지 방법 중 하나를 사용하여 시간에 폴링 AudioRecord 개체에 대한 책임이 있다 . 읽기 ( 바이트 [], INT, INT), 읽기 ( 짧은 [], INT, INT) 또는 읽기 (ByteBuffer , INT) , 방법을 사용 하는 선택은 AudioRecord 의 사용자를 위한 가장 편리한 오디오 데이터 저장 형식을 기반으로 한다 .

 

생성 시 , AudioRecord 객체는 새 오디오 데이터로 채울 것 연관된 오디오 버퍼를 초기화한다 . 건설 중에 지정이 버퍼의 크기는 AudioRecord 가 아직 읽혀지지 않은 " 을 통해 실행 " 데이터 전에 녹음 할 수 있는 방법을 결정한다 . 데이터는 총 녹화 버퍼 크기 열등 크기의 junk 오디오 하드웨어에서 읽을 수 있어야한다 .

 

 

NotificationManager

 

발생 이벤트의 사용자에게 통지하는 클래스이다 . 스마트폰이 백그라운드에서 일어난 일을 사용자에게 알리는 방법이다 .

 

알림은 다양한 형태를 취할 수 있다 .

 

상태 표시 줄에 이동 및 실행 ( 사용자가 그것을 선택하면 , 지정된 텐트를 시작할 수 있습니다 ) 를 통해 액세스 할 수 있는 영구적 아이콘 , 컴퓨터를 켜거나 장치에 LED 를 점멸하거나 ,

, 백라이트를 점멸 사운드를 재생 또는 진동으로 사용자에게 경고 .

 

Spinner

한 번에 하나의 문장을 표시하고 사용자가 문장들 사이에서 선택할 수 있다 .

 

SoundPool

SoundPool 클래스는 응용 프로그램의 오디오 리소스를 관리하고 재생한다 .

 

SoundPool APK 내부 ?? 리소스 나 파일 시스템의 파일에서 메모리로 로드 할 수 있는 샘플의 모음이다 . SoundPool 라이브러리는 원시 16 비트 PCM 모노 또는 스테레오 스트림에 오디오를 디코딩하는 MediaPlayer 는 서비스를 사용한다 . 이 응용프로그램 재생 중에 압축 해제의 CPU 부하와 대기 시간을 겪을 필요 없이 압축 스트림을 함께 제공 할 수 있다 .

 

낮은 대기 시간 재생뿐만 아니라 , SoundPool 은 한 번에 렌더링 되는 오디오 스트림의 개수를 관리 할 수 ?? 있다 . SoundPool 개체가 생성 될 때 , maxStreams 매개 변수는 이 단일 SoundPool 에서 한 번에 재생할 수 있는 스트림의 최대 수를 설정한다 . SoundPool 활성 스트림의 수를 추적한다 .

 

SeekBar

SeekBar ProgressBar 에의 확장이다 . 드래그 엄지손가락을 추가 , 사용자는 엄지손가락을 터치하고 현재 진행 수준을 설정하거나 화살표 키를 사용하여 왼쪽이나 오른쪽으로 드래그 할 수 있다 . SeekBar 의 왼쪽이나 오른쪽으로 포커스 위젯을 배치를 권장한다 .

 

 

5. 제작 일정

( 제작기간 : 2012 .12 . 2013 . 5 .)

담당학생

제작내용

월 별

201212

20131

2

3

4

5

주제 및 기능 선정

계획서 작성

프로그래밍

수정

O

O

O

O

O

 

 

O

O

 

O

O

 

O

O

O

 

O

O

O

정성환

 

6. 향후 연구와 기대효과

 

현재까지 개발 내용은 문자메시지로 사용자 위치전송 , 위험메시지 전송 및 비명 발생 , 백그라운드 실행 , 알람 기능 , 소리 감지를 구현했다 . 하지만 정확한 기준이 없는 소리의 감지 수치 , 알람시간 확인버튼을 누를 시 일정하게 감소되지 않는 시간 , 스마트폰에서 나오는 살려주세요 .’ 의 소리 조절 기능의 부재가 있다 . 향후 사용자 편의에 맞게 디자인 , 버그 및 오류 수정을 할 계획이다 . 또 문자 메시지에 현재 위치의 지도 URL 을 추가하여 사용자의 위치를 지도로 확인할 수 있는 기능을 추가할 예정이다 .

No Touch 를 사용함으로써 위험 상황일 때 다른 사람에게 위험 상황을 알려 신속하게 구조요청을 하여 피해를 줄일 수 있을 것으로 기대된다 .

 

 

7. 참고문헌

[1] 노트북 사진

http://blog.naver.com/pellit?Redirect=Log&logNo=10138621714

 

[2] 전화사진

http://blog.naver.com/PostView.nhn?blogId=inkrevival&logNo=150115631235

 

[3] sdk

http://blog.naver.com/nohsundong?Redirect=Log&logNo=110151247632

 

[4] 밤길사진

http://blog.daum.net/jasori/16520036

 

[5] 늑대다

https://play.google.com/store/apps/details?id=kr.swear.wolf2

 

[6] 흔들면 범죄예방

https://play.google.com/store/apps/details?id=podori.utils.Helpme

 

[7] 지니콜 S

https://play.google.com/store/apps/details?id=com.s1.zeniecalls

 

[8] 귀가지킴이

https://play.google.com/store/apps/details?id=com.april.calldroid

 

[9] 범인사진

http://blog.daum.net/cf1132/3547609

 

[10] GPS

https://ko.wikipedia.org/wiki/GPS

 

[11] SMS

https://ko.wikipedia.org/wiki/SMS

 

[12] 범죄율 뉴스

http://blog.naver.com/klkss3191?Redirect=Log&logNo=150146259684

 

[13] AudioRecord

http://developer.android.com/reference/android/media/AudioRecord.html

 

[14] Notification

http://developer.android.com/reference/android/media/Notification.html

 

[15] NotificationManager

http://developer.android.com/reference/android/app/NotificationManager.html

 

[16] Spinner

http://developer.android.com/reference/android/widget/Spinner.html

 

[17] SoundPool

http://developer.android.com/reference/android/media/SoundPool.html

 

[18] SeekBar

http://developer.android.com/reference/android/widget/SeekBar.html