inteintegrity2026-10-16

Crea una aplicación de IA en el borde con Codex en reComputer RK3576

Aprende a usar Codex para inspeccionar un reComputer RK3576 por SSH, reutilizar su entorno NPU, crear y desplegar una WebUI de detección de vídeo con YOLOv8 y verificar todo el flujo, desde la carga hasta la descarga, en hardware real.

CodexEdge AICVGitHub

Desarrollo de una aplicación de IA con Codex en reComputer RK3576

¿Cómo conviertes una idea en una aplicación que funcione en una placa de IA en el borde? Este proyecto recorre una sesión de desarrollo real con Codex: conectar con un reComputer RK3576, inspeccionar su entorno, describir la aplicación, desplegarla por SSH y verificarla en el dispositivo.

El ejemplo es una WebUI de detección de vídeo con YOLOv8. Desde el navegador del PC puedes cargar un MP4, ejecutar la detección en la NPU del RK3576 y reproducir o descargar un vídeo con cuadros delimitadores, etiquetas de clase y FPS. El código, el vídeo de prueba y los resultados medidos están en el repositorio de GitHub.

El objetivo es mostrar un método reutilizable de desarrollo asistido por IA: proporcionar el contexto del dispositivo, definir las restricciones, solicitar la implementación y comprobar el resultado con criterios de aceptación concretos.

Cómo encaja el flujo de trabajo

Codex se ejecuta en el PC de desarrollo y utiliza SSH para trabajar con la placa. La aplicación final se ejecuta en reComputer RK3576 y la inferencia de la red neuronal, en su NPU. La detección de objetos no utiliza una API de OpenAI.

text
Requirements → Codex on the PC → SSH → reComputer RK3576
                                          ↓
PC browser ← upload / playback / download ← YOLOv8n on the NPU
EtapaQué proporcionasQué debes verificar
InspecciónDirección de la placa, cuenta y alcance de solo lecturaSSH funciona y el entorno NPU es accesible
ConstrucciónComportamiento de la aplicación y restricciones del dispositivoModelo correcto, inferencia por hardware e interfaz utilizable
DespliegueDirectorio de la aplicación y requisitos de inicioEl servidor arranca y el PC puede acceder a su URL
ValidaciónVídeo de prueba y criterios de aceptaciónFunciona todo el flujo desde la carga hasta la descarga

Antes de empezar

  • Un reComputer RK3576 Dev Kit con Linux, un controlador NPU funcional y RKNN Runtime.
  • Un PC con Codex, una carpeta local de proyecto y herramientas SSH disponibles en su terminal.
  • Conexión de red entre el PC y la placa, y permiso para que Codex utilice las herramientas locales y la conexión SSH necesarias.
  • Un vídeo de prueba MP4. El repositorio de este proyecto incluye video/test.mp4.

Este ejemplo reutiliza un entorno existente de Python, RKNNLite, OpenCV y NumPy. No cubre la grabación del sistema operativo ni la instalación del controlador NPU. Si faltan dependencias en tu placa, pide a Codex que las identifique antes de instalarlas.

Paso 1: deja que Codex inspeccione la placa

Abre una carpeta local de proyecto en Codex en tu PC. Empieza con una solicitud de solo lectura para que la implementación se base en el entorno real de la placa.

text
Connect to my reComputer RK3576 via SSH.

Host: <DEVICE_IP>
Username: <DEVICE_USER>
Use my SSH key, or ask for the credentials needed to connect.

Check the OS, architecture, memory, available storage, RKNN Runtime, Python
environments, NPU driver and device access, and existing YOLO models.
Verify that remote commands can execute successfully.

Do not install packages or modify the system yet. Report the environment and
any issues that could block deployment.

Sustituye los marcadores por los datos de tu dispositivo. No incluyas credenciales de conexión en archivos del proyecto ni en commits.

En la sesión original, la inspección encontró Debian 12 ARM64, un dispositivo RKNPU accesible, dependencias RKNNLite y OpenCV ya instaladas y poco espacio disponible en el almacenamiento raíz. Por ello se reutilizó el entorno existente y se añadieron límites de carga y comprobaciones de almacenamiento a la aplicación.

Paso 2: describe la aplicación que quieres

Proporciona a Codex el recorrido completo del usuario, los requisitos de hardware y la definición de tarea completada. El siguiente prompt adapta la solicitud utilizada en este desarrollo:

text
Build and deploy a YOLOv8 object detection WebUI on my reComputer RK3576 via SSH.

Download a precompiled RK3576-compatible YOLOv8n .rknn model from Rockchip's
official resources or a verified source. Record its source and verify its
published checksum. Do not train or convert models.

Use the RK3576 NPU for inference. Create a modern English WebUI where I can
upload an MP4 from my PC, run detection, and play or download the processed
video with bounding boxes, class labels, confidence scores, and FPS.

Reuse existing RKNN dependencies and official examples where possible.
Keep application files in a dedicated directory. Do not reinstall drivers
or modify system configurations without permission.

Test the complete workflow on the actual board, fix errors, and provide the
working WebUI URL, measured performance, and remaining limitations.

Así, la selección del modelo, la interfaz, el despliegue y las pruebas persiguen el mismo resultado. Los prompts son puntos de partida; no garantizan la misma implementación o rendimiento en todas las placas.

Paso 3: verifica el modelo y la ruta de inferencia NPU

Antes de procesar un vídeo completo, comprueba la ruta de inferencia con una imagen conocida. Pide a Codex que presente estas evidencias:

  • Fuente de descarga del modelo, revisión fijada, suma de comprobación y destino RK3576.
  • Carga correcta del modelo e inicialización de la NPU con RKNNLite.
  • Detección de los objetos esperados en una imagen de prueba conocida.
  • Advertencias de ejecución y versiones implicadas.

Para este proyecto, Codex descargó un modelo YOLOv8n INT8 precompilado de RKNNAI/RK3576-CNN-yolov8n y verificó el SHA-256 publicado. Reutilizó RKNNLite y adaptó el ejemplo oficial de posprocesamiento YOLOv8 de Rockchip, usando NumPy para DFL en lugar de añadir Torch. La prueba con una imagen conocida detectó personas y un autobús.

El Runtime instalado era 2.3.0, mientras que el modelo indicaba la versión de compilador 2.4.2. RKNN emitió una advertencia de incompatibilidad de versiones. Las pruebas de imagen y vídeo completo pasaron en esta placa sin actualizar el Runtime; esto no demuestra compatibilidad general con otros modelos o entornos.

Paso 4: despliega y abre la WebUI

Codex desplegó la aplicación en /home/seeed/codex-yolov8-webui e inició un servidor en segundo plano en el puerto 8080. En tu propia placa, abre:

text
http://<DEVICE_IP>:8080

La interfaz resultante incluye carga de MP4, controles de confianza e IoU, vistas previas del progreso, un reproductor de vídeo anotado, descargas y un historial local de ejecuciones. Todo el procesamiento y los archivos cargados permanecen en la placa.

Si vas a desplegar el repositorio existente en lugar de reconstruir la aplicación, pide a Codex que lea sus instrucciones, inspeccione tu placa, transfiera los archivos, ajuste las rutas a tu entorno Python, ejecute la comprobación NPU e inicie el servidor. Los scripts incluidos hacen referencia al entorno del dispositivo original y no son instaladores universales.

En el dispositivo original, los comandos son:

bash
cd /home/seeed/codex-yolov8-webui
/home/seeed/venvs/rknn-lite2-test/bin/python -B probe.py
sh start.sh

No se instaló ningún servicio de inicio automático. Tras reiniciar la placa, ejecuta de nuevo sh start.sh.

Paso 5: prueba desde la carga hasta la descarga

Usa el navegador del PC para cargar video/test.mp4 e iniciar la detección. Comprueba visualmente el resultado y después pide a Codex que verifique todo el flujo:

text
Test the deployed WebUI end to end with video/test.mp4.

Verify upload, NPU inference, progress updates, bounding boxes and labels,
browser playback, seeking, and downloading the result back to the PC.
Confirm that every frame of the downloaded video decodes successfully.

Check invalid uploads, busy-device handling, cancellation, and cleanup with
disposable test runs. Fix errors and rerun the affected checks.

Report NPU inference FPS separately from full processing FPS. Save the test
results and document limitations and compatibility warnings.

La prueba original del 15 de octubre de 2026 produjo estos resultados:

MediciónResultado
Vídeo de origen3840 × 2160, 29.97 FPS, 394 fotogramas
Salida anotadaH.264 MP4, 1280 × 720, 13.146 segundos
Fotogramas procesados y decodificados tras la descarga394 / 394
Rendimiento de inferencia NPU37.63 FPS
Rendimiento del procesamiento completo7.89 FPS
Tiempo de procesamiento49.92 segundos, sin incluir la carga ni el inicio del modelo
Clases observadascar, bus, truck, traffic light

Los FPS de la NPU miden el tiempo dentro de la inferencia. Los FPS de procesamiento incluyen decodificación, preprocesamiento, inferencia, posprocesamiento, dibujo y codificación. Son mediciones de esta ejecución, no una garantía de rendimiento ni la tasa de reproducción del vídeo. Los informes están en el directorio verification/ del repositorio.

Paso 6: convierte el resultado en un proyecto reutilizable

Cuando la aplicación funcione, pide a Codex que organice el código, las instrucciones de despliegue, las capturas, la procedencia del modelo, las licencias y los informes de prueba. Incluye solo medios que hayas autorizado a cargar y excluye credenciales, archivos cargados durante la ejecución y registros.

Para tu siguiente aplicación, reutiliza la misma secuencia: inspeccionar la placa, describir el recorrido del usuario, definir restricciones de hardware y sistema, desplegar y verificar con entradas reales. Adapta los requisitos y las pruebas de aceptación a la nueva tarea.

Alcance y recursos