26 lines
2.7 KiB
Markdown
26 lines
2.7 KiB
Markdown
# Controle da Carinha pelo PC
|
|
|
|
Desenho aprovado no chat em 04/10/2026. O servidor roda no Windows, independente da placa. O Galaxy S10 continua mostrando o rosto em primeiro plano.
|
|
|
|
## Fluxo
|
|
|
|
`servir-local.bat` inicia o servidor na porta 8100. O painel `/painel` permite conectar o celular por ADB, configurar rosto/cor/gestos, volume, gestos automáticos, reação ao som e movimento, sensibilidade e tempo para dormir. Os ajustes persistem em JSON no PC e são aplicados pela página sem recarregar.
|
|
|
|
O app usa uma única sessão Camera2 frontal para análise e prévia. Quadros YUV são convertidos em JPEG colorido com orientação da câmera e enviados no máximo cinco vezes por segundo, em thread de rede separada. Não abre a página de diagnóstico no celular. O painel mostra a imagem somente quando a transmissão está habilitada; ao desativar ou perder conexão, esconde a imagem antiga. Nenhuma gravação de vídeo ou áudio. O microfone envia somente o nível.
|
|
|
|
## Interfaces
|
|
|
|
- `/app/config`: GET lê; POST valida e salva ajustes. Campos: `preview`, `auto`, `audio`, `volume`, `ouvir`, `reagir`, `somlim`, `somganho`, `somaltolim`, `sompausa`, `somcooldown`, `movlim`, `movforte`, `movcooldown`, `movolhar`.
|
|
- `/app/status`: POST recebe estado do rosto, microfone e movimento; GET informa telemetria e conectividade com prazo de cinco segundos.
|
|
- `/camera/frame`: POST recebe JPEG de até 1 MB; GET devolve último quadro somente se transmissão habilitada e quadro recente (até três segundos).
|
|
- `/app/connect`: POST disponível apenas pelo localhost, com IP IPv4 e porta ADB validados; usa argumentos fixos para conectar e abrir o app apontando ao PC.
|
|
- Rotas existentes `/config`, `/faces`, `/gestos`, `/fila` mantidas. O painel não consome `/fila`.
|
|
|
|
## Falhas e validação
|
|
|
|
## Economia de tela adicionada pelo usuário
|
|
|
|
Configuração `economia` (padrão true), `brilho` (0.70), `brilhoRepouso` (0.08) e `repousoTela` (30 segundos). O Android aplica brilho à janela do app, restaurando o padrão do sistema ao sair. Inatividade/dormir reduz brilho; som, movimento e comandos restauram. Gestos espontâneos não contam como atividade do usuário. Teste JVM cobre a decisão; teste físico está pendente, conforme REGISTRO.md.
|
|
|
|
Rede indisponível não bloqueia câmera nem animação; mantém no máximo um quadro pendente. Captura e envio param quando app vai para segundo plano. Painel distingue configuração salva de estado confirmado pelo celular. Testes HTTP reais cobrem persistência, validação, expiração de quadros e isolamento da fila. Teste JVM cobre layout YUV com row/pixel stride. Compilar e verificar assinatura do APK, instalar no S10 conectado e conferir imagem e telemetria pelo servidor.
|