[아두이노] 슈퍼커패시터 UPS + Raspberry Pi + Arduino 자동 복구 시스템 아이디어
시스템 개요 이 시스템의 목적은 다음 두 가지입니다. 정전 시 Raspberry Pi를 안전하게 종료하여 데이터 손상을 방지 전원 복구 후 Raspberry Pi가 자동으로 다시 부팅되지 않는 경우 Arduino가 강제로 깨워서 자동 복구 즉, 단순 UPS가 아니라 안전 종료(Safe Shutdown) + 자동 복구(Self-Healing) 기능을 구현하는 구조입니다. 각 장치 역할 Raspberry Pi (데이터 보호 담당) UPS 전원 상태 감시 정전 발생 감지 디스크 캐시 저장(sync) 안전 종료 수행 종료 직전 Arduino에게 종료 사실 전달 Arduino (전원 관리자 담당) 전원 복구 시 가장 먼저 동작 Raspberry Pi의 생존 여부 확인 Raspberry Pi가 응답하지 않으면 RUN 핀 리셋 무인 자동 복구 수행 하드웨어 연결 Raspberry Pi GPIO 용도 GPIO18 UPS 전원 감지 입력 GPIO20 Heartbeat 출력 Arduino 핀 용도 D2 Raspberry Pi Heartbeat 입력 D3 Raspberry Pi RUN 리셋 제어 동작 시나리오 정상 상태 외부 전원이 정상 공급 중 외부 전원 ON ↓ UPS 정상 ↓ Raspberry Pi 실행 ↓ GPIO20 = HIGH ↓ Arduino 대기 정전 발생 UPS 감지 핀이 LOW로 떨어짐 정전 발생 ↓ GPIO18 FALLING 감지 ↓ sync 실행 ↓ 3초 대기 ↓ sync 재실행 ↓ Heartbeat LOW ↓ Shutdown 수행 전원 복구 전원 복구 ↓ Arduino 부팅 ↓ 5초 대기 ↓ Heartbeat 확인 Raspberry Pi 정상 부팅 Heartbeat = HIGH ↓ 정상 상태 ↓ 아무 작업 안 함 Raspberry Pi 식물인간 상태 Heartbeat = LOW ↓ RU...