콘텐츠로 이동

3. 시스템 구성

데이터는 센서 노드 → 게이트웨이 → 서버 → 위험도 엔진 → 웹 대시보드 순으로 한 방향으로 흐른다.

flowchart TD
    N1["<b>센서 노드</b><br/>ESP32 + LoRa<br/>강우·토양 수분·기울기·온습도·연기/CO"]
    GW["<b>게이트웨이</b><br/>LoRa 수신·검증 → JSON 변환"]
    subgraph backend["서버"]
        direction LR
        SV["<b>API 서버 + DB</b><br/>측정값·노드 정보 저장<br/>조회 API"]
        RE["<b>위험도 엔진</b><br/>산불·산사태 지수 0~100<br/>4단계 등급·즉시 경보"]
    end
    WEB["<b>웹 대시보드</b><br/>위험 지도·노드 상세·경보 목록"]
    OP(["관제 담당자"])

    N1 -- "LoRa 920MHz" --> GW
    GW -- "Wi-Fi · HTTP POST" --> SV
    SV -- "측정값" --> RE
    RE -- "지수·등급·경보" --> SV
    SV -- "조회 API" --> WEB
    WEB -- "위험 지역 확인 후 대응" --> OP

    classDef core stroke-width:3px;
    class RE core;

노드는 LoRa로만 통신하고, 인터넷 연결은 게이트웨이 한 곳에서만 필요하다. 판단 로직은 서버 쪽 위험도 엔진에 모여 있어 노드 펌웨어를 바꾸지 않고 기준을 조정할 수 있다.

구성요소별 역할

구성요소 역할 담당 관련 요구사항
노드 펌웨어 센서 측정, LoRa 송신, 이벤트 즉시 송신 고희경 FR-N01~N05
게이트웨이 LoRa 수신, 패킷 검증, 서버 전달 임동섭 FR-G01~G03
서버 데이터 저장, 노드 관리, 조회 API 임동섭 FR-S01~S04
위험도 엔진 산불·산사태 지수, 등급, 즉시 경보 임동섭 · 김태호 FR-R01~R05
웹 대시보드 위험 지도, 노드 상세, 경보 표시 조연우 · 임동섭 FR-W01~W10