Skip to content

2023-SMHRD-KDT-IOT-4/Repo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 

Repository files navigation

🚲 Bicycle Safe Security (BSS) (팀명: ARGUINOM)

image

👀 서비스 소개

  • 서비스명: IoT기반 자전거 도난방지 시스템
  • 서비스설명: 웹으로 로그인하여 잠금/잠금해제 하여 자전거보안을 강화할 수 있고, 라이딩기록이 날짜별로 기록되어 해당날짜의 기록을 확인가능하고 게시판, 마이페이지, 유의사항 등 여러 부가기능을 추가하였다

📅 프로젝트 기간

2023.12.07 ~ 2024.01.15 (6주)

⭐ 주요 기능


⛏ 기술스택

구분 내용
사용언어
라이브러리
개발도구
서버환경
데이터베이스
협업도구
API

⚙ 시스템 아키텍처

image


📌 회로도

image

📌 SW유스케이스

image


📌 서비스 흐름도

image

📌 ER다이어그램

E-R

🖥 화면 구성

메인화면

image

  • BSS시스템 첫 화면구성

로그인/회원가입/마이페이지(회원정보수정)

image

  • 회원 가입페이지에서 회원 가입할 수 있고 로그인 후 기능들을 사용할 수 있고 마이페이지에서 회원 정보수정 기능을 이용할 수 있음

잠금/잠금해제

image

  • 해당 페이지에서 자전거를 잠금(이동 불가) / 잠금 해체(이동 가능) 상태로 전환 가능

도난 감지 알람

도난알림

  • 잠금상태에서 가속도센서 값이 변경된다면 도난 상태로 간주하여 장치에서 경보음 및 웹상으로 알림 전송

메뉴

image

  • 다른 페이지에서 사용하고자 하는 페이지로 이동을 용이하게 메뉴를 각 페이지에 할당함

라이딩기록

image

  • 주행 후 날짜 입력 시에 해당 날짜에 주행한 거리, 속도, 시간과 지도에 주행한 경로를 표시함

자전거위치찾기

image

  • 현재 자전거의 위치를 지도에 표시하여 도난 시 나의 자전거의 위치를 파악하게 함

유의사항

image

  • 사용 시 유의 사항

게시판

게시판1

  • 유저간의 소통할 수 있는 공간을 만들었고 제목 클릭 시 상세 게시물을 열람할 수 있고 자신이 작성한 게시물은 삭제할 수 있게 구현함

👨‍👩‍👦‍👦 팀원 역할

류훈민 이건영 우리겨레 양윤형 이진우 김상현
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모듈 연결 및 코드 작성

🤾‍♂️ 트러블슈팅

● 문제1

  1. Arduino NANO -> ESP32 d1 r32 => 블루투스 통신의 거리는 환경에 따라 다르지만 약 10m~100m의 거리제한을 가지고있음. 현재 시중에 나와있는 자전거 도난 방지의 제품들은 대부분이 블루투스 통신을 사용중이고 이에 따라, 물리적으로 도난을 막을 수 없다면 2차적인 대응으로 내 자전거의 위치를 확인하고 직접 찾으러 가는 방법이 있으면 좋겠다는 생각에 와이파이 통신으로 변경
  2. ESP32 d1 r32 -> Arduino UNO+wifi 모듈 => ESP32 d1 r32의 접근성 부족으로 인해 프로젝트 기간준수를 위한 접근성이 좋은 UNO보드+wifi모듈로 변경
  3. Arduino UNO+wifi모듈 -> ESP32 d1 r32 => wifi모듈을 사용하며 처음 접한 펌웨어 업데이트, 어댑터의 부재(배송 시간 부족)로 인해 직면했던 다양한 이슈 해결 불가
  4. 2번에서 직면한 문제에 대해 팀원들과의 협력 및 개인시간 투자로 인해 문제해결
  • 느낀점 - 문제가 생길거라 생각하지 못한 IoT에서 많은 문제를 겪고, 생각보다 더 많은 시간을 투자하며 기획단계 및 프로젝트 진행 순서의 중요성을 느낌