콘텐츠로 이동

시설 관리~

/geo/facility 페이지에서 온실·재배사·설비동 등 건물의 3D 모델링, 공학 계산, 센서·액추에이터 연결, 커미셔닝을 수행합니다.


화면 구성~

┌─────────────────────────────────────┐
│  시설 선택 드롭다운                   │
├───────────────┬─────────────────────┤
│  A. 3D 뷰     │  B. 환경 데이터      │
│  (Three.js)   │  실내: 온도/습도/CO₂ │
│               │  실외: 온도/풍속/일사 │
├───────────────┴─────────────────────┤
│  C. AI 조언 패널                      │
├─────────────────────────────────────┤
│  D. 설정 섹션 (외피/센서/액추에이터)  │
└─────────────────────────────────────┘

시설 등록 흐름~

/geo/design 에서 Facility 모드로 폴리곤 그리기
    시설 이름 저장
/geo/facility 에서 해당 시설 선택
  외피 설정 → 3D 미리보기 확인
  센서·액추에이터 바인딩
  커미셔닝 실행

외피 설정~

건물의 물리적 구조를 설정합니다. 이 값은 냉난방 부하 계산의 입력값이 됩니다.

구조 타입~

타입 설명
single 단동 온실 (독립 구조물)
connected 연동 온실 (복수 동이 측벽 공유)

피복 자재~

자재 코드 이름 U값 (W/m²K) 광투과율
vinyl_single 단층 비닐 6.0 85%
vinyl_double 이중 비닐 4.0 78%
po_film PO 필름 6.5 85%
polycarbonate 폴리카보네이트 3.0 78%
glass 유리 5.8 85%
air_cushion 에어 쿠션 2.8 75%

베이 설정~

온실을 구성하는 단위 구획(베이)의 치수를 입력합니다.

  • 베이 수: 연동 온실의 경우 연결된 동 수
  • 베이 폭 (m): 단동 또는 각 연동 폭
  • 길이 (m): 동의 길이
  • 처마 높이 (m): 측벽 최하단~처마 높이
  • 마루 높이 (m): 처마에서 용마루까지 높이

3D 미리보기~

외피 설정을 저장하면 A. 3D 뷰 패널에 Three.js로 렌더링된 건물 모델이 표시됩니다.

  • 마우스 왼쪽 버튼 드래그: 회전
  • 마우스 오른쪽 버튼 드래그: 이동
  • 스크롤: 줌

3D 에셋 모드~

파라메트릭 자동 생성 대신 직접 제작한 GLTF 모델을 적용할 수 있습니다.

  1. /geo/model-assets에서 GLTF 파일 업로드
  2. 시설 설정에서 렌더 모드 → Asset으로 전환
  3. 에셋 라이브러리에서 모델 선택 후 위치·회전·스케일 조정

공학 계산~

시설의 외피 치수·자재를 기반으로 냉난방 및 환기 용량의 1차 참고치를 계산합니다 (±5~10% 오차, 기계설비 견적 단계 참고용).

Compute 버튼을 클릭하면 아래 항목이 계산됩니다.

계산 항목 단위 설명
난방 부하 kW 외피 관류 손실 + 침기 손실
냉방 부하 kW 일사 부하 + 작물 증산 부하
강제 환기량 m³/h 필요 ACH 기준 팬 용량
자연 환기량 m³/h 측창 + 천창 자연환기 가능량

자연환기 풍압 시뮬레이션~

/api/geo/facility/<uuid>/wind 엔드포인트를 통해 건물 형상과 풍향·풍속을 입력받아 환기 성능을 시뮬레이션합니다.


센서·액추에이터 바인딩~

시설 내 AoT 장치를 역할에 맞게 연결합니다.

센서 역할~

역할 권장 측정값
실내 온도 Temperature (°C)
실내 습도 Humidity (%RH)
실내 CO₂ CO2 (ppm)
토양 온도 Soil Temperature
토양 수분 Soil Moisture

액추에이터 역할~

역할 출력 타입
난방기 On/Off Relay
환풍팬 On/Off 또는 PWM
차광막 On/Off Relay
관수 펌프 On/Off Relay
CO₂ 공급기 On/Off Relay

등록 방법:

  1. Sensors 탭에서 + Add Sensor 클릭
  2. 역할 선택 → AoT Input 장치 선택 → 측정값 채널 선택
  3. Actuators 탭도 동일하게 진행
  4. Save 클릭

통합 뷰 (Integration)~

/api/geo/facility/<uuid>/integration 엔드포인트는 시설에 바인딩된 모든 센서·액추에이터의 현재 상태를 통합하여 반환합니다. AoT_facility 위젯의 환경 패널이 이 API를 사용합니다.


커미셔닝~

시설 장치가 실제로 통신 중인지 확인하는 진단 워크플로우입니다.

  1. Commissioning 탭에서 Start Check 클릭
  2. 시스템이 등록된 모든 센서·액추에이터에 통신 요청을 보냅니다.
  3. 각 장치의 응답 상태가 표시됩니다.
  4. OK: 정상 통신
  5. TIMEOUT: 응답 없음 (배선·전원 확인 필요)
  6. ERROR: 오류 응답 (장치 설정 확인 필요)
  7. Verdict 버튼으로 개별 결과를 승인/보류 처리합니다.

AI 조언 패널~

바인딩된 센서 데이터를 AI가 분석하여 이상 징후나 운영 개선 사항을 제안합니다.

  • urgency 색상: 빨간(즉시 조치) / 주황(주의) / 초록(정상)
  • 조언 내용은 학습 데이터가 축적될수록 정확도가 향상됩니다.

관련 API~

엔드포인트 설명
GET /api/geo/facility/list 시설 목록
GET /api/geo/facility/<uuid> 시설 상세 조회
POST /api/geo/facility 시설 생성/수정
POST /api/geo/facility/compute 용량 계산 미리보기
GET /api/geo/facility/<uuid>/integration 통합 상태 조회
GET /api/geo/facility/<uuid>/wind 환기 시뮬레이션
GET /api/geo/facility/<uuid>/runtime 실시간 런타임 상태
POST /api/geo/facility/<uuid>/apply 설정 적용
POST /api/geo/facility/<uuid>/commissioning/start 커미셔닝 시작

관련 페이지~