ZPi Controller v2 로드맵 — MQTT, WebSocket, 알람

ZPi Controller v1 (운영자용 ZView + MCP + Modbus + Programs) 까지 정리하고 보니, v2 에서 추가할 만한 것들이 명확해졌다. 우선순위와 이유 정리.

🥇 MQTT 1순위 — Modbus 만으로는 부족

산업 PLC 의 Modbus 는 검증된 표준이지만 IoT 생태계와는 다리가 약하다. MQTT 가 있으면:

설계:

zpi/<deviceId>/io              → publish, 1Hz
zpi/<deviceId>/io/outputs/{i}  → publish on change
zpi/<deviceId>/cmd/output/{i}  → subscribe (외부에서 토글)
zpi/<deviceId>/cmd/data/{i}    → subscribe (D[] 쓰기)
zpi/<deviceId>/event           → publish (룰 발동 / 알람)
zpi/<deviceId>/status          → LWT online/offline retain

MQTTnet 으로 .NET 측 client/broker 모두 가능. 작업량 약 3일.

🥈 WebSocket — 라이브 모니터의 정의

현재 모니터 페이지는 /api/io 를 1Hz polling. 입력 변화 보는데 1초 지연 + 폴링 트래픽 낭비. WebSocket push 로 바꾸면 50ms 이내 반응.

ZView 도 활용 가능 — /api/io polling 대신 WS subscribe → CPU 부담 대폭 감소.

작업량 약 2일.

🥉 알람 + 알림 — 무인 운영의 핵심

룰엔진 카드 액션에 “알림” 추가:

# 예: 룰 카드
Trigger: OnInputRising IN[0]   (비상정지 입력)
Action:  AlarmSend "🚨 비상정지 발생 - LINE2 컨베이어" → Telegram + Slack

야간 무인 공장 / 원격 모니터링에 필수. 작업량 약 1-2일.

다음 단계 (있으면 좋은)

기능작업가치
로컬 히스토리 DB (SQLite)2일IO 변화 / 알람 / 룰 발동 영구 기록. 사고 분석 / 트렌드 / 보고서
백업/복원0.5일admin UI 에서 zip export/import. 새 SD 카드 클론 즉시
OTA 펌웨어 업데이트1-2일시스템 페이지에서 dll 업로드. 현장 출장 줄임
여러 ZPi 동기화2-3일큰 공장의 multi-board 묶음 (master/slave)
i18n1일한/영 토글. 해외 고객 대응
모바일 PWA0.5일manifest + service worker. 폰에서 앱처럼
감사 로그1일누가 언제 무엇을 바꿨나. 인증 환경 (제약/식품)

ZView 진화

v1 에서 가장 흥미로운 부분이라 별도 로드맵:

항목현재v2
활성 슬롯1개N개 + 메뉴 (/zview/, /zview/pump, /zview/oven)
사용자 프로그램 통합충돌 경고만프로그램이 자체 ZView 동봉 가능 (program.json 매니페스트)
AI 분석 깊이룰 스크립트만사용자 프로그램 소스도 분석해서 그에 맞는 ZView 자동 생성
미리보기새 탭admin UI 안에서 iframe 라이브 미리보기 (편집 → 즉시 확인)
권한admin/operator 단일그룹 / 사용자별 분리 가능

가장 큰 도전 — 사용자 프로그램 모드의 충돌 해결

현재 사용자 프로그램 (Programs 페이지) 이 GPIO 점유하면 룰엔진과 ZView 가 자동 정지. v2 에서 풀어야 할 것:

이건 단순 기능 추가가 아니라 아키텍처 결정이라 v2 의 첫 작업.

비교 — 다른 산업 PLC 들

기능미쓰비시 FX5지멘스 S7-1200ZPi Controller (목표)
가격~80만원~120만원부품 ~5만원 (판매가 미정)
Modbus옵션 모듈 (+10만원)통합통합
MQTT별도 게이트웨이 필요TIA Portal 확장 (+)통합 (v2)
HMI별도 패널 (+30만원~)WinCC 별도 (+)웹 + AI 자연어 생성
클라우드벤더 클라우드 (+)벤더 클라우드 (+)표준 MQTT → 어디든
프로그래밍GX Works (전용 IDE)TIA Portal (전용 IDE)웹 + Python

ZPi 의 위치: “PLC 가 너무 비싸거나 닫혀있어서 못 쓰던 영역” — 교육, R&D, 메이커, 소형 OEM, IoT 게이트웨이.

v2 작업 순서 (제안)

Week 1: 백업 / 롤백 정리 (완료)
Week 2: MQTT 통합 + Home Assistant 자동발견
Week 3: WebSocket + 라이브 모니터 개선 + ZView 멀티슬롯
Week 4: 알람 + 텔레그램/슬랙
Week 5: 로컬 히스토리 DB + Grafana 연동 가이드
Week 6: 사용자 프로그램 매니페스트 + AI ZView 자동생성 v2

마지막 한마디

ZPi Controller v1 만들면서 가장 배운 건 “AI 친화 인프라” 라는 관점. 도구 description 이 LLM 의 행동지침이 되고, AI 가 만든 산출물의 인프라 부분을 서버가 보완하고, 사용자 설정 실수도 자동 복구되는 시스템.

이런 디자인 패턴은 ZPi 가 아니라도 적용 가능하다 — 사내 백오피스 도구, 데이터 대시보드, IoT 디바이스 운영자 UI 등.

v2 도 같은 방향. 더 단순하고, 더 안전하고, AI 가 더 잘 다룰 수 있게.

의견 / 협업

이 글 보고:

연락 환영. (문의 페이지 / 이메일)


시리즈 마무리

ZPi Controller 시리즈 7편 끝.

  1. 라즈베리파이로 PLC 만들기 — ZPi Controller 소개
  2. ZView: AI 가 자연어로 만드는 산업 HMI
  3. Claude Desktop MCP — ‘한 번 더블클릭’ 설치자를 만들기까지의 삽질
  4. 디버깅한 세 가지 함정 — Modbus 포트, mDNS 캐시, Regex $1
  5. 라즈베리파이 WiFi 복원력 + 부팅 1분 31초 → 33초
  6. (이 글) v2 로드맵
  7. ZView 샘플 — Modbus IO 모니터링 화면 한 장으로 만들기

읽어주셔서 감사합니다.

댓글

로그인 없이 이름만 적고 남기실 수 있어요. 남긴 댓글은 바로 게시됩니다.

댓글을 불러오는 중…