210 likes | 352 Views
Acceso Controlado. Pablo Naveas. Christian Pelissier. Claudio Ramírez. Paola Rojas. Carlos Silva. Motivación. Lectura del manual MSP 430 – Easy Web Smart Card – Lector Mifare Máquina de Estados – OS en tiempo real Comunicación Serial (Interrupciones)
E N D
Acceso Controlado Pablo Naveas. Christian Pelissier. Claudio Ramírez. Paola Rojas. Carlos Silva.
Motivación • Lectura del manual • MSP 430 – Easy Web • Smart Card – Lector Mifare • Máquina de Estados – OS en tiempo real • Comunicación Serial (Interrupciones) • Consulta a base de datos (RAM – WEB) • Control de Periféricos • Aplicaciones
Introducción • La idea es proveer control de accesos a un determinado recintocon el fin de expandirse a departamentos, edificios,y por sobre todo para que un futuro se pueda llegar a implementar en el hogar. • Se utilizan los siguientes implementos: • Tarjeta de Desarrollo EasyWeb. • Tarjetas Inteligentes. • Lector de Tarjetas MIFAREStandard Card.
Tarjetas inteligentes • Las tarjetas inteligentes MIFARE están basadas en el chip Mifare MF1-S50 de Philips. • Tienen una distancia de lectura y escritura sin contacto (de modo inalámbrico). • Pueden teneralmacenada en su memoria distintas aplicaciones, sin uso alguno de baterías.
Características: Una tarjeta que cumple con el estándar MIFARE está conformada por 16 sectores, donde cada sector posee 4 bloques de 16 bytes. El bloque cero del sector cero es de sólo lectura donde se almacena la información del número serial de la tarjeta o Card ID, datos del fabricante e información de control. Los bloques finales de cada sector (3, 7, 11, … ,63) almacenan los datos de configuración de cada sector. Estos datos de configuración incluyen las claves de acceso A y B como también las condiciones de acceso al sector. Este bloque recibe el nombre de Sector Trailer. Tarjetas inteligentes
Para el caso particular de la credencial universitaria utilizada en la USM, almacena los datos del usuario en los sectores 1 y 2: Tarjetas inteligentes • Sector 1 – Bloque 4: almacena el RUT del usuario. • Sector 2 – Bloque 8: almacena elNombre del usuario. • Sector 2 – Bloque 9: almacena el primer Apellido del usuario. • Sector 2 – Bloque 10: almacena el segundo Apellido del usuario.
Lector de Tarjetas Lector de tarjetas inteligentes compatible con el Standard MIFARE. Características: • Antena Incluida. • Frecuencia de Operación 13.56Mhz. • Interfaz serial incorporada compatible con los estándares RS232/422/485. • Led de operación y led de lectura incorporado. • Lectura de tarjetas a una distancia entre 5 y 9 cm. • Alimentación requerida: 5V/80 mA. • Modo apagado para bajo consumo de energía. • Encriptación de los datos del Tx y Rx.
Proyecto Inicial • Descripción: • Implementación de Sistema Operativo tiempo real. • Implementación de distintas tareas. • Almacenamiento y borrado de tarjetas mediante botones. • Sólo se almacenan números seriales de tarjeta. • Números de serie de tarjetas almacenados en memoria del micro. • Apertura de relé al producirse un éxito. • Aviso por display en caso de fracaso y éxito.
Proyecto Inicial Esquemático:
Proyecto Final: Acceso Controlado 2ª parte • Motivaciones: • Limitaciones del proyecto inicial. • Autentificación avanzada: mediante Nº de tarjeta y RUT del usuario. • Utilización de las funciones de red de la tarjeta de desarrollo. • Contacto con una empresa externa que desea poner en uso las características de la credencial universitaria para una aplicación especifica. • Dejar un legado al Departamento de Electrónica al desarrollar una aplicación que es fácilmente implementable para controlar el acceso a distintas dependencias.
Proyecto Final: Acceso Controlado 2ª parte • Algunos problemas… • Problemas con los tiempos de acceso para la lectura de la tarjeta inteligente. • Problemas con el sistema operativo . Se tomó la decisión de volver a la estructura del super loop para la rutina de servicio de interrupciones • Traslape de información en la memoria, principalmente al trabajar con arreglos (compilador).
tarjeta Lectura serial Tx Logueo Tx tcp servidor Rx “L” Lectura Rut Tx Blck 4 Esquema básico de la rutina
#pragma vector = UART0RX_VECTOR __interrupt void RXInterrupt (void) { _EINT(); RXBuffer[RXWriteIndex++] = U0RXBUF; // store received byte and // inc receive index RXWriteIndex &= RXBUFSIZE-1; // reset index RXCharCount++; // received, inc count RxB = cRS232GetChar(); // Rx del byte if (flag0) { RELAY2_OFF; switch (RxB) { case CR : sem = 1; break; case LF : if (sem) { flag1 = 1; flag0 = 0; sem = 0; } break; default : sem = 0; break; } }
Conectividad Easy Web Stack TCP/IP escogido: • uIP (Adam Dunkels) Características: • Programado en C; buena documentación. • Soporta múltiples conexiones y datagramas. • Refragmenta paquetes. • Permite implementar aplicaciones propias, que luego corren sobre uIP (una a la vez).
Conectividad Easy Web Una aplicación corriendo sobre uIP es una función en C que es invocada por uIP en respuesta a ciertos eventos: • Envío y Recepción de datos. • Establecimiento de una conexión. • Necesidad de retransmisiones.
Conectividad Easy Web Aplicación: • App.c ->
Conectividad Easy Web Aplicación: • App.h -> definir: #define UIP_APPCALL example6_app • Uipopt.h -> incluir: #include "app.h"
Conectividad Easy Web Nuestra aplicación consiste en: • Establecer una conexión con “alumnos.elo.utfsm.cl”, puerto 80. • Enviar los datos adquiridos desde la tarjeta inteligente (#serie, RUT) a través del comando: GET /~dcaro/datos.php?rut=123456789&numero=12345678
Conectividad Easy Web Respuestas del Servidor: • OK • FAILED …y actualiza los datos, lo que se puede ver en un browser.
Demostración... ¿Consultas?