IndustrialUpdated 2025-04-01

Equipment Monitoring

실시간 센서 수집 및 이상 감지 파이프라인

ESP32-S3PlatformIOFreeRTOS

Equipment Monitoring 상세 가이드

실시간 센서 수집 및 이상 감지 파이프라인 — CtrlFactory


1. 개념 (Concept)

1.1 설비 모니터링이란?

설비 모니터링(Equipment Monitoring)은 산업 현장의 기계·설비에 센서를 부착하여 상태를 실시간으로 수집·분석하고 이상 징후를 즉시 감지하는 시스템이다.

측정 대상: 진동 / 온도 / 전류 / 전력 / 음향방출(AE) 감지 방법: 임계값 비교 → FFT 주파수 분석 → AI 이상 감지 출력 결과: 알람 / Health Score / Work Order 자동 생성

1.2 모니터링 계층 구조

1.3 핵심 센서 스펙

센서측정 대상인터페이스샘플링감지 가능 이상
ADXL3453축 진동 가속도I2C / SPI최대 3.2kHz불균형, 베어링 결함
MLX90614비접촉 표면 온도I2C1Hz과열, 냉각 이상
ACS712-20A전류 (직류/교류)ADC1kHz과부하, 단락, 결상
SCT-013비접촉 AC 전류ADC1kHz전력 이상, 효율 저하
MPU60506축 IMU (가속+자이로)I2C최대 8kHz정밀 진동, 축 정렬 불량
AMG88338×8 열화상I2C10fps열점(Hot Spot) 감지

2. 상세 내용 (Details)

2.1 진동 신호 처리 단계

2.2 다중 센서 I2C 버스 구성

2.3 FreeRTOS 멀티태스크 구조

2.4 MQTT 토픽 네임스페이스

2.5 임계값 알람 로직

2.6 데이터 수집 주기 설계


3. 구조 설명 (Architecture)

3.1 전체 데이터 파이프라인

3.2 Go gRPC Gateway 내부 구조

3.3 Spring Boot 설비 서비스 구조

3.4 실시간 수집 시퀀스 (정상 흐름)

3.5 이상 감지 시퀀스 (경보 흐름)

3.6 TimescaleDB 수집 스키마

3.7 Three.js 디지털 트윈 구조

3.8 공장 플로어 맵 SVG 구조


4. 응용 (Applications)

4.1 CtrlFactory 모니터링 전체 맵

4.2 설비 상태 머신

4.3 임계값 구성 계층

4.4 OTA 펌웨어 업데이트 플로우

4.5 멀티사이트 / 멀티테넌트 구조

4.6 Next.js 대시보드 컴포넌트 구성


부록. 빠른 참조

ESP32-S3 하드웨어 결선 요약

[I2C Bus — GPIO 8(SDA), GPIO 9(SCL), 400kHz] ADXL345 0x53 진동 3축 MLX90614 0x5A 비접촉 온도 MPU6050 0x68 6축 IMU (선택) [ADC — 12-bit, 분압기 필수 (5V→3.3V)] GPIO 1 — ACS712-20A (전류, 직렬 삽입) GPIO 2 — SCT-013 (AC 전류, 22Ω 부하저항) [전원] 3.3V — 센서 전원 (I2C 풀업 4.7kΩ) 100nF 커패시터 — ADC 노이즈 필터링

MQTT 핵심 토픽 치트시트

발행 (ESP32 → 서버): factory/{site}/{type}/{device} 센서 데이터 QoS 1 factory/{site}/status/{device} LWT: online/offline Retain 구독 (서버 → ESP32): ctrl/{site}/cmd/{device} 제어 명령 QoS 2 ctrl/{site}/ota/{device} OTA 업데이트 QoS 2 ctrl/{site}/config/{device} 임계값 업데이트 QoS 2

Spring Boot 핵심 API

GET /api/machines 설비 목록 (site_id 쿼리) GET /api/machines/{id} 설비 상세 + 최신 센서값 GET /api/machines/{id}/history 시계열 이력 (from/to) GET /api/alerts 알람 목록 (severity 필터) GET /api/alerts/stream SSE 실시간 알람 PUT /api/machines/{id}/threshold 임계값 업데이트 → MQTT 반영 POST /api/machines/{id}/acknowledge 알람 확인 처리

이상 감지 앙상블 결정 기준

조건개수결과
임계값 초과 + IF 이상 + AE 이상3/3CRITICAL — 즉시 차단
임계값 초과 + (IF 또는 AE) 이상2/3HIGH — 긴급 점검
임계값만 초과1/3WARNING — 모니터링 강화
IF + AE 이상 (임계값 미달)2/3MEDIUM — 점검 예약
정상0/3NORMAL