Professional Documents
Culture Documents
3º Grupo
Ion B. Padilla
Liher Granado
Daniel García
Igor Ordóñez
Endika Montejo
2 Gestión de usuarios del Metro de Bilbao
Índice
1 ABSTRACT............................................................................................................................................ 4
2 EL PROBLEMA...................................................................................................................................... 4
5 DESARROLLO ..................................................................................................................................... 16
5.1 MODELIZACIÓN.............................................................................................................................. 16
5.1.1 Base de Datos ........................................................................................................................ 16
5.1.2 Software................................................................................................................................ 16
5.1.3 Hardware .............................................................................................................................. 17
5.2 IMPLEMENTACIÓN .......................................................................................................................... 18
5.2.1 Base de Datos ........................................................................................................................ 18
5.2.2 Software................................................................................................................................ 18
5.2.3 Hardware .............................................................................................................................. 19
5.3 ACOMETIDA DE MEJORAS ................................................................................................................. 19
5.3.1 Base de datos ........................................................................................................................ 19
5.3.2 Software................................................................................................................................ 19
6 RESULTADOS ..................................................................................................................................... 20
6.1 CAPACIDADES ................................................................................................................................ 20
6.2 LIMITACIONES................................................................................................................................ 21
6.2.1 Lector de tarjetas................................................................................................................... 21
6.2.2 Latencia en la comunicación PIC-PC ....................................................................................... 21
6.3 CONCLUSIONES .............................................................................................................................. 21
7 LÍNEAS DE EXPANSIÓN ...................................................................................................................... 22
1 Abstract
As one of the main problems nowadays is the increase and the inconvenience of the use of
private transports, the use of public transports is being fomented. This is one of the reasons why
our project consists on the management of the users of Bilbao’s underground.
To reach this goal, we have divided the project into two parts.
The first one will establish a connection between a program in JAVA language and the
MySQL database. This part’s objective will be the one of recharging cards to habitual users and
expend tickets to sporadic ones.
The second part will connect the access devices to the database hosted by a central PC via
RS-485 BUS and a JAVA program; with this last program acting as a gatekeeper, which will allow or
not the petitions of entry of users into the underground and register their accesses.
2 El problema
Las carreteras de las ciudades están cada día más congestionadas. Es por ello que existen
medios de transporte públicos como el Metro. Para que este transporte sea eficaz, la forma de
acceder a él debe ser tan rápida y efectiva como el propio viaje. Además debemos ser capaces de
recoger información básica desde el sistema sobre el uso de este transporte. De esta forma
podríamos adaptarlo a las necesidades de la ciudad, responder a las necesidades del cliente y
proponer mejoras. Debido a esto, se precisan herramientas que permitan automatizar y facilitar
estas tareas tanto al usuario que accede al Metro como al equipo que lo gestiona y trata de
mejorarlo cada día, ya que otras formas no automatizadas son menos eficaces y más lentas.
Resumiendo: debemos facilitar información al usuario para poder prestarle una forma
fácil, rápida y cómoda de acceder a este medio de transporte; y también al equipo que gestiona el
Metro, para que puedan extraer información y estadísticas exactas de la forma más rápida posible
que ayuden a mejorar el servicio sin tener que realizar sondeos ni observaciones.
1
Mondragon Goi Eskola Politeknikoa, Escuela Politécnica Superior de Mondragón.
5 Gestión de usuarios del Metro de Bilbao
En base a ello, y al tiempo disponible para su realización (Fecha límite: 16 de Junio de 2008),
definiremos los objetivos mínimos y los límites fijados en torno a ellos (Anexos: Planificación).
3.1 Mínimos
Este sistema deberá permitir lo siguiente:
3.2 Límites
Nos centraremos en:
4 Análisis
En el análisis, estudiaremos las diferentes posibilidades y vías técnicas para poder prestar
una solución al problema antes citado.
Por lo tanto, de media, el Metro de Bilbao soporta mensualmente 7,2 millones de viajeros,
unos 240.000 diarios, con excepciones como el día de mayor afluencia, el de Santo Tomás, con un
millón de usuarios en sólo 24 horas. Este tráfico se divide en 2 líneas de Metro: L1
Plentzia/Etxebarri y L2 Portugalete/Etxebarri. La primera cuenta actualmente con 28 estaciones a
lo largo de 31 kilómetros, mientras que la segunda se reduce a 20 estaciones y 20 kilómetros de
extensión.
La tarificación del Metro está hecha en base a las líneas, siendo obligatorio el paso del
ticket o pase tanto a la entrada como a la salida. Existen infinidad de billetes (Billete ocasional, Ida
y vuelta, Billete día, Billete mensual, Ticket joven…), pero el más usado es el Creditrans, el cual
cuenta con un saldo inicial al que se le va descontando los sucesivos importes de los viajes. Se
estudia la implantación de la tarjeta BARIK, la cual se basa en la tecnología RFID2, pudiendo
prescindir del contacto físico entre el lector y la tarjeta para su validación, haciendo mucho más
rápido el acceso al Metro (1).
4.1.2 Gestión
Necesitamos darle al equipo de gestión la posibilidad de extraer información sobre el uso
del Metro, aquélla que nos ayude a mejorar el sistema y adaptarlo a su uso, y además permita
realizar las operaciones más comunes: crear un nuevo usuario habitual, dar de baja a un usuario
habitual, conocer la cantidad de accesos diarios... La razón está bien clara: evitar la realización de
inexactos sondeos sino lograr unas estadísticas totalmente exactas, que ayuden a prever
saturaciones del Metro y responder a las necesidades de los usuarios. Esta función la cumplirá un
sistema de información común para todo el Metro.
4.1.3 Usuarios
Hay que facilitarle al usuario el acceso al Metro. Primero hay que pasar a ser usuario del
metro de Bilbao. Así que, ¿Quién es usuario del Metro? ¿Cómo se pasa a ser usuario del Metro?
¿Qué formas hay de ser usuario?
Usuario del Metro es aquel que lo usa: ya sea una, dos o cien veces; al día, a la semana o
una vez en su vida. Por ello podemos distinguir entre usuarios habituales y esporádicos.
2
Radio Frequency Identification, sistema de identificación por radiofrecuencia.
7 Gestión de usuarios del Metro de Bilbao
4.1.4 Hardware
En este apartado se analizarán los soportes físicos que serían necesarios para el sistema.
4.1.4.1 Pases
Los usuarios deben recibir un soporte físico en el que albergar su derecho a entrada, el
cual demuestre que se ha pagado por el acceso.
Para los usuarios esporádicos, el uso del típico ticket es lo más fácil e intuitivo, y más
barato que expedir tarjetas sólidas las cuales podrían ser extraviadas o desechadas. Pensamos en
otras posibilidades para los usuarios habituales, como son las tarjetas con banda magnética o
tarjetas de radiofrecuencia, además de la posibilidad de emplear el número DNI o alguna
contraseña personal para introducirla en los tornos de acceso. Estas dos últimas opciones no
tienen coste de soporte físico (papel, plástico), pero puede ser engorrosa para los usuarios.
Las formas de pago que se les puede ofrecer a los usuarios esporádicos no van más allá del
pago en efectivo en las estaciones; pero para los usuarios habituales y la recarga de sus bonos
pensamos en varias opciones, como la recarga a través del móvil, Internet o automáticamente al
agotar el saldo, por medio de la asociación de una cuenta bancaria a la cuenta de usuario. Aun así,
la opción más usual para estos sería la de recargar su tarjeta en las terminales instaladas en las
propias estaciones.
4.1.4.4 Interconexiones
Para hacer posible que este sistema funcione y sea capaz de proveer estadísticas de uso y
herramientas para la manipulación de datos, los dispositivos deben grabar información referente a
las operaciones realizadas por parte de usuarios como la expedición de billetes. Es por esto que
deben estar conectados al sistema de gestión de información.
8 Gestión de usuarios del Metro de Bilbao
4.1.5 Software
Definiremos conceptualmente de qué partes de software precisa el sistema hasta ahora
definido.
4.1.5.1 Programas
Necesitamos dos programas básicos: el instalado en las terminales de obtención de pases,
el cual se encargará de todo lo referente a esta funcionalidad, y el empleado por el personal de
gestión del Metro para la obtención y manipulación de datos y estadísticas.
Además de estos dos programas, hace falta uno más que ejerza de interlocutor entre los
tornos de acceso y la base de datos. Estos tornos deben validar las peticiones que reciban, y para
ello deben comunicarse con la base de datos para cotejar la información. La inteligencia no
residirá en estos dispositivos, no dispondrán de la posibilidad de comunicarse directamente con la
base de datos. Simplemente enviarán los datos que lean de las tarjetas o tickets de los usuarios a
otro dispositivo, centralizando la gestión y la comunicación con la base de datos en un solo
dispositivo. Este será el que contenga el programa mencionado.
El primero de ellos se trataría del interface integrado en el programa de las terminales del
Metro. El segundo sería el implementado en el programa para la gestión del Metro. No es
necesario implementar un interface de usuario en el programa interlocutor entre los tornos y el
sistema de información, ya que no ofrece la posibilidad de realizar ninguna tarea, sólo monitoriza
eventos.
9 Gestión de usuarios del Metro de Bilbao
4.2.1 Gestión
Toda la información que genere este sistema debe ser almacenada. Para ello, usaremos
una base de datos, la cual nos permite gracias a los lenguajes SQL3, DDL4 y DML5 una completa
gestión y manutención de los mismos.
MySQL Oracle
Sencillez en la creación de las bases de datos. Alta dificultad en la creación de las bases de datos.
Se recomiendan 128MB RAM y 1GB de disco duro 7 veces más de espacio en disco duro y 16 veces
para servidores. más de RAM que MySQL aproximadamente.
Para las características avanzadas, hay que usar el Implementa prácticamente todas las características
motor InnoDB. de las bases de datos.
Usaremos MySQL para la simulación del sistema, por su sencillez, por ser de código libre y
por el bajo consumo de recursos. Aun así, prevemos que en la aplicación real del proyecto debería
ser usada una base de datos comercial como Oracle, ya que necesitaría ser más potente para
soportar el continuo fluir de datos, agilizando y permitiendo de esta manera más consultas (2).
4.2.2 Hardware
Debe existir un ordenador que se encargue de recibir la información de las diferentes
terminales y dispositivos que deseen escribir o leer datos de la base de datos. El servidor será
3
Structured Query Language.
4
Data Definition Language.
5
Data Modification Language.
11 Gestión de usuarios del Metro de Bilbao
aquel que albergue la base de datos. Deberá estar continuamente ejecutando un programa que se
encargará del recibo y envío de datos a través del puerto de serie, USB, Ethernet o cualquiera que
sea el BUS de datos escogido.
4.2.2.1 Tarjetas
El soporte físico seleccionado para otorgar el derecho a acceder al Metro a los usuarios
habituales son las tarjetas. Nos centraremos en tres tipos, las tarjetas basadas en RFID, las tarjetas
magnéticas y las tarjetas inteligentes.
RFID
VENTAJAS DESVENTAJAS
6
Sistema de Gestión de Bases de Datos.
12 Gestión de usuarios del Metro de Bilbao
TARJETAS MAGNÉTICAS
VENTAJAS DESVENTAJAS
TARJETAS INTELIGENTES
VENTAJAS DESVENTAJAS
Guiándonos por estas características, las tarjetas más convenientes para este sistema
serían las de tecnología RFID. Últimamente todos los servicios de transporte públicos tratan de
implementar sistemas RFID, que frente a la cada vez más anticuada tecnología de bandas
magnéticas presenta muchas más ventajas. Han sido implantadas en diferentes metros con un
éxito rotundo, por ello creemos que un sistema en el cual el usuario se sentirá más cómodo.
(Anexos, Tecnología RFID en el transporte público).
Al no poder adquirir la tecnología RFID, ya que los lectores disponibles en MGEP eran
autónomos y sin conexión externa, nos hemos decantado por el uso de tarjetas magnéticas.
4.2.2.2 BUS
Nuestros tornos o terminales de acceso leerán la tarjeta, y deberán enviar su información
al servidor, para que sea comprobada en la base de datos y devolver un sí o un no. Además, el
servidor realizará las operaciones necesarias sobre la base de datos, como descontar el dinero y
agregar un acceso. Por lo tanto todos los dispositivos conectados al BUS envían y reciben
7
Identification Number, número de identificación.
13 Gestión de usuarios del Metro de Bilbao
El BUS RS-485 es el único BUS RS que permite que haya más de un transmisor, hasta un
máximo de 32. Este BUS ofrece una longitud máxima de 1200 metros a 100Kbps, y hasta 35Mbps a
10 metros. Por lo tanto es una velocidad rápida para nuestro sistema, y una distancia aceptable.
Cumple con todas las necesidades del sistema, y es por esto que lo hemos seleccionado.
Existen dos posibilidades para el BUS RS-485: 2 hilos y 4 hilos. En nuestro caso usaremos la
técnica de dos hilos, ya que frente a la de cuatro hilos, simplifica el sistema y abarata los costes. La
única ventaja que aporta esta última configuración es la de poder establecer una conversación en
la comunicación, pudiendo enviar y recibir paralelamente la información; dado que nuestro
sistema se caracteriza por una comunicación secuencial, se trata de una característica
prescindible (Anexos, Técnicas de 2 y 4 hilos RS-485).
Se deben analizar las desventajas y ventajas de cada una de las opciones con respecto a
la aplicación y la repercusión en el usuario para poder decantarse por una de ellas. Esta
repercusión se limita a la velocidad de respuesta del dispositivo, lo único perceptible por el
usuario. En la siguiente tabla se mide la velocidad de respuesta del sistema en dos situaciones
diferentes. Las dos se basan en el uso simultáneo de varios dispositivos, representando FULL todos
los dispositivos (máxima carga de trabajo) e IDLE una carga baja para el BUS, 2 o 3 dispositivos.
8
Operación de consulta constante hacia, generalmente, uno o varios dispositivos de hardware para crear
una actividad sincrónica.
14 Gestión de usuarios del Metro de Bilbao
Monomaster Multimaster
Rendimiento FULL Los dispositivos no tienen que Se debe pedir permiso al árbitro y
enviar ninguna petición a ningún además, establecer la
árbitro antes de la comunicación. comunicación.
Rendimiento IDLE El sistema puede que pierda el Los dispositivos afectados piden
tiempo preguntando a los permiso al árbitro y sólo ellos
dispositivos que no estén en uso. establecen comunicación.
Para poder conectar este BUS a un ordenador, debemos disponer de un puente entre
RS-232 y RS-485, que realice la conversión entre los niveles de tensión de estos dos estándares.
Además los PIC deberán tener una UART9 integrada, ya sea por software o hardware, para la
comunicación por línea RS.
4.2.2.3 MICROCONTROLADORES
Los tornos necesitan de capacidad de procesamiento para leer las tarjetas y
comunicarse con el máster del BUS. Para otorgarles esta capacidad, estarán gobernados por PICs10
que serán, en principio, de la serie PIC16F87X, los cuales incorporan una unidad UART para la
comunicación por puerto de serie, ideal para nuestro planteamiento. Específicamente para esta
aplicación, seleccionaremos un PIC de esta gama sin puerto paralelo, el PIC16F873.
4.2.2.4 PROTOCOLO
Al elegir el sistema monomaster, para facilitar la comunicación entre los diferentes
microcontroladores de los tornos y el PC, se debe diseñar un protocolo específico que cumplirán
todos los paquetes que viajen por el bus. Se debe definir con total concreción cual es el número de
paquetes necesario, cuales son los distintos tipos de paquetes, de que bits se componen, y en qué
orden se realiza esta comunicación. Este protocolo evitará conflictos en el BUS, como el que la
transmisión por parte de un PIC pueda ser malinterpretada por otro PIC.
9
Universal Asynchronous Receiver Transmitter.
10
Programable Intelligent Computer, Computador Inteligente Programable.
15 Gestión de usuarios del Metro de Bilbao
4.2.3 Software
Los programas son construidos con lenguajes de programación como Java, PHP y un largo
etc. En este caso concreto todos los programas serán desarrollados en Java, ya que es un lenguaje
orientado a objeto con una gran cantidad de librerías, al cual le caracteriza una gran portabilidad
en diferentes maquinas. Además, al ser orientado a objeto, nos facilitaría la realización de cambios
y la identificación de errores.
Los programas dirigidos a la gestión y el acceso por parte de los usuarios o los trabajadores
deberán implementar una GUI11, para aumentar la usabilidad. Java nos da varias opciones como
AWT12 y Swing. Por la mayor portabilidad y mayor nivel de sofisticación en comparación con AWT,
en nuestro caso Swing es la mejor opción.
11
Graphical User Interface, Interfaz Gráfica de Usuario.
12
Abstract Window Toolkit.
16 Gestión de usuarios del Metro de Bilbao
5 Desarrollo
En esta sección se describirá el proceso de desarrollo del proyecto, explicando de una
forma cronológica los diferentes sucesos a lo largo de la implementación. Se describirán los
recursos empleados, la organización y división de tareas, los problemas encontrados y la
resolución de los mismos.
5.1 Modelización
El primer paso en el desarrollo consiste en la creación de un modelo para cada una de las
partes del mismo. Valiéndonos de diferentes diagramas, diseñamos el software y hardware que
toman parte en el sistema. Nos aseguramos de que todos los miembros del grupo tomasen parte
en esta fase, crucial para el proyecto.
Se utilizó MySQL Workbench para crear este diagrama (Anexos: MySQL Workbench).
5.1.2 Software
Una vez diseñada la base de datos y el hardware, comenzamos con la modelización del
Software. En esta parte se diferencian 3 programas distintos: el programa que proveerá a los
usuarios de tickets y billetes, el programa que se grabará en cada torno de acceso y el que actuará
de puente entre la base de datos y los tornos.
Para la realización de estos dos últimos diagramas de clases, se utilizó Oracle JDeveloper,
el cual facilitó enormemente el diseño de estos programas (Anexos: Oracle JDeveloper y
diagramas UML).
17 Gestión de usuarios del Metro de Bilbao
En el caso del programa a grabar en los microcontroladores de los tornos, fue suficiente
con crear diagramas de secuencia que definieran el proceso por completo. El programa se dividirá
en dos partes, ComunicacionPC y LecturaTarjeta, siendo este último el programa principal (Anexos:
Tornos PIC).
5.1.3 Hardware
Tras la base de datos, pasamos a diseñar los circuitos electrónicos de los tornos que se
encargan de la lectura de las tarjetas y tickets, otorgando acceso o no a los usuarios. Analizamos
las características del microchip PIC16F873 y del lector de tarjetas Dorlet, elementos
fundamentales del circuito. Para la integración con el BUS RS-485, buscamos algún tipo de chip
similar al MAX232 que realizase la conversión de la tensión a niveles TTL13. Encontramos el chip
MAX485 de Maxim. Tras la lectura de su correspondiente datasheet, pudimos definir la forma de
integrarlo en el circuito. Nos faltaba un componente que permitiese realizar el puente entre los
buses RS232 y RS485. Por rapidez y comodidad, decidimos adquirir un convertidor comercial por
nuestra cuenta. En este momento disponíamos de toda la información necesaria para comenzar a
dibujar el esquema de los dispositivos (Anexos: CircuitMaker).
Seguidamente pasamos al diseño del protocolo del bus RS-485 que deberían cumplir las
comunicaciones entre los PIC y el PC controlador de los mismos (Anexos: Protocolo RS-485).
13
Transistor-Transistor Logic, 0,2-0,8V para nivel bajo (0) y de 2,4V a Vcc (de 4,75 a 5,25V) para nivel alto (1).
18 Gestión de usuarios del Metro de Bilbao
5.2 Implementación
Tras la modelización de cada parte, procedimos a su implementación. En esta sección se
irá describiendo este proceso.
Una vez finalizado el proceso de creación de la base de datos, se crearon los usuarios que
usarán los diferentes dispositivos para conectarse a ella. En nuestro sistema, tanto la terminal
como el PC controlador de los tornos tendrán un usuario individual para conectarse a la base de
datos. A estos usuarios se les otorgaran los privilegios indispensables para que puedan realizar las
operaciones necesarias.
La base de datos fue sufriendo cambios a medida que se desarrollaron los programas
‘Terminal’ y ‘Tornos’, ya que fueron encontrados errores en el diseño y mejoras para las tablas ya
existentes.
5.2.2 Software
La segunda parte que pasamos a implementar fueron los programas ‘Terminal’, ‘Tornos’ y
el programa a grabar en los microcontroladores. Para los dos primeros, y valiéndonos de los
diagramas de clases, dividimos el trabajo en clases o grupos de clases por cada miembro del
grupo. Para el segundo, dividimos el trabajo en subrutinas y nos ayudamos del diseño establecido
en los diagramas de secuencia. Paralelamente al desarrollo se testeó cada parte de los programas:
conexión con la base de datos, conexión vía puerto de serie, lectura de tarjetas, etc.
Surgieron múltiples problemas al implementar estas tres partes de software. Primero, con
el proceso de creación de nuevos billetes; después, con la configuración de la librería que permite
la comunicación a través del puerto de serie. Además, aparecieron también problemas en el
programa a grabar en los microcontroladores y, por último, con la sincronización entre el
programa controlador de tornos ‘Tornos’ y ellos mismos (Anexos: Problemas).
En general, puede afirmarse que esta sección resultó ser la más problemática y
voluminosa; pero gracias al diseño preliminar, claro y conciso, el desarrollo pudo ser lo
suficientemente rápido como para dejar tiempo extra que dedicar a los problemas que surgieron.
19 Gestión de usuarios del Metro de Bilbao
5.2.3 Hardware
Comenzamos a implementar esta parte justo después de acabar el diseño conceptual y
disponer de todos los materiales necesarios. Tras un sencillo montaje de una placa electrónica
provista de un lector de bandas magnéticas y puerto de serie RS-232, pudimos empezar a realizar
pruebas con ella.
La creación de esta placa no supuso ningún problema, ya que todos los componentes
estaban bien documentados y se nos proveyó de la información necesaria sobre el lector de
tarjetas Dorlet, el único componente totalmente nuevo y desconocido.
5.3.2 Software
Se revisó el diseño de los programas ‘Terminal’ y ‘Tornos’, reorganizando la arquitectura
del mismo en una organización por capas. De esta forma se consigue que cada capa sea
independiente de las demás y una mejor distribución del programa, dando la posibilidad de dividir
14
Un trigger de una base de datos es un código procedimental el cual se ejecuta automáticamente en
respuesta a ciertos eventos surgidos en cierta tabla de una base de datos.
20 Gestión de usuarios del Metro de Bilbao
el trabajo más efectivamente, ya que cada grupo puede abstraerse completamente con sólo
conocer las API-s 15 (interfaces) de las capas externas necesarias.
También se buscó la forma de proveer a las ventanas del programa ‘Terminal’ de imágenes
de fondo. Fueron encontrados varios métodos creados por usuarios anónimos en Internet que se
añadieron al mismo.
6 Resultados
En la siguiente sección hablaremos sobre los resultados obtenidos. Trataremos de explicar
de lo que es capaz el sistema desarrollado y expondremos también las limitaciones del mismo.
6.1 Capacidades
El sistema creado es capaz de controlar hasta un máximo de 32 tornos, registrando
automáticamente todos los accesos válidos producidos en los mismos en una base de datos
ubicada dentro de una red de área local. Además, nuestro sistema es válido para la expensa de
billetes de acceso y la recarga de tarjetas monedero de usuarios habituales que estén dados de
alta como tales. Esto se consigue gracias a una interfaz gráfica de usuario intuitiva, sencilla y
eficaz.
Por la parte de la instalación del sistema, este sólo precisa de los datos almacenados en
una base de datos central, imprescindible para el funcionamiento del mismo. Las configuraciones
de conexión a esta base de datos son introducidas en la primera inicialización de los dos
programas que se ofrecen: ‘Terminal’ y ‘Tornos’.
Por otro lado, el mantenimiento se centra en la base de datos, el cual debe realizarse
manualmente. En el caso en el que alguno de estos tornos se averiase o apagase, todo seguiría
funcionando de forma completamente normal.
15
Una API (del inglés Application Programming Interface - Interfaz de Programación de Aplicaciones) es el
conjunto de funciones y procedimientos (o métodos si se refiere a programación orientada a objetos) que
ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
21 Gestión de usuarios del Metro de Bilbao
6.2 Limitaciones
En el siguiente apartado se resumirán las limitaciones del sistema de gestión desarrollado.
La solución más correcta para este problema sería utilizar un lector automático (utilizado
habitualmente en los metros) en el que se introduzca la tarjeta y este la deslice a través del
cabezal lector. De esta manera, el sistema evitaría los errores y la tarjeta siempre sería pasada
correctamente.
Por lo tanto, si se desease reducir esta latencia, se deberían modificar los parámetros
anteriormente citados (Anexos: Latencia).
6.3 Conclusiones
A partir del resultado obtenido, podemos extraer varias conclusiones acerca de su validez
y usabilidad.
La base de datos contiene todos los datos para el funcionamiento del sistema, siendo
posible, gracias a su diseño, la obtención y manipulación de datos de gran interés para la
monitorización del Metro y de los servicios que este ofrece.
Por lo que respecta a los programas ‘Terminal’ y ‘Tornos’, gracias también a su diseño, es
posible la realización de grandes cambios sin que suponga un gran esfuerzo. Los dos ofrecen una
configuración sencilla y una interfaz intuitiva, la cual posibilita la fácil comprensión del uso de los
mismos.
Por todo lo anterior, puede afirmarse que el sistema desarrollado es totalmente válido
para la gestión básica de un metro.
22 Gestión de usuarios del Metro de Bilbao
7 Líneas de expansión
En esta sección se irán describiendo diferentes funcionalidades extras que se podrían
implementar en el sistema.
La implementación de la pantalla táctil nos presentaba una serie de problemas, los cuales
implicaban una serie de cambios. Se debían modificar las librerías usadas en el programa de la
terminal. Se tenía que lograr compatibilidad con JDK 1.3, ya que actualmente la versión usada es la
JDK 1.6, la cual no es compatible con este sistema. Tampoco goza de compatibilidad con las
librerías Swing, obligando de esta forma a adaptar el programa a la librería AWT. Aun así, se trata
de una mejora muy atractiva visualmente, por lo que el esfuerzo podría merecer la pena.
23 Gestión de usuarios del Metro de Bilbao
8 Anexos
8.1 Objetivos de aprendizaje
Para aprobar este proyecto se definen los conocimientos que deberían lograr cada miembro
del grupo en cada una de las asignaturas que toman parte en él.
8.2 Planificación
Ilustración 11, diagrama de Gantt donde se muestra la implementación llevada a cabo para la ejecución del proyecto.
25 Gestión de usuarios del Metro de Bilbao
En las etapas de diseño todos los miembros del grupo debían participar, ya que se trata de
una fase clave en todas las partes del sistema, imprescindible para conocer y saber cómo se
construirán. En cambio, para el desarrollo, fue fundamental la división de tareas entre los
miembros.
8.3 Latencia
La comunicación entre los dispositivos de acceso y el PC requieren de un tiempo para
completarse llamado latencia. Se trata de un factor muy importante, ya que una latencia muy alta
supondría un mayor retraso en la validación de los pases, pudiendo resultar en un sistema lento
para el usuario. Se realizaron dos estimaciones: la primera durante el análisis técnico y la segunda
tras la finalización del desarrollo del sistema.
Suponiendo que haya 32 tornos (el número máximo), y que sea el ultimo torno, el
ordenador tendría que preguntar antes a 31 tornos, y suponiendo que en todos se pasen tarjetas,
tendría que hacerse 31 veces la comunicación completa entre PIC y PC y entre PC y servidor
(aunque esta lo vamos a despreciar porque debería de ser casi instantánea). Esta comunicación
completa se compone de 9 paquetes: 1 paquete de pregunta del ordenador, 1 paquete de
respuesta, 1 paquete de permiso de envío de ID, 6 paquetes para el envío de la Id de la tarjeta,
luego sería la conexión del PC con el servidor (despreciada) y después 1 paquete de respuesta final
del PC al PIC. Total: 10 paquetes.
A 1248 microsegundos el paquete, nos salen a 12680 microsegundos cada torno, y por 31
tornos a 348,192 milisegundos, es decir, 0,35 segundos. Por lo tanto, elegimos el sistema mono-
máster ya que es tiempo suficiente para dejar paso sin crear atasco.
Dada la complejidad con la que se daría este caso, y teniendo en cuenta el tiempo de
espera que le supondría al usuario, consideramos que el sistema sigue respondiendo en un tiempo
aceptable.
La técnica de 4 hilos sólo puede ser usada por aplicaciones Máster/Slave monomaster18, o
multimáster por 2 grupos, y no es posible la comunicación entre todos y cada uno de los
dispositivos, sólo entre los grupos. Las salidas de datos de los esclavos están concebidas
16
Un BUS multimaster permite que en cualquier momento el rol de máster cambie a otro dispositivo
conectado.
17
Se denomina semidúplex a un modo de intercambio de datos entre dos terminales, en la que la
transmisión se lleva a cabo de manera alternativa. Esto es, mientras un terminal está transmitiendo el otro
solo puede recibir y viceversa.
18
Un BUS monomaster contiene un solo máster, dispositivo que controla unidireccionalmente todos los
demás dispositivos, los esclavos, además de determinar cuál de ellos enviará información.
27 Gestión de usuarios del Metro de Bilbao
8.6.2 Tornos
Ilustración 10, diagramas de secuencia del programa de los microcontroladores. Se muestran programa principal que se
encargará de leer tarjetas y la rutina de la interrupción usada; información entrante en puerto de serie.
32 Gestión de usuarios del Metro de Bilbao
0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0
Tabla 7, en este caso el PIC responde diciendo que se ha pasado una tarjeta.
0 0 0 0 0 1 1 0
El PIC, al recibir este último paquete, enviará 6 paquetes adicionales al PC, en los que se
contiene la ID de la tarjeta y un bit que indica si se trata de un usuario habitual o esporádico
33 Gestión de usuarios del Metro de Bilbao
(tarjeta o ticket). En cada paquete se enviará un digito de dicha ID, en los bits del 6 al 3. Los bits
del 2 al 1 serán siempre 0 y el 0 definirá si el usuario es esporádico o habitual.
1 0 0 0 0 1 0 1
0 0 0 0 0 1 1 0
Tabla 10, en este caso el PC permite al usuario del torno 1 acceder al metro.
8.8 Problemas
A medida que se fueron acabando las diferentes partes de las cuales se componen nuestro
sistema, se fueron creado diferentes programas de testeo para comprobar si lo hecho hasta ese
momento funcionaba satisfactoriamente.
de serie, usando dos ordenadores. Este programa se pudo usar, además, para pruebas sencillas de
envío y recibo de datos entre el PIC y el PC.
Todo esto se debe a la diferencia de velocidad de procesamiento del PC y los PIC, la cual es
mucho menor en los últimos. Además, durante el paso de cualquier tarjeta o ticket por un torno,
este deshabilita la comunicación con el PC, retrasando al sistema si este no saltase a comunicarse
con el siguiente torno. Gracias a esto, además, se cubre el caso en el que algún torno se
estropease, ya que el sistema no se bloquearía.
35 Gestión de usuarios del Metro de Bilbao
8.9 Herramientas
Se describirán a continuación las herramientas usadas a lo largo del proyecto, las cuales
ayudaron en el desarrollo del mismo.
8.9.2 CircuitMaker
Decidimos crear los esquemas electrónicos mediante una herramienta informática, la cual
nos permitiese obtener un esquema limpio y claro. Tras una búsqueda en Internet, encontramos el
programa CircuitMaker, el cual cubrió con nuestras necesidades.
8.9.4 Eclipse
El entorno de desarrollo escogido fue Eclipse, el cual ofrece características las cuales
facilitan enormemente la programación en Java. Existen además infinidad de plugins que
extienden y añaden funcionalidades a este IDE19.
8.9.6 PCW
Se decidió programar el PIC en lenguaje C, por las facilidades que da a la hora de encontrar
cualquier error y el tiempo de programación que ahorra con respecto al lenguaje ensamblador. Se
utilizó un compilador de C orientado a microcontroladores llamado PCW. Este programa, además,
asiste en la creación de nuevos proyectos dando la opción de seleccionar previamente todas las
configuraciones del PIC; generando, tras esto, todo el código necesario, ahorrando una parte de la
programación. La versión utilizada fue la 4.017.
8.9.7 IC-Prog
Para la grabación de los microcontroladores, al tratarse de un programa ya conocido por
todos los miembros del grupo, se utilizó IC-prog. Este programa permite realizar esta tarea
rápidamente tras una sencilla configuración.
8.9.8 SmartDraw
Programa utilizado para crear los diferentes diagramas de flujo e imágenes mostradas en
este documento. Gracias a él es posible realizar esquemas técnicos de todo tipo rápidamente.
8.9.9 Blog
Nuestro trabajo a lo largo de la ejecución del proyecto se ha visto reflejado en nuestro
blog (http://proiektutaldea.wordpress.com). Este blog ha sido usado para ir informando sobre los
avances, cambios en los programas, problemas y demás información. En definitiva, una bitácora
que recoge los pasos que fuimos dando.
19
Del inglés Integrated Development Environment: Entorno de Desarrollo Integrado, programa compuesto
por un conjunto de herramientas para la programación.
37 Gestión de usuarios del Metro de Bilbao
20
Consorcio de Transportes de Bizkaia.
38 Gestión de usuarios del Metro de Bilbao
9 Bibliografía
1. Wikipedia. Metro de Bilbao. Wikipedia. [En línea] 1 de Abril de 2008. [Citado el: 8 de Abril de
2008.] http://es.wikipedia.org/w/index.php?title=Metro_de_Bilbao.
2. CERN. Comparison of Oracle, MySQL and Postgres DBMS. ALICE DCDB. [En línea] 7 de Mayo de
2007. http://dcdbappl1.cern.ch:8080/dcdb/archive/ttraczyk/db_compare/db_compare.html.
3. COTRABI. Guia de la Tarjeta BARIK. Consorcio de transportes de Bizkaia. [En línea] [Citado el: 7
de Abril de 2008.] http://www.cotrabi.com/pdfs/manual.pdf.
4. Wikipedia. Oyster card. Wikipedia. [En línea] Marzo de 2008. [Citado el: 7 de Abril de 2008.]
http://es.wikipedia.org/wiki/Oyster_card.
5. Wiesemann & Theis GmbH. Sistemas de bus RS485. WuT. [En línea] [Citado el: 7 de Abril de
2008.] http://www.wut.de/e-6wwww-11-apes-000.php.