- 서비스명: IoT기반 자전거 도난방지 시스템
- 서비스설명: 웹으로 로그인하여 잠금/잠금해제 하여 자전거보안을 강화할 수 있고, 라이딩기록이 날짜별로 기록되어 해당날짜의 기록을 확인가능하고 게시판, 마이페이지, 유의사항 등 여러 부가기능을 추가하였다
2023.12.07 ~ 2024.01.15 (6주)
구분 | 내용 |
---|---|
사용언어 | |
라이브러리 | |
개발도구 | |
서버환경 | |
데이터베이스 | |
협업도구 | |
API |
- BSS시스템 첫 화면구성
- 회원 가입페이지에서 회원 가입할 수 있고 로그인 후 기능들을 사용할 수 있고 마이페이지에서 회원 정보수정 기능을 이용할 수 있음
- 해당 페이지에서 자전거를 잠금(이동 불가) / 잠금 해체(이동 가능) 상태로 전환 가능
- 잠금상태에서 가속도센서 값이 변경된다면 도난 상태로 간주하여 장치에서 경보음 및 웹상으로 알림 전송
- 다른 페이지에서 사용하고자 하는 페이지로 이동을 용이하게 메뉴를 각 페이지에 할당함
- 주행 후 날짜 입력 시에 해당 날짜에 주행한 거리, 속도, 시간과 지도에 주행한 경로를 표시함
- 현재 자전거의 위치를 지도에 표시하여 도난 시 나의 자전거의 위치를 파악하게 함
- 사용 시 유의 사항
- 유저간의 소통할 수 있는 공간을 만들었고 제목 클릭 시 상세 게시물을 열람할 수 있고 자신이 작성한 게시물은 삭제할 수 있게 구현함
류훈민 | 이건영 | 우리겨레 | 양윤형 | 이진우 | 김상현 |
Frontend | Backend | DataBase | DataBase | Frontend | Frontend |
github | github | github | github | github | github |
- 프론트엔드
- 카카오맵api 이용하여 자전거의 현재위치 구현
- 카카오맵api 이용하여 라이딩 주행 기록 구현
- 전반적인 웹 서비스 화면 디자인 및 반응형 웹 적용
- 기획 및 최종 발표 PPT 제작
- 시연영상 제작
- 프로젝트 팀장, 퍼블리싱을 제외한 프로젝트 전반적인 기능 구현
- Spring 프로젝트 환경설정 및 라이브러리 추가
- 회원가입 및 회원정보수정 프론트엔드/백엔드 기능구현
- 잠금/잠금해제 프론트엔드/백엔드 기능구현
- 카카오맵 api를 이용한 일일 라이딩기록 확인 프론트엔드/백엔드 기능구현
- 카카오맵 api를 이용한 내 자전거 현재 위치 확인 비동기통신 프론트엔드/백엔드 기능구현
- 게시판 글 작성 및 삭제, 게시판 전체보기 프론트엔드/백엔드 기능구현
- 자전거 도난 예상시 웹페이지 사용자 알림 기능 프론트엔드/백엔드 기능구현
- 프로젝트 구현중 필요에 따라 데이터베이스 테이블,컬럼 생성 및 삭제 / 데이터타입 및 제약조건 수정
- Arduino gps, 가속도센서 라이브러리 추가 및 구현
- Arduino 3가지 센서 및 모듈, 와이파이 통신 코드 통합
- 각 센서에서 받은 위도,경도,가속도 값을 파싱하여 http통신을 통해 Arduino to Spring 전달 기능구현
- 웹페이지에서 잠금/잠금해제, 알림중지(모듈 청각적 알림 중지) 데이터 Spring to Arduino 전달 기능구현
- 프로젝트 결과 발표 및 포스터 작성
- 프로젝트 결과물에 대한 분석 및 효과적인 데이터 시각화를 통한 프레젠테이션 제작 및 전달 UI/UX 및 웹페이지 문구 설계
- WBS 작성
- 프로젝트의 전체적인 구조 및 일정을 파악하기 위한 WBS(Work Breakdown Structure) 구축
- 프론트엔드
- 사용자 인터페이스 개발: 로그인, 로그아웃, 회원가입 페이지 개발
- 커뮤니티 기능 구현: 사용자 간 소통을 위한 게시판 및 게시글 작성 페이지 개발
- 반응형 웹 디자인: 다양한 디바이스에 최적화된 메인화면 페이지 및 기능 구현
- 프로젝트 IOT 제품 결과물 설계 및 조립
- IoT 기반 프로젝트 결과물의 설계 및 하드웨어 조립을 통한 실제 사용 가능한 프로토타입 제작
- 프론트엔드
- 프론트 화면 제작 및 수정
- 경보화면, 마이페이지, 로그인, 유의사항
- 전반적인 웹 서비스 화면 디자인 및 반응형 웹 적용
- 메뉴 활성화, 팝업창 기능 구현
- 화면설계서 및 최종발표 ppt 제작
- 백엔드
- 로그인/로그아웃 기능 구현
- lock/Unlock 기능 구현
- 회원정보 수정 및 DB 연결
- 회원/비회원 구별 기능 구현
- 데이터베이스
- 요구사항 정의서, 데이터분석도, 데이터명세서 문서 작성 및 수정
- 아두이노
- GPS센서, mp3모듈 연결 및 코드 작성
- 산출문서
- 브레인스토밍, 프로젝트 기획서 문서 작성
- 백엔드
- 로그인/로그아웃 기능 구현
- lock/Unlock 기능 구현
- 회원정보 수정 및 DB 연결
- 회원/비회원 구별 기능 구현
- 데이터베이스
- 요구사항 정의서, 데이터분석도, 데이터명세서 문서 작성 및 수정
- 아두이노
- GPS센서, mp3모듈 연결 및 코드 작성
- Arduino NANO -> ESP32 d1 r32 => 블루투스 통신의 거리는 환경에 따라 다르지만 약 10m~100m의 거리제한을 가지고있음. 현재 시중에 나와있는 자전거 도난 방지의 제품들은 대부분이 블루투스 통신을 사용중이고 이에 따라, 물리적으로 도난을 막을 수 없다면 2차적인 대응으로 내 자전거의 위치를 확인하고 직접 찾으러 가는 방법이 있으면 좋겠다는 생각에 와이파이 통신으로 변경
- ESP32 d1 r32 -> Arduino UNO+wifi 모듈 => ESP32 d1 r32의 접근성 부족으로 인해 프로젝트 기간준수를 위한 접근성이 좋은 UNO보드+wifi모듈로 변경
- Arduino UNO+wifi모듈 -> ESP32 d1 r32 => wifi모듈을 사용하며 처음 접한 펌웨어 업데이트, 어댑터의 부재(배송 시간 부족)로 인해 직면했던 다양한 이슈 해결 불가
- 2번에서 직면한 문제에 대해 팀원들과의 협력 및 개인시간 투자로 인해 문제해결
- 느낀점 - 문제가 생길거라 생각하지 못한 IoT에서 많은 문제를 겪고, 생각보다 더 많은 시간을 투자하며 기획단계 및 프로젝트 진행 순서의 중요성을 느낌