diseÑo e implementaciÓn de un sistema de control de...

91
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE ACCESO GILSON DAVID MONTOYA OSPINA JAMES ALEXIS LONDOÑO ORTEGA UNIVERSIDAD DE SAN BUENAVENTURA SECCIONAL MEDELLÍN FACULTAD DE INGENIERÍAS INGENIERÍA ELECTRÓNICA MEDELLÍN 2016

Upload: others

Post on 18-Mar-2020

8 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE ACCESO

GILSON DAVID MONTOYA OSPINA

JAMES ALEXIS LONDOÑO ORTEGA

UNIVERSIDAD DE SAN BUENAVENTURA SECCIONAL MEDELLÍN

FACULTAD DE INGENIERÍAS

INGENIERÍA ELECTRÓNICA

MEDELLÍN

2016

Page 2: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE ACCESO

GILSON DAVID MONTOYA OSPINA

JAMES ALEXIS LONDOÑO ORTEGA

Proyecto presentado para optar al título de Ingeniero Electrónico

Asesor

Gustavo Meneses, Ingeniero Eléctrico

Msc. En Ingeniería

UNIVERSIDAD DE SAN BUENAVENTURA SECCIONAL MEDELLÍN

FACULTAD DE INGENIERÍAS

INGENIERÍA ELECTRÓNICA

MEDELLÍN

2016

Page 3: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

DEDICATORIA

A mis padres Fabio y Alcira, por su inmenso amor y cariño, por enseñarme a mí y a mi hermana

que la constancia y el sacrificio todo lo pueden.

A Sara, por su amor y comprensión, por acompañarme durante todos los años que duró este

proyecto.

James Londoño

Page 4: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

AGRADECIMIENTOS

Mi eterna gratitud a mi familia, a mis padres por su apoyo incondicional, a mi hermana por su

inmenso cariño.

Agradecimiento especial nuestro asesor Ing. Gustavo Meneses, sin quien este proyecto no

hubiese salido a flote.

Un agradecimiento especial al Ing. Enver Alvarez, sus constantes ayudas y asesorías permitieron

la culminación de este proyecto.

Page 5: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

CONTENIDO

DEDICATORIA ............................................................................................................................... 3

AGRADECIMIENTOS ................................................................................................................... 4

CONTENIDO ................................................................................................................................... 5

LISTA DE TABLAS ........................................................................................................................ 8

LISTA DE FIGURAS ...................................................................................................................... 9

INTRODUCCIÓN ......................................................................................................................... 11

JUSTIFICACIÓN ........................................................................................................................... 12

OBJETIVOS ................................................................................................................................... 13

1. OBJETIVO GENERAL ......................................................................................................... 13

2. OBJETIVOS ESPECÍFICOS ................................................................................................. 13

1. MARCO TEÓRICO ................................................................................................................... 14

1.1. CONTROL DE ACCESO ................................................................................................... 14

1.1.1. Tarjetas Magnéticas ...................................................................................................... 14

1.1.2. Sistemas Biométricos .................................................................................................... 15

1.1.3. Tecnología RFID .......................................................................................................... 16

1.1.3.1. Componentes de Hardware ................................................................................... 19

1.1.3.2. Componentes Software ......................................................................................... 19

1.1.3.3. Transponder, Tag O Etiquetas ............................................................................... 19

1.1.3.4. Etiquetas Pasivas ................................................................................................... 20

1.1.3.5. Etiquetas Activas ................................................................................................... 20

1.1.3.6. Etiquetas Semi-Pasivas ......................................................................................... 21

1.1.3.7. Lector RFID .......................................................................................................... 21

1.1.3.8. Rfid Middleware ................................................................................................... 22

1.1.3.9. Caracterización de un sistema RFID ..................................................................... 22

Page 6: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

1.1.3.10. Ventajas de la identificación por radiofrecuencia ............................................... 23

1.2. MICROCONTROLADOR .................................................................................................. 25

1.2.1. Núcleo de un Microcontrolador .................................................................................... 26

1.2.2. Arquitecturas de Computador ....................................................................................... 26

1.2.3. Procesador en Detalle ................................................................................................... 29

1.2.4. Registros ....................................................................................................................... 30

1.2.5. Unidad de Control ......................................................................................................... 31

1.2.6. Unidad Aritmética y Lógica .......................................................................................... 31

1.2.7. Buses ............................................................................................................................. 32

1.2.8. Conjunto de Instrucciones ............................................................................................. 32

1.2.9. Memoria ........................................................................................................................ 33

1.2.9.1. ROM de máscara ................................................................................................... 34

1.2.9.2. OTP One Time Programmable .............................................................................. 34

1.2.9.3. EPROM Erasable Programmable Read Only Memory ......................................... 34

1.2.9.4. EEPROM ............................................................................................................... 35

1.2.9.5. FLASH .................................................................................................................. 35

1.2.10. Interrupciones ............................................................................................................. 36

1.2.11. Periféricos ................................................................................................................... 37

1.2.11.1. Entradas salidas de propósito general ................................................................. 37

1.2.11.2. Temporizadores y contadores .............................................................................. 37

1.2.11.3. Conversor A/D .................................................................................................... 38

1.2.11.4. Puerto serie .......................................................................................................... 38

1.2.11.5. Puerto serie sincrónico ........................................................................................ 38

1.2.11.6. Otros puertos de comunicación ........................................................................... 39

1.2.11.7. Comparadores ...................................................................................................... 39

1.2.11.8. Modulador de ancho de pulsos ............................................................................ 39

1.2.11.9. Memoria de datos no volátil ................................................................................ 39

1.2.12. Arduino ....................................................................................................................... 39

Page 7: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

1.2.12.1. Arduino Mega ..................................................................................................... 40

1.2.12.2. Arduino Uno ........................................................................................................ 41

1.2.12.3. Arduino Nano ...................................................................................................... 41

1.3. COMUNICACIÓN ETHERNET ........................................................................................ 43

1.3.1. Dirección IP .................................................................................................................. 43

1.3.2. Dirección MAC ............................................................................................................. 44

1.3.3. Diferencias entre UDP y TCP ....................................................................................... 45

1.4. MYSQL ............................................................................................................................... 47

2. ESTADO DEL ARTE ................................................................................................................ 49

3. METODOLOGÍA ...................................................................................................................... 52

3.1. SELECCIÓN MÓDULO RFID ........................................................................................... 52

3.1.1. PIN OUT ....................................................................................................................... 52

3.2. CÓDIGO ARDUINO .......................................................................................................... 57

3.3. CÓDIGO PHP Y BASE DE DATOS.................................................................................. 58

4. RESULTADOS .......................................................................................................................... 60

4.1. DIAGRAMAS DE FLUJO .................................................................................................. 60

4.2. DISEÑO ELECTRÓNICO .................................................................................................. 69

4.3. PRUEBAS FINALES .......................................................................................................... 71

4.3.1. Montaje en Board .......................................................................................................... 71

4.3.2. Inicio de servidor XAMPP y MySQL, conexión con la base de datos. ........................ 71

4.3.3. Lectura de Tarjeta ......................................................................................................... 72

4.3.4. Inserción en la base de datos del ID de la tarjeta .......................................................... 73

4.3.5. Aplicación WEB ........................................................................................................... 73

4.4. MANUAL DE USUARIO ................................................................................................... 76

5. CONCLUISIONES .................................................................................................................... 85

6. TRABAJOS FUTUROS ............................................................................................................ 86

REFERENCIAS ............................................................................................................................. 87

GLOSARIO .................................................................................................................................... 90

Page 8: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

LISTA DE TABLAS

Tabla 1: Rango de frecuencias ...................................................................................................... 18

Tabla 2: Diferencias entre UDP y TCP [25] ................................................................................. 45

Tabla 3: Asignación de pines tarjeta MIFARE ............................................................................. 53

Page 9: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

LISTA DE FIGURAS

Figura 1: Tecnología de Identificación por Banda Magnética ...................................................... 15

Figura 2: Tecnología de Identificación biométrica ....................................................................... 16

Figura 3: Tarjetas MIFARE .......................................................................................................... 20

Figura 4: Lector RFID RC522 ...................................................................................................... 22

Figura 5: Estructura básica de un microcontrolador ..................................................................... 26

Figura 6: Arquitectura Von Neumann .......................................................................................... 27

Figura 7: Arquitectura Harvard ..................................................................................................... 28

Figura 8: Estructura básica de un procesador ............................................................................... 30

Figura 9: Arduino Mega ................................................................................................................ 41

Figura 10: Arduino Nano .............................................................................................................. 42

Figura 11: Diagrama de flujo de diseño del sistema ..................................................................... 52

Figura 12: Diagrama de conexión Arduino Mega – Tarjeta MIFARE ......................................... 53

Figura 13: Comando Select Mifare Card ...................................................................................... 54

Figura 14: Aplicativo Hercules ..................................................................................................... 55

Figura 15: Modulo RFID – RC522 ............................................................................................... 56

Figura 16: Diagrama de flujo Setup .............................................................................................. 61

Figura 17: Diagrama de flujo sub rutina Loop .............................................................................. 62

Figura 18: Diagrama de flujo sub rutina Loop 2 ........................................................................... 63

Figura 19: Diagrama de flujo sub rutina Loop 3 ........................................................................... 64

Figura 20: Diagrama de flujo sub rutina conexión MySQL ......................................................... 64

Figura 21: Diagrama de flujo sub rutina enableETH0 .................................................................. 64

Figura 22: Diagrama de flujo sub rutina aperturaPuerta ............................................................... 65

Figura 23: Diagrama de flujo sub rutina cierrePuerta ................................................................... 65

Figura 24: Diagrama de flujo sub rutina enableRFID .................................................................. 65

Figura 25: Diagrama de flujo sub rutina lecturaTarjeta ................................................................ 66

Figura 26: Diagrama de flujo sub rutina dump byte array ............................................................ 66

Figura 27: Diagrama de flujo sub rutina obtenerUID ................................................................... 67

Figura 28: Diagrama de flujo sub rutina temporizador ................................................................. 67

Figura 29: Diagrama de flujo sub rutina consultarTarjeta ............................................................ 68

Page 10: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

Figura 30: Diseño electrónico ....................................................................................................... 69

Figura 31: Diseño de PCB ............................................................................................................ 70

Figura 32: Montaje en board ......................................................................................................... 71

Figura 33: Monitor Serial .............................................................................................................. 72

Figura 34: Lectura de Tarjeta ........................................................................................................ 72

Figura 35: Inserción en la base de datos del ID de la tarjeta ........................................................ 73

Figura 36: Histórico de las transacciones de ingreso de usuario .................................................. 74

Figura 37: Histórico de las transacciones negadas ....................................................................... 74

Figura 38: Agregar Docente .......................................................................................................... 75

Figura 39: Panel de Control XAMPP ........................................................................................... 76

Figura 40: Interfaz Web ................................................................................................................ 77

Figura 41: Opciones del Sitio Web ............................................................................................... 77

Figura 42: Opciones de exportar ................................................................................................... 78

Figura 43: Administrar Usuarios .................................................................................................. 79

Figura 44: Administrar Docentes .................................................................................................. 80

Figura 45: Administrar Tarjetas .................................................................................................... 80

Figura 46: Administrar Registros .................................................................................................. 81

Figura 47: Tarjetas no Registradas ............................................................................................... 81

Figura 48: Usuarios ....................................................................................................................... 82

Figura 49: Docentes ...................................................................................................................... 83

Figura 50: Tarjetas ........................................................................................................................ 83

Page 11: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

11

INTRODUCCIÓN

El presente proyecto se realizó en la ciudad de Medellín, departamento de Antioquia durante el

periodo comprendido entre el año 2015 - 2016 y en la misma participaron los estudiantes Gilson

David Montoya y James Alexis Londoño. El propósito del presente proyecto es diseñar e

implementar un sistema de control de acceso, mediante la utilización de técnicas de desarrollo de

software en lenguaje HTML, el uso de la tecnología RFID y una plataforma de desarrollo libre

denominada Arduino.

Dicho proyecto está concebido utilizando tarjetas RFID (Identificación por Radio Frecuencia),

las que proveen al portador un código único en el mundo que lo identifica dentro del sistema.

Con el fin prestar una mayor flexibilidad y agilidad en la administración del sistema se entregó

un aplicativo WEB con el cual, mediante la autenticación requerida, se podrán generar diferentes

tipos de reportes, agregar o borrar usuarios y desbloquear la puerta si es requerido por motivos de

seguridad.

Page 12: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

12

JUSTIFICACIÓN

La tecnología RFID remonta sus orígenes a la segunda guerra mundial, en sus inicios no hubo un

gran auge, sólo hasta la modernidad donde los costos han bajados ostensiblemente y la facilidad

de acceder a sus componentes se ha incrementado, han surgido diversas aplicaciones que han

sabido aprovecharla. Hoy en día su uso es extensivo en sistemas de automatización industrial,

seguridad electrónica, control entre otros.

Actualmente las instituciones de educación superior más reconocidas del país han adoptado

medidas internas de control para el acceso a los diferentes espacios por parte de los usuarios, con

el fin de optimizar la administración, generando un ambiente más amigable y una mejor atención.

Estas instituciones están adoptando diferentes herramientas tecnológicas que permiten

automatizar procesos para reducir costos de operación, ejerciendo un control más específico.

La Universidad de San Buenaventura seccional Medellín, en su área de ingeniería electrónica,

cuenta con espacios para la formación de estudiantes donde es evidente la necesidad de

implementar un control para restringir el ingreso exclusivamente a las personas que deben hacer

uso de estos recintos. Adicionalmente la universidad no cuenta con bases fundamentadas en

estadísticas o datos para tomar decisiones estratégicas en pro de un mejoramiento continuo.

Un sistema de control de acceso trae múltiples beneficios como, administrar el acceso, obtener un

registro detallado de los usuarios que ingresan al laboratorio, generar reportes estadísticos con

niveles de ocupación para detectar horas pico y horas valle y controlar el préstamo de módulos

con equipos, lo cual generaría una mejor atención al usuario. Adicionalmente la facultad de

ingeniería en su área de electrónica contaría con una herramienta para analizar el uso del tiempo

extra clase por parte de los estudiantes en cada una de sus asignaturas, logrando generar

alternativas de nuevas metodologías o áreas de estudio para involucrar a los usuarios con la

institución siendo más atractiva para los usuarios externos.

Desde el punto de vista logístico, este sistema ayudaría a tomar decisiones sobre la estrategia de

como ofrecer los servicios del laboratorio para usuarios externos apoyándose en datos de niveles

de ocupación. Por otra parte, serviría de prueba piloto para que la universidad evalúe la

posibilidad de controlar otros espacios haciendo uso de esta solución en un futuro.

Page 13: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

13

OBJETIVOS

1. OBJETIVO GENERAL

Diseñar e implementar un sistema de control de acceso basado en tecnología RFID y una

plataforma WEB.

2. OBJETIVOS ESPECÍFICOS

Diseñar un sistema de control que administre el acceso mediante tecnología RFID.

Realizar pruebas de funcionamiento y validación del sistema de control de acceso con la

infraestructura existente en la universidad.

Implementar un sistema de control de acceso capaz de generar reportes de uso, reservas

entre otros.

Implementar un aplicativo web amigable e intuitivo que le permita al usuario administración

de forma remota dicho espacio.

Page 14: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

14

1. MARCO TEÓRICO

1.1. CONTROL DE ACCESO

Una definición general de control de acceso, hace alusión al mecanismo en función de la

identificación ya autenticada que provee el acceso a datos o recursos. Es común encontrar

controles de acceso para múltiples aplicaciones y en diversas formas. Por ejemplo, es usual

encontrar controles de acceso por software cuando ingresamos una contraseña para acceder a un

e-Mail, o usar la huella dactilar para desbloquear un celular, en estos casos se usa un control de

acceso para acceder a información. Otro ejemplo común es cuando se usa identificación

biométrica para acceder a una oficina, en estos casos se usa la seguridad electrónica para

administrar el acceso a recursos físicos. [1]

Para nuestro caso en particular, el control de acceso es la habilidad de conceder o denegar el

acceso a un espacio físico (áreas restringidas según el tipo de visitante). El control de acceso

físico está enfocado en tres preguntas: ¿quién?, ¿cuándo? y ¿cómo?; es decir, ¿quién está

autorizado para entrar o salir?, ¿Cuándo entrará o saldrá del espacio? y ¿cómo lo realizará?

Actualmente hay gran variedad de tecnologías con la capacidad de suplir esta necesidad, algunas

de ellas son:

1.1.1. Tarjetas Magnéticas

Son tarjetas que contienen una banda magnética que posee un código que permite identificarse

rápidamente. Este sistema utiliza señales electromagnéticas para registrar y codificar la

información. Una de las aplicaciones más comunes de esta tecnología son las tarjetas de crédito.

Las tarjetas magnéticas cuentan con una alta difusión y popularidad, entre otras cosas por su bajo

costo.

Sin embargo, su uso continuo las deteriora físicamente debido a la fricción en el momento de la

lectura; también si la tarjeta es acercada a una fuente electromagnética, relativamente fuerte, la

información contenida en ella puede ser modificada, con lo cual pierde su utilidad. [2]

Page 15: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

15

Figura 1: Tecnología de Identificación por Banda Magnética

Fuente: http://entrytec.com.mx/

1.1.2. Sistemas Biométricos

Estos sistemas están dotados de la capacidad de reconocer una característica personal, donde los

lectores reconocen automáticamente la característica física del usuario, eliminando por completo

el uso de tarjetas electrónicas o magnéticas.

Principalmente se trabaja en el reconocimiento de huellas dactilares, reconocimiento de iris,

reflexión de retina, geometría de la mano, geometría facial, termografía mano-facial y patrón de

voz.

La biometría ofrece una ventaja significativa: el alto grado de seguridad, dado que sólo identifica

la característica de la persona autorizada por lo que es difícil la suplantación de información; los

rasgos físicos son únicos e intransferibles.

Su principal desventaja es el alto costo de su implementación, por el elevado costo de sus

lectores. Otro factor es la reducida velocidad de lectura, si se compara con otros sistemas, y la

carencia de una eficiencia necesaria para grandes corporaciones, pues los retardos en las lecturas

de personal se traducen en disminución en tiempos en las labores. [2]

Page 16: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

16

Figura 2: Tecnología de Identificación biométrica

Fuente: http://revistaitnow.com/

1.1.3. Tecnología RFID

RFID son las siglas de Radio Frequency IDentification, en español identificación por

radiofrecuencia. Es una tecnología capaz de almacenar y recuperar datos remotos (de un objeto,

animal e inclusive personas). Se basa en la transmisión de datos a través de campos

electromagnéticos y una identificación sin contacto visual directo, a diferencia de los sistemas de

códigos de barras. Emplea dispositivos denominados etiquetas, tarjetas, transponedores o tags

RFID.

Esta tecnología es usada en sistemas que tienen la habilidad de transmitir una identidad única, a

través de ondas de radio.

Sus uso y difusión son relativamente nuevos, aunque sus orígenes se remontan a la década de los

40‟s. Pero no se había explotado hasta nuestros días por el elevado costo que conllevaba su

implementación.

La radiofrecuencia hace alusión a la corriente alterna (AC) con características tales que, si esta es

alimentada a una antena, se genera un campo electromagnético adecuado para la transmisión de

datos de forma inalámbrica.

Estas frecuencias cubren un rango significativo del espectro de radiación electromagnética (Tabla

1) desde 3KHz, frecuencia que se encuentra aún dentro de rango audible, hasta miles de GHz. [3]

Banda Abre-

viatura

Frecuencia

y

longitud de

onda (aire)

Ejemplos de uso

Page 17: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

17

Frecuencia

tremendamente

baja

TLF < 3 Hz

> 100,000 km

Frecuencia en la que trabaja la actividad

neuronal

Frecuencia

extremadament

e baja

ELF

3–30 Hz

100,000 km –

10,000 km

Actividad neuronal, Comunicación con

submarinos

Super baja

frecuencia

SLF

30–300 Hz

10,000 km –

1000 km

Comunicación con submarinos

Ultra baja

frecuencia

ULF

300–3000 Hz

1000 km –

100 km

Comunicación con

submarinos, Comunicaciones en minas a

través de la tierra

Muy baja

frecuencia

VLF 3–30 kHz

100 km – 10 km

Radioayuda, señales de tiempo, comunicación

submarina, pulsómetros inalámbricos, Geofísic

a

Baja frecuencia LF

30–300 kHz

10 km – 1 km

Radioayuda, señales de tiempo, radiodifusión

en AM (onda larga) (Europa y partes de

Ásia), RFID, Radioafición

Frecuencia

media

MF 300–3000 kHz

1 km – 100 m

Radiodifusión en AM (onda media),

Radioafición, Balizamiento de Aludes

Alta frecuencia HF

3–30 MHz

100 m – 10 m

Radidifusión en Onda corta, Banda

ciudadana y radioafición, Comunicaciones de

aviación sobre el horizonte, RFID, Radar,

Comunicaciones ALE, Comunicación cuasi-

vertical (NVIS), Telefonía móvil y marina

Muy alta

frecuencia

VHF 30–300 MHz

10 m – 1 m

FM, Televisión, Comunicaciones con aviones

a la vista entre tierra-avión y avión-avión,

Telefonía móvil marítima y terrestre,

Radioaficionados, Radio meteorológica

Ultra alta

frecuencia

UHF 300–3000 MHz

1 m – 100 mm

Televisión, Hornos microondas,

Comunicaciones por

Page 18: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

18

microondas, Radioastronomía, Telefonía

móvil,Redes

inalámbricas, Bluetooth, ZigBee, GPS,

Comunicaciones uno a uno

como FRS y GMRS, Radioafición

Super alta

frecuencia

SHF 3–30 GHz

100 mm – 10 mm

Radioastronomía, Comunicaciones por

microondas, Redes

inalámbricas, radares modernos,Comunicacion

es por satélite, Televisión por satélite, DBS,

Radioafición

Frecuencia

extremadament

e alta

EHF 30–300 GHz

10 mm – 1 mm

Radioastronomía, Transmisión por

microondas de alta frecuencia, Teledetección,

Radioafición, armas de microondas, Escaner

de ondas milimétricas

Terahercios or

Frecuencia

tremendamente

alta

THz or

THF

300–3,000 GHz

1 mm – 100 nm

Radiografía de terahercios – un posible

substituto para los rayos X en algunas

aplicaciones médicas, Dinámica molecular

ultrarápida, Física de la materia

condensada, Espectroscopía mediante

terahercios, Comunicaciones/computación

mediante terahercios, Teledetección

submilimétrica, Radioafición

Tabla 1: Rango de frecuencias

Fuente: https://cienciacontraincendios.com

La RFID emplea el rango de acción de la radiofrecuencia para identificar y rastrear información

sin la necesidad de un contacto directo entre el transmisor y el receptor. Sus componentes

principales son una etiqueta y un lector.

Las etiquetas RFID (RFID Tag, en inglés) son unos dispositivos pequeños, que pueden ser

adheridos o incorporados a un producto, un animal o una persona. Contienen antenas para que les

Page 19: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

19

permiten recibir y responder a peticiones por radiofrecuencia desde un emisor-receptor RFID.

Las etiquetas pasivas no necesitan alimentación eléctrica interna, mientras que las activas sí lo

requieren. Una de las ventajas del uso de radiofrecuencia (en lugar, por ejemplo, de infrarrojos)

es que no se requiere visión directa entre emisor y receptor.

Es una tecnología muy versátil, de fácil uso, que cuenta con diversas aplicaciones, desde la

trazabilidad y control de inventario, hasta la localización y seguimiento de bienes y personas, o

como es nuestro caso de estudio, el control de acceso a establecimientos comerciales y

educativos.

El sistema RFID está compuesto por una serie de subsistemas los cuales se dividen en dos

componentes principales:

1.1.3.1. Componentes de Hardware

Transponder, TAG o etiqueta: Es el objeto que será identificado.

Lector: Dependiendo del diseño y la tecnología usada, podría ser un dispositivo lector o

lector/escritor.

Antena: Es el conductor para la comunicación de datos entre el tag y el lector.

1.1.3.2. Componentes Software

Software del Sistema RFID: Es una colección de funciones necesarias para habilitar la

interacción básica entre el tag y el lector.

RFID Middleware: Consiste en un conjunto de componentes software que actúan como

puente entre los componentes de un sistema RFID y software de aplicación del

computador.

Plataforma Web: La aplicación del computador recibe datos procesados y normalizados

enviados de la etiqueta, vía lector y el software RFID middleware.

1.1.3.3. Transponder, Tag O Etiquetas

Es el dispositivo que contiene los datos en un sistema RFID, usualmente consiste en un elemento

acoplador y un microchip; este último se activa en la presencia de una señal enviada por un

lector, que se encuentre dentro de una zona de interacción entre los componentes. [4]

Las etiquetas se utilizan dependiendo de su fin, entre los tipos de etiquetas están:

Page 20: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

20

Etiquetas Pasivas

Etiquetas Activas

Semi- Pasivos

Semi- Activos

Figura 3: Tarjetas MIFARE

Fuente: http://portonesmonterrey.com/

1.1.3.4. Etiquetas Pasivas

Las etiquetas pasivas carecen de alimentación, son en efecto dispositivos puramente pasivos. La

señal que les llega de los lectores, induce una corriente eléctrica mínima suficiente para operar el

circuito integrado del tag, que a su vez genera y transmite una respuesta al lector. Se compone de

una antena y un microchip. Generalmente tienen distancias de uso práctico comprendidas entre

los 10cm, llegando hasta unos pocos metros según la frecuencia de su funcionamiento, e diseño y

tamaño de la antena.

Al carecer de autonomía energética, el dispositivo puede ser bastante pequeño: puede incluirse en

un adhesivo e incluso insertarse bajo la piel (tags de baja frecuencia). [1]

1.1.3.5. Etiquetas Activas

Las etiquetas activas incluyen su propia alimentación de poder, que incorporada, alimenta al

microchip y el transmisor para propagar su señal al lector y así establecer una comunicación con

este. Generalmente usan una pila pequeña como alimentación.

Estos tags son mucho más fiables que las etiquetas pasivas, dado que su capacidad de establecer

sesiones con el reader reduce los errores.

Page 21: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

21

Estas etiquetas poseen la habilidad de transmitir señales a largas distancias y en ambientes

hostiles, como ambientes compuestos por agua y metales. Muchos de estos tags tienen rangos

efectivos de cientos de metros y una vida útil de sus baterías de hasta 10 años. [5]

1.1.3.6. Etiquetas Semi-Pasivas

Las etiquetas semi-pasivas traen consigo una fuente de alimentación, que se usa principalmente

para energizar un microchip y no para trasmitir señales; para efectuar la transmisión de datos usa

la energía del lector.

Tienen un funcionamiento similar al de las etiquetas pasivas RFID. Su principal diferencia radica

en que con la alimentación de la batería se posibilita una lectura a mayor distancia y se elimina la

necesidad de diseñar una antena que recoja potencia de una señal entrante, adicionalmente estas

responden con mayor rapidez, por lo que son más robustas en el radio de lectura que las pasivas.

[6]

1.1.3.7. Lector RFID

Este elemento permite la comunicación en un sistema RFID. Se encarga de enviar una señal de

radio frecuencia para detectar los posibles tags en un rango de acción determinado, se emplea

para validar las múltiples etiquetas en un corto espacio de tiempo.

La máxima distancia a la que se pude establecer comunicación entre el lector y la tarjeta depende

de dos elementos a saber: la potencia del lector y la frecuencia empleada para la comunicación.

[7]

Page 22: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

22

Figura 4: Lector RFID RC522

Fuente: http://www.lelong.com.my/

1.1.3.8. Rfid Middleware

Al software que se encuentra en el lector RFID se le denomina Middleware. Es un componente

de vital importancia en cualquier sistema RFID, el middleware adquiere los datos en bruto del

lector y los pasa a un sistema back-end. [8]

El sistema middleware se ocupa de:

1. Recuperación de datos del lector.

2. Filtrar datos que llegan al sistema y no pertenecen a este.

3. Generar notificaciones de movimiento o inventario.

4. Seguimiento de tags y funcionamiento de lectores de la red.

5. Captura de historiales de las tarjetas.

1.1.3.9. Caracterización de un sistema RFID

Un sistema RFID se caracteriza por una cantidad de variables que en conjunto logran que el

sistema cumpla su función.

Entre estas se encuentra el alcance de lectura, seguridad de transmisión, velocidad de

transmisión, rango de frecuencia entre otros.

A la hora de diseñar un sistema RFID se deben tener en cuenta factores como la cantidad de

información que la tarjeta puede almacenar y a su vez transmitir, la distancia en la que se puede

establecer comunicación entre el lector y el tag, la cantidad de datos que puede obtener el lector

de la etiqueta al momento de una lectura, la capacidad que tenga el lector para mantener una

comunicación entre varios tags.

Otra variable importante es la frecuencia de funcionamiento del sistema. La frecuencia determina

unos rangos de transmisión y recepción de datos que se especifican en la tabla 1. [9]

Page 23: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

23

Tabla 2: Frecuencias RFID y características

Fuente: http://www.fqingenieria.com/

1.1.3.10. Ventajas de la identificación por radiofrecuencia

Seguridad

Los tags RFID están diseñados para que no puedan duplicarse, cada tarjeta tiene consigo un

código único, esto no permite que distintos usuarios puedan tener una tarjeta duplicada.

Sin necesidad de alineación o línea vista

A diferencia de otros sistemas, éste es el más práctico y ágil dado que no es necesario un contacto

físico entre el tag y el lector, no es necesario que pasar la tarjeta por una ranura y esta a su vez

esta puede ser leída por ambos lados.

Page 24: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

24

Lectores sin mantenimiento

Al carecer de partes móviles se garantiza un correcto funcionamiento de los lectores,

prácticamente sin límite de uso y total ausencia de mantenimiento. Es posible instalarlos en

ambientes hostiles, de intemperie sin que esto los afecte.

Tarjetas sin desgaste

Al no haber contacto físico entre las tarjetas y el lector, no hay desgaste físico, esto garantiza, a

diferencia de bandas magnéticas donde hay un alto desgaste por fricción, una vida útil mucho

más larga tanto para el lector como los tags.

Re-escribible

Algunas tarjetas RFID permiten la lectura y escritura en múltiples ocasiones.

Factibilidad

La tecnología RFID es muy versátil y pude ser usada en una gran cantidad de campos y

aplicaciones.

Otras Tareas

Las tarjetas RFID también pueden ser diseñadas para emplearse en otras funciones como medir

temperatura ambiente o humedad relativa. [2]

Page 25: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

25

1.2. MICROCONTROLADOR

Un microcontrolador no es otra cosa que un computador encapsulado en un circuito integrado. Al

igual que un computador se compone de un procesador, memoria, puertos de entrada y salida

(E/S) y periféricos. Todo esto embebido en un chip. En 1976 INTEL sacó al mercado el primer

microcontrolador precisamente como un “computador en una pastilla”.

Los microcontroladores son tan comunes que se estima que, por cada procesador de propósito

general, se venden más de 100 microcontroladores. Se estima que la tasa de ventas se incremente

en los próximos años.

En el mercado hay muchos tipos de microcontroladores con diversas prestaciones, memorias,

periféricos y demás características. Cada fabricante ha creado sus propios microcontroladores,

otros han copiado y mejorado los existentes, el resultado: una cantidad extraordinaria de

microcontroladores abundan en el mercado. Una razón para esto es el hecho de que los

microcontroladores deben estar muy especializados y optimizados, dado que formaran parte

integral del sistema que controlen. Al existir una gama tan amplia de aplicaciones, hay que crear

también una gama muy amplia de microcontroladores que se adapten a los requerimientos del

mercado. [10]

En general, todos los microcontroladores obedecen a una estructura definida que los fabricantes

deben respetar.

En la figura 5 se detalla la estructura básica de cualquier microcontrolador, en los que siempre se

encontrarán:

Procesador

Memoria de programa

Memora de datos

Buses

Periféricos

Puertos de E/S

Page 26: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

26

Figura 5: Estructura básica de un microcontrolador

Fuente: https://jonybatery7.wordpress.com/

En la figura se detalla la arquitectura de un microcontrolador dentro de un circuito integrado, con

procesador (CPU), memoria, buses, puertos de entrada salida y periféricos. Fuera del encapsulado

se encuentran otros componentes que complementan los periféricos internos y diferentes

dispositivos que se pueden conectar a los pines de entrada/salida. Igualmente se conectarán a los

pines del microcontrolador la alimentación, circuito oscilador y otros dispositivos necesarios para

que el microcontrolador pueda trabajar.

1.2.1. Núcleo de un Microcontrolador

Dentro del núcleo de un microcontrolador se encuentran el procesador y la memoria, de forma tal

que conforme la arquitectura de un computador. [11]

1.2.2. Arquitecturas de Computador

Actualmente existen dos arquitecturas de computador, empleadas por los microcontroladores:

Von Neumann y Harvard. La diferencia principal está en la conexión de la memora con el

procesador y los buses que ambas necesitan.

Page 27: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

27

La arquitectura Von Neumann está altamente difundida en los computadores personales, en esta

sólo hay una memoria, donde coexisten los datos y las instrucciones de programa, a los cuales se

accede con un bus de dirección, uno de control y uno de datos.

Hay que comprender que, en un computador, cuando se carga un programa en memoria, a este se

le asigna un espacio de direcciones de la memoria que se divide en segmentos, típicamente se

encuentran: código (programa), pila y datos. Esta es la razón por la que podemos hablar de

memoria como un todo, aunque existen distintos dispositivos física en el sistema (RAM, DD,

FLASH).

Para el caso particular de los microcontroladores, hay dos tipos de memorias bien definidas:

memora de programas (FLASH, PROM, EEPROM, ROM u otro tipo no volátil) y memoria de

datos (SRAM). Para este caso la organización es diferente a la de un computador, dado que

existen circuitos diferentes para cada memoria y típicamente no se usan los registros de

segmentos, sino que la memoria se encuentra segregada y el acceso a cada tipo de memoria

depende netamente de las instrucciones del procesador.

Aunque en los sistemas con arquitectura Von Neumann la memoria está segregada, y hay

diferencias respecto a la definición convencional de esta arquitectura; los buses para acceder a los

distintos tipos de memoria son los mismos, del procesador únicamente salen el bus de datos, el de

control y el de direcciones. Para concluir, la arquitectura no ha sido alterada, dado que la forma

como se conecta la memoria al procesador se rige por el mismo principio definido en la

arquitectura básica. [12]

Figura 6: Arquitectura Von Neumann

Fuente: https://wikiequipo04.wikispaces.com

Page 28: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

28

Esta arquitectura es la adecuada para los computadores, dado que permite ahorrar líneas de

entrada / salida, bastante costosas, sobre todo en un sistema como un computador, donde el

procesador va montado en un socket alojado en una placa madre. Esta organización les ahorra a

los diseñadores de motherboards una cantidad considerable de problemas y minimiza el costo de

este tipo de sistemas.

La otra arquitectura es la Harvard, esta es por excelencia la usada en sistemas embebidos,

microcontroladores y supercomputadoras. Para este caso, además de la memoria, el procesador

tiene los buses segregados, de forma tal que cada tipo de memoria posee un bus de datos, uno de

control y otro de direcciones.

Figura 7: Arquitectura Harvard

Fuente: http://phxntom.blogspot.com.co/

La principal ventaja radica en que esta arquitectura permite adecuar el tamaño de los buses a las

características de cada tipo de memoria; adicional, el procesador adquiere la ventaja de poder

acceder a cada una de ellas de manera simultánea, lo que implica un aumento significativo en la

velocidad de procesamiento, usualmente los sistemas que poseen esta arquitectura pueden ser dos

veces más rápidos que los sistemas análogos con arquitectura Von Neumann.

La desventaja radica en que consume muchas líneas de entrada / salida del procesador, esta es la

razón por la que en sistemas donde el procesador se encuentra en su propio socket, solo se usa en

supercomputadoras.

En los microcontroladores y otros sistemas embebidos, donde la memoria de programa y de datos

comparte el mismo encapsulado que el procesador, esta desventaja deja de ser un problema serio,

y es la razón por la que la mayoría de microcontroladores usan la arquitectura Harvard.

Page 29: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

29

1.2.3. Procesador en Detalle

En la década de los 70‟s, no había muchos avances en electrónica digital, en ese entonces los

primeros computadores se diseñaban para hacer unas operaciones muy sencillas, y si se deseaba

que estas máquinas hicieran cosas diferentes, era necesario hacer cambios muy significativos en

el hardware. Fue a comienzos de los 70‟s que una compañía japonesa le solicitó a una joven

empresa norteamericana desarrollar un conjunto de circuitos, para desarrollas una calculadora de

bajo costo. INTEL asumió el reto, y entre los circuitos solicitados desarrolló algo totalmente

nuevo hasta la fecha: el primer microprocesador integrado. En 1971 salió al mercado el 4004, una

máquina digital sincrónica compleja. La ventaja que ofrecía este circuito, está en que

internamente aloja los circuitos digitales capaces de hacer operaciones para el procesamiento y

cálculo de datos. Sus entradas son una secuencia de códigos bien definidos, que permiten realizar

operaciones específicas cuyo resultado se rige por el tipo de operación y operandos involucrados.

[13]

Hasta acá, no hay nada especial en un microprocesador, la diferencia está en que, con la

combinación adecuada en la secuencia de entrada, el poder saltar hacia adelante o atrás en la

secuencia de códigos en base a ordenes específicas, su ejecución secuencial, permite que el

microprocesador efectúe muchas operaciones complejas, no contempladas en lo códigos básicos.

El invento del microprocesador integrado puede no haber sido una revelación para sus creadores,

pues se sustentó en los avances existentes hasta la fecha en el campo de la electrónica digital,

pero sin lugar a dudas sentó un precedente en la revolución técnico científica. Permitió el

desarrollo de una gran cantidad de aplicaciones impensadas. Como conclusión, el mundo era uno

antes del microprocesador y otro muy diferente después de su invención.

Aunque desde su invención en los 70‟s, el microprocesador ha tenido importantes cambios, hay

aspectos básicos que no han cambiado y constituyen la base de cualquier microprocesador.

En la figura 8 se detalla la estructura típica de un microprocesador, con sus elementos

fundamentales.

Page 30: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

30

Figura 8: Estructura básica de un procesador

Fuente: https://saragoitia.wordpress.com

1.2.4. Registros

Los registros son un espacio de memoria reducido donde se alojan los datos para varias

operaciones que deben realizar los demás circuitos del procesador. Los registros se usan para

cargar los datos desde la memoria externa o almacenarlos en ella, para almacenar los resultados

de la ejecución de instrucciones. La parte de los registros destinada a los datos es la que

determina uno de los parámetros fundamentales de cualquier microprocesador, cuando se habla

de un procesador de 8, 16, 32 o 64 bits, se hace referencia a procesadores que efectúan

operaciones con registros de estos tamaños, y claro está que esto es determinante para el

potencial del microprocesador. Cuanto mayor sea el número de bits en el registro de datos del

microprocesador, más elevadas serán sus prestaciones en cuanto a velocidad de ejecución y

capacidad de computo. Este ítem determina la potencia que se le pude asignar al resto de

componentes del sistema. Por otro lado, un procesador de 32 bits, puede que haga una operación

aritmética en un solo ciclo, mientras que uno de 16 deberá realizar varias instrucciones antes de

Page 31: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

31

obtener el resultado, aun cuando ambos microprocesadores posean la misma velocidad de

ejecución de instrucciones. El microprocesador de 32 bits será significativamente más rápido que

el de 16, porque podrá hacer las mismas tareas en un menor tiempo. [14]

1.2.5. Unidad de Control

Esta unidad es la encargada de decodificar y ejecutar las instrucciones, el control de los registros,

los buses, la ALU y cuanto más se desee introducir dentro del microprocesador; es por tanto la

unidad más importante dentro del procesador.

Esta unidad también determina las prestaciones del microprocesador, su tipo y estructura

determina elementos como la velocidad de ejecución, el tipo de conjunto de instrucciones, tiempo

del ciclo de máquina, manejo de interrupciones, tipo de buses que soporta el sistema entre otros.

Es entonces entendible que la unidad de control sea el elemento más complejo dentro de un

procesador, usualmente está divida en unidades más pequeñas que trabajan en conjunto. La

unidad de control es un aglomerado de componentes como la unidad de ejecución, la unidad de

decodificación, controladores de buses, controladores de memoria cache, pipelines, controladores

de interrupción, entre otros, dependiendo del tipo de microprocesador. [15]

1.2.6. Unidad Aritmética y Lógica

Básicamente los procesadores son circuitos que hacen operaciones matemáticas y lógicas, a este

proceso se le dedica una unidad completa con cierta independencia. Esta unidad se encarga de

realizar sumas, restas y operaciones lógicas típicas del algebra de Boole.

En la modernidad los microprocesadores han evolucionado y poseen varias ALU‟s especializadas

en la elaboración de operaciones complejas como, por ejemplo, las operaciones en punto flotante.

Su relevancia en las prestaciones del microprocesador es también importando, dado que, según su

potencia, tareas más o menos complejas, se pueden realizar en tiempos muy cortos.

Page 32: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

32

1.2.7. Buses

Es el medio de comunicación empleado por los diferentes componentes del microprocesador para

establecer comunicación entre sí. Una parte importante de los buses están reflejados en los pines

que posea el encapsulado del procesador.

Para el caso puntual de los microcontroladores, es raro que los buses estén reflejados en el

encapsulado del circuito, dado que usualmente estos se destinan básicamente a las entradas /

salidas de propósito general y periféricos del sistema. [16]

Existen tres tipos de buses:

Dirección: son usados para escoger el dispositivo con el que se desea trabajar, o para el

caso de las memorias, seleccionar el dato que se desea leer o escribir.

Datos

Control: son usados para gestionar los diferentes procesos de lectoescritura y controlar las

operaciones de los dispositivos del sistema

1.2.8. Conjunto de Instrucciones

Este elemento básicamente determinar que puede hacer el procesador. Son las operaciones

básicas que puede efectuar el microprocesador, que en conjunto conforma el software.

Básicamente hay dos tipos de repertorios de instrucciones, que estipulan la arquitectura del

microprocesador: CISC y RISC.

CISCO, en inglés, Complex Instruction Set Computer, o computador de conjunto de

instrucciones complejo. Los procesadores CISC poseen un conjunto de instrucciones muy amplio

que permite efectuar operaciones complejas entre operandos ubicados en los registros internos o

la memoria.

El problema está en que este tipo de repertorio obstaculiza el paralelismo entre instrucciones, es

por esto que actualmente la mayoría de los sistemas CISC de alto desempeño, convierten las

instrucciones complejas en un conjunto de instrucciones más sencillas del tipo RISC,

generalmente llamadas microinstrucciones.

RISC, del inglés Reduced Instruction Set Computer, computador con conjunto de instrucciones

reducido. Sus principales características son:

Page 33: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

33

Pocas instrucciones

Número elevado de registros de propósito general

Instrucciones de tamaño fijo

Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos

Uno de los fuertes de este tipo de procesadores es que posibilita en gran medida el paralelismo en

la ejecución de procesos y reduce los accesos a memoria. Esta es la razón por la que los

procesadores modernos, generalmente basados en arquitecturas CISC emplean mecanismos de

traducción de instrucciones CISC a RISC, con el fin de aprovechar las ventajas de este tipo de

microprocesadores.

1.2.9. Memoria

Como se vio anteriormente, los microcontroladores poseen su memoria dentro del mismo

encapsulado, la idea fundamental es mantener la mayor cantidad de circuitos del sistema en un

solo integrado. Es por esto que los microcontroladores cuentan con una memoria reducida,

usualmente la memoria de programa no supera los 16Kb de memoria no volátil para

instrucciones, la memoria RAM no llegará a exceder los 5Kb.

La memoria RAM se destina al almacenamiento de información temporal que puede ser usada

por el microprocesador para efectuar cálculos u otro tipo de operaciones lógicas. En el espacio de

direcciones de memoria RAM se localizan además los registros de configuración, de trabajo del

procesador y trabajo de los diferentes periféricos del microcontrolador. Esta es la razón por la que

generalmente, la cantidad de memoria RAM disponible para un programador para el

almacenamiento de datos, es menor que la que puede direccionar el microprocesador.

El tipo de memoria usado en las memorias RAM de los microcontroladores es SRAM, esto evita

tener que usar sistemas de refrescamiento como es el caso de los computadores personales, que

emplean una gran cantidad de memoria, normalmente alguna tecnología DRAM. Aunque la

memoria SRAM es más costosa que la DRAM, es la adecuada para los microcontroladores dado

que estos no poseen grandes cantidades de memora RAM.

Page 34: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

34

Para el caso de la memoria de programas se emplean distintas tecnologías, la selección de una u

otra depende de las características de las aplicaciones a desarrollar. A continuación, se describen

los 5 tipos de memorias más usados hasta la fecha.

1.2.9.1. ROM de máscara

Para estos casos el microcontrolador se fabrica con el programa. El costo inicial para producir un

circuito con estas características es alto, dado que el diseño y producción de la máscara inicial es

un proceso caro, pero cuando se necesitan cientos de miles o incluso millones de

microcontroladores destinados a una aplicación particular, el costo inicial de producción de la

máscara y del de fabricación del circuito se reparte entre todos los chips de la serie y el costo

final es mucho menor que el de sus homólogos que usen otro tipo de memoria. [17]

1.2.9.2. OTP One Time Programmable

También conocida como PROM o sencillamente ROM. Este tipo de microcontroladores con

memoria OTP sólo se pueden programar una vez. Suelen usarse en sistemas donde el programa

no requiera actualizaciones futuras y para series pequeñas. Igualmente, para sistemas que

requieran serialización de datos, guardados como constantes en la memoria de programa. [18]

1.2.9.3. EPROM Erasable Programmable Read Only Memory

Los microcontroladores que poseen este tipo de memoria son fácilmente identificables, su

encapsulado es cerámico y llevan consigo una ventana de vidrio desde la que se puede observar

la oblea de silicio del microcontrolador.

Su peculiar fabricación se debe a que las memorias EPROM son reprogramables, pero primero

deben borrarse y para esto se exponen a una fuente de luz ultravioleta, su proceso de grabación es

análogo al usado por las memorias OTP. Con la aparición de memorias EEPROM y FLASH,

menos costosas y más flexibles, este tipo de tecnología ha caído en desuso. Solían usarse en

sistemas que requieren actualizaciones de programa, procesos de desarrollo y puesta a punto. [19]

Page 35: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

35

1.2.9.4. EEPROM

Electrically Erasable Programmable Read Only Memory. Sustituyó de forma natural a las

memorias EPROM, básicamente su diferencia está en que pueden ser borradas eléctricamente,

esto hace innecesario el uso de la ventana de cristal de cuarzo y el encapsulado cerámico.

Cuando disminuyeron los costos de los encapsulados, los microcontroladores con este tipo de

tecnología redujeron sus costos y se hicieron más cómodos para trabajar que sus equivalentes con

memorias EPROM. Adicional a esto, este tipo de microcontroladores comenzaron a usar los

sistemas de programación en circuito o ICSP (In Circuit Serial Programming) que evita el tener

que sacar el microcontrolador del socket donde se aloja para efectuar actualizaciones al

programa.

1.2.9.5. FLASH

El último avance tecnológico en memorias reprogramables para microcontroladores, han ido

sustituyendo a los microcontroladores con memoria EEPROM.

Entre otras ventajas que tienen las memorias FLASH, se le puede agregar su gran densidad en

comparación con sus predecesoras, esto permite incrementar ostensiblemente la cantidad de

memoria de programa a un bajo costo. Adicional pueden ser programadas con el mismo voltaje

de alimentación del microcontrolador, el acceso a los datos y la velocidad de programación son

superiores, sus costos de producción son más bajos, entre otros. Lo usual es encontrar que la

memoria de datos y de programas está dentro del mismo encapsulado del microcontrolador, de

hecho, en la actualidad son pocos los microcontroladores que permiten la conexión de memorias

externas al encapsulado. La principal razón para esta “limitación” está dada porque el objetivo

primordial es obtener la mayor integración posible y al conectar memorias externas se consumen

líneas de entrada / salida, que son de los recursos más valiosos en un microcontrolador.

En los casos donde se requiere una mayor cantidad de memoria, lo usual es emplear periféricos

de memoria externa, se pueden emplear memorias RAM, FLASH e incluso discos duros. Aun así,

para los cálculos y demás operaciones que requieran ser guardados de forma temporal, se emplea

la memoria RAM interna del microcontrolador.

Page 36: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

36

1.2.10. Interrupciones

Un proceso de interrupción y su atención por parte del microcontrolador se puede desglosar en la

siguiente secuencia de acciones:

Se produce un evento del que se desea que el microcontrolador ejecute un programa particular,

este proceso tiene la particularidad que no puede esperar mucho tiempo antes de ser atendido y se

desconoce en qué momento se debe atender. [11]

El circuito designado a atender la ocurrencia del evento se activa, y acto seguido, se activa la

entrada de interrupción del microcontrolador.

Al presentarse la interrupción, la unidad de control levanta una bandera que registra que ha

ocurrido el evento; de esta manera, así las condiciones dadas para que se provocara el evento

hayan desaparecido y el circuito encargado para tal evento desactiva la entrada de interrupción al

microcontrolador, igualmente se producirá de cualquier modo, dado que ya se ha registrado la

interrupción.

La unidad de ejecución finaliza con el proceso en curso y justo en el momento de comenzar a

ejecutar la siguiente instrucción, verifica que se ha producido una interrupción.

A continuación, se activa un proceso que permite almacenar el estado actual del programa en

ejecución y saltar a una dirección particular de la memoria de programa, en donde se encuentra la

primera instrucción de la subrutina de atención a la interrupción.

Se ejecuta la subrutina de atención a la interrupción, donde se toman las acciones designadas para

atender la interrupción previamente programadas.

Al finalizar la ejecución de atención a la interrupción se retorna a la instrucción previa a la

ocurrencia de la interrupción.

El proceso de interrupción es bastante complejo, sin embargo, tiene las ventajas que obligan su

implementación: la capacidad de ser asíncrono y la velocidad. En conjunto ambas permiten el

aprovechamiento al máximo del microcontrolador.

Las interrupciones no sólo se limitan a la atención de eventos ligados a procesos que requieren

atención inmediata, también son empleadas para atender eventos de procesos asíncronos.

Las interrupciones son tan eficientes que dan la sensación que el microcontrolador está en la

capacidad de atender varias cosas al tiempo, cuando en realidad se dedica a la misma rutina,

ejecutar instrucciones una detrás de la otra. [10]

Page 37: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

37

1.2.11. Periféricos

Al ver la organización elemental de un microcontrolador, se señaló que en su encapsulado se

encuentran un conjunto de periféricos, cuyas salidas se reflejan en los pines del microcontrolador.

A continuación, se describen algunos de los periféricos que se encuentran con mayor frecuencia

en los microcontroladores.

1.2.11.1. Entradas salidas de propósito general

Conocidos también como puerto de E/S, generalmente se agrupan en puertos de 8 bits de

longitud, se usan para leer datos del exterior o escribir desde el interior del microcontrolador, su

uso habitual es el trabajo con dispositivos sencillos como leds, relés, entre otros.

Es normal encontrar puertos de E/S con características particulares, que le facilitan manejar

salidas con determinados requerimientos especiales de interrupción o de corriente para el

microcontrolador.

Cualquier pin de E/S se puede considerar E/S de propósito general, pero como los pines de los

microcontroladores son limitados, las E/S de propósito general suelen compartir los pines con

otros periféricos. Para su uso con cualquiera de las características asignadas, se debe configurar

haciendo uso de los registros asignados para tal fin. [20]

1.2.11.2. Temporizadores y contadores

Hace referencia a circuitos síncronos usados para el conteo de pulsos que llegan a su entrada de

reloj. Si se designa la fuente de conteo al oscilador interno del microcontrolador, normalmente no

se le asigna un pin, en este caso particular trabaja como temporizador. Por otro lado, si la fuente

de conteo es externa, se le asocia un pin configurándolo como entrada, en este modo se usa como

contador.

Los temporizadores son uno de los periféricos más comunes dentro de los microcontroladores, su

uso es bastante extensivo para tareas como la implementación de relojes, la medición de

frecuencias, o el trabajo con otros periféricos que requieran una sincronización, entre otros.

Es usual encontrar varios temporizadores/contadores dentro de un microcontrolador, inclusive

existen microcontroladores con arreglos de contadores. Típicamente los registros de conteo

oscilan entre los 8 y 16bits, aunque es posible encontrar dispositivos que sólo tienen

Page 38: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

38

temporizadores de un tamaño, normalmente los microcontroladores cuentan con ambos tipos de

registro de conteo.

1.2.11.3. Conversor A/D

En electrónica es usual trabajar con señales analógicas, para poder trabajar con estas, deben ser

convertidas a digital. Esta es la razón por la que muchos microcontroladores incluyen

conversores A/D, el cual se usa para tomar datos de distintas entradas seleccionadas a través de

un multiplexor.

Usualmente emplean resoluciones de 8 y 10bits, aunque existen microcontroladores con

conversores de 11 y 12bits, si se desea una resolución mayor es necesario emplear conversores

A/D externos.

1.2.11.4. Puerto serie

Uno de los periféricos presente en prácticamente cualquier microcontrolador, usualmente en

forma UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous

Asynchronous Receiver Transmitter) dependiendo si admiten o no el modo síncrono de

comunicación.

Usualmente se emplea este periférico para establecer comunicación con otro microcontrolador o

con un computador, y generalmente hay que agregar circuitos externos que completen la interfaz

de comunicación. Comúnmente se completa el puerto serie para comunicarlo con un computador

mediante la interfaz EIA 232, más conocida como RS 232.

1.2.11.5. Puerto serie sincrónico

Este periférico es emplea establecer una comunicación entre el microcontrolador y otros

microcontroladores o periféricos externos conectados a este, haciendo uso de las interfaces SPI

(Serial Peripheral Interface) o I2C (Inter-Integrated Circuit).

Aunque también es un puerto serie, se acostumbra darle un trato diferente respecto a la

UART/USART dado que las interfaces SPI e I2C nacieron mucho después que la

UART/USART, son únicamente síncronas y no fueron diseñadas para establecer comunicación

con otros dispositivos independientes como un computador, sino para conectar el

microcontrolador a dispositivos como pantallas, memorias, conversores A/D o D/A entre otros.

Page 39: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

39

1.2.11.6. Otros puertos de comunicación

El mundo tiende cada vez más a la intercomunicación de dispositivos, han surgido nuevas

interfaces de comunicación y los microcontroladores no se han quedado atrás al momento de

incorporar estas nuevas tecnologías, es por eso que se pueden encontrar en el mercado modelos

con puertos USB (Universal Serial Bus), Ethernet, CAN (Controller Area Network), Bluetooth,

puerto paralelo, entre otros.

1.2.11.7. Comparadores

Son periféricos basados en amplificadores operacionales, que se caracterizan por comparar dos

señales análogas y dar como salida los niveles lógicos „0‟ o „1‟ como resultado de la

comparación.

Es bastante útil para detectar cambios en las señales de entrada, de las cuales sólo se desea saber

en qué momento se encuentra en un rango determinado de valores.

1.2.11.8. Modulador de ancho de pulsos

Los PWM (Pulse Width Modulator) son periféricos bastante útiles, principalmente en el control

de motores, adicional hay diversas aplicaciones en las que se puede usar este periférico, como el

control regulado de luz (dimming), la conversión digital análoga D/A entre otros.

1.2.11.9. Memoria de datos no volátil

Muchos microcontroladores incluyen este tipo de memoria como un periférico más, empleado en

el almacenamiento de los procesos que se controlan o de datos de configuración. Es una memoria

independiente de la memoria de programa o memoria RAM, en la que se guarda el código del

programa que ejecutará el microcontrolador. [10]

1.2.12. Arduino

Arduino es una plataforma de prototipado en código abierto. Se creó para el desarrollo de

proyectos electrónicos a bajo costo, y como una alternativa diferente a las costosas placas de

desarrollo que existían hasta su aparición. [21]

Page 40: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

40

Es útil como herramienta en aplicaciones como:

Control de dispositivos, empleando salidas digitales o de PWM

Comunicación, puede incluir UART, SPI, TWI, I2C entre otros

Sensado, posee entradas análogas y digitales

En la actualidad hay una amplia gama de placas disponibles, la gran mayoría emplean

microcontroladores Atmel, por ejemplo, el modelo Uno, Nano o Mega incluyen el ATmega 2560

o el ATmega 328, otro ejemplo podría ser el SAM3X8E ARM M3, que viene en el Due, aunque

cabe resaltar que poco a poco se han ido introduciendo otras casas fabricantes como INTEL,

incluido en el Galileo.

Su programación se hace a través de un lenguaje propio, Arduino, fácil e intuitivo, favorece un

rápido aprendizaje. Se basa en el lenguaje de alto nivel Processing y en C, por lo que incorpora

una gran variedad de funciones. Otras de sus ventajas son:

Bajo costo: nació con esta premisa, facilita el acceso a la electrónica a un mayor número

de personas, esto ha favorecido su expansión.

Código abierto: facilita que el software se desarrolle y distribuya libremente.

Al ser de código abierto se obtiene una amplia comunidad interesada en el desarrollo de

nuevo hardware y software compatible, esto ha favorecido una continua

retroalimentación, y cada día es mayor la información disponible.

Abundancia de información en la web.

Compatibilidad: se adapta para ser usado en proyectos electrónicos de prácticamente

cualquier tipo, sea a través de hardware desarrollado exclusivamente para Arduino, como

elemento de uso general.

Web propia, http://arduino.cc/, contiene una gran cantidad de información relacionada.

1.2.12.1. Arduino Mega

Se basa en el microcontrolador ATmega2560, dispone de 54 E/S digitales, un oscilador de cristal

de 16MHz, 15 entradas con posibilidad de PWM, 16 entradas análogas, 4 puertos de

Page 41: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

41

comunicación serie UART, comunicación SPI, TWI (I2C), adicional USB e ICSP (In Circuit

Serial Programing).

Figura 9: Arduino Mega

Fuente: http://www.kjpautomation.com/product/arduino-mega/

1.2.12.2. Arduino Uno

Se basa en el microcontrolador ATmega328, dispone de 14 pines de E/S digitales, un oscilador

de cristal de 16MHz, 6 entradas con posibilidad PWM, 6 entradas análogas, comunicación serie,

SPI, TWI, USB e ICSP

1.2.12.3. Arduino Nano

Posee características similares al Arduino Uno al incorporar el mismo microcontrolador, difiere

en el encapsulado, donde es notorio su menor tamaño y su conexión vía mini USB. [22]

Page 42: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

42

Figura 10: Arduino Nano

Fuente: http://electrotec.pe/tienda/arduino-nano-30

Page 43: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

43

1.3. COMUNICACIÓN ETHERNET

Ethernet es un estándar de redes de área local, usado en computadores con acceso al medio a

través de detección de la onda portadora y con detección de colisiones (CSMA/CD). Ethernet se

encarga de definir las características del cableado y señalización a nivel físico y los formatos de

tramas de datos del nivel de enlace de datos del modelo OSI. [23]

Ethernet sirvió como base para la generación del estándar internacional IEEE 802.3,

normalmente son tomados como sinónimos. Su diferencia radica en uno de los campos de la

trama de datos. Aun así, las tramas IEEE 802.3 y Ethernet pueden coexistir en una misma red.

Ethernet goza de tener la mayor aceptación dentro de los esquemas usados para organizar redes

de área local, a pesar de ser uno de los esquemas más antiguos. En los últimos años ha

evolucionado, su tasa de transmisión aumentó de su valor original 10Mb/s hasta 1Gb/s en la

actualidad. Nace da manos de la compañía Xerox en la década de los 70‟s, con partición posterior

de Digital Equipment Corporation e Intel. En los 80‟s, cuando IEEE redactaba las normas para

redes de área local, Ethernet ya era una norma establecida, por lo que es más exacto decir que

IEEE sigue a Ethernet, aunque en ocasiones se dice que Ethernet sigue la norma 802.3 de IEEE.

Usualmente usa líneas de par trenzado, el inconveniente del sistema de 10BaseT, es que restringe

a una longitud máxima de 100m. Existen además versiones del estándar para transmisión de

datos con unas tasas más altas (100 Mb/s) en fibra óptica y par tranzado. Usualmente para las

redes de fibra óptica se usa una configuración física en estrella, dado las dificultades al construir

conectores en T.

Para incrementar las distancias de operación de una red ethernet, se usa amplificación adicional,

puede extender la red hasta 2.8 Km en algunas condiciones.

La limitante en la longitud de una red LAN ethernet radica en el protocolo CSMA/CS usado por

ethernet. [24]

1.3.1. Dirección IP

Se define una dirección IP como el número que identifica de manare lógica y jerárquica a una

interfaz de algún dispositivo dentro de una red que emplee el protocolo IP (Internet Protocol),

correspondiente al nivel de red del protocolo TCP/IP.

Page 44: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

44

A través de internet, se intercomunican computadores entre sí, haciendo uso de las direcciones IP,

sin embargo, para los seres humanos es más natural y cómodo emplear una notación de fácil

recordación, como los nombres de dominio; los servidores de nombre de dominio DNS, se

encargar de hacer la traducción entre unos y otros.

Una dirección IP se expresa como un número de 32 bits, normalmente se muestra en cuatro

grupos de números decimales de 8 bits (IPv4). Cada número se desplaza en un rango de 0 a 255

(expresado en decimal), o de 0 a 11111111 (expresado en binario), o su equivalente 0 a FF

(expresado en hexadecimal). Los 32 bits de la dirección se dividen en cuatro octetos, el valor

decimal de cada octeto oscila entre 0 y 255 (el número binario de 8 bits más alto). La separación

de los octetos está dada por un carácter “.”. [25]

1.3.2. Dirección MAC

Una dirección MAC (Media Access Control Address) o dirección de control de acceso al medio,

es una identificación de 48 bits que se asigna de forma única a una interfaz de red. Es única, cada

dispositivo cuenta con su propia dirección MAC establecida y configurada por el fabricante (los

primeros 24bits) y el estándar IEEE (los últimos 24 bits) haciendo uso del OUI.

Generalmente los protocolos que trabajan en la capa 2 del modelo OSI, emplean una de las tres

numeraciones usadas por el estándar IEEE: EUI 64, EUI 48 y MAC 48 los cuales se diseñaron

para ser identificados como único a nivel global.

No todos los protocolos de comunicación requieren un número único de identificación a nivel

global, no todos los protocolos de comunicación usan direcciones MAC. [25]

Las direcciones MAC son pues un identificador único a nivel mundial, son escritas directamente

e binario en el hardware a la hora de su fabricación, por esto suelen ser llamadas BIA (Burned in

Address) o “Direcciones Quemadas Dentro”. También es conocida como la dirección física, en

cuanto identifica a equipos de red. Es ampliamente usada en varias tecnologías, entre las que se

encuentran:

1. Ethernet.

2. ATM

3. IEEE 802.5 o redes en anillo a 4 Mbps o 16 Mbps Token Ring.

4. IEEE 802.11 redes inalámbricas (WIFI).

Page 45: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

45

1.3.3. Diferencias entre UDP y TCP

Se puede comparar la entrega de datos por parte de TCP y UDP como la diferencia entre una

llamada telefónica y una carta. UDP funciona como una carta: los mensajes son cortos y la

entrega es factible, pero no se puede garantizar. TCP es similar a una llamada telefónica,

comprueba que el destinatario esté listo y disponible para la comunicación.

Generalmente se usa UDP en los programas que requieren transmitir pequeñas cantidades de

información a la vez o que tienen requerimientos de tiempo real. Para estos casos, la

multidifusión y las capacidades de carga pequeña de UDP resultan más adecuadas que TCP. UDP

es considerablemente distinto a las características y servicios que ofrece TCP. En la tabla 2 se

hace una comparación de las diferencias en la forma de administrar la comunicación por parte de

TCP/IP según se emplee TCP o UDP para el transporte de información.

UDP TCP

Servicio sin conexión; no establece una

sesión entre los hosts.

Servicio orientado a la conexión; se

establece una sesión entre los hosts.

UDP no garantiza ni confirma la entrega, y

no secuencia los datos.

TCP garantiza la entrega mediante el uso

de confirmaciones y la entrega secuenciada

de datos.

Los programas que utilizan UDP son

responsables de proporcionar la

confiabilidad necesaria para el transporte

de datos.

Los programas que utilizan TCP

proporcionan la seguridad del transporte de

datos confiable.

UDP es rápido, tiene requisitos de carga

pequeños y puede admitir la comunicación

punto a punto y de un punto a varios

puntos.

TCP es más lento, tiene requisitos de carga

mayores y sólo admite la comunicación

punto a punto.

Tabla 2: Diferencias entre UDP y TCP [25]

Page 46: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

46

Tanto TCP como UDP emplean puertos para identificar las comunicaciones de cada programa

TCP/IP

El campo de puerto tiene una longitud de 16 bits, lo que permite un rango que oscila entre 0 a

65.535, pero no todos los puertos son de libre uso por lo que se detalla algunas normas sobre

ellos:

El puerto 0 es un puerto reservado, sin embargo, es un puerto permitido si el emisor no

espera recibir mensajes del receptor.

Los puertos que oscilan entre 1 a 1023 reciben el nombre de “puertos bien conocidos”

Los puertos que oscilan entre 1024 a 49.151 reciben el nombre de “registrados”, son de

libre uso.

Los puertos que oscilan entre 49.1252 a 65.535 reciben el nombre de “efímeros”, son de

tipo temporal y se usan principalmente por los clientes al conectarse al servidor.

Page 47: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

47

1.4. MYSQL

MySQL es un sistema para la gestión y administración de bases de datos ralacional, multihilo y

multiusuario, desarrollado por Oracle Corporation, es considerado como la base de datos de

código abierto más popular a nivel mundial. [26]

MySQL se desarrolló inicialmente por MySQL AB, esta a su vez fue adquirida por Sun

Microsystems en 2008, que fue adquirida por Oracle Corporation en 2010

A diferencia de proyectos como Apache, de código abierto, desarrollado por una comunidad

pública, donde los derechos de autor están en poder de cada autor individual; MySQL cuenta con

el patrocinio de la empresa privada, quien posee los derechos de autor de la mayor parte del

código. Este sistema posibilita el esquema de doble licenciamiento. Por esta razón, la base de

datos se comercializa en distintas versiones, una Enterprice, para empresas que deseen incluirla

en productos privados y una Community, distribuida bajo la licencia pública general GNU. En

mayor parte está desarrollado en C++ y ANSI C. Entre sus usuarios se encuentran gigantes de

internet como Google, Facebook, Wikipdia, YouTube, Twitter y Flickr.

Actualmente existen diversas interfaces de programación de aplicaciones que admiten el acceso a

bases de datos de MySQL, entre las que cabe resaltar C, C#, C++, Java, PHP, Python, Delphi,

Pascal, Smaltalk, Eiffel entre otros. Cada uno hace uso de una interfaz de programación

específica.

MySQL ha sido ampliamente usado en el desarrollo de aplicaciones web, como Wordpress,

phpBB, Drupal o Joomla, en plataformas Windows, Linux, Apache-MySQL, Perl, PHP y Python,

y por herramientas de seguimiento de errores como Bugzilla.

MySQL se caracteriza por ser una base de datos muy rápida en la lectura cuando utiliza el motor

no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta

concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación

de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para

este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante

Page 48: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

48

monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de

programación. [26]

Su popularidad está muy ligada a PHP, incluso suelen aparecer en combinación con MySQL.

Page 49: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

49

2. ESTADO DEL ARTE

La tecnología RFID remonta sus orígenes a la segunda guerra mundial, en sus inicios no hubo un

gran auge, sólo hasta la modernidad donde los costos han bajados ostensiblemente y la facilidad

de acceder a sus componentes se ha incrementado, han surgido diversas aplicaciones que han

sabido aprovecharla. Hoy en día su uso es extensivo en sistemas de automatización industrial,

seguridad electrónica, control entre otros.

RFID es hoy en día una tecnología emergente y se ha aplicado en diversas áreas, desde logística

hasta seguridad; usualmente, las tarjetas RFID han sido empleadas por las personas en el control

de acceso a edificios de oficinas, para el pago del transporte público en sistemas como el Metro

de Medellín, Transmilenio en Bogotá, Mio en Cali entre otros; inclusive se ha utilizado para el

almacenamiento de información digital en pasaportes. [27]

La identificación por radio frecuencia ha dado cabida a un sin número de aplicaciones y

desarrollos, entre los que podemos encontrar, el diseño de un dispositivo electrónico para el

control de la trazabilidad del ganado. Este proyecto fue desarrollado por estudiantes de la

universidad de San Buenaventura seccional Cali, teniendo como objetivo realizar un dispositivo

capaz de controlar todas las fases de desarrollo del ganado, nacimiento, vacunas, enfermedades,

movimientos, muerte y comercialización. Así mismo se planteó el envío de datos en tiempo real

vía GPRS a un software de monitoreo, donde se almacenan y desde el cual se puede realizar el

seguimiento de la información. [28]

A nivel comercial, la tecnología RFID también ha tenido una buena acogida, hoy en día con la

competencia entre hoteles y resorts de lujo, muchos hoteles compiten para atraer nuevos clientes,

algunos lo hacen ofreciendo VoIP, sonido envolvente de alta fidelidad, televisores de pantalla

plana, entre otros. Buena parte de esos hoteles han implementado sistemas RFID para el bloqueo

de sus puertas, generalmente se usan tarjetas pasivas, que carecen de alimentación, son ligeras y

económicas [29]. Estos sistemas juegan con el diseño del hotel, se integran a sistemas de

recolección de y administración de datos que administran la ocupación del hotel, cuentan con la

Page 50: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

50

posibilidad de integrar todo el sistema con teléfonos celulares Android o iOS entre muchas otras

ventajas. [30]

Recientemente se han desarrollado sistemas para la administración de flotas vehiculares,

implementando tecnologías RFID y UHF. Estos sistemas son aplicados a la entrada y salida de

vehículos, pudiendo monitorear y controlar el acceso de los mismos a través de antenas de largo

alcance, hasta 30 metros, que funcionan en un amplio rango de frecuencia (300 MHz a 3 GHz).

Incluso si el vehículo está en movimiento. [27]

Su versatilidad no termina ahí, otra aplicación está dada en la fabricación de prototipos a pequeña

escala de un sistema de control RFID para los puntos de chequeo de autobuses de servicio

público. Esta investigación buscaba desarrollar un sistema que permitiera medir el tiempo de

llegada de un bus a cada punto de control mediante la adopción de etiquetas RFID lo que

permitiría analizar el servicio prestado al usuario a través del cumplimiento de la periodicidad y

ruta establecida. [31]

El auge de las tecnologías de la información y autenticación electrónica llevó a adoptar la

tecnología RFID (identificación por radio frecuencia) como instrumento para replantear la forma

de acceso a inmuebles, cambiando los métodos tradicionales (llaves o cerraduras mecánicas) a

dispositivos electrónicos (cerraduras electromagnéticas) basándose en el concepto de administrar

el ingreso a áreas restringidas mediante la asignación de permisos, evitando que personas

indeseables tengan acceso a ciertos lugares.

A lo largo del tiempo los desarrolladores de tecnología orientada al tema de seguridad se han

dado a la tarea de innovar en métodos de identificación, evolucionando desde el código de barras

(combinación de números y letras) hasta llegar a la tecnología biométrica (autenticación por

huella dactilar o la palma de cada individuo) evitando el uso de un dispositivo externo que se

pueda extraviar u olvidar, se pude decir que cada persona tiene desde su nacimiento su propia

llave.

Page 51: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

51

Actualmente en Colombia se está presentando un crecimiento acelerado en la implementación de

este sistema de control, con el fin de reducir costos de operación en diversas áreas de las

organizaciones como seguridad, control de nóminas, activos y automatización de procesos.

Como casos de éxito podemos referirnos a los sistemas implementados en diversas instituciones

educativas como la Universidad de Antioquia, EAFIT, UPB, entre otras, las cuales aumentaron

los niveles de seguridad y redujeron los costos de operación en temas como carnetización,

préstamo de libros en bibliotecas, restaurantes, recargas en línea, pagos de parqueadero, estudios

estadísticos de niveles de ocupación, etc. No obstante, existe un gran potencial para la

automatización de procesos en la medida que se puedan ir integrando con otros sistemas de

información sin depender del factor humano.

Page 52: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

52

3. METODOLOGÍA

En el siguiente diagrama de bloques se especifican los requerimientos de diseño del prototipo

Figura 11: Diagrama de flujo de diseño del sistema

3.1. SELECCIÓN MÓDULO RFID

La primera etapa del proyecto corresponde a las pruebas de operación de lectura de tarjetas

MIFARE 13,56 MHz de 1 KB para esto se consigue la tarjeta SL025B [32]

3.1.1. PIN OUT

PI

N Símbolo Tipo Descripción COLOR

1 TagSta Salida Señal detectada de Tag, Nivel RS232 Naranja

Page 53: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

53

Lógico 0 indica tag en rango

detección

Lógico 1 indica tag sale del rango

2 TXD Salida Puerto serial Verde

3 RXD Entrad

a Puerto serial Amarillo

4 VCC Power Alimeantación positiva Rojo

5 GND Power Tierra Negro

Tabla 3: Asignación de pines tarjeta MIFARE

Se realiza conexión de la tarjeta según diagrama de pines anterior al módulo Arduino Mega,

como se ilustra a continuación.

Figura 12: Diagrama de conexión Arduino Mega – Tarjeta MIFARE

Para las pruebas de comunicación entre el lector MIFARE y el computador se conecta un cable

USB serial entre los dos dispositivos y se instala la aplicación Hércules, de tal forma que se

pueda usar el puerto serial a 115200 bps, 8 bits de datos, sin paridad. [33]

Page 54: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

54

El módulo SL025B requiere que se le envíe un comando para que la tarjeta envíe respuesta, el

comando a enviar es “Select Mifare Card”, el cual se encuentra documentado en el manual de

usuario del lector [34], este comando en hexadecimal es BA 02 01 B9. La respuesta a este

comando corresponde a una trama hexadecimal, en el cual se indica si no hay TAG o si la

operación fue satisfactoria, y simultáneamente envía el número del TAG

Figura 13: Comando Select Mifare Card

Page 55: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

55

Figura 14: Aplicativo Hercules

Luego de recibir respuesta del lector en la aplicación Hércules, este se integra con Arduino, en el

cual se elabora una aplicación adicional para transmitir datos hacia el computador. Después de

realizar un sin número de pruebas y verificar en detalle si la información entregada es la misma,

se encuentran datos erróneos ya que no se contempló la conversión TTL a RS232 requerida a la

salida del Arduino, razón por la cual no funciona de manera óptima el lector con Arduino. La

solución a este inconveniente es diseñar un conversor TTL a RS232 o adquirir un modelo de

módulo MIFARE que tenga embebida la interfaz TTL.

Se optó por la adquisición de un módulo MIFARE con esta interfaz, y se encontró uno que

cumplía con la especificación de la interfaz, el cual además tiene la ventaja que cada vez que se

presenta la tarjeta envía el número de esta sin necesidad de enviarle un comando de

inicialización, permitiendo ser más eficiente la lectura del serial de la tarjeta MIFARE. El módulo

en cuestión es el RC522. [35]

Page 56: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

56

Figura 15: Modulo RFID – RC522

Fuente: http://forum.arduino.cc/index.php?topic=199983.0

Apoyados en la documentación técnica existente y las librerías propias de la plataforma, se

realizaron pruebas de operación, encontrando inconvenientes a la hora de integrarlo al Arduino

Mega, no registra el serial de la tarjeta de forma adecuada. Por lo anterior se realizan pruebas de

funcionamiento con Arduino UNO, almacenando el ID de la tarjeta en una variable para

compararlo con una nueva lectura de la misma tarjeta. Después de realizar esta validación se

comprobó que la integración es posible sin errores y por ende se acoge la placa Arduino UNO

con base para la realización del proyecto.

Page 57: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

57

3.2. CÓDIGO ARDUINO

Para efectos de facilidad, orden y pruebas de funcionamiento se tomó la decisión de segmentar el

código en componentes estratégicos, los cuales se describen a continuación.

Conexión Ethernet: Para este componente se utilizaron las siguientes librerías:

#include <SPI.h> Se utiliza para garantizar la comunicación entre la placa Arduino UNO

y la placa Ethernet. Ver Anexos.

#include <Ethernet.h> Permite realizar la comunicación mediante protocolo TCP/IP entre

la placa de arduino UNO y la red de datos, desde una dirección IP de origen hacia una

dirección IP de destino. Ver Anexos.

Mifare: Para este componente se utilizó la siguiente librería:

#include <MFRC522.h> Permite realizar la lectura del ID de la tarjeta Mifare y

almacenarlo en una variable o espacio de memoria de la placa Arduino UNO. Ver

Anexos.

Adicionalmente y con el fin de no saturar la memoria, se agregó la librería TimerOne.h [36] que

configura un temporizador de tal manera que después de la lectura de una tarjeta, impida leerse

nuevamente la misma tarjeta hasta que finalice el tiempo del temporizador, después del cual es

posible realizar la lectura del ID de otra tarjeta.

LCD: para este componente se utilizó la siguiente librería.

#include < LiquidCrystal.h > Permite informar al usuario mediante un mensaje visual si tiene o

no autorización para ingresar al espacio que se está controlando.

Con el fin de hacer un control visual por parte del administrador del sistema se adicionan los

siguientes estados, de tal forma que se puede evidenciar en que parte del proceso se encuentra la

transacción de la información.

- Estado 0, esperando tarjeta

Page 58: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

58

- Estado 1, enviando datos de la tarjeta a servidor web

- Estado 2, recibiendo datos del servidor web, hasta que reciba el mensaje adecuado

- Estado 3, acceso autorizado

- Estado 4, acceso denegado

- Estado 5, cierre puerta temporizado

3.3. CÓDIGO PHP Y BASE DE DATOS

Se diseñó una aplicación web en lenguaje PHP para la recepción del número de tarjeta (ID),

mediante método POST (No se requiere escribir sobre la URL los parámetros principales para

acceder al servidor PHP) y se diseña la base de datos para almacenamiento de la información.

Al código Arduino se le adiciona código WebClient, utilizando la librería proporcionada por el

fabricante [37], de tal manera que se envíe como parámetro POST el número de la tarjeta (ID), y

se espere la respuesta del servidor, recibiendo carácter por carácter el código HTML ante la

respuesta a la petición del registro del número de la tarjeta presentada.

Se presentan inconvenientes para la operación simultanea del código WebClient con el código del

lector; después de lectura profunda de los módulos Ethernet y RFID, se encuentra que están

haciendo uso simultáneo del puerto SPI, y que es necesario utilizar pines diferentes para la

habilitación del módulo cuando haga uso del puerto SPI para dicho módulo

Se adiciona al código PHP una instrucción para que cuando se almacene la información en la

base de datos, devuelva un texto “Mensaje:” confirmando si está autorizado o se ha denegado el

acceso. Adicionalmente se adiciona código para la activación del relé.

Después de realizar pruebas de funcionamiento del sistema, sometiéndolo a una gran cantidad de

transacciones, se presentan inconvenientes en la puesta en operación de los diferentes estados,

pues bajo ciertas condiciones, se ejecuta el estado dos (2) y se queda esperando el mensaje de

recepción que no ocurrirá, es necesario revisar en detalle el código para eliminar esta falla. Para

Page 59: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

59

solucionar esto, se analiza la posibilidad de registrar la información directamente en la base de

datos MySQL [38]. Se analiza en detalle la MySQL Conector /Arduino.

MySQL: Para este componente se utilizaron las siguientes librerías:

#include <sha1.h>: Se utiliza para garantizar la seguridad de la información cuando se

conecta a la Base de Datos. Corresponde a un método de encriptación.

#include <mysql.h>: Permite establecer la conexión y realizar consultas con el servidor

MySQL en la red de datos.

Al realizar las pruebas de operación y exigencia del sistema, se comprobó que el registro de las

tarjetas se hace de una forma más ágil y segura, pues en la solución anterior (WebClient) algunos

mensajes no se recibían perdiendo parte de la información transmitida.

Page 60: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

60

4. RESULTADOS

Finalmente, para la elaboración del proyecto se emplearon:

- Equipo de cómputo

o Aplicación PHP

o Base de datos MySQL

- Controlador de acceso

o Hardware: Arduino Uno, tarjetas RFID, Módulo RFID – RC522, módulo ethernet,

LCD, tarjeta relé

o Software: Código arduino

La comunicación entre el equipo de cómputo y el controlador de acceso es sobre TCP/IP.

4.1. DIAGRAMAS DE FLUJO

A continuación, se presenta de forma gráfica el funcionamiento del sistema, el proceso de la

información desde que se presenta la tarjeta en el lector hasta que se permite o se niega el acceso

según sea el caso.

Page 61: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

61

Figura 16: Diagrama de flujo Setup

Page 62: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

62

Figura 17: Diagrama de flujo sub rutina Loop

Page 63: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

63

Figura 18: Diagrama de flujo sub rutina Loop 2

Page 64: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

64

Figura 19: Diagrama de flujo sub rutina Loop 3

Figura 20: Diagrama de flujo sub rutina conexión MySQL

Figura 21: Diagrama de flujo sub rutina enableETH0

Page 65: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

65

Figura 22: Diagrama de flujo sub rutina aperturaPuerta

Figura 23: Diagrama de flujo sub rutina cierrePuerta

Figura 24: Diagrama de flujo sub rutina enableRFID

Page 66: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

66

Figura 25: Diagrama de flujo sub rutina lecturaTarjeta

Figura 26: Diagrama de flujo sub rutina dump byte array

Page 67: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

67

Figura 27: Diagrama de flujo sub rutina obtenerUID

Figura 28: Diagrama de flujo sub rutina temporizador

Page 68: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

68

Figura 29: Diagrama de flujo sub rutina consultarTarjeta

Page 69: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

69

4.2. DISEÑO ELECTRÓNICO

Con el fin de controlar el acceso por la puerta, se diseñó una tarjeta electrónica para interrumpir

el voltaje de la cerradura electromagnética mediante un relé, si la respuesta después de la

validación en la base de datos es 1 (autorizado). Esta condición solo se da si el usuario se

encuentra previamente registrado en el sistema.

Adicionalmente, en esta tarjeta se implementaron las interfaces de conexión para el módulo

MIFARE y el LCD. El diseño se realizó con Eagle versión 5.6.

Figura 30: Diseño electrónico

Page 70: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

70

Figura 31: Diseño de PCB

Page 71: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

71

4.3. PRUEBAS FINALES

Luego de realizar los ajustes necesarios para superar los inconvenientes presentados se realizaron

las pruebas de operación y consulta en la aplicación WEB.

4.3.1. Montaje en Board

Figura 32: Montaje en board

4.3.2. Inicio de servidor XAMPP y MySQL, conexión con la base de datos.

Page 72: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

72

Figura 33: Monitor Serial

4.3.3. Lectura de Tarjeta

Figura 34: Lectura de Tarjeta

Page 73: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

73

4.3.4. Inserción en la base de datos del ID de la tarjeta

Figura 35: Inserción en la base de datos del ID de la tarjeta

4.3.5. Aplicación WEB

Registro de transacciones. Se realiza filtro por palabra clave Montoya y se obtiene el histórico de

las transacciones de ingreso de este usuario.

Page 74: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

74

Figura 36: Histórico de las transacciones de ingreso de usuario

Solicitud de tarjetas no registradas. Estas tarjetas no están asociadas a un docente y por lo tanto

el acceso es denegado.

Figura 37: Histórico de las transacciones negadas

Agregar un docente: Se agrega el docente Saúl Rodríguez, lo cual se puede evidenciar en la

siguiente figura.

Page 75: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

75

Figura 38: Agregar Docente

Page 76: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

76

4.4. MANUAL DE USUARIO

Para hacer un correcto uso de la aplicación el administrador del sistema debe seguir los siguientes

pasos.

1. Iniciar XAMPP

Ejecutando los módulos Apache y MySQL

En caso que tenga operando IIS (Internet Information Services) cambie el puerto del

servidor Apache TCP 80 a otro puerto como el TCP 8000, en la siguiente imagen se

observa que está operando en el puerto TCP 8001

Figura 39: Panel de Control XAMPP

2. Abrir el sitio web de la solución http://localhost:8001/usbaccess/

Page 77: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

77

Figura 40: Interfaz Web

3. Inicie sesión, usando un usuario y contraseña válido. El usuario por defecto es admin y la

contraseña admin

4. Las opciones del sitio web son las siguientes

Figura 41: Opciones del Sitio Web

a. Usuarios: este formulario permite administrar, es decir, crear, editar, eliminar,

exportar, e imprimir los usuarios

b. Docentes: este formulario permite administrar, es decir, crear, editar, eliminar,

exportar, e imprimir los docentes

c. Tarjetas: este formulario permite administrar, es decir, crear, editar, eliminar,

exportar, e imprimir las tarjetas

d. Registro ingresos: este formulario permite consultar los ingresos que se han

realizado

Page 78: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

78

e. Solicitudes Ingreso Tarjetas No Registradas: este formulario permite consultar

los números identificadores de las tarjetas que sin tener permiso habilitado han

intentado ingresar

f. Cerrar sesión: finaliza el uso de la aplicación web

5. Registre las tarjetas: Permite configurar las tarjetas que tendrán acceso para la apertura

de la puerta. Es posible habilitarla o inhabilitarla, las tarjetas que no se encuentren

registradas por defecto están inhabilitadas

6. Registre los docentes: requiere haber iniciado sesión. Permite asociarse una tarjeta, y

asociarse una cuenta de usuario para hacer uso del sitio web.

7. Registre los usuarios del aplicativo web: requiere haber iniciado sesión. Permite darle

acceso al aplicativo web, no requiere asociarse a un docente, crea un usuario y una

contraseña

En cada uno de los formularios aparecen los siguientes botones:

permite exportar los resultados de la consulta a archivo de Excel, Word, PDF; el

menú que aparece es el siguiente

Figura 42: Opciones de exportar

, permite imprimir todos los datos

, permite imprimir los datos de la página que se está visualizando.

, permite adicionar un nuevo docente, usuario o tarjeta, depende del formulario activo.

, permite eliminar los registros que están seleccionados.

, permite actualizar los registros que se están observando

Page 79: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

79

, permite buscar registros que contengan el texto en cualquiera de los

campos

A continuación se observan los botones que aplica a los registros individualmente, es decir, solo

aplican para la fila en la que son presionados:

, permite seleccionar el registro actual

, permite ver el registro actual en otro formulario

, permite editar el registro actual en otro formulario

, permite borrar el registro actual

, permite copiar el registro actual

Cuando se escoge la opción “Usuarios” del menú, se observa la siguiente pantalla

Figura 43: Administrar Usuarios

Esta vista permite crear, editar o borrar los usuarios que podran hacer uso de la aplicación.

Cuando se escoge la opción “Docentes” del menú, se observa la siguiente pantalla

Page 80: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

80

Figura 44: Administrar Docentes

Esta vista permite agregar, editar o borrar los docentes que tendran acceso al espacion mediante

tarjeta.

Cuando se escoge la opción “Tarjetas” del menú, se observa la siguiente pantalla

Figura 45: Administrar Tarjetas

Esta vista permite crear, editar o borrar tarjetas. Asi mismo se podran autorizar o denegar accesos

según sea el caso.

Cuando se escoge la opción “Registro Ingresos” del menú, se observa la siguiente pantalla

Page 81: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

81

Figura 46: Administrar Registros

Esta vista permite obtener reportes de ingresos según los filtros aplicados en la consulta.

Cuando se escoge la opción “Solicitudes Ingreso Tarjetas No Registradas” del menú, se observa

la siguiente pantalla

Figura 47: Tarjetas no Registradas

Esta vista permite verificar el número de la tarjeta que ha pasado por el lector y que no se

encuentra registrada dentro del sistema. Su utilidad principal es validar el ID de una tarjeta nueva

para asociársela a un docente nuevo que necesite acceder a este espacio.

Page 82: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

82

En caso de agregar un usuario, requiere digitarse el nombre, correo, nombre de usuario,

contraseña, e indicar si es administrador escribiendo un 1 o un 0

Figura 48: Usuarios

En caso de agregar un docente, requiere digitarse la información nombre, correo y facultad; si

desea que este docente, pueda ingresar a la aplicación web, debe seleccionar uno de los usuarios

creado previamente; si desea que el usuario tenga tarjeta de ingreso, puede seleccionar una tarjeta

creada previamente

Page 83: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

83

Figura 49: Docentes

En caso de agregar una tarjeta, requiere indicarse el número de la tarjeta y si está habilitada con

un 1, o inhabilitada con un 0:

Figura 50: Tarjetas

Page 84: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

84

8. Registre tarjetas: requiere haber iniciado sesión. Permite configurar las tarjetas que

tendrán acceso para la apertura de la puerta. Es posible habilitarla o inhabilitarla, las

tarjetas que no se encuentren registradas por defecto están inhabilitadas.

9. Registre docentes: requiere haber iniciado sesión. Permite asociarse una tarjeta, y

asociarse una cuenta de usuario para hacer uso del sitio web.

10. Registre usuarios del aplicativo web: requiere haber iniciado sesión. Permite darle

acceso al aplicativo web, no requiere asociarse a un docente, crea un usuario y una

contraseña.

11. Extraer reporte de uso del espacio: Esta funcionalidad se puede obtener en la vista

Registro de Ingresos, donde mediante la aplicación de filtros por fecha o búsqueda rápida

por apellido, nombre o ID de la tarjeta se puede tener los registros almacenados en la base

de datos y exportarlos a diferentes formatos de archivo como Word, Excel y PDF.

Page 85: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

85

5. CONCLUISIONES

Con la realización de este proyecto se puede concluir que es posible realizar integraciones de

software y hardware para obtener resultados y almacenamiento de datos de manera automática.

La aplicación de la tecnología RFID en identificación de personas resulta una manera útil de

controlar el acceso a espacios físicos o información clasificada.

El registro de la información en una base de datos a través del método de inserción directa,

resulta ser más rápido y seguro que la conexión a un servidor WEB.

El proyecto resulta muy práctico a escala real, ya que permite no solo controlar el acceso, sino

que tendrá la funcionalidad de extraer informes de ingresos de todos los usuarios, siendo una

herramienta estadística interesante para analizar los flujos de docentes, las horas de utilización y

tiempos muertos del espacio.

Se puede concluir que Arduino es una plataforma que permite realizar un sin número de

aplicaciones para las cuales existen gran variedad de ayudas, siendo muy abierta a cualquier tipo

de integración con cualquier sistema de información.

Page 86: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

86

6. TRABAJOS FUTUROS

Con el fin de mejorar el proyecto desarrollado en esta investigación, se propone los siguientes

cambios.

Adicionar código para almacenamiento de la base de datos de usuarios en el controlador arduino,

de forma tal que la solución funcione en modo desconectado. Es decir, no se requiere una

conexión estable con el servidor, sino que se actualice la información una vez se restablezca la

comunicación.

Adicionar código para el almacenamiento de los registros de ingreso en una memoria micro SD,

y así poder extraer la información desde el controlador arduino.

Agregar entradas y salidas digitales al controlador arduino y conectar sensores para monitorear el

estado de la puerta.

Adicionar código para identificar el controlador arduino en la red de datos de manera que se

pueda enviar datos desde la aplicación WEB para ejecutar acciones en la operación de la

cerradura.

Crear un aplicativo móvil para Android y/o iOS que también permita la administración de

usuarios.

Page 87: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

87

REFERENCIAS

[1] N. Gordón, Control de Acceso en la Entrada del Instituto Geofísico Utilizando Tecnología

RFID, Quito, 2009.

[2] D. S. Morales Tejada, Prototipo de Control de Acceso Peatonal al Campus de la Corporación

Universitaria Lasallista, Caldas, 2012.

[3] A. Cervantes Najera, Sistema de información y control de acceso basado en tecnología

RFID, 2006.

[4] J. A. A. Sánchez, Sistema de Control de Acceso con RFID, Mexico D.F., 2008.

[5] D. I. Tapia, Identificación por Radiofrecuencia: Fundamentos y Aplicaciones, Salamanca,

2007.

[6] H. R. Morillo, Computación Ubicua mediante Dispositivos RFID.

[7] S. A. Fernández, RFID: La tecnología de identificación por radiofrecuencia, Madrid, 2006.

[8] M. C. P. Paredes, Diseño y construcción de un prototipo de RED para el control de ingreso a

sitios de acceso masivo utilizando la tecnología de identificación por radio frecuencia

(RFID), Quito, 2007.

[9] P. Pupiales, Diseño de un sistema de control de acceso utilizando la tecnología RFID para la

empresa Soluciones G cuatro del Ecuador CIA. LTDA., Quito.

[10] J. M. Angulo, Microcontroladores PIC: Diseño práctico de aplicaciones, Madrid: Mc Graw

Hill, 2005.

[11] F. E. Valdés, Microcontroladores: Fundamentos y Aplicaciones con PIC, España:

Marcombo, 2007.

[12] D. Ibrahim, PIC Basic Projects: 30 Projects using PIC BASIC and PIC BASIC PRO,

Oxford: MPG Books, 2006.

[13] E. M. Perez, Microcontroladores PIC: Sistema Integrado para el Aprendizaje, Barcelona:

Marcombo, 2007.

[14] G. Gridling, Introduction To Microcontrollers, Vienna, 2007.

[15] E. M. Pérez, Sistemas Electrónicos Digitales, Barcelona: Marcombo, 2008.

Page 88: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

88

[16] S. Augarten, The Most Widely Used Computer on a Chip: The TMS 1000, New York, 1983.

[17] C. B. Viejo, Fundamentos de Electrónica Digital, Madrid: Thomson, 2005.

[18] Microchip, «http://www.atmel.com,» [En línea].

[19] M. Rouse, «http://whatis.techtarget.com/,» 2010. [En línea].

[20] J. A. Montoya, «Blog Microcontroladores,» Septiembre 2009. [En línea]. Available:

http://blogmicrocontroladores.blogspot.com.co/.

[21] G. d. J. López, Diseño e implementación de sotware y Hardware de un registrador de

variables eléctricas con comunicaciones Ethernet, Latacunga, 2013.

[22] L. F. Basarte Bozal, Diseño y fabricación de una tarjeta PCB para el control de un robot

autobalanceado basado en Arduino, Pamplona, 2014.

[23] J. F. Villa, «Jose Francisco Sevilla 2016,» Abril 2016. [En línea]. Available:

https://josefranciscosevilla2016.wordpress.com.

[24] J. Hernándo, Sistemas de telecomunicación, Madrid: Servicio de publicaciones E.T.S.I.

Telecomunicación., 1991.

[25] J. L. B. Palma, Desarrollo De Un Sistema De Control De Ingresos De Vehiculos, Utilizando

Picy Tecnología Rfid Para Mejorar Las Operaciones De Seguridad De La Universidad

Tecnica De Babahoyo, Babahoyo, Ecuador, 2012.

[26] D. A. Cadena y L. G. Romero, Diseño e Implementación de un Sistema de Control e

Inventario Electrónico a Través de la Internet Basado en la Tecnología RFID para los

Laboratorios del DEEE-ESPE, Sangolqui, Ecuador, 2011.

[27] N. Sathish y P. Ranjana, «Secure Remote Access Fleet Entry Management System Using

UHF Band RFID,» Proceedings of International Conference on Internet Computing and

Information Communications, pp. 141-149, 2014.

[28] D. L. Araujo, Dispositico Electrónico para el Control de la Trazabilidad del Ganado,

Santiago de Cali, 2012.

[29] G. K. Verma y P. Tripathi, «A Digital Security System with Door Lock System Using RFID

Technology,» International Journal of Computer Applications, pp. 6-8, 2010.

[30] J. Rock, «RFID Door Locking Systems,» Hospitality Upgrade, pp. 130-132, 2007.

[31] J. M. Atehortua, Prototipo a Pequeña Escala de un Sistema de Control RFID para los Puntos

Page 89: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

89

de Chequeo de Autobuses de Servicio Público, Medellín, 2013.

[32] Stronglink Technology Co., Ltd, «Strong Link,» 2016. [En línea]. Available:

http://www.stronglink-rfid.com/.

[33] HW Group, «HW Group,» [En línea]. Available: http://www.hw-

group.com/products/hercules/index_es.html.

[34] StrongLink, Mifare Reader / Writer SL025B User Manual, 2012.

[35] Arduino, «Arduino,» 2016. [En línea]. Available:

http://playground.arduino.cc/Learning/MFRC522.

[36] Arduino, «Arduino,» 2016. [En línea]. Available:

http://playground.arduino.cc/Code/Timer1.

[37] Arduino, «Arduino,» 2016. [En línea]. Available:

https://www.arduino.cc/en/Tutorial/WebClient.

[38] J. Brathwaite, «Panama Hiteck,» 9 Septiembre 2015. [En línea]. Available:

https://panamahitek.com/conectar-arduino-base-datos-mysql/.

[39] D. Almeida, Diseño de implementación de un prototipo para un sistema de monitoreo de

personal basado en RFID, 2008.

[40] R. Green, Plataforma Tecnológica Regional, hacia el fortalecimiento, 2007.

[41] J. M. Herrera, Estudio, Diseño y simulación de un sistema de RFID Basado en EPC., 2011.

[42] J. Herrera, Tecnología RFID aplicada al control de accesos, 2011.

[43] C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and

Design. Westford, Pearson Education, 2004.

[44] J. A. Peñaloza Calderon, Red de PLC's y variadores de velocidad con protocolos Ethernet y

Modbus, Bucaramanga, 2009.

[45] G. López Frias, Diseño e implementación de software y hardware de un registrador de

variables eléctricas con comunicaciones ethernet basado en tecnología arduino y sistema de

supervisión hmi, Latacunga, 2013.

Page 90: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

90

GLOSARIO

Amperaje: Unidad de intensidad de una corriente eléctrica.

Cristal oscilador: Circuito electrónico que produce una señal electrónica repetitiva, a menudo

una onda senoidal o una onda cuadrada.

Frecuencia: Magnitud que mide el número de repeticiones por unidad de tiempo de cualquier

fenómeno o suceso periódico. Según el Sistema Internacional (SI), la frecuencia se mide en

hercios (Hz).

HF: Alta frecuencia (High Frequency).

I/O: Entradas/Salidas (input/output).

LF: Baja frecuencia (Low Frequency).

Memoria: Dispositivo dedicado al almacenamiento de información.

Microprocesador: Circuito integrado central y más complejo que constituye la unidad central de

procesamiento (CPU) de un computador o dispositivo electrónico catalogado como

microcomputador.

MySQL: Sistema de administración de bases de datos relacionales de código abierto

RFID: (siglas de Radio Frequency IDentification, en español identificación por radiofrecuencia)

es un sistema de almacenamiento y recuperación de datos remoto que usa dispositivos

denominados etiquetas, tarjetas, transpondedores o tags RFID. El propósito fundamental de la

tecnología RFID es transmitir la identidad de un objeto (similar a un número de serie único)

mediante ondas de radio. Las tecnologías RFID se agrupan dentro de las denominadas Auto ID

Page 91: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DE …bibliotecadigital.usb.edu.co/bitstream/10819/3375/3/Diseno_Implementac... · Figura 12: Diagrama de conexión Arduino Mega

91

(automatic identification, o identificación automática).

Tag: rótulo, etiqueta, identificador. Conjunto de bits o de caracteres que identifica diversas

condiciones acerca de los datos de un archivo, y que se encuentra frecuentemente en los registros

de encabezamiento de tales archivos.

Trama informática: la trama alude al enlace interno entre los distintos elementos que componen

un todo. Es utilizado el término en varios sentidos.

En informática se conoce la trama como el paquete de datos, que son los paquetes o grupos de

información, de tamaño pequeño, que se transmiten.

UDP: UDP User Datagram Protocol proporciona un nivel no fiable de transporte de datagramas,

dado que añade muy poca información sobre los mismos (8 bytes, frente a los 20 bytes que usa el

protocolo TCP). La primera consecuencia de esto es que por cada paquete enviado se envía una

mayor cantidad de datos, pero también al reducir la información y comprobaciones de estos se

aumenta la velocidad a la que se transfieren.

Protocolo TCP: Transport Control Protocol proporciona un transporte fiable de flujo de bits

entre aplicaciones. Se utiliza para enviar de forma fiable grandes cantidades de información,

liberando al programador de aplicaciones de tener que gestionar la fiabilidad de la conexión

(retransmisiones, pérdidas de paquetes, orden en que llegan los paquetes, duplicados de

paquetes...), encargándose el propio protocolo de su gestión.

XAMPP: Servidor independiente, funciona como plataforma para la gestión de bases de datos

MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl.