Skip to main content

Flujo de Trabajo de Desarrollo para Reachy Mini Inalámbrico

Esta guía cubre flujos de trabajo eficientes para desarrollar y probar código en el Reachy Mini Inalámbrico.

Requisitos Previos

  • Acceso SSH a tu robot (ssh [email protected], contraseña: root)
  • SSHFS instalado en tu computadora (sudo apt install sshfs en Ubuntu/Debian)
  • La dirección IP de tu robot (encuéntrala en el dashboard, en el router o ejecuta ifconfig después de hacer SSH)

Opciones Rápidas Multiplataforma

Antes de profundizar en los flujos de trabajo completos, aquí hay dos enfoques multiplataforma más simples:

VS Code Remote SSH

La extensión Remote - SSH de VS Code te permite editar archivos directamente en el robot. Conéctate a [email protected] y luego abre cualquier carpeta. Los cambios se guardan directamente en el robot. Esto funciona en Windows, macOS y Linux.

Rsync

Usa rsync para sincronizar tu código fuente local con los site-packages del robot. Esto es rápido y funciona (casi) en todas partes:

rsync -avz /path/to/your_app/src/your_app/ \
[email protected]:/venvs/apps_venv/lib/python3.12/site-packages/your_app/

Ejecuta esto después de cada edición para enviar los cambios. Añade --delete para eliminar archivos que ya no existan localmente.

Para ambas opciones, consulta Step 3 of Approach A para ejecutar tu código en el robot.


Enfoque A: Clonar en el Robot, Editar Localmente (Recomendado)

Este es el flujo de trabajo preferido. Tu código vive en el robot, pero lo editas desde tu computadora usando tu IDE favorito o herramientas de programación con IA.

Paso 1: Clona tu repositorio en el robot

ssh [email protected]
cd /home/pollen
git clone https://github.com/YOUR_USER/YOUR_APP.git

Paso 2: Monta los archivos del robot en tu máquina local

En tu computadora local, crea un punto de montaje y móntalo:

mkdir -p ~/wireless_dev
sshfs [email protected]:/home/pollen/YOUR_APP ~/wireless_dev \
-o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

Ahora puedes abrir ~/wireless_dev en tu IDE y editar como si los archivos fueran locales.

Paso 3: Instala y ejecuta tu código en el robot

Haz SSH al robot e instala/ejecuta tu app:

ssh [email protected]
cd /home/pollen/YOUR_APP

# Install in editable mode (changes apply immediately):
/venvs/apps_venv/bin/pip install -e .

# Then run your app:
/venvs/apps_venv/bin/python -m YOUR_MODULE.main

# Or run directly without installing:
/venvs/apps_venv/bin/python your_script.py

Paso 4: Desmontar cuando termines

fusermount -u ~/wireless_dev

Enfoque B: Sobrescribir el Código Fuente de la App Instalada

Si ya instalaste una app mediante el dashboard y quieres modificar su código fuente directamente montando tus archivos locales en el robot.

Paso 1: Localiza la app instalada en el robot

Las apps se instalan en:

/venvs/apps_venv/lib/python3.12/site-packages/YOUR_APP_NAME/

Paso 2: Monta tu código fuente local sobre la ubicación instalada

Ejecuta esto en el robot para montar el código fuente de tu PC sobre el paquete instalado:

ssh [email protected]

# Mount your local src content onto site-packages
sshfs YOUR_USER@YOUR_PC_IP:/path/to/your_app/src/your_app \
/venvs/apps_venv/lib/python3.12/site-packages/YOUR_APP_NAME \
-o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

Importante: Monta solo el contenido de tu directorio src/your_app/, no todo el repositorio. El directorio site-packages contiene el paquete directamente, no la estructura del repositorio.

Ahora edita archivos en tu PC. Los cambios se aplican inmediatamente cuando reinicias la app.

Enfoque C: Montar Código Fuente Local y Ejecutar Directamente

Similar al Enfoque B, pero sin usar pip install ni el dashboard. Montas tu código fuente local en el robot y ejecutas la app directamente.

Paso 1: Monta tu código fuente local en el robot

Ejecuta esto en el robot:

ssh [email protected]
mkdir -p /home/pollen/my_app_mount

sshfs YOUR_USER@YOUR_PC_IP:/path/to/your_app /home/pollen/my_app_mount \
-o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

Paso 2: Ejecuta tu app directamente

cd /home/pollen/my_app_mount
/venvs/apps_venv/bin/python main.py

Este enfoque es rápido para hacer pruebas, pero no tendrás la app registrada en el dashboard.

Instalación de una Rama o Versión Específica

Para instalar una versión específica a nivel de sistema:

ssh [email protected]
/venvs/apps_venv/bin/python -m pip install --force-reinstall \
"git+https://github.com/pollen-robotics/MY_AWESOME_APP.git@MY_AWESOME_BRANCH"

Sustituye MY_AWESOME_BRANCH por un nombre de rama (develop), etiqueta o hash de commit.

Errores Comunes

pip install lento sobre SSHFS

Si montas archivos desde tu computadora al robot (inverso del Enfoque A), las operaciones de pip install serán extremadamente lentas porque pip lee muchos archivos pequeños a través de la red.

Solución: O bien:

  • Usa el Enfoque A (los archivos viven en el robot, se montan en tu computadora)
  • O sáltate pip install y ejecuta manualmente con python -m your_module

Punto de montaje incorrecto para site-packages

Un repositorio git tiene esta estructura:

your_app/
src/
your_app/
__init__.py
main.py

Pero site-packages contiene:

your_app/
__init__.py
main.py

Si montas todo el repositorio sobre site-packages, Python no encontrará tu código. Monta solo el directorio interno del paquete.

Referencia Rápida

TareaComando
SSH al robotssh [email protected]
Detener daemonsudo systemctl stop reachy-mini-daemon
Iniciar daemonsudo systemctl start reachy-mini-daemon
Ver logs del daemonjournalctl -u reachy-mini-daemon -f
Comprobar estado del robotreachyminios_check
Montar archivos del robot localmentesshfs pollen@IP:/path ~/local_mount -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3
Desmontarfusermount -u ~/local_mount

Ver También

Loading Comments...