Skip to content

91. 문제 해결 체크리스트

MQTTX에 메시지가 보이지 않음

먼저 확인할 것:

  • 브로커가 broker.emqx.io:1883인지 확인합니다.
  • 구독 토픽의 {uniq-user-id}가 시뮬레이터 설정과 같은지 확인합니다.
  • factorydt/factory를 혼동하지 않았는지 확인합니다.
  • 시뮬레이터가 실제로 실행 중인지 확인합니다.

Node-RED가 메시지를 받지 못함

먼저 확인할 것:

  • Node-RED에서 배포하기를 눌렀는지 확인합니다.
  • MQTT In 노드의 topic에 예전 사용자 ID가 남아 있지 않은지 확인합니다.
  • 브로커 설정이 broker.emqx.io인지 확인합니다.
  • MQTT 노드 상태가 connected인지 확인합니다.

에어컨이 켜지지 않음

먼저 확인할 것:

  • 룰엔진이 control을 kiot/{user}/factory/room-01/actuator/aircon/control로 발행하는지 확인합니다.
  • control 토픽에 dt가 들어가 있으면 잘못된 경로입니다.
  • 시뮬레이터가 aircon control 토픽을 구독 중인지 확인합니다.
  • 시뮬레이터 로그에 제어 메시지 수신 기록이 있는지 확인합니다.

컨베이어벨트가 켜지지 않음

먼저 확인할 것:

  • control payload의 power"on"인지 확인합니다.
  • 토픽 경로가 factory/.../conveyor-belt/control인지 확인합니다.
  • overheatMode만 켜고 power를 켜지 않은 것은 아닌지 확인합니다.

시트1이 stale 데이터를 계속 발행함

원인:

  • 시뮬레이터가 꺼졌는데 마지막 상태를 10초마다 계속 재발행하는 집계 로직일 수 있습니다.

권장:

  • 새 raw 메시지가 들어온 경우에만 집계 발행 타이머가 의미 있게 동작하도록 조정합니다.
  • 오래된 데이터는 룰엔진에서 stale-state로 판단하고 제어를 보류합니다.

AI Agent가 이상한 권고를 함

먼저 확인할 것:

  • 시트3 현장 분석가 메시지가 과도하게 장황하지 않은지 확인합니다.
  • 정상 상태에서 “향후 주의” 표현이 “즉시 조치”로 해석되지 않는지 확인합니다.
  • 시트4가 정상 상태에서 ops/recommendation을 남발하지 않는지 확인합니다.
  • mock과 실제 LLM 응답을 구분해서 봅니다.

루프처럼 메시지가 계속 발행됨

가능 원인:

  • 시트4가 recommend-to-monitor 같은 메시지를 계속 발행합니다.
  • 룰엔진이 권고를 받을 때마다 rule/result를 발행하고, 시트3이 다시 반응합니다.
  • 시뮬레이터가 꺼져도 시트1이 오래된 state/current를 계속 발행합니다.

권장:

  • 정상 상태에서는 운영 권고를 발행하지 않습니다.
  • 오래된 데이터는 시트1 또는 룰엔진에서 보수적으로 차단합니다.
  • 시트3과 시트4는 필요한 상태 변화에만 반응하도록 제한합니다.

Mermaid 다이어그램이 작게 보임

이 사이트의 Mermaid 다이어그램은 기본적으로 세로형 TB 구조를 사용합니다. 다이어그램이 작게 보이면 클릭해서 확대 화면으로 볼 수 있습니다.

그래도 복잡하면 다이어그램을 더 작은 단위로 나누고, 표를 함께 사용합니다.

API Key가 노출될까 걱정됨

원칙:

  • API Key는 공개 문서에 쓰지 않습니다.
  • Node-RED JSON에 직접 넣지 않습니다.
  • Git 저장소에 커밋하지 않습니다.

권장 방식:

  • 로컬 환경변수
  • Node-RED credential 설정
  • 로컬 API 프록시 또는 로컬 LLM

마지막 점검 순서

  1. MQTTX에서 raw factory/#가 보이는지 확인합니다.
  2. MQTTX에서 dt/factory/#가 보이는지 확인합니다.
  3. state/current가 최신 상태인지 확인합니다.
  4. rule/result가 발행되는지 확인합니다.
  5. control 토픽이 실제 factory 영역으로 발행되는지 확인합니다.
  6. AI 메시지가 필요한 상황에서만 발행되는지 확인합니다.

WITHUS AIoT Digital Twin Ops Handbook