Edge Framework
모든 디바이스에 AI를, 엣지에서
온디바이스 추론이 가능한 플러그인 기반 엣지 프레임워크. 그리드에 연결되는 모든 하드웨어 — 충전기, 인버터, ESS, 미터 — 가 Electra를 실행합니다.
Core Stack
Layers
Architecture
6 레이어 아키텍처
UI → Core → Service → Protocol → Edge AI → HAL. 상위 레이어는 하위 레이어를 호출하고, 하위는 이벤트/시그널로만 상위에 통보합니다.
Qt Quick/QML 기반 터치 UI. 음성 입력·오디오 컨트롤러·AI 에이전트를 선택적으로 활성화. GUI 크래시와 독립적으로 충전 세션 유지.
상태 머신 기반 충전 세션 관리. ProcessManager·DeviceHalManager가 하위 레이어를 통합 조율. QLocalSocket IPC로 UI와 통신.
로컬 로드 밸런서 — 필요 시에만 생성되는 온디맨드 프로세스. 복수 커넥터 환경에서 충전 세션 균등 배분.
OCPP 1.6/2.1 클라이언트 (상시). DR Handler·V2G Agent는 온디맨드 프로세스로 DR 이벤트·ISO 15118 V2G 세션 처리.
EdgeAIBrain — 온디바이스 ML 추론 및 이상 감지. TensorFlow Lite·ONNX Runtime으로 서버 없이 실시간 분석. 필요 시에만 활성화.
하드웨어 추상화 레이어. RFID·PLC·CAN·Payment 컨트롤러는 독립 프로세스로 격리. GPIO·Power는 app-core 내부. 모든 하드웨어 플랫폼 지원.
Process Model
상시 10개 + 온디맨드 4개 프로세스
GUI 크래시와 무관하게 충전 세션 유지. 프로세스별 독립 업데이트 가능.
Design Principles
설계 원칙
플러그인 퍼스트
주요 기능은 모두 플러그인으로 구현. 설정 파일 변경만으로 선택적 활성화. 코드 수정 없이 제품 변종 생성.
프로세스 격리
각 주요 기능이 독립 프로세스로 분리. 한 프로세스 장애가 전체 시스템에 영향 없음. GUI 크래시와 무관하게 OCPP 통신 유지.
Qt6 퓨어
외부 의존성 최소화. Qt6 네이티브 기능 우선. QLocalSocket IPC로 UI·코어 분리. Boost·Poco 없음.
하드웨어 추상화
HAL 레이어가 하드웨어를 완전히 추상화. RFID·PLC·CAN·IC카드 등 다양한 하드웨어 플랫폼을 동일한 인터페이스로 지원.
Tech Spec
기술 스택 전체
UI Isolation
gui-app은 electra-* 라이브러리에 의존하지 않습니다
모든 UI ↔ Core 통신은 QLocalSocket(/var/run/electra/ui.sock)을 통해 단일 채널로 처리. 요청/응답 및 이벤트 푸시를 모두 지원. UI는 순수 Qt만 사용.