조리기구 제어 앱과 레시피 관리자

앱 · 관리자 웹 · 클라우드 · 펌웨어 연동2021.03 ~ 2021.06

앱에서 조리기구를 BLE 로 제어하고, 관리자 웹에서 등록한 레시피대로 기기가 스스로 돌게 만들었습니다.


과제 배경

조리기기를 쓸 때마다 사람이 온도와 시간을 손으로 맞춰야 했습니다. 레시피를 늘리거나 기기 동작을 바꾸려면 매번 개발이 붙는 구조라 운영하는 쪽이 손댈 수 있는 것이 없었습니다.

주요 설계 결정

레시피의 자리

레시피를 펌웨어가 아니라 관리자 웹의 데이터로 두었습니다

펌웨어에 넣으면 레시피 하나를 고치는 데 펌웨어 배포가 필요합니다. 레시피는 자주 바뀌는 쪽입니다.

BLE 연결 안정성

자동 재연결과 예외 처리를 넣고 명령 반영 지연을 줄였습니다

조리 중에 끊기면 사용자는 기기가 고장 났다고 봅니다. 다시 연결하라는 안내는 답이 아닙니다.

언어

한국어와 영어와 중국어를 처음부터 함께 넣고 레이아웃을 그에 맞게 짰습니다

나중에 붙이면 글자 길이가 달라 화면이 깨집니다. 그때는 화면을 다시 짜야 합니다.

제공 기능

제공 기능
기능내용
조리기기 실시간 제어앱에서 블루투스로 온도와 시간을 조절합니다.
자동 조리 레시피관리자 웹에 등록한 레시피대로 기기가 단계별로 돕니다.
레시피 등록과 관리시간, 온도, 단계, 이미지, 설명을 웹에서 넣고 고칩니다.
다국어 화면한국어, 영어, 중국어를 앱과 관리자 웹에서 함께 냅니다.

수행 결과

  • 레시피를 늘리는 데 개발이 붙지 않습니다. 운영하는 쪽이 웹에서 등록합니다.
  • 사용자는 버튼 하나로 등록된 조리 과정을 돌립니다.
  • 세 나라 말을 같은 화면 구조로 냅니다.

화면 구성

화면의 구조와 기능을 보여주는 시안이며, 색과 서체를 포함한 디자인은 다음 단계에서 정합니다.

레시피

수비드 스테이크
저온 조리 닭가슴살
수제 요구르트
레시피수동 조리기기

레시피

등록된 레시피를 고릅니다

수비드 스테이크

58도 / 42분 남음

  • 1단계 예열 완료
  • 2단계 조리 중
  • 3단계 마무리
일시정지종료

조리 중

단계별로 무엇이 진행되는지 봅니다

시스템 구성도

사용자와 기기서버저장소와 외부BLEHTTPSHTTPS사용자 앱Flutter기기를 제어하고 레시피 실행조리기구BLE온도와 시간을 받습니다레시피 관리자Vue.js레시피를 등록하고 고칩니다API 서버EC2레시피와 사용자레시피RDS단계와 온도와 시간단계 이미지S3레시피에 붙는 사진

점선은 외부 서비스를 사용하는 항목입니다.

설계 원칙

설계 원칙과 적용 방법
원칙적용 방법
레시피를 고치는 데 펌웨어 배포가 필요 없다레시피를 서버 데이터로 두었습니다
조리 중에 끊겨도 사용자가 다시 잇지 않는다앱이 스스로 재연결하고 예외를 처리합니다
언어가 늘어도 화면을 다시 짜지 않는다세 나라 말을 전제로 레이아웃을 잡았습니다

적용 기술

FlutterVue.jsBLEAWSEC2RDSS3Zeplin

관련 프로젝트