70e8c1a62a273e6cbed8f3ece575bb8ec0a6d5d6
Control
팬 제어, 시스템 모니터링, WiFi 제어, WakeLock, Web Push 알림을 제공하는 PHP 기반 단일 관리 패널입니다.
주요 기능
- 로그인 후 팬, 센서, notice, WiFi, WakeLock, Push 구독 상태를 관리합니다.
- 백그라운드 수집과 팬 정책 적용으로 현재 상태를 유지합니다.
- WebSocket으로 상태를 갱신하고, 연결 실패 시 HTTP fallback을 사용합니다.
- Push 구독 등록, 자동 복구, notice 기반 알림 발송을 처리합니다.
- CPU 온도, RP1 온도, 팬 RPM, 팬 효율, CPU 전력, 배터리 상태를 차트로 표시합니다.
- dmesg, 프로세스 CPU/메모리 후보, notice history를 한 화면에서 확인합니다.
주요 API
public/api.php?action=statuspublic/api.php?action=collectpublic/api.php?action=fanpublic/api.php?action=wifipublic/api.php?action=push_devicespublic/api.php?action=dmesgpublic/api.php?action=delete_push_endpoint
구성
public/index.php: 관리 화면public/api.php: 상태 조회와 조작 APIconfig/config.php: DB, 인증, CSRF, Push, shell 실행 공통 함수config/vapid.php: 외부 secret 기반 VAPID 설정 bridgeapply_policy.php: CLI/cron 팬 정책 적용bin/control_ws.php: WebSocket 서버
데이터/저장소
control_state: 팬 모드와 PWM 상태sensor_logs: 온도, RPM, PWM, 배터리, load, memory, disk, uptimesystem_notice_state: notice 활성 상태와 기준값push_subscriptions: Web Push 구독 정보
Secret
실행 secret은 /home/seo/secret/control.php에서 로드합니다. 이 파일은 저장소에 포함하지 않습니다.
앱 비밀번호, DB 설정, VAPID key는 외부 secret으로 유지합니다.
운영 체크포인트
- 센서 수집 주기와 DB 증가량을 확인합니다.
- 하드웨어 또는 OS 변경 후 fan sysfs 경로를 확인합니다.
- VAPID key와 앱 비밀번호는 저장소 밖에서 관리합니다.
- WebSocket 장기 실행 중 DB 연결이 끊길 수 있으므로 reconnect 동작과 로그를 확인합니다.
Description
Languages
PHP
69%
JavaScript
27.5%
CSS
3.5%