MQTT_SCHEMA HUB DIORAMA_TABLET - zero1ne-26/doc GitHub Wiki

λ””μ˜€λΌλ§ˆ HUB μƒνƒœ ν† ν”½ ν™œμš© ν˜„ν™© (/diorama)

μƒμœ„ λ¬Έμ„œ: Hub Β· 기쀀일 2026-10-05 Β· 계약 μ •λ³Έ: MQTT_SCHEMA-HUB 각 κΈ°κΈ° κ΅¬ν˜„ λͺ…μ„Έ Β§6 κ΅¬ν˜„ μœ„μΉ˜: appStore/tablet-fe (μ†ŒμŠ€ κ²½λ‘œλŠ” 이 μ €μž₯μ†Œ κΈ°μ€€)

μ „μ‹œμž₯ λ””μ˜€λΌλ§ˆ λͺ¨ν˜• 5쒅이 λ°œν–‰ν•˜λŠ” status 토픽을 /diorama ν•˜λ‹¨ μΉ΄λ“œμ˜ ν™”λ©΄ μ—°μΆœμ— μ–΄λ–»κ²Œ λ§€ν•‘ν•˜λŠ”μ§€ μ •λ¦¬ν•œλ‹€.


1. κ°œμš”

κΈ°κΈ° ꡬ독 ν† ν”½ μ†ŒλΉ„ μ»΄ν¬λ„ŒνŠΈ
AI Neural Tree diorama/ainueraltree/status HubStatusCard (쀑앙 AI ν—ˆλΈŒ λ…Έλ“œ)
슀마트 νŒ©ν† λ¦¬ diorama/smartfactory/status SmartFactoryCard
μˆ˜μ†Œ μΆ©μ „μ†Œ diorama/hydrogen/status ChargerCard
λ“œλ‘  μŠ€ν…Œμ΄μ…˜ diorama/dronestation/status DroneCard
μžμœ¨μ£Όν–‰ μ„Όν„° diorama/autonomouscar/+/status AutocarCard
  • 기기별 request Β· response Β· status 쀑 tablet-fe λŠ” status 만 κ΅¬λ…ν•œλ‹€. request Β· response λŠ” Orchestration μ†Œκ΄€μ΄λ‹€.
  • λ―Έμˆ˜μ‹ μ€ 정상 μƒνƒœλ‘œ κ°„μ£Όν•œλ‹€. 각 μΉ΄λ“œλŠ” λ””μžμΈ κ³ μ •κ°’(데λͺ¨ μ‹œλ‚˜λ¦¬μ˜€)으둜 ν΄λ°±ν•œλ‹€.
  • ainueraltree λŠ” μœ„ν‚€κ°€ ν˜Έν™˜μ„± μœ μ§€λ₯Ό μœ„ν•΄ λͺ…μ‹œν•œ μ² μžμ΄λ―€λ‘œ μˆ˜μ •ν•˜μ§€ μ•ŠλŠ”λ‹€.

1.1 Orchestration μ„œλ²„μ˜ 미러링 (hub_mode, 2026-10-06)

tablet-fe κ°€ μœ„ ν‘œμ˜ diorama/{device}/status λ₯Ό 직접 κ΅¬λ…ν•˜λŠ” λŒ€μ‹ , Orchestration μ„œλ²„κ°€ μ€‘κ³„ν•˜λŠ” orchestration/diorama/{device}/status λ₯Ό κ΅¬λ…ν•˜λŠ” κ²½λ‘œλ„ μžˆλ‹€ (device λŠ” μœ„ ν‘œμ™€ 동일, μžμœ¨μ£Όν–‰μ°¨λŠ” orchestration/diorama/autonomouscar/car1/status 처럼 ν•˜μœ„ 경둜 포함). μ„œλ²„ μͺ½ λ™μž‘μ€ MQTT_SCHEMA-HUB "μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ μ„œλ²„ κ΅¬ν˜„ λ©”λͺ¨"의 hub_mode ν–‰ μ°Έκ³  β€” app_settings.hub_mode κ°€ mirror(κΈ°λ³Έ)λ©΄ ν—ˆλΈŒ 원문을 κ·ΈλŒ€λ‘œ, simulate λ©΄ μ–΄λ“œλ―Όμ΄ λ°±μ˜€ν”ΌμŠ€μ— μ €μž₯ν•΄ λ‘” λͺ…령별 μƒνƒœλ‘œ λŒ€μ²΄ν•΄ 같은 토픽에 λ°œν–‰ν•œλ‹€(가상 응닡을 μ €μž₯ν•œ μž₯μΉ˜λŠ” κ·Έλ™μ•ˆ μ‹€μ œ ν—ˆλΈŒ status λ₯Ό λ„˜κΈ°μ§€ μ•ŠλŠ”λ‹€ β€” μ €μž₯ μ•ˆ ν•œ μž₯μΉ˜λŠ” μ‹€μ œ κ·ΈλŒ€λ‘œ). ν—ˆλΈŒ ν•˜λ“œμ›¨μ–΄κ°€ μ „μ‹œ ν˜„μž₯μ—μ„œ λΆˆμ•ˆμ •ν•  λ•Œ 화면이 λ©ˆμΆ”μ§€ μ•Šλ„λ‘ ν•˜κΈ° μœ„ν•œ μ „ν™˜ μŠ€μœ„μΉ˜λ‹€. νŽ˜μ΄λ‘œλ“œ λͺ¨μ–‘κ³Ό ν•„λ“œλŠ” 원본 diorama/{device}/status 와 λ™μΌν•˜λ―€λ‘œ, 이 λ¬Έμ„œμ˜ μΉ΄λ“œλ³„ λ§€ν•‘ κ·œμΉ™μ€ 두 ν† ν”½ μ–΄λŠ μͺ½μ„ κ΅¬λ…ν•˜λ“  κ·ΈλŒ€λ‘œ μ μš©λœλ‹€.


2. μΉ΄λ“œλ³„ λ§€ν•‘

κ΄„ν˜Έ μ•ˆμ€ λ―Έμˆ˜μ‹ Β·λΉˆ 값일 λ•Œμ˜ 폴백 값이닀.

2.1 AI Neural Tree β†’ HubStatusCard

ν•˜λ‹¨ μ’ŒμΈ‘μ— μƒμ‹œ λ…ΈμΆœλ˜λ©°, 쀑앙 AI ν—ˆλΈŒ λ…Έλ“œ(Figma 7486:4788)의 μŠ€νƒ€μΌμ—λ§Œ λ°˜μ˜λœλ‹€.

쑰건 μ—°μΆœ
tree_power === 'OFF' opacity-40 grayscale (μ΅œμš°μ„ )
status === 'ERROR' μ½”λŸ΄ ν…Œλ‘λ¦¬ + κΈ€λ‘œμš° (border-z1-alert)
status === 'OPERATING' ν›„κ΄‘ + animate-pulse
IDLE Β· COMPLETE Β· λ―Έμˆ˜μ‹  λ””μžμΈ κΈ°λ³Έ μŠ€νƒ€μΌ

μ£Όλ³€ λ…Έλ“œ ν™œμ„± ν‘œμ‹œμ™€ μ—°κ²°μ„ (useHubActiveNodes Β· HubConnectionLines)은 λ³Έ 토픽이 μ•„λ‹ˆλΌ μ§„ν–‰ 쀑 νƒœμŠ€ν¬μ˜ λ””λ°”μ΄μŠ€λ‘œ νŒμ •ν•œλ‹€.

2.2 슀마트 νŒ©ν† λ¦¬ β†’ SmartFactoryCard

ν•„λ“œ ν‘œμ‹œ μœ„μΉ˜ κ·œμΉ™ (폴백)
conveyor_status (μ—†μœΌλ©΄ status) λ‘œλ΄‡ μ•” μƒνƒœ 점 Β· 라벨 RUNNING Β· OPERATING β†’ Running, κ·Έ μ™Έ β†’ Stopped + νšŒμƒ‰ 점 (Running)
production_status ν˜„μž¬ 곡정 원문 ν‘œμ‹œ (ASSEMBLY)
production_count 였늘 생산 반올림, μŒμˆ˜λŠ” 0 (128 λŒ€)
progress μ§„μ²™λ₯  0~100 ν΄λž¨ν”„ (85%)

2.3 μˆ˜μ†Œ μΆ©μ „μ†Œ β†’ ChargerCard

ν•„λ“œ ν‘œμ‹œ μœ„μΉ˜ κ·œμΉ™ (폴백)
hydrogen_level μˆ˜μ†Œ μ €μž₯λŸ‰ 수치 Β· κ²Œμ΄μ§€ 0~100 ν΄λž¨ν”„ (78%)
battery_level (μ—†μœΌλ©΄ charging_level) μ°¨λŸ‰ 배터리 수치 Β· κ²Œμ΄μ§€ 0~100 ν΄λž¨ν”„ (65%)

2.4 λ“œλ‘  μŠ€ν…Œμ΄μ…˜ β†’ DroneCard

ν•„λ“œ ν‘œμ‹œ μœ„μΉ˜ κ·œμΉ™ (폴백)
station_status μš΄ν•­ μƒνƒœ (λŒ€ν˜•) 원문 (READY)

2.5 μžμœ¨μ£Όν–‰ μ„Όν„° β†’ AutocarCard

μ°¨λŸ‰ 4λŒ€κ°€ car1~car4 ν† ν”½μœΌλ‘œ κ°œλ³„ λ°œν–‰ν•˜λ©°, BFF κ°€ { vehicles: { car1, … } } 둜 합쳐 μ „λ‹¬ν•œλ‹€. μΉ΄λ“œλŠ” 이 합본을 μ§‘κ³„ν•œλ‹€. λŒ€ν‘œ μ°¨λŸ‰μ€ μƒνƒœ μš°μ„ μˆœμœ„ DRIVING > ARRIVED > STOPPED > IDLE > ERROR 둜 μ„ μ •ν•œλ‹€.

좜처 ν‘œμ‹œ μœ„μΉ˜ κ·œμΉ™ (폴백)
λŒ€ν‘œ μ°¨λŸ‰ status μ£Όν–‰ μƒνƒœ 정상 μ£Όν–‰ 쀑 Β· λͺ©μ μ§€ 도착 Β· μ •μ°¨ 쀑 Β· λŒ€κΈ° 쀑 Β· 였λ₯˜, λ―Έμ •μ˜ 값은 원문
λŒ€ν‘œ μ°¨λŸ‰ speed 속도 반올림, μŒμˆ˜λŠ” 0 (48)
λŒ€ν‘œ μ°¨λŸ‰ battery 배터리 0~100 ν΄λž¨ν”„ (76%)
λŒ€ν‘œ μ°¨λŸ‰ autopilot μ£Όν–‰ λͺ¨λ“œ false β†’ μˆ˜λ™ μ£Όν–‰, κ·Έ μ™Έ β†’ LEVEL 4
μ°¨λŸ‰ λͺ©λ‘ ν˜ΈμΆœλΆ€ν˜Έ (μ΅œλŒ€ 4) car1 β†’ CAR-01, DRIVING μ΄μ™ΈλŠ” νšŒμƒ‰ 점 (λ””μžμΈ κ³ μ • λͺ©λ‘)
μ „ μ°¨λŸ‰ traffic 쀑 μ΅œλŒ€μΉ˜ ν˜Όμž‘λ„ 문ꡬ Β· κ²Œμ΄μ§€ ν•€ LOW β†’ μ›ν™œ, NORMAL β†’ 보톡, HIGH β†’ 혼작 (보톡)

3. λ―Έμ—°κ²° ν•­λͺ©

3.1 λŒ€μ‘ ν•„λ“œκ°€ μ—†μ–΄ 고정값을 μœ μ§€ν•˜λŠ” ν•­λͺ©

  • 슀마트 νŒ©ν† λ¦¬: 였늘 λͺ©ν‘œ, 생산 속도, μ†ŒλΉ„ μ „λ ₯
  • μˆ˜μ†Œ μΆ©μ „μ†Œ: μΆ©μ „κΈ° μ‚¬μš© ν˜„ν™©(2/4), νƒ„μ†Œ μ ˆκ°λŸ‰, μ•ˆμ „ μƒνƒœ
  • λ“œλ‘  μŠ€ν…Œμ΄μ…˜: μš΄ν•­ λŒ€μˆ˜, λŒ€κΈ°Β·μΆ©μ „ μΉ©, μ‹œκ°„λŒ€λ³„ 배솑 λ§‰λŒ€, ν˜ΈμΆœλΆ€ν˜Έ
  • μžμœ¨μ£Όν–‰ μ„Όν„°: μ£Όν–‰ 거리

3.2 μˆ˜μ‹ ν•˜μ§€λ§Œ 화면에 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” ν•„λ“œ

진단 νŒ¨λ„μ—μ„œ μ›λ¬ΈμœΌλ‘œλ§Œ 확인할 수 μžˆλ‹€.

  • 곡톡: event_led
  • AI Neural Tree: event_active, connection
  • 슀마트 νŒ©ν† λ¦¬: robot_arm_status, quality_status, temperature
  • μˆ˜μ†Œ μΆ©μ „μ†Œ: station_status, charging, charging_type, temperature, pressure, eco_index
  • λ“œλ‘  μŠ€ν…Œμ΄μ…˜: drone1_status, drone2_status, delivery_type, from, to, position, progress, battery, altitude, speed
  • μžμœ¨μ£Όν–‰ μ„Όν„°: current_position, destination, progress, estimated_time, distance_remaining, climate_control