2kW급 수소 생산 설비를 위한 실시간 모니터링 및 제어 데스크톱 애플리케이션 클라우드 없이 로컬 환경에서 오프라인으로 동작하며, 하드웨어와 MQTT로 직접 통신합니다. 프로젝트별 데이터베이스 분리, 실시간 대시보드, P&ID 기반 제어, 알람/이벤트 추적, 프로토콜 실행, CSV 내보내기까지 현장 운영에 필요한 핵심 기능을 하나의 HMI로 통합했습니다.
1 / 8
담당 역할
기획디자인프론트엔드백엔드
기술 스택
Electron
React
TypeScript
Tailwind CSS
Drizzle ORM
SQLite
MQTT
TanStack Query
주요 기능
실시간 대시보드: 수소 생산량, 압력, 전류, 전압, 전해액 온도/유량 등 주요 텔레메트리를 차트와 KPI 카드로 시각화
P&ID 모니터링 및 제어: SVG 기반 설비 화면에서 장비 상태를 실시간 반영하고 제어 패널과 연동
프로토콜 편집 및 실행: 드래그앤드롭 기반 절차 편집, 루프/지연 설정, 실행 상태 추적, 점프/일시정지/재개 지원
알람/이벤트 및 명령 이력 관리: 안전 알람 감지, 확인 처리, 명령 전송/적용 상태 추적, 감사 로그 제공
프로젝트/디바이스 운영 관리: 프로젝트별 데이터베이스 분리, 디바이스 매핑, 세션 이력, 연결 디바이스 상태 조회 지원
데이터 활용 기능: 장기간 시계열 조회, 팝업 텔레메트리 모니터링, CSV 내보내기 지원
수행 업무
메인 프로세스 비차단 아키텍처: 제어 런타임과 텔레메트리 수집 런타임을 Electron Utility Process로 분리하고, CSV 내보내기·집계·장기 범위 조회는 Worker Thread로 오프로드해 메인 프로세스 블로킹을 방지
실시간 운영 안정성 강화: 무거운 백그라운드 작업 중에도 UI 응답성, heartbeat, MQTT 통신, 텔레메트리 수집이 끊기지 않도록 런타임 구조 설계
오프라인 MQTT 운영 체계: 임베디드 브로커, heartbeat, 명령 발행 경로를 로컬 런타임에 통합해 외부 서버 없이 현장 운용 가능하도록 설계
프로젝트 단위 데이터 격리: 프로젝트별 DB와 디바이스 매핑 구조를 구축해 실험/운영 데이터를 독립적으로 관리
대용량 시계열 최적화: 집계 테이블, 범위 질의 워커, LTTB 다운샘플링을 적용해 장기간 텔레메트리 조회 성능 개선
안전 중심 운영 UX: 알람 기반 비상 정지, 명령 상태 추적, 디바이스 콘솔 팝업으로 운영자 대응 속도 향상
테스트 기반 품질 관리: 텔레메트리, 프로젝트 선택, 세션, 워커 오프로딩 로직 전반에 Vitest 자동화 테스트 구축