🔍 New features: - motion.py: Frame differencing motion detector - Background thread compares frames continuously - Configurable threshold, cooldown, sensitivity - POSTs events + snapshot to collector 📡 New endpoints: - GET /motion/stats - Detection statistics - POST /motion/enable - Start detection - POST /motion/disable - Stop detection ⚙️ Configuration (in .env): - MOTION_ENABLED: true/false - MOTION_THRESHOLD: Pixel diff threshold - MOTION_COOLDOWN: Seconds between events - COLLECTOR_URL: Where to POST events Next: Event collector in vixy-mcp 🦊
48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
Plaintext
# vixy-vision Server Configuration
|
|
# Copy to .env and customize
|
|
|
|
# ============ Required ============
|
|
|
|
# API Key for authentication (generate with: python3 -c 'import secrets; print(secrets.token_urlsafe(32))')
|
|
API_KEY=your-secret-key-here
|
|
|
|
# Camera identifier (used in events)
|
|
CAMERA_ID=basement
|
|
|
|
# ============ Camera Settings ============
|
|
|
|
# Camera device index (0 = first USB camera)
|
|
CAMERA_INDEX=0
|
|
|
|
# Resolution (camera will use closest supported)
|
|
CAMERA_WIDTH=1920
|
|
CAMERA_HEIGHT=1080
|
|
|
|
# JPEG quality (1-100)
|
|
JPEG_QUALITY=85
|
|
|
|
# ============ Motion Detection ============
|
|
|
|
# Enable motion detection (true/false)
|
|
MOTION_ENABLED=true
|
|
|
|
# Pixel difference threshold (lower = more sensitive)
|
|
MOTION_THRESHOLD=25
|
|
|
|
# Minimum % of frame that must change to trigger event
|
|
MOTION_MIN_AREA=0.5
|
|
|
|
# Seconds between motion events (prevents spam)
|
|
MOTION_COOLDOWN=5.0
|
|
|
|
# Seconds between frame checks
|
|
MOTION_INTERVAL=0.5
|
|
|
|
# ============ Event Collector ============
|
|
|
|
# URL to POST motion events to (on Mac mini)
|
|
COLLECTOR_URL=http://192.168.1.50:8780/events
|
|
|
|
# API key for collector (optional)
|
|
COLLECTOR_API_KEY=
|