Pular para o conteúdo principal

Fluxo de Trabalho de Desenvolvimento para Reachy Mini Sem Fio

Este guia aborda fluxos de trabalho eficientes para desenvolver e testar código no Reachy Mini Sem Fio.

Pré-requisitos

  • Acesso SSH ao seu robô (ssh [email protected], senha: root)
  • SSHFS instalado no seu computador (sudo apt install sshfs no Ubuntu/Debian)
  • Endereço IP do seu robô (encontre-o no dashboard, no roteador ou execute ifconfig após o SSH)

Opções Multiplataforma Rápidas

Antes de entrar nos fluxos de trabalho completos, aqui estão duas abordagens multiplataforma mais simples:

VS Code Remote SSH

A extensão Remote - SSH do VS Code permite editar arquivos diretamente no robô. Conecte-se a [email protected] e abra qualquer pasta. As alterações são salvas diretamente no robô. Isso funciona no Windows, macOS e Linux.

Rsync

Use rsync para sincronizar seu código-fonte local com o site-packages do robô. Isso é rápido e funciona (quase) em qualquer lugar:

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

Execute isso após cada edição para enviar as alterações. Adicione --delete para remover arquivos que não existam mais localmente.

Para ambas as opções, veja Etapa 3 da Abordagem A para executar seu código no robô.


Abordagem A: Clonar no Robô, Editar Localmente (Recomendado)

Este é o fluxo de trabalho preferido. Seu código fica no robô, mas você o edita a partir do seu computador usando seu IDE favorito ou ferramentas de codificação com IA.

Etapa 1: Clonar seu repositório no robô

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

Etapa 2: Montar os arquivos do robô na sua máquina local

No seu computador local, crie um ponto de montagem e monte:

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

Agora você pode abrir ~/wireless_dev no seu IDE e editar como se os arquivos fossem locais.

Etapa 3: Instalar e executar seu código no robô

Acesse o robô via SSH e instale/execute seu 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

Etapa 4: Desmontar quando terminar

fusermount -u ~/wireless_dev

Abordagem B: Sobrescrever Códigos-Fonte do App Instalado

Se você já instalou um app via dashboard e quer modificar seu código-fonte diretamente montando seus arquivos locais no robô.

Etapa 1: Localizar o app instalado no robô

Os apps são instalados em:

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

Etapa 2: Montar seu código-fonte local sobre o local instalado

Execute isto no robô para montar o código-fonte do seu PC sobre o pacote 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: Monte apenas o conteúdo do diretório src/your_app/, não o repositório inteiro. O diretório site-packages contém diretamente o pacote, não a estrutura do repositório.

Agora edite arquivos no seu PC. As alterações são aplicadas imediatamente quando você reinicia o app.

Abordagem C: Montar Código-Fonte Local e Executar Diretamente

Similar à Abordagem B, mas sem usar pip install ou o dashboard. Você monta seu código-fonte local no robô e executa o app diretamente.

Etapa 1: Montar seu código-fonte local no robô

Execute isto no robô:

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

Etapa 2: Executar seu app diretamente

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

Esta abordagem é rápida para testes, mas você não terá o app registrado no dashboard.

Instalar um Branch ou Versão Específica

Para instalar uma versão específica em todo o 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"

Substitua MY_AWESOME_BRANCH por um nome de branch (develop), tag ou hash de commit.

Armadilhas Comuns

pip install lento via SSHFS

Se você montar arquivos do seu computador para o robô (inverso da Abordagem A), operações de pip install serão extremamente lentas porque o pip lê muitos arquivos pequenos pela rede.

Solução: Ou:

  • Use a Abordagem A (arquivos ficam no robô, montados no seu computador)
  • Ou ignore o pip install e execute manualmente com python -m your_module

Ponto de montagem errado para site-packages

Um repositório git tem esta estrutura:

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

Mas o site-packages contém:

your_app/
__init__.py
main.py

Se você montar o repositório inteiro sobre o site-packages, o Python não encontrará seu código. Monte apenas o diretório interno do pacote.

Referência Rápida

TarefaComando
SSH para o robôssh [email protected]
Parar daemonsudo systemctl stop reachy-mini-daemon
Iniciar daemonsudo systemctl start reachy-mini-daemon
Ver logs do daemonjournalctl -u reachy-mini-daemon -f
Verificar status do robôreachyminios_check
Montar arquivos do robô localmentesshfs pollen@IP:/path ~/local_mount -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3
Desmontarfusermount -u ~/local_mount

Veja Também

Loading Comments...