Entenda como o CaraProjetada funciona por trás
Usuario Dashboard AD Server │ │ │ │ 1. GET / │ │ │ ───────────────────►│ │ │ │ 2. HTML Login │ │ ◄───────────────────│ │ │ │ │ │ 3. POST /login │ │ │ ───────────────────►│ │ │ │ 4. LDAP bind │ │ │ ───────────────► │ │ │ ◄──────────────OK │ │ ◄───────────────────│ │ │ │ 5. HTML Dashboard │ │ │ (lista salas) │
Usuario Projetor (A) │ │ │ 6. POST /sala/a/conectar │ │ ───────────────────────────────►│ │ │ 7. Killa viewer antigo │ │ │ (se existir) │ │ │ 8. Executa: │ │ │ xtightvncviewer │ │ │ <IP_USUARIO>:0 │ │ │ -autopass (123456) │ │ │ ───────────────────────►│ │ 9. VNC Server (UltraVNC) │ │ ◄═════════════════════════════════════════►│ │ Tela do notebook no projetor
| Rota | Método | Descrição | Autenticação |
|---|---|---|---|
| `/` | GET | Página de login | Não requerida |
| `/login` | POST | Autentica via LDAP | Não requerida |
| `/dashboard` | GET | Lista de salas | Obrigatória |
| `/api/salas` | GET | JSON com projetores | Obrigatória |
| `/sala/{id}/status` | GET | Status de uma sala | Obrigatória |
| `/sala/{id}/conectar` | POST | Conecta VNC | Obrigatória |
| `/sala/{id}/desconectar` | POST | Desconecta VNC | Obrigatória |
Servidor web leve que gerencia autenticação, sessões e controle do VNC. Roda na porta 80 do projetor.
Integração com o Active Directory da instituição. Valida credenciais em tempo real.
Cliente VNC leve que exibe a tela do usuário no projetor. Controlado via subprocess.
Servidor VNC que roda no notebook do usuário. Permite conexão reversa ao projetor.
Monitora saúde do sistema. Restarta serviços e limpa processos travados.
Proteção contra falhas críticas. Verifica memória, CPU e reinicia se necessário.
┌─────────────┐
│ USUÁRIO │
│ (Notebook) │
└──────┬──────┘
│
│ VNC Protocol
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PROJETOR (RK3229) │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌────────────────┐ │
│ │ Flask App │ │ xtightvncviewer │ │ X Server │ │
│ │ (Python) │◄──►│ (viewer) │◄──►│ (Xorg) │ │
│ │ Port 80 │ │ │ │ :0 │ │
│ └────────┬────────┘ └─────────────────┘ └────────────────┘ │
│ │ │
│ ┌────────▼────────┐ ┌─────────────────┐ │
│ │ LDAP Auth │ │ LightDM │ │
│ │ (AD) │ │ (Login Manager)│ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│
│ HTTP API
▼
┌─────────────┐
│ DASHBOARD │
│ WEB │
└─────────────┘