Flashear la imagen de Debian 13 en reCamera Pro
Introducción
reCamera Pro está impulsada por el chip RV1126B y está disponible con 2 GB o 4 GB de memoria. Se entrega con firmware Buildroot para un inicio rápido con inferencia de IA. Esta página proporciona una imagen de Debian 13 para usuarios que necesitan más flexibilidad para el desarrollo y el despliegue.
Después de flashear la imagen de Debian 13, puedes compilar tus propias aplicaciones con CMake, instalar las dependencias necesarias con apt y ejecutar contenedores Docker. La imagen es compatible con los controladores de fábrica de Seeed y no requiere cambios en el device tree. La cámara, el micrófono, el altavoz y el Wi‑Fi funcionan como se espera; Bluetooth no es compatible.
Este firmware es actualmente experimental. Seeed no lo mantiene por el momento; se proporciona como una opción adicional de desarrollo.
Descargas
Descargar la imagen
Descargar la imagen de Debian 13.
Descargar la herramienta de flasheo y el controlador
Esta guía utiliza SocToolKit en Windows para flashear la imagen. Descarga los siguientes archivos:
Prepararse para el flasheo
Instalar el controlador
- Extrae el archivo
DriverAssistant_v5.12.zipdescargado. - Abre el directorio extraído y ejecuta
DriverInstall.exe.

- Haz clic en Driver Install.

La siguiente pantalla indica que el controlador se instaló correctamente.

Configurar SocToolKit
- Extrae
SocToolKit-window.zip, abre el directorio extraído y ejecutaSocToolKit.exe. - Selecciona el chip RV1126B en la herramienta.

- Extrae
recamera_pro_debian13_img.tar.gz. - En SocToolKit, haz clic derecho y selecciona el último elemento en el menú contextual.

- Selecciona el archivo
env.imgen el directorio de firmware extraído.

- Haz clic en Yes en el cuadro de diálogo de confirmación.

- Selecciona la entrada
rootfsy haz clic en los puntos suspensivos (...) a su derecha. Sustituye su archivo de imagen porrootfs_debian_clean.imgdel directorio de firmware extraído.

Poner reCamera Pro en modo Loader
- Conecta el puerto USB 3.0 de reCamera Pro a tu ordenador con Windows usando un cable USB y luego alimenta el dispositivo a través de su puerto de CC.
- Localiza los orificios de los pines
BOOTyRESETen el lateral del dispositivo. - Mantén presionado
BOOTy luego pulsa brevementeRESETpara reiniciar el dispositivo. - Sigue manteniendo presionado
BOOTdurante aproximadamente 5 segundos después de pulsarRESETy luego suéltalo. El dispositivo entra en modo Loader.
SocToolKit ahora debería indicar que el dispositivo ha sido detectado.

Flashear el firmware
Después de que SocToolKit detecte el dispositivo y cargue el firmware, selecciona todas las particiones excepto userdata.

Haz clic en Download para comenzar a flashear el firmware.

Cuando el flasheo se complete, la interfaz debería verse como la siguiente:

Flashear en Linux
También puedes flashear el firmware en reCamera Pro desde Linux usando upgrade_tool de Rockchip. Esta sección utiliza Ubuntu 24.04 como ejemplo.
El flasheo sobrescribe los datos del sistema en el dispositivo. Haz una copia de seguridad de los datos importantes y asegúrate de que el dispositivo esté en modo Loader antes de continuar.
Preparar el entorno
Clona el repositorio de herramientas de Rockchip y verifica que contenga upgrade_tool:
cd ~
git clone https://github.com/rockchip-linux/rkbin.git
cd ~/rkbin/tools
ls -lh upgrade_tool
Luego clona Linux_Upgrade_Tool y haz que upgrade_tool sea ejecutable:
cd ~
git clone https://github.com/vicharak-in/Linux_Upgrade_Tool.git
cd Linux_Upgrade_Tool
chmod +x upgrade_tool
sudo ./upgrade_tool -v
Confirma que tu host Ubuntu está conectado a reCamera Pro y que el dispositivo está en modo Loader:
sudo ./upgrade_tool LD
La salida esperada es similar a:
List of rockusb connected(1)
DevNo=1 Vid=0x2207,Pid=0x110f,LocationID=18 Mode=Loader SerialNo=f28999835716f3be
Esto confirma que el dispositivo está conectado y en modo Loader.
Flashear el firmware
Asegúrate de que todos los archivos de imagen se hayan descargado y extraído. Luego usa upgrade_tool para escribir cada partición en el dispositivo. Sustituye las rutas de imagen de ejemplo que aparecen a continuación por la ruta real a tus archivos de firmware extraídos:
# 1. env
sudo ./upgrade_tool WL 0x00000000 "/home/seeed/recaemra_pro/debian_img/env.img"
# 2. idblock
sudo ./upgrade_tool WL 0x00000040 "/home/seeed/recaemra_pro/debian_img/idblock.img"
# 3. uboot
sudo ./upgrade_tool WL 0x00000800 "/home/seeed/recaemra_pro/debian_img/uboot.img"
# 4. misc
sudo ./upgrade_tool WL 0x00002800 "/home/seeed/recaemra_pro/debian_img/misc.img"
# 5. recovery
sudo ./upgrade_tool WL 0x00002880 "/home/seeed/recaemra_pro/debian_img/recovery.img"
# 6. boot
sudo ./upgrade_tool WL 0x00007880 "/home/seeed/recaemra_pro/debian_img/boot.img"
# 7. Debian rootfs
sudo ./upgrade_tool WL 0x0000d080 "/home/seeed/recaemra_pro/debian_img/rootfs.img"
# reboot
sudo ./upgrade_tool RD
Acerca del nuevo firmware
Después de flashear, conecta el dispositivo a tu red usando un cable Ethernet. Esta imagen no es compatible con el adaptador de red virtual USB‑C original. Puedes encontrar la dirección IP del dispositivo en tu router o en la interfaz de gestión de Wi‑Fi. SSH está habilitado en la imagen, por lo que puedes iniciar sesión directamente mediante SSH. Si no hay conexión de red disponible, utiliza la consola serie UART a una velocidad en baudios de 1500000.
El sistema proporciona solo el usuario root, con la contraseña predeterminada 123123. Cambia la contraseña inmediatamente después del primer inicio de sesión:
passwd
Luego completa los siguientes pasos de configuración del sistema.
Configurar temporalmente un proxy HTTP
Si necesitas un proxy HTTP para acceder a la red, por ejemplo al usar apt, establece temporalmente las siguientes variables de entorno. Omite este paso si no utilizas un proxy. Sustituye la dirección y el puerto de ejemplo por los de tu servidor proxy.
export http_proxy="http://192.168.4.78:7890"
export https_proxy="http://192.168.4.78:7890"
# Optional: bypass the proxy for local addresses
export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"
Configurar la hora
En el primer arranque, la hora del sistema puede estar establecida en 1970, lo que provoca que falle la validación de los certificados SSL. Dado que el sistema no tiene configurada la sincronización automática de hora mediante systemd, establece manualmente la hora correcta antes de actualizar el índice de paquetes:
date -s "2026-09-02 15:20:00"
apt update
Configurar la orientación de la cámara
Primero, encuentra el nodo del sensor que admite controles de volteo:
for dev in /dev/v4l-subdev*; do
echo
echo "========== $dev =========="
v4l2-ctl -d "$dev" --list-ctrls 2>&1 | \
grep -Ei 'flip|mirror|horizontal|vertical|rotate'
done
Normalmente verás una salida similar a la siguiente:
========== /dev/v4l-subdev2 ==========
horizontal_flip 0x00980914 (bool) : default=0 value=1
vertical_flip 0x00980915 (bool) : default=0 value=1
vertical_blanking 0x009e0901 (int) : min=90 max=63375 step=1 default=90 value=90
horizontal_blanking 0x009e0902 (int) : min=4294965822 max=4294965822 step=1 default=4294965822 value=-1474 flags=read-only
De forma predeterminada, tanto el volteo horizontal como el vertical pueden estar habilitados. Ajusta el comando de acuerdo con el nodo de dispositivo mostrado en la salida anterior; este ejemplo utiliza /dev/v4l-subdev2:
v4l2-ctl -d /dev/v4l-subdev2 \
--set-ctrl=horizontal_flip=0,vertical_flip=0
Verifica la configuración:
v4l2-ctl -d /dev/v4l-subdev2 \
--get-ctrl=horizontal_flip,vertical_flip
Salida esperada:
horizontal_flip: 0
vertical_flip: 0
Probar la cámara
Usa V4L2 para capturar un fotograma crudo NV12 y luego usa FFmpeg para convertirlo a JPEG:
v4l2-ctl -d /dev/video12 \
--set-fmt-video=width=3840,height=2160,pixelformat=NV12 \
--stream-mmap=4 \
--stream-count=1 \
--stream-to=/tmp/frame.nv12
ffmpeg \
-f rawvideo \
-pixel_format nv12 \
-video_size 3840x2160 \
-i /tmp/frame.nv12 \
-frames:v 1 \
-q:v 2 \
-y /tmp/camera.jpg
Cuando el comando termine, visualiza la imagen JPEG procesada por el ISP y con la orientación correcta en /tmp/camera.jpg.
Configurar el micrófono y el altavoz
Instala las dependencias necesarias:
apt install ffmpeg alsa-utils
Visualiza los dispositivos de grabación y reproducción disponibles:
arecord -l
aplay -l
Configurar Docker
Instala Docker:
apt install docker-cli
Confirma que Docker está instalado correctamente:
command -v docker
docker --version
dockerd --version
La salida esperada es similar a:
/usr/bin/docker
Docker version 26.1.5+dfsg1, build a72d7cd
Docker version 26.1.5+dfsg1, build 411e817
Configurar Docker
Crea el archivo de configuración del daemon de Docker para establecer el directorio de datos y deshabilitar la red predeterminada:
cat >/etc/docker/daemon.json <<'EOF'
{
"data-root": "/userdata/docker",
"storage-driver": "overlay2",
"iptables": false,
"bridge": "none"
}
EOF
Detén Docker y elimina los archivos de tiempo de ejecución restantes:
service docker stop 2>/dev/null || true
rm -f /var/run/docker.pid
rm -f /var/run/docker.sock
rm -rf /var/run/docker/containerd
Reinicia Docker:
service docker restart
Probar Docker
Confirma que el daemon de Docker se está ejecutando:
ps aux | grep '[d]ockerd'
Ejecuta un contenedor de prueba:
docker run --rm hello-world
Si Docker está configurado correctamente, la salida incluye:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Instalar herramientas de GStreamer y capturar datos de la cámara
Instala las herramientas necesarias:
apt update
apt install -y \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav
Utiliza el siguiente comando para capturar un fotograma y guardarlo como una imagen JPEG:
gst-launch-1.0 -e \
v4l2src device=/dev/video12 num-buffers=1 \
! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 \
! videoconvert \
! jpegenc quality=95 \
! filesink location=/tmp/camera.jpg
Cuando el comando termine, visualiza la imagen procesada por el ISP en /tmp/camera.jpg.
Soporte técnico y debate sobre el producto
Gracias por elegir nuestros productos. Estamos aquí para ofrecerte distintos niveles de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos múltiples canales de comunicación para adaptarnos a diferentes preferencias y necesidades.