2021.09.01.-2022.06.10.
COVID-19는 내수 경제를 악화시키고 사람들의 이동량을 감소시켰다.
본 과제는 관심 지역의 숨은 관광지와 여행지를 사용자의 편의성에 맞게 소개하는 애플리케이션으로 GPS 사용
과 아두이노 블루투스 통신
을 활용해 차별화된 기능을 제공한다.
여행 계획을 세우기 위해 따로 캘린더에 들어갈 필요 없이 앱 내에서 제공하는 일정 관리 기능
을 이용하여 쉽게 계획을 관리할 수 있고, 여행지 주변의 음식점
을 힘들게 찾지 않고 바로 확인할 수 있다.
즉, 실제 우리가 여행을 계획할 때 필요한 단계를 모두 하나의 애플리케이션에서 해결할 수 있게 해 사용자의 편의성을 증가시켰다.
가까운 지역의 여행인 만큼 언제든 갈 수 있고 여행지에 대한 정보를 쉽고 빠르게 얻어서 사람들의 이동량을 늘리고, 국내 여행을 장려하여 우리 지역 내수 경제를 활성화에 도움을 준다.
안드로이드 스튜디오 SDK 30
Windows 10
Intel i7-6700 CPU 3.40 GHz
RAM 16GB
MySQL
phpMyAdmin
갤럭시 노트 20 U
아두이노 Uno, 블루투스 모듈 HC-06, LCD 1602
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
String inData;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("Welcome!");
delay(3000);
lcd.clear();
}
void loop() {
int i=0;
char commandbuffer[100];
if(Serial.available()){
delay(100);
while( Serial.available() && i< 99) {
commandbuffer[i++] = Serial.read();
}
commandbuffer[i++]='\0';
}
if(i>0)
Serial.println((char*)commandbuffer);
lcd.print((char*)commandbuffer);
delay(1000);
lcd.clear();
}
어플버튼 클릭을 하면 로딩화면이 나오고 2초후에 블루투스 연결 퍼미션 창이 뜬다.
search 버튼
을 누를 경우 위와 같이 연결 가능한 블루투스 장치들이 출력된다.
HC-06을 누르고 paired devices
를 클릭할 경우, 다음과 같이 HC-06 장치가 뜬다. (연결된 장치)
위의 텍스트
를 통해 HC-06
과 연결된 것을 확인할 수 있다.
테스트를 위해 SEND 버튼
을 클릭하면, 다음과 같이 아두이노와 연결된 LCD에 connected
라고 출력된다.
->
버튼을 클릭할 경우 로그인화면으로 넘어간다.
로그인 화면
에서 회원가입 화면
으로 넘어갈 수 있다.
회원가입 화면
에서는 아이디
, 비밀번호
, 비밀번호 확인
, 관심지역
을 입력받는다.
관심지역
은 위와 같다.
로그인 화면에서 회원가입된 회원정보
를 입력하면,
위와 같은 메인 화면 중 투어
화면으로 진입한다.
1. 일정 메뉴를 통하여 일정화면으로 이동
2. 투어 메뉴를 통하여 투어 화면의 관광지 리스트 및 사진 출력
3. 설정 메뉴를 통하여 회원 설정 화면으로 이동
투어 화면에서는 테마
및 관광지 리스트
를 확인할 수 있다.
테마는 다음과 같이 다양한 테마가 있으며,
관광지 리스트에서는 이미지, 관광지 명, 좋아요 등이 확인 가능하다.
관광지의 좋아요 버튼
을 누르거나 해제하면, 밑의 전체 좋아요 수가 변동이 된다.
테마 중 전망대 테마를 클릭하면 위와 같은 관광지 리스트로 새로고침이 된다.
관광지를 클릭했을 경우, 다음과 같은 항목이 나온다.
두 항목 중 일정추가
를 클릭하면 다음과 같이 관광지를 사용자의 일정에 등록할 수 있는 화면이 나타난다.
지도 보기
항목을 클릭했을 경우, 위치 서비스 퍼미션
에 대한 알림이 뜬다.
확인을 누를 경우, 현재 사용자의 위치로 자동 이동합니다.
검색 버튼
을 클릭하면, 다음과 같이 관광지의 위치에 마커
가 찍힌다.
음식점 버튼
을 클릭할 경우, 관광지 주변의 음식점에 대한 위치가 마커
로 찍힌다.
위성 버튼
을 클릭했을 경우, 확인할 수 있는 화면이다.
두 마커 사이의 거리에 따라,
good
bad
500미터
기준으로 good
과 bad
가 나뉜다.
여담이지만, 한국 외의 미국, 일본 등의 나라는 길찾기를 지원한다.
이거때문에 얼마나 고생을 했었는지....
사용자 일정 조회 및 캘린더
일정 유/무 표시 (.
)
밑에 나타난 리스트
를 클릭할 경우, 일정삭제 알림창
이 뜨고 OK클릭
시 일정삭제가 되는 것을 확인할 수 있다.
비밀번호를 변경할 수 있다.
관심지역을 변경할 수 있다.
아두이노와 안드로이드 스튜디오 연동시
거리에 따른 아두이노 bad
거리에 따른 good
카드뷰
로 출력하며, 이미지를 추가하여 눈에 보기 쉽게 함테마
를 추가하여 사용자가 원하는 테마를 기준으로 관광지를 따로 조회 가능GPS
를 통하여 사용자의 위치를 알 수 있으며, 관광지의 위치와 사용자 사이의 거리와 시간을 측정 가능하며, 주변의 음식점 파악 가능캘린더
를 통하여 날짜 아래에 작은 ●
표시로 표현해주어 쉽게 사용자 일정 관리(조회, 추가, 삭제) 가능좋아요 기능
을 통하여 사용자가 관광지에 좋아요를 표시할 수 있으며, 관광지 전체의 좋아요 수를 확인 가능Socket
통신을 통해 사용자가 선택한 두 지점 사이의 거리에 따라 LCD판에 문구를 표시[1] 아두이노와 안드로이드 스튜디오 간의 lCD 블루투스 통신,
https://popcorn16.tistory.com/192
[2] 구글 길찾기, https://www.wingsquare.com/blog/drawing-driving-route-directions-between-two-locations-using-google-directions-in-google-map-android/
[3] 두 마커 사이의 거리 측정, https://metal00456.tistory.com/22
[4] 카드뷰, https://webnautes.tistory.com/1314
[5] 리사이클러뷰, https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=cosmosjs&logNo=220961054247
[6] 음식점 API, https://webnautes.tistory.com/1080