No description
Find a file
cw2007 f7fbeacbdd feat: PM 급상승을 화재의심으로 전환 + SMS 단문화 + 센서고착 검출 비활성
서버실/항온항습: 여과·양압이라 평상 PM≈0 → PM 급상승을 화재 조기징후로 본다.
- 임계 하향: METRIC_PM25_HIGH 75→35, METRIC_PM10_HIGH 150→75 (연기 조기감지).
- SMS 태그 [미세먼지경보] → [화재의심]. 대시보드 라벨 통일(경보=화재의심, PM 측정=화재감시).
  metric_status(high_pm25/10) 코드·값·판정 로직 불변 — 표시단만 변경.
- SMS 단문화: 전 본문을 EUC-KR 90B 이내로 축약(관리주체 제거, 날짜 m-d H:i, 태그+위치 1줄).
  실측 45~70B ≤ 90B → 게이트웨이(Cafe24 smsType=S) 단문 절단 해소.
- 센서고착(live-but-stuck) 검출 기본 비활성(STUCK_DETECT_ENABLED=false):
  항온항습 문서고는 온습도 원래 평탄 → 평탄값을 고착으로 오탐하던 [센서고착] 문자 차단.
- 테스트: 태그·기본임계 단언 갱신. 회귀 스위트 PASS(9 run/0 fail), php -l 통과.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Dj4n17ZvGAhga6D4pNRjn
2026-07-19 23:34:57 +09:00
.claude docs: 문서 현행화(leak_ 접두사·경로 스크럽) + 코드 투어 + settings deny 수정 2026-07-02 18:52:15 +09:00
.tours docs: 문서 현행화(leak_ 접두사·경로 스크럽) + 코드 투어 + settings deny 수정 2026-07-02 18:52:15 +09:00
docs docs(wiring): 누수 저항식 2선 프로브·SHT30 모듈 직결로 배선도 정정 2026-07-19 23:34:27 +09:00
firmware docs: 문서 현행화(leak_ 접두사·경로 스크럽) + 코드 투어 + settings deny 수정 2026-07-02 18:52:15 +09:00
P4422-2 feat(sht30): 벤더 예제(P4422-2) 기반 단발 측정 명령 0x2400 전환 2026-07-10 10:42:10 +09:00
php feat: PM 급상승을 화재의심으로 전환 + SMS 단문화 + 센서고착 검출 비활성 2026-07-19 23:34:57 +09:00
raspberry_pi4 docs(wiring): 누수 저항식 2선 프로브·SHT30 모듈 직결로 배선도 정정 2026-07-19 23:34:27 +09:00
raspberry_pi4_pms7003 feat(pms7003): 누수 노드에 미세먼지(PM2.5/PM10) 통합 2026-07-19 10:46:33 +09:00
raspberry_pi4_sht30 docs(wiring): 누수 저항식 2선 프로브·SHT30 모듈 직결로 배선도 정정 2026-07-19 23:34:27 +09:00
raspberry_pi_zero2w_display feat(display): Zero 2 W ST7789 상태 디스플레이 노드 2026-07-19 10:47:00 +09:00
review chore(deploy+docs): 노드 번들 생성기·하드닝 갱신 + 설계문서 2026-07-19 10:48:09 +09:00
scripts refactor(db)!: DB 테이블 전체 leak_ 접두사 통일 + 구 마이그레이션 폐기 2026-07-02 18:50:56 +09:00
sql feat(pms7003): 누수 노드에 미세먼지(PM2.5/PM10) 통합 2026-07-19 10:46:33 +09:00
tests feat: PM 급상승을 화재의심으로 전환 + SMS 단문화 + 센서고착 검출 비활성 2026-07-19 23:34:57 +09:00
tools fix(deploy): 노드/디스플레이 setup.sh 위치-독립화 — flatten 불필요 2026-07-19 13:37:20 +09:00
(20260518)_IoT_기반_모니터링_체계_구축을_위한_보안대책서.hwp chore: import codebase with security hardening 2026-06-20 09:37:40 +09:00
(Y수정)_(20260520)_IoT_기반_모니터링_체계_구축을_위한_보안대책서.hwp chore: import codebase with security hardening 2026-06-20 09:37:40 +09:00
(Y수정)_(20260528)_IoT_기반_모니터링_체계_구축을_위한_보안대책서.hwp chore: import codebase with security hardening 2026-06-20 09:37:40 +09:00
.gitignore chore(gitignore): dist/ 배포판 zip 커밋 차단 (API 키 포함) 2026-07-19 13:16:43 +09:00
CHANGELOG.md feat: RPi4 누수+온습도 2-모듈 단일 서버 통합 + 보안 하드닝 2026-06-23 16:21:11 +09:00
PR_BODY.md docs: PR 본문 추가 (PR_BODY.md) 2026-06-24 09:01:56 +09:00
README.md docs: 문서 현행화(leak_ 접두사·경로 스크럽) + 코드 투어 + settings deny 수정 2026-07-02 18:52:15 +09:00
report_leak_detection_system.md feat: RPi4 누수+온습도 2-모듈 단일 서버 통합 + 보안 하드닝 2026-06-23 16:21:11 +09:00
run_tests.sh feat(pms7003): 누수 노드에 미세먼지(PM2.5/PM10) 통합 2026-07-19 10:46:33 +09:00
SYSTEM_OVERVIEW.md docs: 문서 현행화(leak_ 접두사·경로 스크럽) + 코드 투어 + settings deny 수정 2026-07-02 18:52:15 +09:00
VERSION chore: import codebase with security hardening 2026-06-20 09:37:40 +09:00

서버실 통합 모니터링 시스템 (누수 + 온습도)

Raspberry Pi 4 센서 모듈 2대 — 1번: 누수 감지 + 카메라, 2번: SHT30 온습도 — 와 선택적 3번째 노드(신규 지점, sensor_id 3)가 동일한 cafe24 PHP 서버로 HTTPS 보고 (raw-body 서명 X-Signature = HMAC-SHA256(API_KEY, 요청본문))를 하고, 서버가 MySQL 저장, 임계/누수 판정, SMS 발송, 통합 대시보드(dashboard.php) 표시를 담당하는 단일 시스템입니다.

모듈 구성

폴더 역할 sensor_id
raspberry_pi4/ 누수 감지(e-con 5C-08) + Pi Camera 촬영·사진 업로드 1 (신규 지점 노드는 3)
raspberry_pi4_sht30/ SHT30 온습도 측정(I2C) 2
php/ cafe24 서버 — API 수신, DB 저장, 판정/SMS, 대시보드 —
sql/ DB 스키마(schema_sht30.sql = 신규 설치 완결) + 마이그레이션 —
firmware/ STM32F407 마이그레이션 트랙(별도) — RPi4 배포와 무관 —

문서