수면 유도 웨어러블 제어 앱과 관리자 콘솔
앱 · 관리자 웹 · 클라우드 · 기획 · 디자인2025.10 ~ 2025.12
BLE 로 웨어러블 기기를 제어하고 수면 기록을 보여주는 앱, 그리고 기기 상태를 보는 관리자 화면을 만들었습니다.

과제 배경
기기만으로는 수면 데이터를 사람이 읽을 수 없어 쓸모가 전해지지 않습니다. 양산에 들어가기 전에 앱과 기기 사이의 BLE 제어 구조가 실제로 되는지 확인할 방법도 없었습니다.
주요 설계 결정
양산 전 검증
앱 기획부터 BLE 연동, 기기 통신까지 이어지는 프로토타입을 먼저 만들었습니다
제어 구조가 틀린 것은 금형이 나온 뒤에 알면 늦습니다. 그때는 기구를 다시 파야 합니다.
서버 구조
서버리스 자동 확장 구조로 시작했습니다
기기와 사용자는 같이 늘어납니다. 나중에 옮기면 그때 리팩터링 비용이 붙고, 그 시점은 대개 트래픽이 몰릴 때입니다.
기기 상태 반영
IoT 메시지 브로커로 양방향 통신을 걸었습니다
관리자가 보는 화면과 기기의 실제 상태가 다르면 그 화면을 아무도 믿지 않게 됩니다.
제공 기능
| 기능 | 내용 |
|---|---|
| 웨어러블 실시간 제어 | 작동 시간, 세기, 종료 알림을 앱에서 바꾸면 기기에 바로 반영됩니다. |
| 수면 기록 시각화 | 캘린더로 일자별 기록을 보여주고 이전 설정을 한 번에 다시 겁니다. |
| 관리자 대시보드 | 기기 사용 이력과 데이터 로그를 한 화면에서 봅니다. |
수행 결과
- 모드 전환과 설정 변경 명령이 기기에 반영되기까지의 지연을 앱에서 확인할 수 있게 했습니다.
- 양산 전에 BLE 제어 구조와 UX 를 실물로 검증했습니다.
- 사용자와 역할별 권한을 클라우드 통합 인증으로 나눴습니다.
화면 구성
화면의 구조와 기능을 보여주는 시안이며, 색과 서체를 포함한 디자인은 다음 단계에서 정합니다.
나의 수면 기록
- 지난 7일 수면 시간
- 평균 수면 시간
- 최고 수면 시간
기록 상세 보기설정으로 가기
홈기기 제어통계
수면 기록 조회
사용자가 수면 기록을 확인하는 화면입니다.
웨어러블 기기 제어
작동 세기: 75%
작동 시간을 설정하세요.
기기 시작기기 종료
홈수면 기록통계
기기 제어
웨어러블 기기를 제어하는 화면입니다.
관리자 대시보드
기기 ID사용자사용 시간상태
모든 기기 상태를 확인하세요.
- 정상 기기: 5
- 경고 기기: 2
- 오류 기기: 1
기기 관리사용자 관리통계
관리자 대시보드
기기 상태와 사용 이력을 확인하는 화면입니다.
시스템 구성도
점선은 외부 서비스를 사용하는 항목입니다.
설계 원칙
| 원칙 | 적용 방법 |
|---|---|
| 사람이 늘어도 서버를 다시 만들지 않는다 | 서버리스 자동 확장. 인스턴스를 잡아 두지 않습니다 |
| 화면의 기기 상태가 실제와 다르지 않다 | 브로커의 양방향 통신으로 상태 변경을 받아 씁니다 |
적용 기술
BLENext.jsAWSServerless FrameworkAndroidiOS
관련 프로젝트
BLE 차단기 제어 주차 앱차단기 하나만 달면 주차장이 되도록, 앱이 BLE 로 차단기를 직접 여는 무인 주차 시스템을 만들었습니다.
실내자전거와 심박계를 잇는 운동 기록 앱과 운영자 콘솔스마트 트레이너와 심박계에 표준으로 붙어 라이딩 세션을 진행하고, 끝난 뒤 결과를 분석해 보여주는 앱입니다. 기록은 사용자가 이미 쓰던 운동 플랫폼으로 내보내고, 운영자가 사용자와 지표를 보는 관리자 콘솔을 함께 만들었습니다.
조리기구 제어 앱과 레시피 관리자앱에서 조리기구를 BLE 로 제어하고, 관리자 웹에서 등록한 레시피대로 기기가 스스로 돌게 만들었습니다.