{ "mqtt": { "broker_host": "192.168.1.110", "broker_port": 1883, "username": null, "password": null, "topics": { "vibratory_conveyor": "vision/vibratory_conveyor/state", "blower_separator": "vision/blower_separator/state" } }, "storage": { "base_path": "/storage", "max_file_size_mb": 1000, "max_recording_duration_minutes": 60, "cleanup_older_than_days": 30 }, "system": { "camera_check_interval_seconds": 2, "log_level": "INFO", "log_file": "usda_vision_system.log", "api_host": "0.0.0.0", "api_port": 8000, "enable_api": true, "timezone": "America/New_York" }, "cameras": [ { "name": "camera1", "machine_topic": "vibratory_conveyor", "storage_path": "/storage/camera1", "exposure_ms": 1.0, "gain": 3.5, "target_fps": 0, "enabled": true }, { "name": "camera2", "machine_topic": "blower_separator", "storage_path": "/storage/camera2", "exposure_ms": 1.0, "gain": 3.5, "target_fps": 0, "enabled": true } ] }