Files
wireclaw-pizero/CLAUDE.md
2026-06-09 18:21:46 +02:00

62 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WireClaw — Pi Zero 2W
## Hardware
- Modèle : Raspberry Pi Zero 2W
- CPU : 4× ARM Cortex-A53 @1GHz
- GPU : VideoCore IV — encodeur H264 hardware disponible via v4l2h264enc (/dev/video11)
- RAM : 512MB
- OS : Raspberry Pi OS Bookworm Lite (64-bit)
- Caméra : OV5647 (module CSI standard Raspberry Pi)
- Boîtier : dissipateur thermique
- Charge CPU encodage : ~40% CPU (hw) vs ~80-90% (sw x264)
- Prérequis : gpu_mem=160 dans /boot/firmware/config.txt
## Stack
- Caméra : libcamerasrc OBLIGATOIRE (Bookworm, pas v4l2src)
- Encodage : v4l2h264enc hardware (défaut) → x264enc software (fallback auto)
- omxh264enc : non disponible sur Bookworm 64-bit (OpenMAX supprimé)
- Transport : RTP H264 pt=96 UDP
- Flask : API légère port 5000 (health + settings uniquement, pas de MJPEG local)
- h264parse requis : `sudo apt install gstreamer1.0-plugins-bad -y`
## Réseau
- Dev Freebox : 192.168.1.132 → Jetson 192.168.1.84:5600
- Hotspot WireClaw : DHCP → Jetson 10.42.0.1:5600
## Pipelines validés
### Hardware (v4l2h264enc) — défaut
gst-launch-1.0 libcamerasrc ! \
video/x-raw,width=1280,height=720,format=NV12,framerate=15/1 ! \
v4l2convert ! \
v4l2h264enc ! \
video/x-h264,level=(string)3.2 ! \
h264parse ! \
rtph264pay config-interval=1 pt=96 ! queue ! \
udpsink host=192.168.1.84 port=5600
### Software (x264enc) — fallback
gst-launch-1.0 libcamerasrc ! \
video/x-raw,width=640,height=480,framerate=15/1 ! \
videoconvert ! x264enc tune=zerolatency bitrate=1000 ! \
rtph264pay config-interval=1 pt=96 ! \
udpsink host=192.168.1.84 port=5600
## Rôle dans WireClaw
- Émet uniquement le flux RTP vers le Jetson
- Pas de traitement local (YOLOv8 tourne sur le Jetson CUDA)
- Réglages caméra via POST /settings (proxyfié depuis FastAPI Jetson)
## Installation
```bash
git clone https://git.syoul.fr/nicoboy/wireclaw-pizero
cd wireclaw-pizero
bash install.sh
cp .env.dev .env
python3 camera_server.py
```
## Repo
git.syoul.fr/nicoboy/wireclaw-pizero
Après clone : `bash install.sh`