Vendors the fork's 11 granular UNO Q skills (bridge, flashing, led-matrix, uno-q-hardware, sketch-patterns, modulino, linux-led, audio, vision, wireless, arduino-app-lab) next to the comprehensive arduino-uno-q skill, and installs the whole set into every agent's workspace on each board. Why both: the comprehensive skill is the rich cloud reference (read_skill → references); the granular skills are keyword-triggered and match the fork's eager skill-inliner rules, so the on-board Qwen auto-inlines them (no read_skill round-trip). flashing + led-matrix carry the exact uno_q_flash + frame-API / ArduinoGraphics-not-installed detail that makes flashing reliable. - push-skill.sh generalized: a single skill dir (has SKILL.md) OR a parent dir installs every skill under it; provision-fleet now ships all of skills/. - Verified on board 65301572: cloud/Sonnet-5 lists all 12 skills. Co-Authored-By: Claude Opus 4.8 <[email protected]>
1.2 KiB
1.2 KiB
name, description
| name | description |
|---|---|
| vision | Camera and computer vision on the Arduino Uno Q — MIPI-CSI-2 camera via V4L2/GStreamer and OpenCV on the Linux side. Load this for capturing images/frames, camera pipelines, or running vision on the board. |
Vision on the Uno Q (Linux side)
The camera (MIPI-CSI-2) is a Linux/MPU device exposed via V4L2
(/dev/video0). Capture and processing run on the MPU, not the MCU.
Capture a frame
Use the camera tool — it runs a single-frame GStreamer pipeline and writes a
JPEG (args: device, width, height, output under /tmp, /var/tmp, or $HOME).
Equivalent pipeline it runs:
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=1 \
! video/x-raw,width=1280,height=720 ! videoconvert ! jpegenc \
! filesink location=/tmp/frame.jpg
Processing (Python, MPU)
import cv2
img = cv2.imread("/tmp/frame.jpg")
# detect / annotate / stream ...
The Adreno 702 GPU provides hardware H.264/H.265/VP9 encode/decode for streaming.
Pitfalls
- The camera is not accessible from a sketch — it's a Linux device. Drive vision from Python (MPU); use Bridge if a sketch needs the result.
outputforcameramust be an absolute path under /tmp, /var/tmp, or $HOME.