본문으로 건너뛰기
블로그›2026. 8. 21.

작업환경 센서 데이터를 HTTP API로 연결하는 운영 설계 기준

작업환경 센서 데이터를 HTTP API로 연결하는 운영 설계 기준

먼저 데이터의 역할을 정해요

작업환경 센서값은 숫자를 모으는 데서 끝나지 않아요. 값이 언제 측정됐고 어느 구역에서 만들어졌는지, 담당자가 다음에 무엇을 확인할지까지 이어져야 운영 기록이 돼요. 한국산업안전보건연구원은 센서·직독식장치를 작업환경 모니터링에 적용할 때 센서 성능, 데이터 로깅 빈도와 측정 절차를 함께 검토해야 한다고 설명해요.

그래서 첫 설계 질문은 ‘어떤 값을 HTTP API로 보낼까’보다 ‘어떤 필드가 어떤 판단을 돕나’에 가까워요. 산소나 유해가스처럼 작업환경을 설명하는 센서값이라면 측정값, 단위, 구역 ID, measuredAt, receivedAt을 한 묶음으로 관리하는 편이 좋아요. 이 글의 센서명과 주소는 설명을 위한 예시이며 실제 센서 사양, PLC 설정과 현장 field address map을 대조해 확정해야 해요.

센서에서 운영 서버까지

현장에서는 센서가 값을 만들고 PLC 또는 수집 장치가 주소를 읽어요. 그 뒤 HTTP API는 운영 서버가 정한 endpoint와 요청·응답 필드를 계약으로 맞춰 전달하는 경로예요. MQTT는 Topic 구독으로 여러 소비자에게 실시간 값을 나눌 때 비교하고, MySQL은 외부 스키마에 기간별 기록을 쌓아 검색할 때 비교해요. Firebase는 여러 화면에 현재 상태를 공유할 때 살펴볼 수 있어요.

이번 주제의 deliveryTarget은 HTTP API예요. 그렇다고 다른 방식이 불필요하다는 뜻은 아니에요. 현재값을 여러 시스템에 동시에 전달하면 MQTT를, 기간별 분석과 보존이 중요하면 외부 MySQL을 함께 비교하고, 화면 공유가 중심이면 Firebase의 필드 계약을 나란히 검토하면 돼요.

EASY-LINK 공식 제품 이미지

EASY-LINK가 확인된 현장 필드를 목적지로 연결하는 역할을 보여주는 공식 이미지예요.

EASY LOGGER 공식 제품 이미지

EASY LOGGER가 저장 이력과 전달 상태를 운영하는 공식 이미지예요.

EASY-LINK는 확인된 LS PLC(LS XGT), Mitsubishi MC, Modbus RTU/TCP 수집과 HTTP API 전달을 맡는 산업용 IoT 게이트웨이예요. 설비 데이터 수집은 센서·PLC 필드를 주소 맵과 대조해 이어 봐요. 한 장치의 센서 필드를 정해진 API로 전달하고 연결 상태만 확인한다면 EASY-LINK 중심으로 시작할 수 있어요. 여러 구역의 저장 이력, 전달 상태와 대시보드를 함께 운영할 때는 EASY LOGGER를 더하는 편이 좋아요.

HTTP API 계약을 작게 만들어요

예시로 GASPLC01의 WORK_GAS_PV 필드가 PLC 주소 D0200과 대응한다고 가정해 볼게요. 이름과 주소는 샘플이므로 실제 field address map과 대조해야 해요. API 계약에는 값의 단위, 구역 식별자와 두 시각을 포함하고, 서버 응답을 받은 시각도 별도로 남기는 게 좋아요.

{
  "device_id": "GASPLC01",
  "field": "WORK_GAS_PV",
  "value": 0.12,
  "unit": "ppm",
  "zone_id": "zone-a",
  "measuredAt": "2026-08-21T06:00:00Z"
}

위 payload의 WORK_GAS_PV는 예시 PLC 주소 D0200에서 읽은 값과 대응해요. 실제 주소와 배율은 현장 주소 맵으로 확정하고, Automatic Endpoint Preview에서 endpoint와 필드명을 확인한 뒤 Runtime Status에서 마지막 전송 상태를 봐요. Payload Log에서는 보낸 값과 응답 시각을 비교해 측정 지연과 API 지연을 나눠 기록하면 돼요.

산업 데이터 보안 관점에서도 읽기 필드와 쓰기 주소를 분리해 승인 범위를 먼저 적어요. 아래 callback 경로와 설정명은 예시이며 실제 주소 맵과 운영 서버 계약을 대조해야 해요.

{
  "device_id": "GASPLC01",
  "config_name": "WORK_GAS_LIMIT",
  "write_callback_url": "http://LOGGER_HOST:8000/api/write/GASPLC01/WORK_GAS_LIMIT"
}

WORK_GAS_LIMIT는 예시 설정명이고 PLC의 승인된 테스트 주소와 대응하는지 확인해야 해요. Automatic Endpoint Preview에서 callback endpoint를, Runtime Status에서 요청 결과를, Payload Log에서 처리 시각과 응답을 확인해요.

WRITE CALLBACK을 호출할 때는 테스트 주소만 사용해요.

  • 테스트 주소만 사용합니다.
  • 최소 권한만 부여합니다.
  • 허용 주소 범위를 제한합니다.
  • PLC 인터록을 확인합니다.
  • 수동 복구 절차를 준비합니다.

EASY LOGGER HTTP API 예제

GASPLC01의 WORK_GAS_PV가 예시 PLC 주소 D0200의 센서 필드와 매핑된다고 가정해요. 이 PLC명, 설정명, 주소는 실제 field address map과 대조해야 하는 샘플이에요. EASY LOGGER의 통합 운영 흐름에서는 Automatic Endpoint Preview에서 endpoint 계약을 확인하고, Runtime Status에서 전달 상태를 본 뒤 Payload Log에서 같은 측정값의 송수신 시각을 맞춰 봐요.

POST ENDPOINT: http://LOGGER_HOST:8000/api/ingest/GASPLC01/WORK_GAS_PV
CALLBACK ENDPOINT: http://LOGGER_HOST:8000/api/write/GASPLC01/WORK_GAS_LIMIT

D0200에서 읽은 WORK_GAS_PV 값이 POST body의 value와 대응하고, WORK_GAS_LIMIT은 별도 승인된 쓰기 주소와 대응해요. endpoint 형식과 필드는 화면에 표시된 설정, 운영 서버 문서와 현장 주소 맵을 함께 확인해 확정해야 해요.

{"profile":"work","plc_name":"GASPLC01","config_name":"WORK_GAS_PV","field_address":"D0200","write_callback_url":"http://LOGGER_HOST:8000/api/write/GASPLC01/WORK_GAS_LIMIT"}

POST JSON은 value, unit, zone_id, measuredAt를 담고 write_callback_url은 WRITE 필드예요. Automatic Endpoint Preview와 Runtime Status의 LAST POST·LAST WRITE, API Payload Log의 Timestamp·Endpoint·Json을 확인해요.

WRITE CALLBACK을 호출할 때는 테스트 주소만 사용해요.

  • 테스트 주소만 사용합니다.
  • 최소 권한만 부여합니다.
  • 허용 주소 범위를 제한합니다.
  • PLC 인터록을 확인합니다.
  • 수동 복구 절차를 준비합니다.

EASY LOGGER는 이 과정에서 통합 수집, 저장 이력, 전달 상태와 대시보드 운영을 맡아요. 대시보드가 있다는 이유만으로 PLC 제어를 대신한다고 보지는 않아요. 반대로 EASY-LINK는 현장 필드를 연결하는 계층이라서 여러 구역의 이력 비교와 전달 상태를 한 화면에서 운영하려면 EASY LOGGER가 더 유용해요. 제품 범위는 EASY 제품 안내와 장비별 설정을 확인하는 매뉴얼 자료실에서 현재 버전과 대조해 보세요.

상위 시스템과 단계적 도입

MES·CIM 같은 상위 시스템은 HTTP API, MQTT 또는 DB 인터페이스로 필드 계약을 협의하는 범위에서 연결해요. 확인되지 않은 전용 커넥터를 전제로 하지 않고, 센서 필드의 이름·단위·시각·구역 ID가 상위 화면에서도 같은 뜻인지 먼저 맞추는 게 핵심이에요. 작업환경 센서 적용의 절차와 측정 신뢰성을 더 살펴보고 싶다면 센서 기반 작업환경 모니터링 연구의 데이터 확인 관점도 참고할 수 있어요.

처음에는 한 대의 센서와 한 구역에서 현장 표시값, PLC 원시값, HTTP API 요청 body와 서버 응답 시각을 맞춰요. 다음에는 한 공정의 두 번째 구역을 추가하고 zone ID가 섞이지 않는지 봐요. 그 뒤 필요한 범위만 단계적으로 넓히면서 EASY LOGGER의 저장 이력과 전달 상태가 같은 사건을 가리키는지 확인하면 돼요.

현장 연결 가능 여부를 확인하고 싶다면 센서 모델, PLC 주소 맵, 단위와 배율, API endpoint, 응답 형식과 필요한 구역 목록을 준비해 상담이나 문의로 확인해 보세요. 작은 범위에서 필드 계약을 맞추면 HTTP API와 다른 전달 경로 중 무엇을 추가할지도 차분하게 결정할 수 있어요.

관련 글

← 목록으로 돌아가기