Sensing server
PPG analog front end, 12-bit ADC, HPF/LPF, peak/IBI/BPM 계산과 TCP 송신을 담당합니다.
01 · Architecture
Node A는 MCP3204 기반 PPG sampling과 BPM packet 전송에 집중합니다. Node B는 webcam EAR, file IPC, LCD·LED·buzzer 제어를 통합해 센싱 주기와 영상 처리 부하가 서로 간섭하는 위험을 줄입니다.
PPG analog front end, 12-bit ADC, HPF/LPF, peak/IBI/BPM 계산과 TCP 송신을 담당합니다.
USB webcam EAR 결과와 BPM packet을 읽어 LCD 상태를 갱신하고 졸음을 판단합니다.
LED와 active buzzer를 timer 기반으로 토글해 UI·통신 경로를 불필요하게 멈추지 않습니다.
02 · Dual Signal Path
BPM은 사용자 상태 표시를 위한 보조 지표이고, 주 졸음 판정은 EAR이 0.22 미만으로 약 2초 지속되는 조건입니다. 이 역할 구분을 코드와 문서에 동일하게 유지했습니다.
1차 HPF와 LPF로 baseline과 고주파 잡음을 줄인 뒤 adaptive peak와 refractory 조건을 적용합니다.
눈을 감을 때 감소하는 기하 비율을 사용하며 순간 임계값 통과가 아닌 지속시간으로 확정합니다.
03 · Communication
Node A는 SN-RPI-001,BPM,status packet을 TCP port 5000으로 보냅니다. EAR engine은 /tmp/ear_state.txt를 통해 C client와 상태를 공유합니다.
04 · Prototype Evidence
회로, wearable sensor, Raspberry Pi, LCD, 코드·시연 화면을 실제 프로젝트 사진으로 남겼습니다. 저장소에는 구현 구조가 있으나 latency·민감도·특이도 같은 정량 검증 데이터는 없으므로 수치 성능을 주장하지 않습니다.

| 검증 축 | 현재 근거 | 해석 |
|---|---|---|
| 회로·배선·기구 | Photo evidence | wearable, PPG circuit, RPi/LCD 제작 사진 포함 |
| 소프트웨어 구조 | Source documented | C/C++/Bash, TCP, IPC, GPIO 동작 경로 포함 |
| 정량 성능 | Not reported | 공개된 latency·민감도·특이도 표 없음 |
| 제품·안전 인증 | Prototype only | 운전자 안전장치 또는 의료기기 인증 대상 결과 아님 |