Todos los proyectos

Control de acceso por reconocimiento de matrículas

Control de acceso de vehículos sobre Raspberry Pi 3B: OpenALPR lee la matrícula, un backend Flask + MySQL la autoriza y emite el evento en tiempo real con Socket.IO.

Tipo
Proyecto de Fin de Ciclo — ASIR
Fecha
2024 — 2025
Rol
Autor único
Código
GitHub

01Resumen técnico

Un sistema de control de acceso basado en el reconocimiento automático de matrículas. Una Raspberry Pi 3B con cámara captura el vehículo, OpenALPR (región EU) extrae la matrícula y un backend en Flask con MySQL la comprueba contra las autorizadas. Hay autenticación de usuarios y roles, y los eventos de acceso llegan a la interfaz web en tiempo real mediante WebSockets (Socket.IO).

02Arquitectura

Edge · Raspberry Pi 3B
Camera1 frame / second
OpenALPREU regionplate → text
Python clientsystemd serviceRestart=always
Backend
FlaskAPI · auth · roles
MySQLplates · users · log
Clients
Web UIusers request platesadmins approvelive access history
El reconocimiento se hace en el borde; el backend autoriza, guarda y envía los eventos al navegador.

03Mi contribución

Proyecto final de mi Grado Superior ASIR, diseñado, construido y documentado de principio a fin por mí.

04Implementación

  • Captura — un script en Python en la Pi captura una imagen cada segundo y la procesa con OpenALPR (región EU). Se descartan duplicados consecutivos.
  • Funcionamiento desatendido — el script corre como servicio systemd con Restart=always: arranca con el sistema y se recupera de fallos.
  • Backend — API y web en Flask con MySQL; la Pi envía cada matrícula detectada y su imagen por HTTP. Los usuarios solicitan su matrícula y los administradores la aprueban o rechazan (acceso por roles).
  • Tiempo real — el servidor emite cada evento de acceso por Socket.IO y el historial se actualiza sin recargar.

05Resultado

Un sistema funcional de extremo a extremo (matrícula frente a la cámara, decisión en el backend, evento en pantalla) con documentación técnica completa en el repositorio.

06Tecnologías

  • Raspberry Pi 3B
  • Python
  • OpenALPR
  • Flask
  • MySQL
  • Socket.IO
  • WebSockets
  • systemd