Saltar al contenido principal

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...