← PROJECTS
EYESAM thumbnail
EYESAM logo

EYESAM

당신의 눈 건강을 위한 선택

Personal2023Source ↗
React Native
Python
Raspberry Pi
Firebase

본 프로젝트는 한국디지털미디어고등학교 웹프로그래밍과 1학년 전공 과목인 "사물 인터넷 서비스 기획" 수행평가를 위해 제작되었습니다.

1. 개요

최근 디지털 환경에 대한 발전이 이루어지면서, 많은 현대인들이 어릴 때부터 주로 실내 생활을 하며 스마트폰, 컴퓨터 등의 전자기기 사용이 늘어났습니다.

전자기기 사용 시 사용자와 전자기기 간 거리가 30cm 이상 되어야 눈을 보호할 수 있지만 많은 사용자들이 이를 모르거나, 알면서도 지키지 않는 등의 문제로 인해 많은 사람들의 눈 건강이 악화되고 있습니다.

이러한 문제들을 해결하기 위해 고민하였고, EYESAM은 디지털 환경에 노출이 많아진 현대인들의 눈 건강 관리를 위해 고안된 프로젝트입니다.

사용자는 React Native Expo로 개발된 직관적인 모바일 앱을 통해 자신의 눈 건강 상태를 실시간으로 확인할 수 있습니다.

앱에서는 눈 깜빡임이 부족하거나 화면과의 거리가 너무 가까울 때, 또는 주변 환경이 눈 건강에 좋지 않을 때 사용자에게 적절한 알림을 제공하여 건강한 디지털 기기 사용 습관을 형성할 수 있도록 돕습니다.

본 프로젝트는 1학년 당시 같은 반이었던 친구 한 명과 같이 작업하였습니다.

2. 시스템 구성

Raspberry Pi로 구성된 하드웨어를 통해 사용자의 눈 깜빡임, 사용자와의 거리, 장소의 온도, 습도, 밝기, 소리 등 환경 요소를 수집하고 이러한 정보들을 Firebase로 구축된 데이터베이스에 실시간으로 업데이트 합니다.

Firebase 데이터베이스로부터 앱이 관련 정보를 제공하고, 정보를 바탕으로 사용자에게 눈 건강을 위한 피드백을 보여줍니다.

부품명역할
LED사용자가 처한 환경의 위험도를 서로 다른 색상의 LED를 사용하여 표시 (단계: 1~3)
버튼사용자가 눈 건강에 위험한 환경에 처할 경우 발생하는 경고를 종료
부저최고 위험 단계에 도달할 경우 LED와 같이 작동하여 소리를 재생
초음파 센서사용자와 전자기기 간의 거리를 측정
온습도 센서사용자가 있는 위치의 온도와 습도를 측정
조도 센서사용자가 있는 위치의 밝기를 측정
소리 센서사용자가 있는 위치의 소리를 측정

3. 프로젝트 회고

본 프로젝트를 기획할 당시 카메라를 사용하려고 하였으나, 개발 중 Raspberry PiPython 버전 및 패키지 관리자 문제로 인해 카메라 자체는 인식 되지만,cv2의 videoCapture(0)none으로 뜨는 문제가 발생하였습니다. 추가로 dlib가 설치 되지 않는 문제도 발생하였습니다.

이러한 카메라 관련 문제 및 Raspberry Pi 버전 문제가 잦은 오류를 발생시켰고, 프로젝트 과정 중 문제가 생길 때마다 Raspberry Pi를 초기화 시켜야했습니다. 이러한 부분들 때문에 개발 기간이 늘어날 수 밖에 힘들었지만, 포기하지 않고 프로젝트를 진행하였습니다.

또한 카메라 관련 문제를 해결하기 위해 Raspberry Pi의 카메라 부품을 연결하는 대신, 노트북의 웹 캠을 사용하여 필요한 정보를 추출하여 데이터베이스에 전송하는 등의 대안을 사용하였습니다.

본 프로젝트를 개발하면서 React Native Expo, Firebase Firestore, Raspberry Pi 등 많은 스택을 처음 접해보았지만, React Native의 경우 Expo를 통해 기존의 고전적인 Native 앱 개발보다 빠른 기간에 앱을 제작할 수 있었고, Firebase의 경우 공식 문서가 잘 되어있어 쉽게 사용할 수 있었습니다.

Raspberry Pi의 경우 이 프로젝트가 전공 과목 수행평가를 위해 제작된 만큼, 많은 수강생들이 동시에 이를 활용하여 프로젝트를 제작하였기 때문에, 문제가 발생하여도 해당 내용을 선생님 및 친구들과 활발히 공유하고 이에 대해 피드백을 들을 수 있어 지속적으로 개선해나갈 수 있었습니다.

ASSETS