Manual da Lombada Educativa
Protector Traffic Control
Versão 2.1 | Março 2026
O que é este sistema?
A Lombada Educativa é um sistema que usa câmeras ALPHADIGI para detectar veículos, ler placas e medir velocidade. Quando um veículo passa acima do limite, o sistema gera um PDF com a foto e envia por email para os responsáveis do condomínio.
Resumo em 4 passos
- A câmera lê a placa e mede a velocidade
- Envia os dados para a internet (nosso servidor)
- O servidor salva tudo e verifica se passou do limite
- Se passou, gera um PDF e manda por email
Como a câmera se conecta ao sistema?
A câmera envia os dados para o endereço protector-lombada.vercel.app na pasta /placa.
A câmera se identifica automaticamente pelo número de série. Não precisa de token na URL. O número de série já vem dentro dos dados que a câmera envia (campo serialno). O sistema recebe, procura no banco de dados qual câmera tem aquele serial, e pronto.
Exemplo: A câmera com serial
QFX2152506180113envia dados → o sistema procura "qual câmera tem esse serial?" → encontra "CEC-LOMB01 do Enseada do Castelo" → salva a captura.
PARTE 1: Cadastrar um Novo Cliente
O que você precisa antes de começar
- Acesso ao painel admin:
https://protector-lombada.vercel.app/admin - Login de super_admin (email e senha)
Passo a passo
- Abra o painel admin no navegador
- Faça login com seu email e senha de super_admin
- Na parte de Clientes, clique em "Novo Cliente"
- Preencha os campos:
- Nome — nome do condomínio (ex: "Enseada do Castelo")
- Local/Via — a rua onde a lombada fica (ex: "Rua Principal")
- Cidade/UF — cidade e estado (ex: "Guarapari/ES")
- Limite de Velocidade — velocidade máxima em km/h (ex: 30)
- CNPJ — CNPJ do condomínio
- Telefone — telefone do responsável
- Contato — nome do responsável
- Clique em "Salvar"
Pronto! O cliente foi criado.
PARTE 2: Cadastrar uma Câmera
Passo a passo
- No painel admin, vá em Câmeras
- Clique em "Nova Câmera"
- Selecione o cliente (condomínio) que essa câmera pertence
- Digite o nome da câmera (ex: "CEC-LOMB01")
- Digite o número de série da câmera (ex: "QFX2152506180113")
- Para encontrar o serial: acesse a câmera pelo navegador → Manutenção → Informação do Dispositivo → campo "Nr série"
- Clique em "Criar"
IMPORTANTE: O número de série deve ser EXATAMENTE igual ao que aparece na câmera. Se errar uma letra ou número, a câmera não vai ser reconhecida.
Se a câmera já existia mas estava desativada
Isso acontece quando você tenta cadastrar e aparece erro de "serial já existe". Nesse caso, a câmera foi desativada antes e precisa ser reativada. Peça ao administrador do banco de dados para reativar.
PARTE 3: Configurar a Câmera Física (ALPHADIGI)
Esta é a parte mais importante. Você vai configurar a câmera para enviar os dados para o nosso servidor.
Como acessar a configuração
- Conecte seu computador na mesma rede da câmera
- Abra o navegador e digite o IP da câmera (ex:
http://192.168.1.100) - Faça login (usuário e senha da câmera)
- Clique em Configuração (canto superior direito)
- No menu lateral, clique em Comunicação → Comunicação
Tela "Configurações de HTTP" — Campo por campo
Você vai ver uma tela com várias seções. Configure EXATAMENTE assim:
Seção: Conf. HTTP Push (lado esquerdo)
| # | Campo | O que colocar | Explicação |
|---|---|---|---|
| 1 | Habilitar | ✅ Marcado | Liga o envio de dados |
| 2 | Servidor Pri. | protector-lombada.vercel.app | Endereço do nosso servidor. CUIDADO: confira que está escrito PROTECTOR e não "rotector" (o campo é pequeno e pode cortar o texto) |
| 3 | Servidor Seg. | (vazio) | Não tem servidor secundário |
| 4 | Porta | 443 | Porta do HTTPS |
| 5 | Timeout | 10 | Tempo máximo de espera em segundos |
| 6 | Nr.da Placa | ✅ Marcado | Envia o número da placa lida |
| 7 | Pasta | /placa | Caminho onde o servidor recebe os dados |
| 8 | Img.Veículo | ✅ Marcado | Envia a foto do veículo inteiro |
| 9 | Img. Placa | ✅ Marcado | Envia a foto da placa |
| 10 | GPIO | ☐ Desmarcado | Não usamos |
| 11 | Pasta (GPIO) | (qualquer valor) | Não usamos |
| 12 | Dados Serial | ☐ Desmarcado | Não usamos |
| 13 | Pasta (Serial) | (vazio) | Não usamos |
| 14 | Char Code | UTF-8 | Padrão de caracteres |
Seção: Heartbeat (centro da tela)
| # | Campo | O que colocar | Explicação |
|---|---|---|---|
| 15 | Habilitar | ✅ Marcado | Liga o "sinal de vida" da câmera |
| 16 | Pasta | /placa | Envia o heartbeat para o mesmo lugar que as capturas |
| 17 | Intervalo | 10 | Envia sinal a cada 10 segundos |
| 18 | Protocolo | Desativar | Usa o mesmo protocolo do HTTP Push |
Seção: Conexão e Segurança (centro da tela)
| # | Campo | O que colocar | Explicação |
|---|---|---|---|
| 19 | Apenas lista branca | ☐ Desmarcado | Não usamos |
| 20 | Conexão curta | ☐ Desmarcado | Não usamos |
| 21 | Link SSL | ✅ Marcado | OBRIGATÓRIO — usa conexão segura (HTTPS) |
| 22 | Porta SSL | 443 | Porta do HTTPS |
| 23 | Autenticação | Anônimo | Não precisa de usuário/senha |
| 24 | QoS (0-5) | 2 | Qualidade de serviço média |
| 25 | Resultados e fotos | Carregar junto | Envia foto junto com os dados |
| 26 | Empresa | (vazio) | Não obrigatório |
| 27 | CNPJ | (vazio) | Não obrigatório |
Seção: Retransmissão (canto superior direito)
| # | Campo | O que colocar | Explicação |
|---|---|---|---|
| 28 | Habilitar | ✅ Marcado | Se falhar o envio, tenta de novo |
| 29 | Foto | ✅ Marcado | Reenvia a foto também |
| 30 | Imag. Placa | ✅ Marcado | Reenvia a imagem da placa |
| 31 | Modo autônomo | ✅ Marcado | A câmera reenvia sozinha |
| 32 | Intervalo(S) | 2 | Espera 2 segundos entre tentativas |
| 33 | Tempo total(S) | 100 | Tenta reenviar por até 100 segundos |
Seção: Conf. Http (canto inferior direito)
| # | Campo | O que colocar | Explicação |
|---|---|---|---|
| 34 | Pasta | (vazio) | Não usamos |
Depois de configurar
- Clique em OK para salvar
- Reinicie a câmera (Manutenção → Gestão do sistema → Reiniciar)
- Aguarde 1-2 minutos para a câmera voltar
- Verifique no dashboard se a câmera aparece como Online (bolinha verde)
PARTE 4: Verificar se a Câmera está Funcionando
No dashboard
- Acesse
https://protector-lombada.vercel.app/admin - Na lista de câmeras, a câmera deve mostrar:
- Status: Online (verde) — significa que está enviando dados
- Último sinal: horário recente (menos de 5 minutos atrás)
A câmera aparece Offline?
Verifique na ordem:
- A câmera tem internet? Ela precisa acessar a internet pela porta 443 (HTTPS)
- O endereço está certo? Confira que o Servidor Pri. está
protector-lombada.vercel.app(com P no início!) - O serial está cadastrado? Compare o serial da câmera (Manutenção → Informação do Dispositivo) com o que está no painel admin
- Link SSL está habilitado? Precisa estar marcado
- Porta SSL é 443? Confira
- Reiniciou a câmera depois de configurar? Sempre reinicie depois de mudar as configurações
PARTE 5: Cadastrar Usuários
Tipos de usuário
| Tipo | O que pode fazer |
|---|---|
| super_admin | Tudo — todos os clientes, câmeras e usuários |
| admin_cliente | Gerencia 1 condomínio — câmeras, veículos, emails |
| operador | Apenas vê o dashboard do condomínio |
Como criar
- No painel admin, vá em Usuários
- Clique em "Novo Usuário"
- Preencha: email, senha, nome, selecione o cliente e o tipo
- Clique em "Criar"
IMPORTANTE — Controle de Acesso: Criar o usuário é o que dá acesso ao dashboard. O sistema usa a tabela
usuariospara determinar qual cliente o usuário pode ver. Ao criar um usuário vinculado a um cliente, ele automaticamente enxerga as câmeras, capturas e veículos daquele condomínio. Sem esse cadastro, o usuário não verá nenhum dado no dashboard, mesmo que o cliente e câmeras estejam funcionando.
O que acontece por trás
O sistema possui uma função interna chamada my_cliente_id() que identifica a qual cliente o usuário logado pertence. Toda consulta ao banco (câmeras, capturas, veículos) usa essa função para filtrar os dados. Por isso, o vínculo usuário → cliente na tabela usuarios é obrigatório para o acesso funcionar.
PARTE 6: Cadastrar Emails de Alerta
Para que o condomínio receba avisos quando alguém passa acima do limite.
- No painel admin, vá em Emails
- Clique em "Adicionar"
- Preencha:
- Nome — quem vai receber (ex: "Portaria Central")
- Email — email do destinatário
- Tipo — escolha
alerta(recebe avisos de velocidade)
- Clique em "Salvar"
Tipos de email
| Tipo | O que recebe |
|---|---|
alerta | Só recebe avisos quando alguém ultrapassa o limite |
relatorio | Recebe relatórios periódicos |
todos | Recebe tudo |
PARTE 7: Como Funciona a Detecção
Quando um veículo passa pela câmera:
- A câmera lê a placa e mede a velocidade com radar
- Tira uma foto do veículo
- Envia tudo para
protector-lombada.vercel.app/placa - O servidor identifica a câmera pelo número de série
- Salva a placa, velocidade e foto no banco de dados
- Verifica: velocidade > limite do condomínio?
- NÃO → salva e pronto
- SIM → gera um PDF com a foto e dados, e envia por email para os destinatários cadastrados
O que tem no PDF
- Logo do condomínio
- Placa do veículo
- Velocidade registrada e o limite permitido
- Data e hora
- Foto do veículo
- Nome do morador (se a placa estiver cadastrada)
- Histórico das últimas 30 passagens daquele veículo
PARTE 8: Cadastrar Veículos dos Moradores
Isso é opcional, mas ajuda a identificar quem é o dono do veículo.
- No dashboard do condomínio, vá em Veículos
- Clique em "Adicionar"
- Preencha: placa, nome do morador, unidade, marca, cor
- Clique em "Salvar"
Quando esse veículo for detectado, o nome do morador vai aparecer no PDF.
PARTE 9: Personalização do PDF
Cada condomínio pode ter seu próprio visual no PDF.
No painel admin, edite o cliente e preencha:
- Título do PDF — ex: "CONDOMÍNIO ENSEADA DO CASTELO"
- Subtítulo — ex: "Lombada Educativa - Controle de Velocidade"
- Rodapé — ex: "Este documento é meramente educativo e não tem valor de multa."
- Logo URL — link para a imagem do logo do condomínio
PARTE 10: Resolução de Problemas
"A câmera está Online mas não aparece nenhuma captura"
- A câmera precisa ler uma placa para gerar captura
- Passe um veículo na frente da câmera e veja se aparece
"A câmera está Offline"
Veja a lista de verificação na PARTE 4.
"O email de alerta não chega"
- Tem destinatário cadastrado? (PARTE 6)
- O veículo passou acima do limite? Se a velocidade for menor que o limite, não envia email
- Verifique se o email não caiu na caixa de spam
"Erro ao cadastrar câmera: serial já existe"
A câmera já foi cadastrada antes e está desativada. Peça para reativar no banco de dados.
"O usuário logou mas não vê câmeras, capturas ou veículos"
Isso acontece quando o usuário não está corretamente vinculado ao cliente. Verifique:
- O usuário foi criado pelo painel admin? Ele precisa existir na tabela
usuarioscom ocliente_idcorreto - O usuário está ativo? O campo
ativoprecisa sertrue - O cliente correto foi selecionado? Confira se o vínculo aponta para o condomínio certo
Regra geral: Se o dashboard está vazio para um cliente, o problema quase sempre é o cadastro do usuário. Volte à PARTE 5 e confirme que o usuário está criado e vinculado.
"A câmera envia mas o sistema não reconhece"
O serial cadastrado no painel não bate com o serial real da câmera. Confira:
- Na câmera: Manutenção → Informação do Dispositivo → Nr série
- No painel: veja o serial cadastrado
- Compare letra por letra — tem que ser IDÊNTICO
Checklist: Novo Condomínio do Zero
Use esta lista para não esquecer nada:
- 1. Criar o cliente no painel admin (PARTE 1)
- 2. Cadastrar a câmera com o serial correto (PARTE 2)
- 3. Configurar a câmera física campo por campo (PARTE 3)
- 4. Reiniciar a câmera
- 5. Verificar se aparece Online no dashboard (PARTE 4)
- 6. Criar usuário para o condomínio — OBRIGATÓRIO para acesso ao dashboard (PARTE 5)
- 7. Testar login: entrar com o usuário criado e confirmar que vê câmeras e capturas
- 8. Cadastrar emails de alerta (PARTE 6)
- 9. Cadastrar veículos dos moradores (PARTE 8, opcional)
- 10. Personalizar o PDF com logo e textos (PARTE 9)
- 11. Testar: passar um veículo acima do limite e verificar se chega o email
Dados Técnicos (para quem precisa)
Endereço do servidor
| O quê | Endereço |
|---|---|
| URL principal | https://protector-lombada.vercel.app |
| Endpoint de capturas | /placa (roteado para /api/captura.js) |
| Endpoint de heartbeat | /api/heartbeat |
| Painel admin | /admin |
| Dashboard | / (raiz) |
Como a câmera é identificada
- O sistema identifica a câmera pelo número de série que vem no corpo do JSON (
AlarmInfoPlate.serialno) — este é o método padrão - Como fallback, aceita identificação por token na URL (método legado, não recomendado para novas instalações)
- Se não encontrar por nenhum dos dois, registra erro no log
Banco de dados
| Item | Detalhe |
|---|---|
| Plataforma | Supabase (PostgreSQL) |
| Tabelas principais | clientes, cameras, capturas, veiculos, usuarios, email_destinatarios |
| Armazenamento de fotos | Supabase Storage (bucket capturas-fotos) |
Limites e Limpeza Automática
- Máximo 120 requisições por minuto por câmera
- Fotos das capturas são apagadas automaticamente após 15 dias (os dados permanecem)
- Registros de capturas (dados sem foto) são apagados após 6 meses
- Logs de debug são limpos automaticamente após 24 horas
- Câmera é considerada Offline se não enviar dados em 5 minutos
Controle de Acesso (RLS)
O banco de dados usa Row Level Security (RLS) para garantir que cada usuário veja apenas os dados do seu condomínio. Duas funções controlam isso:
| Função | O que faz |
|---|---|
my_cliente_id() | Retorna o cliente_id do usuário logado (consulta a tabela usuarios) |
is_super_admin() | Retorna true se o usuário logado tem role super_admin |
Regra universal: Toda tabela (câmeras, capturas, veículos, emails) usa my_cliente_id() para filtrar os dados. Se o usuário não existir na tabela usuarios com um cliente_id válido, ele não verá nenhum dado. Super admins veem tudo.
Variáveis de ambiente (Vercel)
| Variável | Para que serve |
|---|---|
SUPABASE_URL | Endereço do banco de dados |
SUPABASE_SERVICE_KEY | Chave de acesso admin ao banco |
SUPABASE_ANON_KEY | Chave pública (usada no frontend) |
CRON_SECRET | Senha para o job de limpeza automática |
SMTP_HOST | Servidor de email |
SMTP_PORT | Porta do email (465) |
SMTP_SECURE | Usar SSL (true) |
SMTP_USER | Email que envia os alertas |
SMTP_PASS | Senha do email |
Protector Traffic Control — Lombada Educativa Inteligente — v2.1 | Março 2026