# 여는 글
이 프로젝트는 호서대학교 컴퓨터 공학과 졸업 작품 작업으로 진행된 프로젝트이며
모든 소스 및 내용을 공개하기 위해 포스팅 합니다.
# 소개 영상
# 프로그램 명세서
프로젝트 이름 : 아이지킴이
제품 명 : 블루투스와 GPS를 이용한 위치 추적
사용 디바이스 : Galuxy Note 3, Arduino
제작 기간 : 2016.04.15 - 2016.11.26
사용 언어 : Android(안드로이드), Arduino(아두이노), PHP, HTML, CSS, NodeJS
사용 데이터 베이스 : MySQL
시용 라이브러리 : Andoroid Geofencing(지오펜싱), Google Map(구글 맵), 아두이노 GPS,
Json Parse
# 초기 구상도
위 사진은 프로젝트 초기 구성도 입니다.
저희의 구성은 Android(안드로이드)와 Arduino(아두이노)의 양방향 통신을 원했으며,
Arduino(아두이노)에서 Android(안드로이드)의 신호를 실시간으로 받아,
그것에 맞는 이벤트를 실행하도록 하며,
Arduino(아두이노)는 주기적으로 GPS 값을 안드로이드에 보내어
GoogleMap으로 마커를 출력할 수 있도록 구성하였습니다.
# 최종 구상도
위 사진은 추후 변경된 구성도입니다.
아두이노의 배터리를 사용한다는 것의 문제점이 발생했으며,
블루투스를 이용한다는 것 또한 통신의 문제가 발생했었습니다.
때문에 양방향 통신을 제외하고 단방향 통신으로 구성을 변경했으며,
Arduino(아두이노)에서 주기적으로 GPS값을 서버에 보내주면
서버는 그 데이터를 그대로 저장하고
Android(안드로이드)는 주기적으로 데이터를 가져와
구글맵에 마커를 찍도록 하였습니다.
# 데이터 베이스 구성
데이터베이스는 위와 같이 구성하였습니다.
1. GPS 테이블
해당 테이블은 Arduino(아두이노)에서 보내주는 경도 값과 위도 값을 저장하는 용도로 사용합니다.또한 여러 사용자가 출력되어야 하므로 아이디를 기본값및 외래키로 설정하여 데이터 중복을 피하였습니다.
2. Person 테이블
해당 테이블은 Arduino(아두이노)에 아이디와 이름을 저장하는 함수로 ID는 사용자가 지정하지 않고 Auto_Incresment를 이용하여 자동으로 생성되도록 만들었습니다. 이름은 사용자가 설정할 수 있도록 만들었습니다.
# 최종 보고서
# 소스 첨부
안드로이드 소스 : https://drive.google.com/open?id=0B5ql6rU305kSZUZYYzBzQmkwNjg
아두이노 소스 : https://drive.google.com/open?id=0B5ql6rU305kSc1ZWVWFPbDh0Q1U
서버 소스 : https://drive.google.com/open?id=0B5ql6rU305kSZHRXbDBTOTlxMzg
소스에 대한 자세한 설명은
주석에 달아놓았습니다.
# 마무리
위 포스트는 제가 직접 제작한 것 입니다.
그렇기 때문에 틀린점이나 설명이 엉성한 점이 존재할 수 있습니다.
만약 틀린점이나 설명이 엉성한 부분이 존재하면 댓글로 알려주세요.
빠른 처리 하도록 하겠습니다.
티스토리 앱으로는 댓글 이용이 불가능 하므로 웹 브라우저로 봐 주세요
(URL : http://junprogramer.tistory.com/)
읽어주셔서 감사합니다.
'잡다한 기술' 카테고리의 다른 글
[아두이노] 아두이노 라이브러리 추가 방법(내부/외부 라이브러리) (0) | 2018.02.14 |
---|---|
[아두이노] 아두이노 TinyGPS 라이브러리가 위치 파싱을 못할 경우 (0) | 2018.02.14 |
[ASP.NET MVC5]MVC란 무엇인가? (0) | 2018.02.12 |
[ASP.NET MVC5 도전기]비어있는 템플릿을 이용하여 ASP.NET MVC5 환경 구성 (0) | 2018.02.12 |
[K-Move/해외인턴/IT인턴]대사관 인터뷰 준비하는 법 (0) | 2018.02.12 |