PTZ Control
The EMEET PIXY supports pan, tilt, and zoom via V4L2 controls. The daemon provides a user-friendly interface in degrees and zoom factors.
Hardware Limits
Section titled “Hardware Limits”These ranges were verified empirically against the PIXY hardware via v4l2-ctl --list-ctrls:
| Axis | Min | Max | Unit |
|---|---|---|---|
| Pan | -150 | 150 | degrees |
| Tilt | -90 | 90 | degrees |
| Zoom | 100 | 150 | times |
All values are automatically clamped to these ranges.
Absolute Positioning
Section titled “Absolute Positioning”Bare numbers are treated as absolute:
emeet-pixy pan 0 # Centeremeet-pixy pan -90 # Full leftemeet-pixy pan 90 # Full rightemeet-pixy tilt 45 # Halfway upemeet-pixy tilt -30 # Slightly downemeet-pixy zoom 100 # No zoomemeet-pixy zoom 150 # Max zoomRelative Positioning
Section titled “Relative Positioning”Use the rel prefix for relative moves:
emeet-pixy pan rel+10 # Pan 10 degrees rightemeet-pixy pan rel-10 # Pan 10 degrees leftemeet-pixy tilt rel+5 # Tilt 5 degrees upemeet-pixy tilt rel-5 # Tilt 5 degrees downemeet-pixy zoom rel+5 # Zoom in 5emeet-pixy zoom rel-5 # Zoom out 5Relative commands read the current position from the hardware, compute the new value, and clamp to valid range.
Web UI Sliders
Section titled “Web UI Sliders”The web UI provides three sliders with live updates:
- Drag a slider to send a PTZ command
- The radar indicator updates in real time
- The spatial position is visualized on a circular radar
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”| Key | Action |
|---|---|
| Arrow Up | Tilt up |
| Arrow Down | Tilt down |
| Arrow Left | Pan left |
| Arrow Right | Pan right |
+ |
Zoom in |
- |
Zoom out |
C |
Center camera |
V4L2 Details
Section titled “V4L2 Details”Internally, the daemon communicates with v4l2-ctl:
- Pan/tilt use
pan_absolute/tilt_absoluteV4L2 controls in 1/3600-degree units - Zoom uses
zoom_absolutedirectly (no unit conversion) - The daemon multiplies user-facing degrees by 3600 before sending
After each PTZ set, a delayed (500ms) hardware readback corrects the cache with the actual motor position.
Motor Speed
Section titled “Motor Speed”PTZ position goes through V4L2, but motor speed uses the camera’s official
HID motor commands (reverse-engineered from the EMEET STUDIO protocol — see
emeet-pixy.lars.software protocol docs):
emeet-pixy speed pan 45 # axis: pan, tilt, or zoom; value 0–10000The web UI exposes the same control as three speed sliders in the Position card. Values are transmitted verbatim as the protocol defines them; the physical unit is being verified against hardware.
Center Camera
Section titled “Center Camera”emeet-pixy center # pan=0, tilt=0, zoom=100This is also available as keyboard shortcut C in the web UI.
Where to go next
Section titled “Where to go next”- Presets — save and recall named positions
- Web UI — sliders, radar, and keyboard shortcuts
- CLI Reference — all PTZ commands
- HID Protocol — how commands reach the hardware
- Architecture Overview — V4L2 control flow