Cómo construir un sistema de control de acceso inteligente utilizando M5StickV y un módulo RFID
22 Jul 2024
0 Comentarios
En este proyecto, crearemos un sistema de control de acceso inteligente utilizando ESP32, unidades RFID y M5StickV . El sistema admite la lectura de tarjetas RFID, el reconocimiento de códigos QR y la interacción con la "plataforma en la nube sin conexión" a través de MQTT. Las características clave incluyen capacidades de lectura y escritura de RFID, comunicación de datos basada en MQTT e interacción con la interfaz de usuario a través de M5GO Lite .
Objetivos del Proyecto
- Sistema de perforación de tarjetas : implementa la lógica básica de un sistema de perforación de tarjetas utilizando ESP32 como chip de control principal.
- Reconocimiento de información RFID: utilice la unidad RFID para leer y reconocer la información de la tarjeta IC.
- Interacción en la nube sin conexión: habilite la interacción con la plataforma en la nube sin conexión para obtener información sobre ejercicios mediante MQTT.
- Reconocimiento de códigos QR: utilice M5StickV para el reconocimiento de códigos QR.
Implementar Procedimientos
Configuración del servidor MQTT
1. Configuración del servidor:
- ID del servidor, nombre de usuario y contraseña: configure estos elementos principales para el servidor MQTT.
- Número de puerto: normalmente se establece en 1883.
- URL del servidor: proporcione la URL de la plataforma.
- Formato de datos y temas: asegúrese de que el formato del tema coincida con los parámetros API de la plataforma. Los datos suelen estar formateados en JSON.
3. Suscribiéndose a los Datos:
- Detalles de la suscripción: establezca el tema y los datos para la suscripción. Asegúrese de que los temas para publicar y suscribirse sean diferentes. La seguridad debe ser gestionada por el corredor. Los datos de suscripción devolverán valores Medio y Resultado, que se pueden utilizar para verificar la integridad de los datos y el éxito de la carga.
Configuración del Módulo
M5StickV para el reconocimiento de códigos QR
1. Parámetros de Cámara e Imagen:
- Bibliotecas: utilice las bibliotecas de imágenes y sensores de MicroPython.
- Formato de imagen: establezca en RGB565.
- Resolución: establezca en QQVGA (160x120).
-
Capturar imagen: utilice la biblioteca
img
para capturar la imagen de la cámara.
2. Detección de Código QR:
-
Detección: utilice
find_qrcode
para detectar códigos QR en la imagen. Devuelve parámetros como datos analizados y especificaciones. - Decodificación: extraiga y utilice los datos decodificados para su posterior procesamiento.
Configuración de RFID
Estructura de la tarjeta RFID:- UID y BLOQUES: UID es un identificador único de solo lectura. Los BLOQUES son legibles y escribibles, donde se almacenan los datos de los estudiantes.
- Retraso: implemente un retraso para evitar reconocimientos múltiples debido a la alta frecuencia de procesamiento de RF.
Comunicación UART
Descripción general:- Protocolo: UART es un protocolo de transceptor asíncrono en serie que transmite bits de datos binarios.
- Niveles de señal: Alto para '1' y bajo para '0'.
- TX (Transmitir datos): Conéctese al RX del otro dispositivo.
- RX (Recibir datos): Conéctese al TX del otro dispositivo.
- GND: Asegura una conexión a tierra común entre dispositivos.
- M5Go Lite: TX (GPIO17) y RX (GPIO16).
- M5StickV: RX (GPIO35) y TX (GPIO34).
-
Biblioteca: use la biblioteca
uart
de MicroPython para configurar la plataforma.
Primero, examinemos las interfaces del dispositivo según el diagrama de diseño de hardware. Para M5Go Lite, las interfaces TX y RX están asignadas a GPIO17 y GPIO16, respectivamente. Para el M5StickV, las interfaces RX y TX están asignadas a GPIO35 y GPIO34. Esta configuración conecta el TX del M5Go Lite al RX del M5StickV y viceversa. Para utilizar esta configuración, utilice la biblioteca UART incluida con MicroPython para configurar la comunicación entre los dispositivos.
Gráfico conceptual:
Funciones
Funciones principales
- M5GO Lite UI: Interfaz interactiva con conexión WiFi.
- Lectura/Escritura RFID: lee y escribe información de la tarjeta IC.
- Comunicación MQTT: interactúa entre la plataforma en la nube y la placa de desarrollo.
- Reconocimiento de códigos QR: utilice M5StickV para reconocer y leer códigos QR.
- Sistema de Tarjetas Perforadas: Consulta y muestra información de tarjetas perforadas.
Funciones Secundarias
- No repetir los golpes: Evite que se repitan los golpes el mismo día.
- Validación del código QR: asegúrese de que solo se cargue la información del estudiante.