diff --git a/deploy/README.md b/deploy/README.md index 808581a..e164b6a 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -105,6 +105,17 @@ Validate on device per `docs/hardware-bringup.md` before trusting output (the Ha decode is unit-locked, but the HailoRT inference + picamera2 color order are hardware- validated). USB webcam stays available anytime via `CAMERA_BACKEND=uvc`. +**Multiple cameras at once.** Set `CAMERAS=backend:device:camera_id,...` to run several +cameras in one daemon — each gets its own detection pipeline and `camera_id`, they share +the Hailo device (round-robin) and the offline queue, and cloud zones are routed to the +matching camera. Example — CSI + USB together: + +```ini +CAMERAS=csi:0:cam-01,uvc:0:cam-02 +``` + +Each `camera_id` must match the `camera_id` on that camera's zones in the cloud. + > **Air gap:** `hailo-all` / `python3-picamera2` are the ONE piece this bundle can't > carry (Hailo's own driver + apt tree). Pre-install them on the Pi image, or transfer > their `.deb`s separately, before running `install_offline.sh`. The pose HEF is diff --git a/deploy/systemd/move-detect-edge.env.example b/deploy/systemd/move-detect-edge.env.example index b152ba0..9ed4b81 100644 --- a/deploy/systemd/move-detect-edge.env.example +++ b/deploy/systemd/move-detect-edge.env.example @@ -28,6 +28,10 @@ CAMERA_BACKEND=uvc UVC_DEVICE=0 # CSI_DEVICE: picamera2 camera_num for the CSI camera (used when CAMERA_BACKEND=csi). CSI_DEVICE=0 +# CAMERAS (optional): run several cameras at once; overrides CAMERA_BACKEND/*_DEVICE. +# Format backend:device:camera_id, comma-separated. Each camera_id must match its +# cloud zones. Example — CSI + USB together on a Hailo Pi: +#CAMERAS=csi:0:cam-01,uvc:0:cam-02 # TARGET_FPS: frame pacing = 1/TARGET_FPS. TARGET_FPS=12