# 프로젝트 개요
스마트홈 월패드는 조명, 난방, 환기, 가스, 대기전력 등 여러 장치를 하나의 화면에서 제어합니다. 이번 1차 개발에서는 월패드가 Master 역할을 수행하고 각 설비 제어 모듈이 Slave로 동작하는 환경을 기준으로, 장치 명령과 상태 데이터를 안정적으로 주고받을 수 있도록 연동 구조를 정비했습니다.
# 1차 개발 — Slave 장치 연동
1. Master-Slave 통신 흐름 정리
- 월패드에서 발생한 사용자 명령을 장치별 Slave 명령으로 변환
- 장치 주소, 기능 코드, 명령 값에 따른 요청 라우팅
- Slave 응답을 월패드의 공통 상태 모델로 변환
- 화면의 제어 상태와 실제 장치 상태가 일치하도록 동기화
2. 통신 안정성 강화
- 응답 지연과 미응답을 구분하는 타임아웃 처리
- 일시적인 통신 실패에 대한 제한적 재시도
- 중복 명령과 오래된 응답이 화면 상태를 덮어쓰지 않도록 방어
- 특정 Slave 장애가 다른 장치 제어에 영향을 주지 않도록 예외 범위 분리
3. 상태 복구와 운영 로그
- 연결이 끊어진 뒤 재접속 시 장치 상태 재조회
- 앱 재시작 및 화면 복귀 시 최신 상태 동기화
- 송신 명령, 수신 응답, 소요 시간, 오류 원인을 추적할 수 있는 로그 기준 정리
- 현장 장비별 차이를 확인할 수 있도록 장치 단위 진단 정보 구성
# 개발 과정에서 중요했던 점
월패드 화면에서 버튼 상태만 먼저 바꾸면 실제 장치가 응답하지 않았을 때 사용자에게 잘못된 상태를 보여줄 수 있습니다. 따라서 요청, 응답, 상태 반영을 분리하고, 장치 응답을 기준으로 최종 상태를 확정하는 흐름이 중요했습니다.
또한 모든 Slave가 동일한 응답 속도와 오류 형식을 사용하지 않기 때문에 장치별 예외를 공통 통신 계층에서 흡수하고, 화면에서는 일관된 상태만 다루도록 구성했습니다. 이 구조를 통해 장치가 추가되더라도 화면 로직을 크게 변경하지 않고 확장할 수 있는 기반을 마련했습니다.
# 2차 개발 — AI 기능 COMING SOON
2차 개발에서는 1차 연동 과정에서 축적되는 장치 상태와 통신 로그를 활용한 AI 기능을 준비하고 있습니다.
- 반복되는 통신 오류와 비정상 상태 패턴 탐지
- 장치별 장애 징후 및 점검 필요 항목 요약
- 관리자용 운영 현황 자연어 요약
- 우선 확인이 필요한 세대와 장치 알림
AI 기능은 현재 2차 개발 예정 단계이며, 실제 운영 데이터의 품질과 보안 기준을 검토한 뒤 순차적으로 적용할 계획입니다.
# 마무리
이번 1차 개발은 월패드 UI와 실제 Slave 장치 사이의 통신 신뢰성을 높이고, 향후 장치 확장과 운영 자동화를 위한 기반을 만드는 작업이었습니다. 다음 단계에서는 현장 데이터가 의미 있는 운영 정보로 이어질 수 있도록 AI 기반 분석과 관리자 지원 기능을 고도화하겠습니다.