Equipment Gateway 장비 게이트웨이
Auto-generate equipment APIs from a single YAML config — a configuration-driven gateway that handles Modbus TCP, OPC-UA, and MQTT across any manufacturing floor without writing backend code per device. YAML 하나로 장비 API를 자동 생성 — Modbus TCP, OPC-UA, MQTT를 지원하는 설정 기반 게이트웨이로, 장비마다 백엔드 코드를 작성하지 않습니다.
Overview개요
Equipment Gateway is a configuration-driven platform that solves the core problem of protocol fragmentation and manual API development in manufacturing environments. By defining equipment models in YAML configuration files, the gateway auto-generates fully functional REST APIs at startup — no backend code required per product type.
Equipment Gateway는 제조 환경의 프로토콜 파편화와 수동 API 개발 문제를 해결하는 설정 기반 플랫폼입니다. YAML 설정 파일로 장비 모델을 정의하면, 게이트웨이가 시작 시 완전한 REST API를 자동 생성합니다 — 제품 유형별 백엔드 코드가 필요 없습니다.
Problem문제
Three interconnected problems slow down equipment integration in manufacturing environments.
세 가지 연결된 문제가 제조 환경의 장비 통합을 지연시킵니다.
Manufacturing floors use a mix of Modbus TCP, OPC-UA, and MQTT devices from different vendors. Each protocol requires its own library, connection logic, and data parsing — making integration a recurring engineering bottleneck.
제조 현장에는 서로 다른 벤더의 Modbus TCP, OPC-UA, MQTT 장비가 혼재합니다. 각 프로토콜마다 별도의 라이브러리, 연결 로직, 데이터 파싱이 필요하여 통합 작업이 반복적인 엔지니어링 병목이 됩니다.
Every new equipment model required developers to write custom REST endpoints, register mappings, and polling logic from scratch. Adding a single product type could take days of boilerplate coding and testing.
새 장비 모델이 추가될 때마다 개발자가 REST 엔드포인트, 레지스터 매핑, 폴링 로직을 처음부터 직접 작성해야 했습니다. 단일 제품 유형 추가에도 수일간의 보일러플레이트 코딩과 테스트가 소요되었습니다.
Equipment status was checked through vendor-specific tools or manual inspections. There was no single dashboard to visualize real-time health, detect anomalies, or track historical trends across all connected devices.
장비 상태를 벤더별 도구나 수동 점검으로 확인했습니다. 연결된 모든 장비의 실시간 상태를 시각화하고, 이상을 감지하며, 이력 추이를 추적할 수 있는 단일 대시보드가 없었습니다.
Approach접근법
Instead of writing code for each equipment type, the gateway reads YAML configuration files that define equipment models — registers, data types, polling intervals, and API endpoints. A code-generation layer transforms these definitions into fully functional REST APIs at startup. Protocol adapters abstract away communication differences, so the same YAML schema works whether the device speaks Modbus TCP, OPC-UA, or MQTT. This approach turns equipment onboarding from a development task into a configuration task, enabling operations engineers to add new products without writing a single line of code.
장비 유형마다 코드를 작성하는 대신, 게이트웨이가 장비 모델을 정의하는 YAML 설정 파일 — 레지스터, 데이터 타입, 폴링 주기, API 엔드포인트 — 을 읽습니다. 코드 생성 레이어가 시작 시 이 정의를 완전한 REST API로 변환합니다. 프로토콜 어댑터가 통신 차이를 추상화하여 장비가 Modbus TCP, OPC-UA, MQTT 중 무엇을 사용하든 동일한 YAML 스키마가 동작합니다.
Features기능
Define equipment models declaratively in YAML — register addresses, data types (INT16, FLOAT32, BOOL), scaling factors, and polling tiers. The gateway parses these definitions at startup and auto-generates typed REST endpoints, entity schemas, and polling schedules. No backend code changes needed to onboard a new product.
YAML로 장비 모델을 선언적으로 정의합니다 — 레지스터 주소, 데이터 타입(INT16, FLOAT32, BOOL), 스케일링 팩터, 폴링 티어. 게이트웨이가 시작 시 이 정의를 파싱하여 타입이 지정된 REST 엔드포인트, 엔티티 스키마, 폴링 스케줄을 자동 생성합니다.
Pluggable protocol adapter architecture supporting Modbus TCP, OPC-UA, and MQTT out of the box. Each adapter implements a common interface for read/write operations, so equipment definitions remain protocol-agnostic. Adding a new protocol means implementing one adapter — all existing YAML configs work automatically.
Modbus TCP, OPC-UA, MQTT를 기본 지원하는 플러거블 프로토콜 어댑터 아키텍처입니다. 각 어댑터가 읽기/쓰기 작업의 공통 인터페이스를 구현하여 장비 정의가 프로토콜에 독립적입니다.
REST endpoints are dynamically generated from YAML definitions — GET for current values, POST for write commands, and WebSocket streams for real-time updates. The Entity Store maintains in-memory state with change detection, serving cached responses in microseconds while 3-tier polling (100ms / 500ms / 1s) keeps data fresh.
YAML 정의로부터 REST 엔드포인트가 동적으로 생성됩니다 — 현재 값 조회 GET, 쓰기 명령 POST, 실시간 업데이트 WebSocket 스트림. Entity Store가 변경 감지와 함께 인메모리 상태를 유지하여 마이크로초 단위로 캐시된 응답을 제공합니다.
Visual dashboard built with ReactFlow showing live equipment topology and real-time sensor values. Time-series data streams into InfluxDB for historical trend analysis, anomaly detection, and configurable alerting thresholds. Engineers can monitor entire production lines from a single screen.
ReactFlow로 구축된 시각적 대시보드가 실시간 장비 토폴로지와 센서 값을 보여줍니다. 시계열 데이터가 InfluxDB에 스트리밍되어 이력 추이 분석, 이상 감지, 설정 가능한 알림 임계값을 제공합니다.
Architecture아키텍처
Metrics메트릭
Before / After
| Before | After |
|---|---|
| Custom backend code written for every new equipment model새 장비 모델마다 맞춤 백엔드 코드 작성 | Add a YAML file and REST APIs are auto-generated — zero backend code per productYAML 파일 하나 추가로 REST API 자동 생성 — 제품별 백엔드 코드 불필요 |
| Separate tools and scripts per communication protocol통신 프로토콜별 별도 도구와 스크립트 | Unified protocol adapter layer handling Modbus TCP, OPC-UA, and MQTT transparentlyModbus TCP, OPC-UA, MQTT를 투명하게 처리하는 통합 프로토콜 어댑터 레이어 |
| Equipment status checked manually or via vendor-specific software장비 상태를 수동 또는 벤더별 소프트웨어로 확인 | Real-time monitoring dashboard with time-series visualization and alerting시계열 시각화와 알림이 포함된 실시간 모니터링 대시보드 |