WORKS / PORTFOLIO
DATA INTELLIGENCE

산업용 센서 데이터 수집·경보 시스템 구축

거리·회전·IMU 측정값을 실시간으로 기록하고 임계치·히스테리시스 경보와 연결 단절·복구·교정 이력을 함께 관리하는 현장 계측 시스템

산업용 센서 데이터 수집·경보 시스템 구축

RESULT

장치 108대·세션 192개·측정값 115,200건을 센서·기간·품질 기준으로 조회
임계치·히스테리시스·유지시간 기반 경보와 연결 단절·자동 복구 이력 구현
시계열 다운샘플링·누락 구간·임계선·CSV 전체 내보내기 구성
테스트 5건, 프로덕션 빌드, 3개 화면 폭의 현장 사용자 여정 검증 완료

TECH STACK

ReactJavaScriptViteExpressLucide React

CHALLENGE

클라이언트는 현장에서 거리·회전·관성 센서 값을 실시간으로 확인하면서도, 이상 발생 뒤에 측정 조건과 원인을 되짚을 수 있어야 했습니다. 연결이 잠시 끊기거나 값이 천천히 드리프트할 때 단순 임계치만으로는 불필요한 경보가 반복됐고, 교정 전후가 섞이면 같은 값도 다르게 해석될 수 있었습니다.

클라이언트가 필요로 한 이유

클라이언트 현장 담당자가 가장 답답해한 부분은 순간값을 보여주는 화면은 있어도, 이상이 발생한 뒤 “어떤 교정값으로, 어떤 연결 상태에서, 얼마나 오래 벗어났는가”를 재현하기 어렵다는 점이었습니다. 값 하나만 저장하면 통신 단절을 실제 0값으로 오해하거나, 짧은 노이즈를 설비 이상으로 판단할 수 있었습니다.

그래서 측정값과 함께 품질 상태, 연결 사건, 교정 버전, 경보 발생·해제 근거를 같은 세션에 묶었습니다. 짧은 노이즈에는 유지시간을 적용하고, 단절 구간은 0값 대신 누락으로 남기며, 교정 버전을 측정 이력과 연결했습니다. 현장 담당자가 경보를 신뢰하고 사후 분석에서도 같은 결론을 재현할 수 있도록 이런 구조를 선택했습니다.

측정 설정, 실시간 파형, 경보 조건, 연결 사건, 교정 버전을 하나의 세션 기록으로 묶었습니다.

계측 과제시스템에서 다룬 방식
순간 노이즈의 과잉 경보임계치·히스테리시스·유지시간을 함께 적용
연결 단절의 데이터 오인누락 구간과 연결 사건을 시계열에 명시
교정 버전 혼재세션과 측정값에 적용 교정 버전 연결
대량 이력 조회장치·기간·센서·품질 필터와 다운샘플링 제공

클라이언트 요청사항과 기획 방향

실시간 그래프만 만드는 대신, 현장 담당자가 경보 발생 순간을 나중에도 같은 조건으로 재현할 수 있도록 측정·연결·교정·판정 근거를 하나의 세션으로 묶었습니다.

클라이언트 요청이렇게 기획한 이유해결 방식
여러 센서 값을 실시간으로 함께 보고 싶다채널별 화면이 분리되면 같은 시점의 진동·거리·회전 변화를 비교하기 어려움공통 시간축에 파형·게이지·품질 상태를 함께 표시
노이즈와 실제 이상을 구분하고 싶다순간 임계 초과만으로 경보를 열면 현장에서 경보를 신뢰하지 않게 됨임계치·히스테리시스·유지시간을 결합해 발생과 해제 조건 구성
장애 뒤 측정 조건을 다시 확인하고 싶다값만 남기면 통신 단절·교정 변경·센서 품질을 구분할 수 없음측정값에 연결 사건·교정 버전·경보 근거를 연결하고 CSV로 반출

SOLUTION

클라이언트의 계측·경보·사후 분석 흐름을 한곳에서 이어가기 위해 거리·회전·관성 센서(IMU) 채널을 동시에 기록하는 현장 계측 콘솔을 구성했습니다. 운영자는 세션을 시작한 뒤 파형과 게이지를 함께 보고, 경보가 발생하면 임계선·유지시간·연결 상태·교정 이력을 같은 상세 화면에서 확인합니다.

현장 측정이 기록되는 과정

담당자는 먼저 장치를 선택하고 현재 적용할 교정 버전과 수집 채널을 확인합니다. 장치 연결, 교정, 저장 공간, 채널 설정이 모두 준비돼야 기록 버튼이 활성화됩니다. 기록을 시작하면 센서가 측정한 시각과 서버가 값을 받은 시각을 함께 저장하므로 통신 지연도 구분할 수 있습니다.

진동 값이 임계선 70을 잠깐 넘었다고 바로 설비 이상으로 표시하지 않습니다. 예시 구간에서는 2초부터 70을 넘지만 설정된 유지시간까지 계속된 뒤에 경보를 엽니다. 값이 내려올 때도 70 아래로 한 번 내려간 것만으로 해제하지 않고, 흔들림을 고려한 별도 해제선 아래에서 안정된 뒤 복구로 바꿉니다.

통신이 끊기면 화면에 0을 그리지 않고 해당 구간을 비워 둡니다. 동시에 연결 단절 사건을 기록하고 복구되면 같은 세션에서 수집을 이어갑니다. 나중에 담당자는 경보 시점의 원본 값, 적용 규칙, 교정 버전, 연결 상태를 한 화면에서 대조하고 필요한 구간만 CSV로 내려받을 수 있습니다.

시스템 흐름

센서 연결 방식이 달라져도 정상, 드리프트, 진동, 단절, 복구, 교정 전후 상태를 같은 데이터 형식으로 다루도록 구성했습니다.

경보 심각도 점수

경보는 측정값이 임계선을 한 번 넘었다고 바로 발생하지 않습니다. 임계 초과 정도, 지속 시간, 센서 품질, 연결 신뢰도를 함께 보고 경보 심각도 점수를 계산합니다.

판단 항목반영 비중판단 기준
임계 초과 폭35%측정값과 상·하한의 거리
지속 시간25%초과 상태가 유지된 시간
신호 품질20%결측·노이즈·포화 상태
연결 신뢰도20%패킷 지연과 최근 단절 사건

진동 이상 구간에서는 2초부터 임계선을 넘지만, 설정된 유지시간을 채운 뒤에만 경보를 엽니다. 값이 내려올 때는 같은 70이 아니라 히스테리시스를 반영한 해제선 아래로 내려가야 복구로 전환합니다. 통신이 끊겼다면 측정 경보 대신 연결 경보를 우선 표시해 0값 오인을 막았습니다.

기록 시작 조건

세션은 장치 연결 정상, 유효 교정 버전 존재, 채널 설정 완료, 저장 공간 여유라는 네 조건을 통과해야 시작됩니다. 진행 중 연결이 끊기면 세션 자체를 삭제하지 않고 결측 구간과 단절 사건을 남긴 뒤 복구 시 같은 세션을 이어갑니다.

현장 기능

  • 장치 등록·수정·연결과 교정 버전 관리
  • 거리·회전·IMU 파형, 게이지, 임계선, 누락 구간
  • 세션 시작·일시정지·재개·종료·초기화
  • 경보 발생·해제와 연결 단절·자동 복구 사건
  • 장치·기간·센서·품질별 측정 이력과 25·50건 페이지 이동
  • 30·60·90점 차트 범위와 전체 CSV 스트리밍

BUILD

장치, 세션, 측정값, 경보, 교정, 연결 사건을 관계형 운영 데이터로 분리하고, 0.5초 단위 상태 변화도 서버에서 저장하도록 구성했습니다. 화면은 필요한 범위만 다운샘플링해 그리지만 검색과 CSV는 전체 측정값을 대상으로 합니다.

데이터를 파형과 사건으로 푸는 방식

수집 계층은 값과 함께 센서 시각, 서버 수신 시각, 품질 코드를 저장합니다. 화면 조회에서는 구간별 최소·최대·평균을 보존하는 다운샘플링으로 표시할 점의 수를 줄이고, 결측 구간은 선으로 연결하지 않습니다. 경보 상세는 해당 구간의 원본 값, 적용 규칙, 교정 버전, 연결 사건을 함께 조회합니다.

검증한 데이터 규모

데이터규모
장치 / 세션108 / 192
측정값115,200
경보640
교정540
연결 사건3,240
상태 시나리오6종 × 32세션

VALIDATION

  • 자동 테스트 5건 통과
  • 프로덕션 빌드 완료
  • 3페이지 이후 장치 상세·수정과 전체 검색 확인
  • 순간 초과, 유지시간 충족, 히스테리시스 해제의 경보 전이 확인
  • 단절·경보·자동 복구·교정 전후의 데이터 지속성 확인
  • 115,200행 CSV 응답과 DB 무결성 확인
  • 1440·820·390px에서 콘솔 오류와 가로 넘침 없음

RESULT

계측 장면기존에 생기던 문제구축 후 처리 방식
경보 발생순간 노이즈도 설비 이상으로 반복 알림임계치·유지시간·히스테리시스를 함께 적용
통신 단절값이 없는 구간을 실제 0값으로 오해결측 구간을 비우고 단절·복구 사건을 별도로 기록
사후 분석측정값과 교정·연결 조건을 따로 찾아야 함같은 세션에서 원본 값·규칙·교정 버전·연결 이력을 조회

115,200개 측정값과 640개 경보, 여섯 종류의 상태 시나리오를 이용해 순간 초과, 장기 드리프트, 단절과 복구가 섞여도 경보 근거가 다시 재현되는지 확인했습니다.

비슷한 업무에 적용할 수 있는 부분

제조 설비는 한 사례입니다. 시험 장비, 품질 검사, 연구실 계측처럼 측정 조건과 교정 이력을 함께 남겨야 하는 환경에도 맞습니다. 실시간 화면보다 나중에도 같은 원인을 설명할 수 있는 기록이 중요한 업무를 위한 구조입니다.

본 프로젝트는 고객사 실제 업무 요건을 바탕으로 설계한 결과물이며, 보안 정책에 따라 일부 화면만 공개했습니다.

문의하기