[프로젝트 회고] 🤖 BoBi - 관찰형 반려 케어 로봇

우수 프로젝트 수상 - BoBi https://www.youtube.com/@user-jb2kf2ox5k/videos (시연 영상 모음)

📅 2022. 07. 05 ~ 2022. 08. 19

📌 프로젝트 소개

우리 아이를 위한 관찰형 반려 케어 로봇 - 보비

싸피의 공통 프로젝트는 싸피에서 여섯 명이서 팀을 이루어 2학기를 시작하는 첫 프로젝트이다. 자율 프로젝트를 제외한 공통, 특화 프로젝트는 팀 내에서 비전공자와 전공자 비율을 지켜야 한다.

7기에서는 공통 프로젝트 1반과 2반이 임베디드 트랙을 수료한 IoT 인원들이 많은 반으로 이루어져 있었고, 파이썬 무지랭이인 나는 어쩌다 그 반에 떨어져 팀을 열심히 구했지만 반에 부족한 비전공자 인원 탓에 밀리고 밀려 어쩌다 IoT 팀으로 뚝 떨어지게 되었다.

 

다행히 팀원분이 로봇을 이용한 IoT 프로젝트를 하고 싶다는 강력한 의지가 있으셔서 어떻게든 웹을 얹어 보자! 라는 무모한 각오와 함께 시작하게 되었다. 로봇에 카메라가 달려 있어서 처음에는 혼자 계신 노인분들을 타겟으로 하려고 했다가, 컨설턴트님의 제안으로 아이들로 바꿨는데 좋은 선택인 것 같다.

 

하지만 처음에는 몰랐다. 비전공자 두 명이서 웹을 끝낸다는 게 얼마나 말이 안 되는 것인지!

 

 

🔨 기술 스택

 

 

IoT Google STT / Raspberry Pi / MQTT / OpenCV

 

 

Web Python / Django / JavaScript / React / AWS S3

 

비전공자의 변.. IoT 부분 코드는 아무것도! 모른다!

하지만 지나고 보니 임베디드 파트를 맡으면 웹쪽을 잘 모르더라 다 그런 거였다.

 

여섯 명의 팀원 중 네 명은 임베디드, 두 명은 웹을 맡아서 진행했다. 임베디드는 로봇을 영상 인식, 음성 인식 등등으로 나눠서 진행했고 웹은 어쩔 수 없이 백엔드와 프론트엔드 한 명 씩으로 진행하게 됐다. 사실 진짜로 둘이 다 할 줄은 몰랐는데 어라 이게 되네.. 싶었

 

 

🚀 개발 로그

 

개발로그_1
개발로그_2

 

공통 프로젝트는 다른 프로젝트에 비해 긴 7주로 구성되어 있다.

첫 1주일 동안 아이디어 해커톤을 하고 팀끼리 친해지는 시간을 가질 수 있다는 게 차이점이다

우리 팀은 그래도 주제를 빨리 정한 편이라 개발에 치중할 수 있는 시간을 가질 수 있었다.

Figma diagram

figma

정말 피그마 이렇게 쓰는 거 맞나요? 싶은 프로토타입..

특화와 자율 프로젝트를 거치며 점점 성장하는 모습을 기대해 주세요

개인 노션

notion_todo
notion_2
notion_3
notion_4
notion_5

 

공통 노션

public_notion

 

 

 


📑 구현 기능

Samsung Galaxy S8+ 기준 캡처 페이지

  • 보비의 시선 실시간 영상
  • 보비와 친해져요 친밀도(경험치) 확인
  • 기억할 순간들 영상 아카이브
  • 숨겨진 이야기 친밀도에 따른 스토리 해금
  • 보비 움직이기 MQTT 통한 로봇 원격 조작
  • 지금 우리 집은? 센서를 통한 온습도/가스 상태 확인
  • 보비와 소통하기 음성메시지 송수신

 

기본 페이지 (https://i7a208.p.ssafy.io/)

  • 상세 메뉴

pg_1

 

실시간 영상 (https://i7a208.p.ssafy.io/live)

  • 보비가 촬영 중인 영상 유튜브라이브로 실시간 확인 가능

pg_2

 

친밀도 (https://i7a208.p.ssafy.io/friendliness)

  • 현재 친밀도 확인, 다음 레벨 (새로운 스토리와 행동 해금)까지 남은 친밀도 확인

 

스토리 (https://i7a208.p.ssafy.io/story/)

  • 친밀도에 따라 스토리 해금 및 확인 가능
  • 친밀도는 로봇을 쓰다듬거나 명령어를 작동시키는 등의 행동에 의해 상승
  • 0 기본 스토리[1] 공개 100 달성 시 [2] 공개 200 [3] 300 [4] 400 [5]

 

 

로봇 조작 (https://i7a208.p.ssafy.io/control)

  • 유튜브 라이브로 실시간 영상을 확인하며, 전후좌우 조작 가능
  • 허용된 이메일 (현재는 관리자인 carerobotbobi 계정)으로 접속해야 조작 가능
  • 라이브 진행 중이지 않으면 검은색 화면

 

센서 페이지 (https://i7a208.p.ssafy.io/sensor)

  • 감지 시간 / 현재 온도 / 현재 습도 / 가스 상태 표시
  • 최근 10개 데이터를 포함한 그래프 출력
  • 가스 상태: 이상 감지 시 위험해요 표시, 미감지 시 안전해요 표시
  • 가스 위험 상태시 위험해요! 가스가 누출됐어요! 경고창 출력

 

음성 송수신 (https://i7a208.p.ssafy.io/voice/)

  • 수신
    • 새 메시지 도착 시 새로운 메시지가 도착했어요! 문구 확인 가능
    • 확인 후 메시지 클릭 시 모든 메시지를 확인했어요!로 변경
  • 송신
    • 보비에게 말하기 버튼 클릭 후 녹음 완료 시 보비에게 보내기 버튼 생성
    • 클릭 시 제출하시겠습니까? 문구 출력

 

로그인 (https://i7a208.p.ssafy.io/login)

  • 메인 페이지로 접속 시 로그인이 되어 있지 않으면 로그인 페이지로 이동
  • 로그인 완료 시 사용자 상세 정보 입력 페이지로 이동 (https://i7a208.p.ssafy.io/user-detail)

 

회원정보 (https://i7a208.p.ssafy.io/user/)

  • 닉네임, 유튜브 계정 입력 시 회원정보 확인 가능

 

환경설정 (https://i7a208.p.ssafy.io/config)

  • 회원정보수정, 로그아웃, 회원탈퇴 가능

 

😢 목표서비스 구현 실패 목록ㅠㅠ

  • PWA 앱 형태 (가스 감지 시 푸시 알림 등) -- PC로 페이지 접속 시 모바일 환경에 최적화되어 있다는 정보 제공
  • 이미지 아카이브 - youtube 재생 화면 client side 캡처 오류 등의 문제
  • https 환경 웹소켓 연결

 

⚡ 프로젝트 배포

 

어김없이.. 관통 때 도움을 받았던 그분의 블로그를 참고해서 했다.

사실 관통 때는 그냥 단일 장고 서비스였고, 시간 남아서 되든 말든 하고 한 거였는데 이번에는 백+프론트 프로젝트를 또 나 혼자 그것도 계속 배포해야 할 줄은 몰랐다.

아마 싸피에서의 플젝 전체 중 가장 힘든 기간을 뽑으라면 이 며칠이었을 거다.

사실 어떻게 했는지도 잘 모르겠다! 또 냅다 둘 다 올려서 냅다 돌렸어

도커 쓰려고 며칠 해보려다가 도저히 안 돼서 그냥 또.. 수정 사항 있을 때마다 내가 한 땀 한 땀 다시 올렸다 서버 날아갈까 봐 떨리는 순간들

이미지도 이동이 안 돼서 이미지 파일 다 인터넷에 업로드하고 src에 링크도 넣었다

이래도 되나? 안됩니다 하지만 나는 했다 비전공자니까! 해야 했으니까! 과정보단 결과가 필요했으니까!!

 

 

Django 서비스 AWS로 배포하기 - [1] 프로젝트 준비와 AWS 서버 대여

안녕하세요, 네로입니다. 이번 포스팅의 시리즈에서는 자신이 만든 프로젝트/서비스를 Amazon Web Service(AWS) 로 배포하는 방법을 소개해 볼까 합니다. 주위에 웹 개발을 배우시는 분들 중에는 자신

nerogarret.tistory.com

 


🌈 프로젝트 후기

 

Keep

  • 처음으로 여섯 명이라는 큰 규모의 프로젝트를 진행해 보고, 완성한다는 뿌듯함을 느낄 수 있는 경험이었다.
  • 공통 프로젝트 반 1등이라는 수상을 했는데 이때부터 싸피에서 수상을 하려면 어떤 프로젝트를 진행하고, 어떻게 어필해야 하는지 알기 시작한 것 같다. 

Problem

  • IoT 프로젝트를 저 때가 아니라 차라리 자율 프로젝트나 오히려 지금 지식이 더 많을 때 했으면 프로젝트도 더 알차고, 나도 IoT에 대해서 배울 수 있었을 텐데 그럴 기회조차 없었어서 아쉽다! 기능을 겨우 만드는 데나 연연했던 느낌
  • 장고는 어차피 간단했으니까 부담 갖지 말고 리액트를 미리 더 연습했으면 좋았을 텐데 그러지도 못했다. 

Try

  • 그럼에도 협업과 소통을 어떻게 하는지 배웠고, 이후 프로젝트 진행에 대한 생각을 많이 할 수 있었다는 점에서 좋은 공통 프로젝트였다고 기억에 남는다.

 

 

GitHub - drsuneamer/BoBi: 🏅SSAFY 7기 공통 프로젝트 1위:관찰형 반려 케어 로봇 BoBi

🏅SSAFY 7기 공통 프로젝트 1위:관찰형 반려 케어 로봇 BoBi. Contribute to drsuneamer/BoBi development by creating an account on GitHub.

github.com

🌱 깃허브 리포지토리에 오시면 소스코드와, README에서 프로젝트에 대한 더 자세한 내용을 확인할 수 있습니다!

 

thumbnail