시설 관리~
/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 모델을 적용할 수 있습니다.
/geo/model-assets에서 GLTF 파일 업로드- 시설 설정에서 렌더 모드 → Asset으로 전환
- 에셋 라이브러리에서 모델 선택 후 위치·회전·스케일 조정
공학 계산~
시설의 외피 치수·자재를 기반으로 냉난방 및 환기 용량의 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 |
등록 방법:
- Sensors 탭에서 + Add Sensor 클릭
- 역할 선택 → AoT Input 장치 선택 → 측정값 채널 선택
- Actuators 탭도 동일하게 진행
- Save 클릭
통합 뷰 (Integration)~
/api/geo/facility/<uuid>/integration 엔드포인트는 시설에 바인딩된 모든 센서·액추에이터의 현재 상태를 통합하여 반환합니다. AoT_facility 위젯의 환경 패널이 이 API를 사용합니다.
커미셔닝~
시설 장치가 실제로 통신 중인지 확인하는 진단 워크플로우입니다.
- Commissioning 탭에서 Start Check 클릭
- 시스템이 등록된 모든 센서·액추에이터에 통신 요청을 보냅니다.
- 각 장치의 응답 상태가 표시됩니다.
OK: 정상 통신TIMEOUT: 응답 없음 (배선·전원 확인 필요)ERROR: 오류 응답 (장치 설정 확인 필요)- 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 | 커미셔닝 시작 |