2.7 KiB
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,/filamantidas. 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.