WiFi가 사람을 본다고?
우리 집에 이미 가득 찬 WiFi 전파 — 이걸로 사람의 위치를 파악하고, 호흡과 심박까지 잴 수 있다면? RuView는 그 상상을 현실로 만든 오픈소스 프로젝트입니다. 카메라도, 웨어러블도, 클라우드도 필요 없습니다. 그저 9달러짜리 ESP32 하나와 WiFi만 있으면 됩니다.
어떻게 작동하나?
WiFi 라우터가 방 전체에 전파를 쏘면, 사람이 있으면 그 전파가 산란됩니다. 움직이면 산란 패턴이 바뀌고, 심지어 숨만 쉬어도 미세한 변화가 생깁니다. RuView는 이 변화를 Channel State Information(CSI)이라는 데이터로 포착합니다.
Capture한 CSI를 신호 처리 파이프라인에 통과시키면:
- 존재 감지 — 방 안에 사람이 있는지 없는지 (벽 너머도 가능)
- 호흡수 — 6~30 BPM, 비접촉식
- 심박수 — 40~120 BPM, 실시간
- 활동 인식 — 걷기, 앉기, 제스처, 낙상 감지
- 수면 모니터링 — 수면 단계 분류, 수면 무호흡증 선별
- 17관절 포즈 추정 — WiFi만으로 사람 자세를 뼈대까지 복원
직접 테스트해보기
하드웨어 없이도 Docker로 시뮬레이션 데이터로 체험할 수 있습니다. 2분이면 끝납니다.
Option 1: Docker (하드웨어 없이)
# 이미지 다운로드
docker pull ruvnet/wifi-densepose:latest
# 실행 (포트 3000)
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
# 브라우저에서 확인
# http://localhost:3000
Docker 이미지는 시뮬레이션 데이터를 내장하고 있어, 실제 센서 없이도 웹 UI와 신호 처리 파이프라인을 경험할 수 있습니다.
Option 2: ESP32-S3 하드웨어 (실제 WiFi 센싱)
실제 CSI 데이터를 캡처하려면 ESP32-S3가 필요합니다. 주의할 점: 기존 ESP32나 ESP32-C3은 지원하지 않습니다 (싱글코어라 CSI DSP 처리가 불가). 반드시 ESP32-S3 (듀얼코어)를 사용하세요.
# 1. 펌웨어 플래싱
python -m esptool --chip esp32s3 --port /dev/ttyUSB0 --baud 460800 \\
write_flash 0x0 bootloader.bin 0x8000 partition-table.bin \\
0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin
# 2. WiFi 프로비저닝
python firmware/esp32-csi-node/provision.py --port /dev/ttyUSB0 \\
--ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20
하드웨어 선택 가이드
| 구성 | 하드웨어 | 비용 | 기능 |
|---|---|---|---|
| Docker 시뮬레이션 | 컴퓨터만 | $0 | UI/파이프라인 체험 |
| ESP32 단일 노드 | ESP32-S3 ($9) | ~$9 | 존재, 호흡, 심박, 낙상 |
| ESP32 메시 | 3~6개 ESP32-S3 | ~$54 | 포즈 추정, 다인원 추적 |
| 풀 시스템 | ESP32-S3 + Cognitum Seed | ~$140 | 105개 에지 모듈 전체 |
핵심 스펙
- AI 모델 — HuggingFace 사전학습, 1,463개 테스트 통과, 검증셋 존재 감지 정확도 100%
- 모델 크기 — 4bit 양자화 시 8KB (ESP32에서 실행 가능)
- 에지 모듈 — 105개 (건강, 보안, 빌딩, 소매, 산업, AI, 스웜 등)
- 라이선스 — MIT (상업 이용 자유)
- 코드베이스 — Rust + Python 듀얼, WebAssembly 지원
- Docker — amd64 + arm64 멀티 아키텍처
에지 모듈 하이라이트
RuView의 진짜 매력은 105개 에지 모듈 카탈로그입니다. ESP32에서 직접 실행되며 인터넷 연결조차 필요 없습니다.
건강 & 안전
- 수면 무호흡증 — 수면 중 호흡 정지 감지 (4KB)
- 낙상 감지 — 충격 + 정지 패턴, 200ms 내 알림
- 부정맥 — 불규칙 심박 감지
- 아이 울음 — 육아실 소리 모니터링
보안
- 침입 감지 — 미승인 인물 접근 알림
- 유리 파괴 — 파열 소리 2단계 감지
- 총성 감지 — 급속 피크 + 지수 감쇠 패턴
- 무기 탐지 — 은닉 금속 물체 감지
스마트 빌딩
- HVAC 점유 감지 — 사람 오면 난방/냉방 켜기
- 조명 존 — 방 간 이동에 따라 조명 제어
- 회의실 — 사용 가능/사용 중 상태 표시
- 에너지 감사 — 스케줄 학습으로 에너지 낭비 감소
실생활 활용 예시
침실 수면 모니터링
침대 옆 ESP32-S3 하나만 두면 됩니다. 카메라 없이 호흡수, 심박수, 수면 단계를 추적합니다. 수면 무호흡증 선별도 가능합니다. 수면 트래커 착용의 번거로움이 없어집니다.
어린이방 안전
영아 호흡 모니터링 + 아이 울음 감지 + 낙상 감지를 한 번에. CCTV가 필요 없어 프라이버시 걱정도 없습니다.
재택 근무
자리에 앉아있는지, 방을 비웠는지 자동 감지. 미팅룸 점유 상태도 실시간 파악. HVAC와 조명을 점유에 맞춰 자동 제어하면 에너지도 절약됩니다.
시작해보기
가장 쉬운 시작은 Docker입니다. 컴퓨터에 Docker만 있으면 2분 안에 체험할 수 있습니다.
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
실제 센싱을 체험하고 싶다면 ESP32-S3 보드 하나($9)와 펌웨어 플래싱만으로 시작할 수 있습니다. GitHub 저장소에 상세한 가이드가 있습니다.
WiFi는 이미 모든 곳에 있습니다. RuView는 그 WiFi를 보이지 않는 센서로 바꿉니다. 카메라 없이, 웨어러블 없이, 클라우드 없이. 그저 물리학뿐입니다.