f29dc7c(배선/그림) + 01770e2(소개서). base64 그림 사본 드리프트 교훈 명시. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015Dj4n17ZvGAhga6D4pNRjn
70 lines
5.6 KiB
Markdown
70 lines
5.6 KiB
Markdown
# 프로젝트 진행 INDEX
|
|
|
|
작업 단락(커밋·빌드·배포·결정) 완료 기록. 완료 결과만.
|
|
|
|
## 2026-07-20
|
|
|
|
- **배선 핀 정정·리포트 그림 재생성·프로젝트 소개서** (feat/pi-c-sensor3-leak-node)
|
|
- `f29dc7c` docs(wiring): 누수 실제 사용핀 **1(3V3)·9(GND)·11(GPIO17)** 로 정정(GND Pin 6→9,
|
|
`WIRING.html` §2/§3/§4/범례). 리포트 임베드 base64 SVG 재생성 — [그림 3-1a] combined→
|
|
**센서 1(누수 단독) 40핀 연결 현황(1/9/11만)**, [그림 3-1b] 3선→**2선 회로**,
|
|
[그림 3-3b] SHT30 외부 풀업→**모듈 4선 직결**. 브라우저 렌더 겹침 0.
|
|
- `01770e2` docs: **프로젝트 소개서**(`docs/시스템_소개서-v2606-20260719.html`) — 시스템 흐름
|
|
(노드→서버→SMS·대시보드), SMS 발송 시점(14종 조건·수신 계층 현장/전역/야간2차·쿨다운),
|
|
대시보드 구성(히어로·KPI6·탭5), 운영 임계 요약.
|
|
- 교훈: 리포트 그림은 WIRING.html SVG의 **base64 별도 사본** — 리포트 텍스트만 고치면
|
|
그림은 안 바뀐다. 소스 수정 후 그림 재생성·재임베드 필요.
|
|
|
|
## 2026-07-19
|
|
|
|
- **미커밋 노드 통합 작업 정리 + 커밋** (feat/pi-c-sensor3-leak-node)
|
|
- `86960a8` test(threshold): 결로 판정 단언 운영설정 독립 가드 (테스트 스위트 RED→green)
|
|
- `ec78be0` feat(pms7003): 누수 노드 미세먼지(PM2.5/PM10) 통합 — Pi 노드+서버 수집+SQL+마이그레이션
|
|
- `42a6ee4` feat(display): Zero 2 W ST7789 상태 디스플레이 노드 (렌더 11종 선검증)
|
|
- `6f8bf94` feat(dashboard): v2 재테마 + status_summary API + 미세먼지 카드
|
|
- `90b93f8` chore(deploy+docs): 번들 생성기·하드닝·설계문서
|
|
- `f5313a6` chore(gitignore): dist/ 배포판 zip 차단
|
|
- 테스트: 9 run / 0 skip / **PASS**. secret 유출 없음(config_local.py·config.local.php gitignore 확인).
|
|
|
|
- **배포판 빌드 (서버 번들)**
|
|
- 산출물: `dist/leak-sms-server-v2606-20260719.zip` (VERSION=v2606, 40파일, 166KB)
|
|
- API_KEY 보존: prefix `bbf737d8…` 전/후 동일 — 배포노드 orphan 없음
|
|
- 서버 번들 PHP 전수 `php -l` 통과. `status_summary.php`·`dash-v2.css` 반영. schema.sql 멱등+pms7003 컬럼 포함.
|
|
- 배포 방식: **수동(체크리스트)** · DB **초기화 후 새 설치** 결정
|
|
- 체크리스트: `dist/DEPLOY-CHECKLIST-server-v2606.md`
|
|
|
|
- **배포 setup.sh 위치-독립화 (flatten 제거)** — `3fda1f2`
|
|
- systemd 유닛 `/home/pi/<sub>` 경로를 설치 시 `$BASE=$(pwd)` 로 sed 치환 → 번들 폴더를 이름
|
|
그대로 /home/pi 아래 어디든(USB 통째 복사) 두고 실행 가능. flatten 단계 삭제.
|
|
- 부수 버그 수정: zero2w 유닛 `/home/pi/display` 하드코딩이 실제 설치경로와 불일치(서비스
|
|
기동 실패)하던 것 해소.
|
|
- 검증: BASE 시뮬레이션으로 유닛 경로 정합 확인, 4개 번들 setup.sh 전부 BASE 주입,
|
|
88개 스크립트 CRLF/BOM 0(전부 LF).
|
|
- 산출물: `dist/leak-sms-pi-nodes-v2606-20260719.zip` (4개 Pi 번들, 127파일, 406KB)
|
|
|
|
- 잔여 작업(운영):
|
|
- [ ] cafe24 서버 업로드 + DB 초기화/schema.sql (운영자 수동 — 체크리스트 참조)
|
|
- [ ] 노드 4종 배포 (USB: 폴더째 /home/pi 복사 → `cd /home/pi/<folder> && bash setup.sh`)
|
|
- [ ] `feat/pi-c-sensor3-leak-node` push / PR
|
|
- [ ] `1.png`·`2.png` (repo 루트 스트레이 스크린샷) 정리 결정
|
|
|
|
- **센서 형태·내용 보고서 (납품 HTML)**
|
|
- 산출물: `docs/센서_형태_내용_보고서-v2606-20260719.html` (자기완결 단일 파일, 125KB)
|
|
- 내용: 누수(e-con 5C-08/GPIO17)·SHT30(I2C)·PMS7003(UART)·카메라(CSI)·디스플레이(ST7789V/SPI)
|
|
형태·인터페이스·핀·서버 임계값 + 노드 구성(id1/2/3). 배선도 6종(핀맵+회로도) base64 SVG 임베드.
|
|
- 소스: WIRING.html 인라인 SVG 6종 추출 → xmlns 주입·`→` 엔티티 정정·클래스 CSS를
|
|
presentation 속성으로 인라인화(주석 스트립 포함)·viewBox 아웃워드 패딩.
|
|
- 검증: 브라우저 실렌더 6종 전부 정상(레일 회색·사용핀 색상·라벨 판독), XML well-formed,
|
|
수평 오버플로 없음. 무관 대시보드 PNG(1·2.png) 미포함 확인.
|
|
|
|
- **화재 전환·SMS 단문화·배선도 정정** (feat/pi-c-sensor3-leak-node)
|
|
- `2046b2f` docs(wiring): 누수 저항식 2선 프로브(전극 A→3V3, 전극 B→GPIO17; 10MΩ 풀다운=보드 부품)·
|
|
SHT30 모듈 4선 직결(외부 풀업 제거)로 배선도 §4 + 납품 리포트 정정. 브라우저 렌더 텍스트/선 겹침 0.
|
|
- `f7fbeac` feat: PM 급상승 → **화재의심** 전환. 서버실/항온항습 화재 프록시(여과·양압 평상 PM≈0).
|
|
- 임계 하향 75/150 → **35/75**(연기 조기감지), SMS 태그 `[미세먼지경보]`→`[화재의심]`.
|
|
- SMS 단문화: 전 본문 EUC-KR ≤90B(관리주체 제거·날짜 `m-d H:i`·태그+위치 1줄). 실측 45~70B → 단문 절단 해소.
|
|
- 센서고착 검출 기본 비활성(`STUCK_DETECT_ENABLED=false`): 항온항습 문서고 평탄값 오탐 차단.
|
|
- 대시보드 라벨 통일(경보=화재의심, PM 측정=화재감시). `metric_status`(high_pm25/10) 코드·값·판정 불변 — 표시단만.
|
|
- 결정: PMS7003 = **화재 보조 조기징후**(광학 먼지센서, 인증 화재감지기 아님 — 연기/열 감지기 병행 권장).
|
|
- 검증: 회귀 스위트 **PASS(9 run/0 fail)**, 편집 PHP `php -l` 통과.
|
|
- 잔여(운영): `php/` 트리 cafe24 업로드 · 배선 HTML Pi 번들 재생성 · 배포 후 대시보드 브라우저 확인.
|