Estudio de viabilidad de detección de infraestructuras

Anuncio
Estudio de viabilidad de detección de infraestructuras
enterradas con tecnología RFID
TITULACIÓN: GRADO DE INGENIERÍA TELEMÁTICA
AUTOR: Idir Ouhab Meskine.
DIRECTOR: Antonio Lázaro Guillen.
FECHA: Junio / 2015.
2
Índice
1
Introducción ............................................................................................................. 9
1.1
Objetivo ............................................................................................................ 9
1.2
Espectro electromagnético .............................................................................. 9
1.3
Transmisión en espacio libre ........................................................................ 10
1.4
Tecnología RFID ........................................................................................... 11
1.4.1 Electronic Product Code............................................................................ 14
1.4.2 Ventajas de RFID ...................................................................................... 15
1.4.3 Otras aplicaciones ...................................................................................... 15
1.5
RSSI................................................................................................................ 17
1.6
Chips............................................................................................................... 18
1.7
Sistema de detección de tuberías .................................................................. 19
1.8
Normativa ...................................................................................................... 21
2
Discusión ............................................................................................................... 23
3
Desarrollo .............................................................................................................. 25
3.1
4
Funcionamiento ............................................................................................. 25
Base teórica ........................................................................................................... 27
4.1
Potencia radiada ............................................................................................. 27
4.2
Pérdidas en el espacio libre ........................................................................... 27
4.3
Pérdidas en el suelo ....................................................................................... 28
4.3.1 Simulación de potencia ............................................................................. 28
4.3.2 Simulación de la atenuación ..................................................................... 32
5
Resultados prácticos.............................................................................................. 33
5.1
Sesión 1 .......................................................................................................... 34
5.2
Sesión 2 .......................................................................................................... 37
5.3
Sesión 3 .......................................................................................................... 39
5.4
Sesión 4 .......................................................................................................... 42
5.5
Respuestas Tag 1, Schreiner Onmetal ......................................................... 45
5.5.1 Profundidad 0 cm ....................................................................................... 45
5.5.2 Profundidad 5 cm ....................................................................................... 46
5.5.3 Profundidad 10 cm ..................................................................................... 47
5.6
6
Atenuación ..................................................................................................... 48
Programación......................................................................................................... 51
6.1
Caen RFID Software ..................................................................................... 51
6.2
Matlab............................................................................................................. 51
3
6.2.1 loadParameters.m....................................................................................... 52
6.2.2 Caenrfid.m .................................................................................................. 53
6.2.3 grafiques.m ................................................................................................. 53
6.2.4 plotGraph.m ............................................................................................... 54
6.2.5 AvgRSSI..................................................................................................... 55
6.2.6 AvgReadRate ............................................................................................. 56
7
Ampliación del sistema......................................................................................... 57
7.1
Reader............................................................................................................. 57
7.2
Comunicación móvil ..................................................................................... 58
7.3
Base de datos ................................................................................................. 58
7.3.1 Entidad Epc ................................................................................................ 59
7.3.2 Entidad Location ........................................................................................ 60
7.3.3 Entidad event.............................................................................................. 60
7.3.4 Entidad Provider ........................................................................................ 61
7.4
Administración de datos................................................................................ 61
7.4.1 Localización de Tag en el mapa ............................................................... 61
7.4.2 Panel de incidencias................................................................................... 62
8
Conclusiones ......................................................................................................... 63
9
Referencias ............................................................................................................ 66
Anexos A – Códigos de programación Matlab ............................................................ 67
Anexo A.1 loadParamterts.m .................................................................................. 67
Anexo A.2 caenrfid.m ............................................................................................. 67
Anexo A.3 grafiques.m ........................................................................................... 71
Anexo A.4 plotGraph.m .......................................................................................... 72
Anexo A.5 plotAten ................................................................................................ 73
Anexo A.6 mediaLecturas.m .................................................................................. 73
Anexo A.7 mediaRSSI.m ........................................................................................ 74
Anexo A.8 Ecp entity .............................................................................................. 75
Anexo A.9 Event entity ........................................................................................... 75
Anexo A.10 Location entity ................................................................................... 75
Anexo A.11 Provider entity .................................................................................... 75
Anexo A.12 dbConnect.php ................................................................................... 76
Anexo A.13 index.php ............................................................................................ 77
Anexo A.14 epcCreator.php ................................................................................... 81
Anexos B – Reader CaenRFID R4300P datasheet....................................................... 82
4
Anexos C – 3M Sistema de detección de tuberías ....................................................... 85
Anexos D – Chips RFID ................................................................................................ 91
Anexo D.1
Alien Higgs 3....................................................................................... 91
Anexo D.2
Alien Higgs 4....................................................................................... 93
Anexo D.3
Impinj Monza 5 ................................................................................... 95
Anexo D.4
Impinj Monza R6 ................................................................................ 96
Anexo D.5
NPX SL3S1203FTB0 ....................................................................... 102
Anexos E – Normativa ................................................................................................. 107
5
Lista de figuras
Figura 1. Gráfica del espectro radioeléctrico
Figura 2. Representación de la ley del cuadrado inverso
Figura 3. Representación de un sistema simple RFID
Figura 4. Tabla de comparativa entre tags activos y tags pasivos
Figura 5: Explicación gráfica sobre los tipos de tags
Figura 6. Esquema de la red EPCGlobal
Figura 7. Ejemplo de tags de diferentes formas y tamaños
Figura 8. Características principales y ejemplos de aplicaciones de la banda UHF
Figura 9. Tecnologías para “Internet de las cosas”
Figura 10. Ejemplo de la captura de emisores Wi-Fi
Figura 11. Esquema de RSSI respecto a la antena que radia
Figura 12. Tabla comparativa de chips para tags pasivos
Figura 13. Gráfica de patentes desde 2000 hasta 2011 de la compañía 3M
Figura 14. Sistema de detección de tuberías 3M
Figura 15. Especificaciones de los modelos de detección 3M
Figura 16. Identificación por colores
Figura 17. Mapa de las bandas UHF mundiales
Figura 18. Baliza de localización modelo 2273M
Figura 19. Emisión de señal
Figura 20. Lector emitiendo la señal contra un tag
Figura 21. Montaje del sistema de detección
Figura 22. Comparación de distancia en función del contenido de agua (tag -18 dBm)
Figura 23. Distancia de up y down link con respecto al volumen de agua
Figura 24. Comparación de distancia en función del contenido de agua (tag -10 dBm)
Figura 25. Gráfica de la atenuación con respecto al volumen de agua
Figura 26. Tag 1, Schreiner Onmetal
Figura 27. Tag 2, Alien
Figura 28. Tag 3, MT Tag Gen2 W
Figura 29. De color blanco el Tag 1, en la funda, el Tag 2
Figura 30. Gráfica porcentaje de lecturas del Tag 1
Figura 31. Gráfica RSSI del Tag 1
Figura 32. Gráfica porcentaje de lecturas del Tag 2
Figura 33. Gráfica RSSI del Tag 2
Figura 34. Planchas de cemento entre la antena y los tags
Figura 35. Gráfica porcentaje de lecturas del tag Tag 1
Figura 36. Gráfica de RSSI del Tag 1
Figura 37. Caja electrónica plástica
Figura 38. Gráfica del porcentaje de lecturas del Tag 1
Figura 39. Gráfica RSSI del Tag 1
Figura 40. Gráfica del porcentaje de lecturas del Tag 3
Figura 41. Gráfica RSSI del Tag 3
Figura 42. Gráfica del porcentaje de lecturas del Tag 1
Figura 43. Gráfica RSSI del Tag 1
Figura 44. Gráfica del porcentaje de lecturas del Tag 3
Figura 45. Gráfica RSSI del Tag 3
Figura 46. Gráfica del porcentaje de lecturas a 0 cm de profundidad
Figura 47. Gráfica del RSSI a 0 cm de profundidad
Figura 48. Gráfica del porcentaje de lecturas a 5 cm de profundidad
6
9
11
11
13
13
15
16
16
17
17
18
19
19
20
20
21
22
24
25
25
26
29
30
31
32
33
33
34
35
35
36
36
37
38
38
39
40
40
41
41
42
43
43
44
44
45
46
46
Figura 49. Gráfica del RSSI a 5 cm de profundidad
Figura 50. Gráfica del porcentaje de lecturas a 10 cm de profundidad
Figura 51. Gráfica del RSSI a 10 cm de profundidad
Figura 52. Analizador de redes Agilent Tecnologies E5062A
Figura 53. Atenuación medida en la sesión 2
Figura 54. Atenuación medida en la sesión 3
Figura 55. Atenuación medida en la sesión 4
Figura 56. Caen RFID R4300P
Figura 57. Flujo de procesamiento de datos en Matlab
Figura 58. Microsim
Figura 59. Almacenamiento de datos desde cualquier dispositivo a la nube
Figura 60. Entidades de la base de datos
Figura 61. Entidad EPC
Figura 62. Entidad location
Figura 63. Entidad Event
Figura 64. Entidad provider
Figura 65. Mapa con el recorrido de las tuberías
Figura 66. Panel de eventos
Figura 67. Tag NXP G2XM
Figura 68. Tag U1115 Concret
7
47
47
48
48
49
49
50
51
52
57
58
59
60
60
61
61
62
62
64
64
Lista de tablas
Tabla 1. Tabla de gamas de radiofrecuencias
Tabla 2. Subdivisión de los tipos de RFID
Tabla 3. Parámetros utilizados en la simulación
Tabla 4. Resume de resultados de la atenuación
10
12
30
50
8
I.
Introducción
1
Introducción
1.1
Objetivo
El objetivo del proyecto es estudiar la viabilidad del uso de la tecnología UHF RFID
para la detección de infraestructuras enterradas. Principalmente, el sistema será utilizado
para el seguimiento de tuberías que transporten cualquier tipo de materia (líquido, gas, etc.).
Para llevar a cabo dicho trabajo se ha utilizado una serie de tags que se encontrarán
enterrados a una profundidad de entre 0 y 30 cm con respecto a la superficie.
Por el tipo de lugar en el que se colocarán los tags, deben soportar diferentes niveles
de humedad (seco o mojado) y terrenos.
1.2
Espectro electromagnético
La radiación es solo una porción de un vector de energía al que llamamos “espectro
electromagnético”.
Realmente, el espectro no es más que una distribución energética de lo que llamamos
ondas electromagnéticas.
Sucede que la energía depende de la constante de Planck. La constante de Planck
relaciona la energía de los fotones con la frecuencia de la onda lumínica según la fórmula:
E=h·c
[1]
m
Donde c=299.272.458 y h≈6.626 J·s
s
Figura 1. Gráfica del espectro radioeléctrico
I.
Introducción
Dentro del espectro electromagnético tenemos: los rayos gamma de alta potencia que
llegan de las supernovas, los rayos X que utilizamos para poder visualizar los huesos, las
microondas para la cocción de alimentos, los infrarrojos usado por las plantas para realizar
la fotosíntesis, la luz visible que nos sirve para recibir información mediante nuestro sentido
de la vista y por último, las ondas de radio.
Las ondas de radio tienen una longitud de onda mayor que las ondas lumínicas y
pueden viajar a través de materiales tales como ropa, muebles o paredes, entre otros.
Las ondas de radio se pueden propagar muy bien por el vacío y por lo tanto son ideales
para las comunicaciones en las que las conexiones cables no son viables.
Dentro del espectro electromagnético, podemos ver la radiación en el rango de 3 kHz
y 300 GHz, y dentro de esta gran división se realzan pequeñas subdivisiones llamadas
bandas:
Nombre
Abreviatura
Banda
Longitud de onda
Extremely low
ELF
3 – 30 Hz
100.000 – 10.000 km
Super low
SLF
30 – 300 Hz
10.000 – 1.000 km
Ultra low
ULF
300 – 3000 Hz
1.000 – 100 km
Very low
VLF
3 – 30 kHz
100 – 10 km
Low
LF
30 – 300 kHz
10 – 1 km
Medium
MF
300 – 3000 kHz
1 km – 100 m
High
HF
3 – 30 MHz
100 – 10 m
Very high
VHF
30 – 300 MHz
10 – 1 m
Ultra high
UHF
300 – 3000 MHz
1 m – 100 mm
Super high
SHF
3 – 30 GHz
100 – 10 mm
Extremely high
EHF
30- 300 GHz
10 – 1 mm
Tabla 1. Tabla de gamas de radiofrecuencias
1.3
Transmisión en espacio libre
La problemática de las comunicaciones con radio, es que requieren de mucha potencia
en comparación con aquellas que viajan a través de un cable. La razón de este hecho es
simple. Debido a que sin el uso del cable, la señal se irradia desde una fuente hacia el espacio,
gran cantidad de la energía se atenúa en todas direcciones, sin que se haya aprovechado en
su totalidad. Una buena manera de comparar esta idea podría ser las ondas que se dispersan
cuando lanzamos una piedra a un estanque. De forma análoga con ondas sonoras.
Estos fenómenos se pueden explicar con la ecuación de transmisión en espacio libre.
Esta ley dice que, para fenómenos ondulatorios tales como el sonido y la luz, la intensidad
disminuye con el cuadrado de la distancia con respeto a la fuente. Por tanto, cada vez que se
10
I.
Introducción
dobla la distancia desde la fuente, se quiere cuatro veces la cantidad de energía para mantener
la señal.
Figura 2. Representación de la ley del cuadrado inverso
La fórmula de Friis permite calcular en espacio libre la potencia recibida por una
antena en función de la potencia transmitida por la antena transmisora: Esta ley viene
representada por la siguiente ecuación:
Ptx Gt Gr λ2
Prx (d)=
[2]
(4π)2 d2
Donde Gt y Gr son las ganancias de cada antena, λ es la longitud de onda y d es la
distancia que existe entre dos antenas.
1.4
Tecnología RFID
RFID o Radio Frequency Identification es un sistema de emisión y recepción de datos
mediante transpondedores, a partir de ahora tags, que generalmente, suelen tener un tamaño
reducido.
El sistema es de fácil uso y simplemente necesita de dos elementos para su uso: un
emisor y un receptor.
Figura 3. Representación de un sistema simple RFID
Los sistemas RFID pueden clasificar en función de la banda de frecuencias que
utilizan. Dichas frecuencias están reguladas para evitar interferencias con otros sistemas:
11
I.
Introducción
Nombre
Abreviatura
Frecuencia
Distancia
Low
LF RFID
125 kHz
Hasta 45 cm.
High
HF RFID
13.56 MHz
De 1 a 3 m.
Ultra high
UHF RFID
869 MHz
De 3 a 10 m.
2.4 GHz
Más de 10 m.
Microwave
Tabla 2. Subdivisión de los tipos de RFID
Por lo general, el menos usado es el RFID de microondas debido a que el trabajo en
frecuencias más altas genera inestabilidad en el sistema, además de ser tecnológicamente
más caro que el resto.
También podemos distinguir los tags según la fuente de alimentación que necesiten.
De esta manera existen:
Tags pasivos: No tienen la necesidad de incorporar un sistema de alimentación para
su funcionamiento debido a que la propia señal de la antena es capaz de realimentar el propio
microchip.
Son los más usados pero a su vez deben tener un especial cuidado ya que la fuente
emisora de señal debe emitir la potencia necesaria para la reactivación de dicho componente,
en caso contrario no recibiremos respuesta por lo que nuestro tag sería inútil.
Tags activos: A diferencia de los tags pasivos, requieren de una batería interna para la
activación de su propio circuito.
Son más eficientes que los anteriores debido a que al tener su propia fuente de emisión
no tienen la necesidad de detener la transmisión de datos, además la difusión de los datos
almacenados es mayor.
El gran inconveniente respecto al tag pasivo se encuentra en su baja autonomía.
Al tener una fuente de alimentación propia, supone que se puede descargar dicha
batería en un momento dado y a razón de ello, la obligación de tener que realizar una
sustitución de dicha batería y esto, requiere de más recursos, en este caso, humanos.
Actualmente, como método de mejora para este tipo de tags, se está estudiando la
posibilidad de recarga la batería interna mediante emisiones de ondas externas.
De todos modos, excluyendo sus evidentes problemas de autonomía, podemos obtener
unas mejores prestaciones tanto en alcance como en potencia de recepción, además existen
varios modelos que soportan elevados niveles de humedad e incluso, su instalación cerca de
superficies metálicas.
Tags semi-pasivos: Tratándose de un híbrido de los dos tipos explicados
anteriormente.
12
I.
Introducción
Posee un sistema de auto-alimentación, normalmente una batería, para poner en
funcionamiento el circuito interno pero a su vez, necesita de una fuente externa para la
emisión de datos como en el caso de los tags pasivos.
Se trata de un modelo intermedio entre los pasivos y los activos ya que ofrece mejores
resultados que los tags pasivos y a la vez las dimensiones y su coste es menor que los tags
activos.
Figura 4. Tabla de comparativa entre tags activos y tags pasivos
Figura 5: Explicación gráfica sobre los tipos de tags
13
I.
Introducción
Una gran ventaja de estos dispositivos es su gran alcance y una gran precisión aún sin
tener una visibilidad directa con el objetivo. Otra cualidad que ha logrado con el paso del
tiempo es su reducción en el precio de producción, su precio ha disminuido en pocos años
y teniendo una fiabilidad cada vez mayor, consiguiendo así, usarse cada vez con más
frecuencia en el ámbito de la medicina ya que no requieren de un cargador físico.
Por otra parte, este método tiene una inconveniente que se ha podido ver durante el
transcurso de este proyecto.
Uno de los mayores problemas es la fiabilidad que nos presentan estos dispositivos
cuando existe una superficie entre la antena y el tag. La dificultad aumenta cuando la
distancia supera los 6 metros aproximadamente, como viene explicado en este trabajo.
Otro de los retos es la colisión entre los diferentes tags que podemos tener en nuestro
entorno, que, lo que con anterioridad podía ser una ventaja, ahora podemos verlo como un
inconveniente importante. A pesar de que no se ha podido evitar la colisión entre señales de
varios tags se ha creado el llamado código EPC (Electronic Product Code).
1.4.1 Electronic Product Code
En un principio, este identificador se usó para realizar distinción entre los distintos
tags que podíamos tener a nuestro alrededor, ya que como hemos dicho con anterioridad,
debido a que no es necesario tener una visibilidad directa con el tag provocaba la
intercepción de varios tags.
Es un código de hasta 96 bits único en el mundo. Estandarizada y regulada por EPC
Global. Dicho código se encuentra grabado dentro del mismo tag.
Con este sistema se consiguió solventar el problema que se planteó pero además, se
pudieron conseguir ciertas mejoras gracias a su implementación, siendo una mejora del
tradicional código de barras ya que, como ya sabemos, la lectura del código de barras sólo
se puede realizar si el lector tiene una línea directa con la etiqueta, el sistema point-andshoot.
Etiquetas (Tags): Las etiquetas disponen de un chip RFID en el que se almacena el
código electrónico de producto. El EPC es un conjunto de números que identifican única e
inequívocamente a cada artículo de la cadena de suministros.
Lectores (Readers): Los lectores pueden leer el EPC de varios artículos a la vez, de
modo que al pasar cualquier tipo de materia por las cercanías se activan y se identifican. Los
lectores EPC están situados en puntos estudiados con el fin de poder realizar una detección
sin ningún tipo de impedimento.
Software personalizado (Middleware): Es una capa de software que aísla el mundo
de los eventos físicos del mundo de los eventos lógicos y de negocios.
Sistemas informáticos (EPCIS): Servidores que actúan como repositorios locales de
información y como proveedores de información a los clientes para la distribución de la
información en la red EPCGlobal.
Servicio de Nombre del Objeto (ONS): Servicio que proporciona un enlace al
fabricante que asocia el EPC a uno de sus productos. A partir de este enlace se pueden
conocer los movimientos del producto mediante el DS.
14
I.
Introducción
Figura 6. Esquema de la red EPCGlobal
1.4.2 Ventajas de RFID
-
-
Gran capacidad de almacenaje de información.
Aceleración y automatiza de los dispositivos para mantener una continua
localización y el mantenimiento de la trazabilidad, permitiendo incorporar
información adicional.
La posibilidad de la reescritura de la información interna de manera inalámbrica.
Obtención de información en masa por lo que agiliza los procesos.
Gran precisión en la recuperación de datos.
En ciertos tipos de etiquetas, nos permite ocultar los dispositivos de localización.
Resistente a condiciones atmosféricas y físicas adversas.
Minimización de errores al reducir el número de componentes de una tarea.
1.4.3 Otras aplicaciones
Hoy en día el uso de los tags RFID está muy extendido y sus usos son muy variados,
al igual que las formas y tamaños, permitiendo de esta forma que se adapten a multitud de
superficies y entornos.
Para ver con más detalle, a continuación mostraremos dos imágenes:
15
I.
Introducción
Figura 7. Ejemplo de tags de diferentes formas y tamaños
Figura 8. Características principales y ejemplos de aplicaciones de la banda UHF
16
I.
Introducción
Figura 9. Tecnologías para “Internet de las cosas”
Además de todas las aplicaciones mencionadas, los tags RFID también forman parte
de la nueva revolución llamada “Internet of things”, entre otras tecnologías.
1.5
RSSI
Generalmente, la mayoría de sistemas de comunicación radio disponen de un detector
que permite conocer la potencia de la señal recibida o RSSI. Según el dispositivo, se expresa
en diferentes unidades (dBm) o en niveles de potencia proporcionales a la potencia recibida.
Es la cantidad de potencia que un mecanismo de recepción capta la señal cuando otro
dispositivo emisor está radiando.
Un ejemplo claro del uso de este indicador es una conexión Wi-Fi.
Figura 10. Ejemplo de la captura de emisores Wi-Fi
Como podemos ver en la figura anterior, tenemos la columna RSSI, la cual nos indica
la potencia con la que un router nos envía la señal. Cuanto mayor sea el número, mayor será
la señal que estamos recibiendo.
17
I.
Introducción
Este valor puede variar por diferentes causas:
- Gran porcentaje de humedad en el ambiente.
- La colocación de una pared o una superficie robusta entre el emisor y el receptor.
- Superposición de señales en el mismo canal o canales adyacentes.
Figura 11. Esquema de RSSI respecto a la antena que radia
En nuestro proyecto, también es importante realizar esta medida, ya que nos indica la
posible viabilidad de la tecnología RFID teniendo capas de tierra, asfalto o gravilla entre el
emisor y el receptor.
Gracias a ello podemos comprobar cómo evoluciona la señal realizando cambios de
profundidad y de material, además de que, usando tags pasivos, la necesidad de recibir una
potencia (RSSI) mínima para su activación es primordial ya que sin dicha energía, la etiqueta
no se activaría por lo que no recibiríamos respuesta.
1.6
Chips
Actualmente existen varios fabricantes de chip para etiquetas para RFID en banda
UHF, a continuación vamos a realizar una comparativa de las potencias umbrales recibidas
o sensibilidades (mínimas requeridas para la comunicación) para diferentes proveedores.
Modelo y marca
Alien Higgs 3
Alien Higgs 4
Impinj Monza 5
Impinj Monza R6
NPX SL3S1203FTB0
Escritura
Lectura
-16 dBm
-18.8 dBm
-27 dBm
-20 dBm
-20 dBm
-20 dBm
-22.1 dBm
-16 dBm
18
I.
Introducción
Figura 12. Tabla comparativa de chips para tags pasivos
La sensibilidad hace referencia a la potencia mínima que debe recibir el chip para su
activación.
1.7
Sistema de detección de tuberías
La compañía Minnesota Mining and Manufacturing Company (3M) es una
multinacional estadounidense dedicada a la investigación y desarrollo de “productos
ingeniosos”.
Figura 13. Gráfica de patentes desde 2000 hasta 2011 de la compañía 3M
Siendo una de las compañías que mayor número de patentes tiene en su poder. La más
famosa es el producto que se utiliza en la cinta adhesiva.
La compañía, durante el año 2014, desarrolló un sistema de detección de tuberías y
cables enterrados basado en un sistema de bobinas cubiertas por un envase de plástico.
El sistema de localización de tuberías está compuesto de un emisor y un receptor. El
receptor es un dispositivo fácil de transportar y dotado de una pequeña pantalla en la cual,
podemos observar la información almacenada en el mecanismo que se encuentra bajo tierra,
como por ejemplo en el caso de los tags, el código EPC.
Además, también nos muestra una gráfica a tiempo real de la potencia de la señal y de
la proximidad del cable con un error de precisión máximo de 10 cm.
19
I.
Introducción
Figura 14. Sistema de detección de tuberías 3M
Tras el gran avance de este dispositivo, la compañía desarrolló 4 modelos, que
actualmente se están comercializando.
Figura 15. Especificaciones de los modelos de detección 3M
También disponen de diferentes tipos de balizas según el uso que se le puede llegar a
dar mediante un sistema de colores.
20
I.
Introducción
Figura 16. Identificación por colores
A pesar de tener un sistema avanzado y muy estable, el precio de la patente imposibilita
el uso de esta tecnología, por lo que se deben usar alternativas.
El objetivo del proyecto es estudiar la viabilidad de utilización de tags RFID en banda
UHF de forma alternativa al sistema de 3M de baja frecuencia. Si bien, dada la mayor
frecuencia puede presentar problemas debido a la mayor atenuación del terreno, la gran
aceptación en el mercado para otras aplicaciones de la tecnología RFID de UHF facilitaría
su comercialización para esta aplicación.
1.8
Normativa
Las aplicaciones que usan la tecnología RFID deben cumplir ciertas normativas, tanto
a nivel nacional como internacional.
Podemos encontrar la ISO 15961/1592 encargada del protocolo de datos y las reglas
de codificación de datos.
ISO 10374, responsable de definir el funcionamiento de las tarjetas de identificación
de contenedores.
ISO 14443 que asumen el control de las potencias RF, protocolos de transmisión y
características.
Nos centraremos en las normativas existentes actualmente y en las limitaciones que
suponen a la hora de realizar el trabajo, dependiendo ante todo, de la situación geográfica en
la que nos encontramos.
21
I.
Introducción
Según la normativa europea, los lectores RFID en territorio europeo, pueden funcionar
a 2 W (33 dBm ERP) como máximo, en el caso de E.E.U.U., 4 W de potencia radiada,
prácticamente el doble.
Hay 3 regiones que establecen una normativa definida y que han conseguido que el
resto del mundo las establezca como norma:



Europa, la cual asigna la banda de UHF entre los 865 y los 868 MHz.
E.E.U.U., la banda es algo más amplia, pero superior en frecuencia. Desde los
902 a los 928 MHz.
Japón, usando exclusivamente desde los 950 a los 956 MHz
En el siguiente esquema vemos para las diferentes demarcaciones las distintas
asignaciones en el espectro radioeléctrico, pero por lo general, como hemos comentado en
el parágrafo anterior, se siguen los patrones que marcan CEPT (Europa), FCC (E.E.U.U.) y
MPHPT (Japón). Datos extraídos de [3].
Figura 17. Mapa de las bandas UHF mundiales
22
II.
2
Discusión
Discusión
Como hemos comentado anteriormente, la compañía 3M tiene la patente de un sistema
de detección de cableado y tuberías enterradas.
Su artilugio está basado en un sistema de bobinas, el cual genera un campo
electromagnético con el que, posteriormente, el detector podrá localizar la bobina.
Dicha bobina es la que se encuentra situada bajo tierra, recubierta de un envase circular
para evitar el contacto directo con cualquier tipo de material.
El proyecto que llevamos a cabo trata de realizar ciertas mejoras al sistema propuesto
por 3M ya que, a pesar de las ventajas que ha supuesto, tiene ciertas carencias técnicas que
creemos haber corregido.
El primero de los problemas detectados en su sistema es la necesidad de tener la bobina
en una orientación horizontal, razón por la cual el contendor de la bobina es esférico, ya que
es la única forma geométrica que asegura una posición correcta.
Este hecho dificulta la capacidad de movimiento del aparato debido a que, aun siendo
circular, existe el riesgo de que la bobina tome una orientación diferente, rebajando
notablemente la dirección del campo generado, por lo que las posibilidades de detección del
artefacto se reducen.
Otra de las desventajas que podemos encontrar se centra en la frecuencia en la cual se
trabaja con este sistema.
Realiza detecciones usando bandas de frecuencias no reguladas por lo que no tienen la
limitación en potencia como puede ser nuestro caso.
A pesar de partir con este avance, nos encontramos con la problemática del uso de este
sistema en otros países.
Como vemos en las especificaciones del modelo Serie 2500, tiene seis frecuencias
activas: 577 Hz, 1 kHz, 8 kHz, 33 kHz, 82 kHz, 200 kHz y 133 kHz para modelos de
exportación.
Como vemos, trabaja en las bandas de ULF y VLF, teniendo que adaptar todos los
sistemas a estas frecuencias, la cual puede suponer un gasto técnico en la adaptación del
material además de que cuenta con una sola banda en el caso de que se requiera la
exportación del sistema, limitándolo así, a los 133 kHz.
Por último, la principal preocupación de los posibles usuarios del sistema de detección
de tuberías 3M es el gasto económico que supone el aprovechamiento de esta tecnología,
ya que hemos podido comprobar que una unidad de la baliza de localización del modelo
2273M tiene un precio aproximado de 5.061 € la unidad [4].
Desconocemos el coste del sistema completo debido a que no se venden a particulares
y es por contratación directa con la compañía.
II.
Discusión
Figura 18. Baliza de localización modelo 2273M
24
III.
Base teórica
3
Desarrollo
3.1
Funcionamiento
Usando una antena, se envía una señal constante a 878 MHz de frecuencia realizando
un barrido de potencias que va desde los -20 dBm hasta los -33 dBm (máximo permitido por
ley).
La antena se orienta en dirección horizontal, dirigida hacia el suelo. Esta señal, si no
encuentra ningún elemento en su trayectoria, no recibirá ningún dato al reflejarse.
En la siguiente imagen puede ver como se emite una señal constante.
Antena transmisora
Figura 19. Emisión de señal
En la Figura 20 se puede observar que la señal emitida impacta contra un tag que se
encuentra enterrado bajo tierra. En este caso el tag reaccionará por lo que la señal emitida
será reflejada, y consigo tendrá la información que necesitamos.
Lector
Antena transmisora
EPC
Tag
Figura 20. Lector emitiendo la señal contra un tag
Y como observamos en la Figura 21, vemos el montaje que se ha realizado
25
III.
Base teórica
Figura 21. Montaje del sistema de detección
26
IV.
4
Base teórica
Base teórica
Como se ha comentado el punto anterior, para llevar a cabo nuestro objetivo debemos
tener en cuenta ciertos parámetros a la hora de realizar los cálculos, ya que nos encontramos
con dos limitaciones muy importantes.
Por un lado, la sensibilidad de los tags. Es necesario una potencia mínima por la cual
los tags permiten la reflexión de la señal. De esta manera se lleva a cabo su detección.
Podemos consultar dichas sensibilidades en la Figura 12. Tabla comparativa de chips para
tags pasivos.
Por otro lado tenemos la limitación en cuanto a la potencia de emisión. Recordamos
que la potencia máxima de emisión en la banda RFID en el ámbito nacional está establecida
en los 2 W.
Tras las aclaraciones, damos lugar a los pasos necesarios para tener una aproximación
sobre los posibles resultados.
4.1
Potencia radiada
Generar un barrido de señales a diferentes frecuencias empezando por 20 dBm y hasta
alcanzar el límite de 33 dBm.
Según nos especifica el fabricante CAEN, el reader tiene, además, una limitación en
potencia mínima transmitida de 20 dBm. Es decir, nuestro aparato no es capaz de generar
una señal por debajo de los 20 dBm de potencia, a pesar de que ciertos tags tienen una
sensibilidad entorno a los 17 dBm como es nuestro caso práctico. Dicho esto, podemos
establecer para nuestros cálculos teóricos una potencia radiada de 2 W (máxima).
PT =33 dBm
4.2
Pérdidas en el espacio libre
Debemos tener en cuenta las pérdidas por realizar la comunicación en el espacio libre.
Eso quiere decir que, la distancia entre la antena y la superficie del suelo acumulamos una
pérdida de señal. En nuestro caso experimental, esta distancia es de 45 cm. Usando la
fórmula de las pérdidas del espacio libre podemos aproximar la cifra:
𝑟 = 0.45 𝑚
𝑓 = 868 𝑀𝐻𝑧
PR
PT
=GT ·GR ·(
λ
4·π·r
2
) donde λ=
2
c
f
c
PR -PT =GT +GR +20 log -20 log r2 -20 log f
4π
3·108
PR -PT =8+0+20 log
-20 log r2 -2 log f
4π
3·108
PR -PT =8+20 log
-20 log r2 -20 log f -20 log 10-6
4π
PR -PT =35.55-20 log r2 -20 log f donde L=-PR +PT
27
IV.
Base teórica
L=-35.55-13.87+58.77
L=9.35 dB
4.3
Pérdidas en el suelo
Como en el punto anterior, debemos tener en cuenta la atenuación de la señal una vez
penetra en la tierra. En este caso la atenuación será teóricamente mayor a las pérdidas por el
espacio libre. En este caso, en vez de realizar cálculos matemáticos, demostraremos esta
teoría usando distintos modelos de tierra para ver el cambio de la atenuación, ya que a
diferencia de las pérdidas en el espacio libre, podemos tener diferentes tipos de tierra
añadiéndole diferentes tipos de humedad por lo que podremos ver más claramente el impacto
de la señal.
4.3.1 Simulación de potencia
Se han realizado simulaciones para comprobar los resultados teóricos del proyecto a
partir de diferentes modelos de tierra, basados en la composición de arena y barro.
Con esta formación de tierra e introduciendo los parámetros de medición que hemos
usado, podemos llegar a una aproximación sobre los resultados teóricos y posteriormente
proceder a su comparación.
Hay dos parámetros que tenemos fijos en este estudio. Se trata de la densidad del suelo
y la densidad de las partículas que lo conforman, ambas, según el estudio del que hemos
extraído los modelos [5], indican que el valor aproximado de ambas densidades son de 1.6
y 2.6.
En nuestro caso, hemos querido realizar una simulación con diferentes porcentajes de
arena y barro.
Como vemos en las gráficas, se puede apreciar que obtenemos una mayor profundidad
si nuestro compuesto tiene menor cantidad de arcilla. Se ve una diferencia de 0.35 cm
aproximadamente.
28
IV.
Base teórica
1.1
80%arena 20% arcilla
50%arena 50% arcilla
20%arena 80% arcilla
1
Range underground(m)
0.9
0.8
0.7
0.6
0.5
0.4
0
10
20
30
40
50
Volumetric water content V (%)
60
70
Figura 22. Comparación de distancia en función del contenido de agua (tag -18
dBm)
29
IV.
Base teórica
50% arena 50% arcilla
1.1
Uplink
Downlink
1
Range underground(m)
0.9
0.8
0.7
0.6
0.5
0.4
0
10
20
30
40
50
Volumetric water content V (%)
60
70
Figura 23. Distancia de up y down link con respecto al volumen de agua
Distancia máxima para el enlace de uplink (lector a tag) y el enlace de dowlink (tag a
reader). Se observa que limita el primer enlace debido a la sensibilidad umbral del
tag.
Parámetro
Valor
Unidades
Ganancia de la antena
8
dB
Potencia máxima transmitida
2
W
Potencia máxima transmitida por el lector
0
dB
Sensibilidad del tag
-18
dBm
Frecuencia
868
MHz
Distancia antena-suelo
0.45
m
Tabla 3. Parámetros utilizados en la simulación
Se observa que el parámetro más crítico es la sensibilidad del tag, por ejemplo, si se
repiten la simulaciones anteriores para una sensibilidad del tag de -10 dBm (valor típico si
se desintoniza un poco el tag) en lugar de -18 dBm (estado del arte).
30
IV.
Base teórica
1.2
80%arena 20% arcilla
50%arena 50% arcilla
20%arena 80% arcilla
1.1
Range underground(m)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0
10
20
30
40
50
Volumetric water content V (%)
60
70
Figura 24. Comparación de distancia en función del contenido de agua (tag -10
dBm)
La simulación de la máxima distancia de los enlaces se ha calculado utilizando el siguiente
código:
PIRE=10^(33/10)*1e-3;
GR=10^(8/10);
ATdBm=alfadBpm(index);
r=linspace(0.05,1.5,150);
d1=0.45;
erc=8.7-sqrt(-1)*1.55;
%----------------------------eta0=377;
eta1=eta0/sqrt(erc);
rho=(eta1-eta0)/(eta1+eta0);
T=1-abs(rho)^2;
%Simulacio tag convencional
Pminuplink=(10^(-18/10))*1e-3;
Pmindownlink=(10^(-80/10))*1e-3;
Gtag1=10^(0/10);
fin=868e6;lam1=3e8/fin; %Frequencies entrada i sortida
fout=1*fin;lam2=3e8/fout;
CL=10^(-4/10);
%no hi ha perdues de conversio pero en suposo 4 dB
31
IV.
Base teórica
AT=10.^(-ATdBm*r/10);
Ptag=T*PIRE./(4*pi*d1.^2)*(lam1^2/(4*pi))*Gtag1.*AT;
Pr=T*PIRE./(4*pi*d1.^2)*(lam1^2/(4*pi))*Gtag1.^2*CL.*AT.*AT./(4*pi*d1.^2)
*(lam2/(4*pi))*GR;
PtagdBm=10*log10(Ptag)+30;
PrdBm=10*log10(Pr)+30;
rup=interp1(Ptag,r,Pminuplink);
rdown=interp1(Pr,r,Pmindownlink);
4.3.2 Simulación de la atenuación
Como podemos observar en esta gráfica, se realiza una variación del tipo tierra usando
dos compuestos diferentes, arcilla y arena. Se ha escogido este modelo debido a que existe
una gran similitud al terreno que se ha usado en la práctica.
Existen dos puntos clave que podemos analizar.
Teniendo una cantidad de volumen de agua del 5.1% observamos que, a excepción del
caso en el cual proporción de arena es del 80% y de arcilla 20%, todos los tipos de tierra
tiene una atenuación similar, rondando los 35 dB/m aproximadamente. Esto nos indica que
para niveles de humedad bajos, la atenuación de la señal cuando atraviesa esa superficie es
prácticamente igual para todos ellos.
El segundo punto clave es a partir del 5.1%. Como observamos en los marcadores,
para un 30.1% de agua se observa un cambio grande teniendo un máximo de 61.39 dB/m y
un mínimo de 29.71 dB/m. Una vez llegados a este punto se observa que el aumento de la
atenuación es proporcional en todos ellos, ya que se aprecia como todas las líneas continúan
un recorrido paralelo entre sí.
Por lo que hemos visto, al aumentar los niveles de arcilla en nuestro terreno, hasta
cierta cantidad de agua podemos obtener unos niveles de atenuación muy elevados.
Atenuación por volumen de agua
80
80%
20%
70%
30%
60%
40%
50%
50%
40%
60%
30%
70%
20%
80%
70
X: 30.1
Y: 61.39
60
X: 30.1
Y: 57.83
X: 30.1
Y: 53.67
Attenuation (dB/m)
50
X: 30.1
Y: 48.83
X: 5.1
Y: 36.25
40
X: 5.1
Y: 35.9
30
arena
arcilla
arena
arcilla
arena
arcilla
arena
arcilla
arena
arcilla
arena
arcilla
arena
arcilla
X: 30.1
Y: 43.26
X: 30.1
Y: 36.91
X: 5.1
Y: 34.14
X: 5.1
Y: 30.48
X: 30.1
Y: 29.71
X: 5.1
Y: 24.36
20
10
0
0
10
20
30
40
Volumetric water content V (%)
50
60
70
Figura 25. Gráfica de la atenuación con respecto al volumen de agua
32
V.
5
Base teórica
Resultados prácticos
Durante el transcurso del proyecto se han realizado 4 sesiones para la recolección de
datos.
En la planificación del proyecto se tuvieron que tener en cuenta varios factores, ya que
al ser un trabajo que iba a estar expuesto a diversas condiciones atmosféricas y situaciones
diferentes se debía realizar diferentes test.
Se han usado 3 tipos de tags diferentes.
El tag con EPC 00-00-00-00-00-BB-0A-34-00-00-01-C4, a partir de ahora tag 1.
Este tag se ha usado en todos las medidas, debido a que según las especificaciones es
el que mejor se adaptaba a las necesidades del trabajo.
Figura 26. Tag 1, Schreiner Onmetal
El tag con EPC E2-00-34-12-DC-03-01-18-15-14-21-49 es un tag alien, el cual se ha
introducido dentro de una funda de plástico. Se trata de un tag de muy pequeñas dimensiones
y con una sensibilidad de -20 dBm. A partir de ahora será nombrado como tag 2.
Figura 27. Tag 2, Alien
El tag con EPC AA-AA-AA-AA-AA-AA-AA-AA-AA-AA-AA-07 es un tipo de tag
muy similar al tag 1 pero más robusto debido al envase de plástico más duro. En adelante
será llamado tag 3.
33
V.
Base teórica
Figura 28. Tag 3, MT Tag Gen2 W
A la hora de realizar las medidas se deben definir ciertos parámetros situados dentro
del fichero “parámetros.txt”. A continuación el contenido del fichero:
-
-
NP: Número de puntos realizados por el lector, toma el valor de 50 puntos por
canal.
Pmin: Potencia con la que comenzaremos a realizar el barrido. Debido a que el
lector no tiene la capacidad de realizar emisiones por debajo de los 20 dBm,
seleccionaremos ese valor como mínimo.
Pmax: Potencia máxima con la que se realizará la medida. Esta potencia es la
limitada por las leyes nacionales, 33 dBm.
G: Ganancia de la antena, indicada por las especificaciones de la antena.
L: Perdidas de inserción la cual la iniciamos con el valor de 1.5 dB
NI: Número de inventarios, es decir, el número de intentos de lectura que se
realizarán. En este caso realizaremos 25.
Pasaremos a la muestra de los resultados de cada sesión, además de realizar una breve
descripción sobre los cambios en el montaje.
De los resultados obtendremos 3 tipos de gráficas:
1- Medidas de RSSI según la potencia.
2- Medidas del porcentaje de lecturas según la potencia.
3- Medidas de la atenuación con respecto a la distancia de soterramiento.
5.1
Sesión 1
Comenzamos a realizar las medidas con el Tag 1, Schreiner Onmetal, ya que como ya
dijimos anteriormente, según las especificaciones, se decidió usar este.
Al ver los buenos resultados dados por el este tag, se dispuso a introducir el Tag 2,
Alien con unas prestaciones más bajas pero de un tamaño mucho más reducido.
34
V.
Base teórica
Figura 29. De color blanco el Tag 1, en la funda, el Tag 2
Gráfica distancia (cm)
100
0 cm
5 cm
10 cm
15 cm
18 cm
20 cm
25 cm
28 cm
90
80
70
Lecturas
(en %)
60
50
40
30
20
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
Figura 30. Gráfica porcentaje de lecturas del Tag 1
35
34
V.
Base teórica
Gráfica distancia (cm)
-32
-34
-36
RSSI
(en dBm)
-38
-40
-42
-44
-46
-48
18
0 cm
5 cm
10 cm
15 cm
18 cm
20 cm
25 cm
28 cm
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 31. Gráfica RSSI del Tag 1
Gráfica distancia (cm)
100
90
80
70
Lecturas
(en %)
60
50
40
30
20
25 cm
28 cm
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
Figura 32. Gráfica porcentaje de lecturas del Tag 2
36
34
V.
Base teórica
Gráfica distancia (cm)
-55.5
-56
-56.5
RSSI
(en dBm)
-57
-57.5
-58
-58.5
-59
-59.5
25 cm
28 cm
-60
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 33. Gráfica RSSI del Tag 2
Como se observan en las gráficas anteriores, vemos que en todos los casos hasta que
no se alcanza el valor de 20 dBm no se detecta ningún tipo de tag. Esto es debido a la
sensibilidad del lector, es incapaz de realizar emisiones por debajo de ese valor por lo que
en todas las medidas veremos un límite inferior de 20 dBm.
En los resultados obtenidos en esta primera sesión se puede observar la buena
respuesta del Tag 1, Schreiner Onmetalen. Los primeros valores de potencia emitidos,
recibiendo respuesta una respuesta optima entre los 20 dBm y los 24 dBm en los cuales
recibimos un 100% de detección del tag y un RSSI por debajo de los -50 dBm por lo que se
puede considerar una potencia de recepción muy buena.
Encontramos ciertos problemas en las distancias de 25 y 28 cm en las cuales,
obtenemos unos valores muy alejados de los esperados. Pero detectamos cierta anomalía ya
que hasta los 27 dBm de emisión el RSSI tienes valores muy pequeños por lo que nos indica
que no se recibe ningún reflejo, pero se obtiene valores de -46 dBm superada esa frecuencia.
Al respecto del Tag 2, Alien, únicamente tenemos dos medidas, 25 cm y 28 cm, ya que
se observaron los resultados inesperados del Tag 1, Schreiner Onmetaly. Se observó que las
respuestas que se recibieron por este tag para las medidas críticas del primer tag fueron muy
buenas exceptuando un pico a 22.1 dBm además de unos resultados de RSSI
significativamente mejores ya que como se observa, los valores no superan los -60 dBm. Por
lo que pudimos comprobar que, debido al terreno usado y a los materiales la posibilidad de
encontrarse un obstáculo entre el Tag 1, Schreiner Onmetal y el lector.
5.2
Sesión 2
En la segunda sesión, al notar la posibilidad de un mal funcionamiento si existía un
obstáculo entre el lector y el tag se decidió introducir dos planchas de cemento de
aproximadamente 5 cm de grosor para comprobar si los resultados mostraban una gran
variación con respecto a la Sesión 1.
37
V.
Base teórica
Figura 34. Planchas de cemento entre la antena y los tags
Gráfica distancia (cm)
100
X: 20.89
Y: 100
90
80
70
Lecturas
(en %)
60
50
40
30
20
10
0
18
0 cm
10 cm
15 cm
20
22
24
26
Potencia
(en dBm)
28
30
32
Figura 35. Gráfica porcentaje de lecturas del tag Tag 1
38
34
V.
Base teórica
Gráfica distancia (cm)
-33
-34
-35
RSSI
(en dBm)
-36
-37
-38
-39
-40
0 cm
10 cm
15 cm
-41
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 36. Gráfica de RSSI del Tag 1
En esta sesión, podemos observar que se los resultados obtenidos para el tag son
esperados aunque vemos ciertas anomalías.
Como se puede observar en la gráfica de lecturas, en las mediciones realizadas para
las 3 profundidad se ha obtenido una lectura del 100% a partir de 20.89 dBm, es decir, se
consiguen reconocer los tags usando únicamente la potencia mínima que puede emitir el
lector.
Como vemos en la Figura 36, todas las mediciones nos muestran valor del RSSI por
debajo encima de -41 dBm, esto implaría que tendríamos una buena recepción de los tags
para potencias muy bajas.
5.3
Sesión 3
Tras realizar las pruebas pertinentes con el Tag 2, se decidió realizar un cambio y
sustituirlo por el Tag 2. Un tag más resistente y con mayores prestaciones.
En esta sesión decidimos introducir ambos tags dentro una caja de electrónica plástica
para evitar que tuvieran un contacto directo con la tierra con la que se trabajaba.
39
V.
Base teórica
Figura 37. Caja electrónica plástica
Gráfica distancia (cm)
100
90
80
70
Lecturas
(en %)
60
50
40
0 cm
5 cm
10 cm
15 cm
20 cm
25 cm
30 cm
30
20
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
Figura 38. Gráfica del porcentaje de lecturas del Tag 1
40
34
V.
Base teórica
Gráfica distancia (cm)
-25
-30
RSSI
(en dBm)
-35
-40
-45
-50
18
0 cm
5 cm
10 cm
15 cm
20 cm
25 cm
30 cm
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 39. Gráfica RSSI del Tag 1
Gráfica distancia (cm)
100
0 cm
5 cm
10 cm
15 cm
20 cm
25 cm
30 cm
90
80
70
Lecturas
(en %)
60
50
40
30
20
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
Figura 40. Gráfica del porcentaje de lecturas del Tag 3
41
34
V.
Base teórica
Gráfica distancia (cm)
-30
-35
RSSI
(en dBm)
-40
-45
-50
-55
-60
18
0 cm
5 cm
10 cm
15 cm
20 cm
25 cm
30 cm
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 41. Gráfica RSSI del Tag 3
En la tercera sesión, vemos como para profundidades inferiores a 25 cm las lecturas
son buenas y que con 25 dBm hemos podido realizar la detección de los tags.
Si prestamos atención a la gráfica del RSSI, se puede comprobar que para las distancias
inferiores a 25 cm obtenemos una señal relejada de superior a los -50 dBm, siendo esto unos
resultados óptimos.
Para profundidades superiores a los 25 cm, hemos necesitado incrementar ligeramente
la potencia de emisión hasta los 28 dBm aproximadamente, para obtener un valor de lecturas
del 100% y aunque el RSSI es inferior a los -55 dBm sigue siendo un valor dentro del margen
de detección.
5.4
Sesión 4
Tras realizar todas las pruebas con varios tags en tierra seca, procedimos a realizar
pruebas en tierra mojada. Los resultados son los siguientes:
42
V.
Base teórica
Gráfica distancia (cm)
100
90
80
70
Lecturas
(en %)
60
50
40
30
20
30 cm
15 cm
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 42. Gráfica del porcentaje de lecturas del Tag 1
Gráfica distancia (cm)
-48.5
-49
RSSI
(en dBm)
-49.5
-50
-50.5
-51
30 cm
15 cm
-51.5
18
20
22
24
26
Potencia
(en dBm)
28
30
Figura 43. Gráfica RSSI del Tag 1
43
32
34
V.
Base teórica
Gráfica distancia (cm)
100
90
80
70
Lecturas
(en %)
60
50
40
30
20
10
15 cm
30 cm
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 44. Gráfica del porcentaje de lecturas del Tag 3
Gráfica distancia (cm)
-48
-50
RSSI
(en dBm)
-52
-54
-56
-58
15 cm
30 cm
-60
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 45. Gráfica RSSI del Tag 3
En las gráficas de lecturas, podemos ver que los resultados en tierra mojada han sido
los esperados ya que, como vimos en la gráfica Figura 25, el nivel de atenuación cuando la
humedad del terreno es elevada, en nuestro caso teniendo un nivel del 80% de humedad.
Por ello, vemos que nos hemos visto obligados a realizar una emisión con unas
potencias elevada, para su detección.
44
V.
5.5
Base teórica
Respuestas Tag 1, Schreiner Onmetal
El Tag 1, Schreiner Onmetal ha sido usado en todas las pruebas por ello vemos las
gráficas de las medidas medias sobre las profundidades que mejores resultados hemos
obtenido.
Por lo que respecta a las gráficas de porcentaje de lecturas, podemos comprobar que
la media de las tres profundidad se aproximan en todos los casos a 20.89 dBm, punto en el
cual obtenemos un 100% de lecturas posibles, muy lejos del máximo de 33 dBm de límite
por la ley. Esto nos aporta una gran información ya que, a pesar de que existir obstáculos
entre el reader y el tag podemos ver que la evolución se aproxima a lo esperado.
Si observamos las gráficas del RSSI obtenidas para las tres profundidades vemos unos
valores magníficos debido a que la señal mínima de -38.2 dBm obtenida se encuentra cuando
enterramos el tag 5 cm, teniendo un valor similar para los 10 cm (-37.5 dBm).
Si realizamos una emisión de 33 dBm, máximo de emisión, obtenemos una potencia
de recepción de entre -31 dBm y -35 dBm, estando muy por encima del necesario para
realizar una detección óptima del tag.
5.5.1 Profundidad 0 cm
X: 20.89
Y: 100
% Lecturas a 0 cm de profundidad
100
90
80
70
Lecturas
(en %)
60
50
40
30
20
Sesión 1
Sesión 2
Sesión 3
Media
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 46. Gráfica del porcentaje de lecturas a 0 cm de profundidad
45
V.
Base teórica
% Lecturas a 0 cm de profundidad
-26
-28
RSSI
(en dBm)
-30
-32
-34
-36
Sesión 1
Sesión 2
Sesión 3
Media
-38
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 47. Gráfica del RSSI a 0 cm de profundidad
5.5.2 Profundidad 5 cm
% Lecturas a 5 cm de profundidad
100
X: 20.89
Y: 100
Sesión 1
Sesión 2
Sesión 3
Media
90
80
70
Lecturas
(en %)
60
50
40
30
20
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 48. Gráfica del porcentaje de lecturas a 5 cm de profundidad
46
V.
Base teórica
% RSSI a 5 cm de profundidad
-33
-34
-35
RSSI
(en dBm)
-36
-37
-38
-39
Sesión 1
Sesión 2
Sesión 3
Media
-40
-41
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 49. Gráfica del RSSI a 5 cm de profundidad
5.5.3 Profundidad 10 cm
% Lecturas a 10 cm de profundidad
100
X: 20.89
Y: 100
90
80
70
Lecturas
(en %)
60
50
40
30
20
Sesión 1
Sesión 2
Sesión 3
Media
10
0
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 50. Gráfica del porcentaje de lecturas a 10 cm de profundidad
47
V.
Base teórica
RSSI a 10 cm de profundidad
-33.5
-34
-34.5
RSSI
(en dBm)
-35
-35.5
-36
-36.5
-37
Sesión 1
Sesión 2
Sesión 3
Media
-37.5
-38
18
20
22
24
26
Potencia
(en dBm)
28
30
32
34
Figura 51. Gráfica del RSSI a 10 cm de profundidad
5.6
Atenuación
Durante las 3 últimas sesiones se decidió realizar las medidas de la atenuación respecto
a la profundidad del tag.
Dichas mediciones se han realizado con un analizador de redes modelo E5062A de la
marca Agilent Tecnologies
Figura 52. Analizador de redes Agilent Tecnologies E5062A
48
V.
Base teórica
Gráfica atenunación respecto profundida(cm)
39
38
37
36
Atenuacion
(en dBm)
35
34
33
32
31
30
29
0
1
2
3
4
5
Distancia
(en cm)
6
7
8
9
10
Figura 53. Atenuación medida en la sesión 2
Gráfica atenunación respecto profundida(cm)
38
36
Atenuacion
(en dBm)
34
32
30
28
26
24
0
5
10
15
Distancia
(en cm)
20
25
Figura 54. Atenuación medida en la sesión 3
49
30
V.
Base teórica
Gráfica de atenuación
55
50
Atenuación
(en dBm)
45
40
35
30
Tierra seca
Tierra mojada
25
15
20
25
30
Distancia
(en cm)
Figura 55. Atenuación medida en la sesión 4
Atenuación min.
Atenuación máx.
Con plancha de cemento
31.4 dB
38.2 dB
Con caja eléctrica
25.8 dB
36.8 dB
Tierra mojada
42 dB
52.3 dB
Tabla 4. Resume de resultados de la atenuación
Como podemos observar, los niveles más elevados de atenuación encontrados son
muchos más elevados en terreno mojado. Si situamos las mediciones dentro del primer
grupo de resultados, podemos ver que la diferencia de atenuaciones por la plancha varía
poco. El mejor de los casos, en cuanto a la medición de la atenuación, podemos ver que se
encuentra dentro de la caja eléctrica ya que aparte de los escasos 2 centímetros que tiene la
caja de grosor, no existe ningún otro material que sea un impedimento.
50
VI.
Programación
6
Programación
6.1
Caen RFID Software
Para el procesamiento de los datos recogidos se ha utilizado el software proporcionado
por el fabricante del producto. Se han realizado modificaciones para almacenar los resultados
en ficheros para su posterior procesamiento con Matlab.
Figura 56. Caen RFID R4300P
6.2
Matlab
Se han usado diversos códigos para el procesamiento y el cálculo de los ficheros
devueltos por el lector.
Todos ellos han sido programador por el tutor del proyecto.
Dichos programas han tenido que ser modificador, ya que para versiones más actuales
de Matlab no permiten el uso de ciertas librerías para la generación de interfaces gráficas.
51
VI.
READER
Programación
data1.txt
data2.txt
data3.txt
data4.txt
data5.txt
loadParameters
plotGraph
porLecdata1.mat
porRSSIdata1.mat
data1.txt
grafiques
Caenrfid
results1.mat
GRÁFICAS
Figura 57. Flujo de procesamiento de datos en Matlab
6.2.1 loadParameters.m
Esta función es la encargado de recoger todos los ficheros que el lector ha generado
para realizar la llamada a las posteriores funciones, con el fin de realizar cálculos y generar
gráficas.
Todos los ficheros con el patrón dataX.txt serán automáticamente procesados para su
posterior generación de gráficas. Debemos de indicarle la ruta en la cual se han guardado los
archivos generados por el software del lector y la cantidad de medidas que se han realizado.
function loadParameters(numMes,path)
global mark;
mark=[{'b-o'},{'r-o'},{'g-o'},{'k-o'},{'y-o'},{'c-o'},{'y-s'},{'mo'}];
copyfile('power.mat',path);
global fileName;
for i = 1:numMes
fileName = sprintf('data%d.txt', i);
caenrfid results;
fNameLec = sprintf('porLecdata%d.mat', i);
fNameRSSI = sprintf('porRSSIdata%d.mat', i);
copyfile(fNameLec,path);
copyfile(fNameRSSI,path);
delete (fNameLec);
delete (fNameRSSI)
cd (path);
load(fNameLec);
varLec(i,:)=READRATE;
load(fNameRSSI);
varRSSI(i,:)=RSSItagsmesurats;
cd ..
end
load power.mat;
cd (path);
plotGraph(varLec,varRSSI)
52
VI.
Programación
cd ..
6.2.2 Caenrfid.m
Este código es el encargado, a partir del argumento result y el nombre del fichero que
contendrá los resultados de la generación de las gráficas.
Además, debemos indicarle el directorio en el cual se encuentra nuestros resultados.
Es llamado por la función loadParameters.m
[S,tag,DATAEPC,DATARSSI]=readfile(fullfile('C:\Users\Idir\Desktop\Univers
idad\Idir\Meas26Gen', fileName));
LlistaEPC=listacodisepc(tag);
if isempty(LlistaEPC),
disp('Error: no tag');
else
if length(LlistaEPC)>1,
for i=1:length(LlistaEPC),
Sd.CodiEPC{1}{i}=LlistaEPC(i).EPC;
end;
else
Sd.CodiEPC{1}={LlistaEPC(1).EPC 'None' };
end;
if S.Ncanals>1,
nCanal=P.Channel;
else
nCanal=1;
end;
nEPC=1;
for i=1:length(LlistaEPC),
if strcmp('AA-AA-AA-AA-AA-AA-AA-AA-AA-AA-AA07',Sd.CodiEPC{1}{i})==1,
nEPC=i; break;
end;
end;
[LlistaEPC,result,P,Ntagsmesurats,RSSItagsmesurats,READRATE]=grafiques(ta
g,S,nEPC,nCanal,fileName)
save results.mat S tag DATAEPC DATARSSI LlistaEPC result P
Ntagsmesurats RSSItagsmesurats READRATE
disp('DATA IS SAVED IN FILE results.mat');
end
6.2.3 grafiques.m
Este último código es el encargado de generar los archivos mat y de realizar la muestra
de las gráficas individuales de las medidas una vez el fichero Caenrfid.m ha procesado todos
los datos.
for i=1:N,
if nepc==0,
nepc=nepc+1;
LlistaEPC(nepc).EPC=tag(i).EPC;
else
53
VI.
Programación
if buscaepc(LlistaEPC,tag(i).EPC)==0,
nepc=nepc+1;
LlistaEPC(nepc).EPC=tag(i).EPC;
end;
end;
end;
n=0;
result=[];
for i=1:length(tag),
if strcmp(tag(i).EPC,LlistaEPC(nEPC).EPC)==1,
n=n+1;
result(i).Power=tag(i).Power;
result(i).RSSI=tag(i).RSSI;
result(i).Inventory=tag(i).Inventory;
end
end;
Ntagsmesurats=[];
RSSItagsmesurats=[];
for k=1:S.Npunts,
n=0;
RSSImig=0;
v=S.PowerList(k);
PowerList(k)=v{1};
for i=1:length(result),
if result(i).Power==v{1},
n=n+1;
RSSImig=RSSImig+result(i).RSSI/10;
end
end
Ntagsmesurats(k)=n;
RSSItagsmesurats(k)=RSSImig/n;
end
Ntagsmesurats;
RSSItagsmesurats;
READRATE=100*Ntagsmesurats/S.NInventaris;
P=10*log10(PowerList*1e-3)+30;
save power.mat P;
new_claim1 = strrep(fileName, '.txt', '');
s = strcat('porRSSI',new_claim1,'.mat');
save(s, 'RSSItagsmesurats');
new_claim2 = strrep(fileName, '.txt', '');
s = strcat('porLec',new_claim2,'.mat');
save(s, 'READRATE');
6.2.4 plotGraph.m
Se ha creado este código para generar en una sola ejecución todos las gráficas al ser
llamado por el fichero Caenrfid.m
Debemos pasarle el array de datos en los cuales se contienen las lecturas y el RSSI que
hemos procesado con anterioridad.
54
VI.
Programación
function plotGraph(lect,rssi)
global mark
load 'power.mat';
figure(1);
title('Gráfica distancia (cm)');
grid on;
hold on;
for i = 1:size(lect,1)
plot(P,lect(i,:),cell2mat(mark(i)));
end
xlabel({'Potencia','(en dBm)'})
ylabel({'Lecturas','(en %)'})
legend('15 cm','30 cm');
pause;
figure(2);
title('Gráfica distancia (cm)');
grid on;
hold on;
for i = 1:size(rssi,1)
plot(P,rssi(i,:),cell2mat(mark(i)));
end
xlabel({'Potencia','(en dBm)'})
ylabel({'RSSI','(en dBm)'})
legend('15 cm','30 cm');
end
6.2.5 AvgRSSI
Es una función de Matlab encargada de la generación de las gráficas de valores medias
de los resultados de los RSSI, con ellas se han podido extraer las gráficas Figura 47, Figura
48 y Figura 49.
Previamente debemos usar los ficheros .mat que la función grafiques.m ha generado.
function AvgRSSI()
numMeas=3;
load('power.mat')
figure(1);
hold on;
grid on;
RateRSSI=zeros(1,50);
load results.mat
plot(P,RSSItagsmesurats,'Color',[0.13 0.588
0.952],'Marker','*','linestyle','none')
for i=1:length(RSSItagsmesurats),
RateRSSI(1,i)= RateRSSI(1,i)+ RSSItagsmesurats(1,i) ;
end;
load results1.mat
plot(P,RSSItagsmesurats,'Color',[0.95 0.26
0.212],'Marker','*','linestyle','none')
for i=1:length(RSSItagsmesurats),
RateRSSI(1,i)= RateRSSI(1,i)+ RSSItagsmesurats(1,i) ;
end;
load results2.mat
55
VI.
Programación
plot(P,RSSItagsmesurats,'Color',[0.298 0.686
0.3137],'Marker','*','linestyle','none')
for i=1:length(RSSItagsmesurats),
RateRSSI(1,i)= RateRSSI(1,i)+ RSSItagsmesurats(1,i) ;
end
for i=1:length(RateRSSI),
RateRSSI(1,i)= RateRSSI(1,i)/numMeas;
end
plot(P,RateRSSI,'Color',[1 0.341 0.133],'linewidth',3)
xlabel({'Potencia','(en dBm)'})
ylabel({'RSSI','(en dBm)'})
legend('Sesión 1','Sesión 2','Sesión 3','Media')
title('RSSI a 10 cm de profundidad');
end
6.2.6 AvgReadRate
Función de Matlab programada para la generación de las gráficas que relacionan la
media de los resultados del porcentaje de detección agrupándolas por profundidad. Gracias
a este código, se han conseguido exportas las Figura 46. Gráfica del porcentaje de lecturas
a 0 cm de profundidad, Figura 48. Gráfica del porcentaje de lecturas a 5 cm de profundidad
y Figura 50. Gráfica del porcentaje de lecturas a 10 cm de profundidad.
function AvgReadRate()
load('power.mat')
figure(1);
hold on;
grid on;
RateAvg=zeros(1,50);
load results.mat
plot(P,READRATE,'Color',[0.13 0.588
0.952],'Marker','*','linestyle','none')
for i=1:length(READRATE),
RateAvg(1,i)= RateAvg(1,i)+ READRATE(1,i) ;
end;
load results1.mat
plot(P,READRATE,'Color',[0.95 0.26
0.212],'Marker','*','linestyle','none')
for i=1:length(READRATE),
RateAvg(1,i)= RateAvg(1,i)+ READRATE(1,i) ;
end;
load results2.mat
plot(P,READRATE,'Color',[0.298 0.686
0.3137],'Marker','*','linestyle','none')
for i=1:length(READRATE),
RateAvg(1,i)= RateAvg(1,i)+ READRATE(1,i) ;
end
for i=1:length(RateAvg),
RateAvg(1,i)= RateAvg(1,i)/3;
end
plot(P,RateAvg,'Color',[1 0.341 0.133],'linewidth',3)
xlabel({'Potencia','(en dBm)'})
ylabel({'Lecturas','(en %)'})
legend('Sesión 1','Sesión 2','Sesión 3','Media')
title('% Lecturas a 10 cm de profundidad');
end
56
VII.
7
Ampliación del sistema
Ampliación del sistema
Como complemento añadido al sistema que se ha realizado, se ha diseñado un sistema
de sincronización de datos por el cual, cualquier entidad que use método propuesto en este
proyecto puede llegar a tener un control total de la información.
Este sistema permite almacenar de manera automática los EPC de los tags que se han
enterrado.
Este sistema ha requerido del uso de la API de GoogleMaps para realizar
localizaciones dinámicas dentro de un mapa en el portal de control de usuario, leguaje PHP
para las tareas de almacenamiento de base de datos y procesamiento de la información,
JavaScript para la conexión y la posterior utilización de la API de GoogleMaps y una base
de datos Mysql.
A continuación, expondremos el uso y el método de sincronización de datos.
7.1
Reader
Con este dispositivo vamos a ser capaz de realizar la lectura del tag de una manera
sencilla. Un operario deberá pasar por la zona de influencia del tag para tener conocimiento
de su situación.
A este lector, además, se le puede añadir una tarjeta microsim por lo que dotará a
nuestro lector de una conexión directa a internet para poder realizar la sincronización.
Una vez realizada la lectura del EPC, el lector realizará una conexión hacia una base
de datos para insertar los nuevos datos, del mismo modo podemos conocer nuestras
coordenadas geográficas y almacenarlas consigo. Por lo que con una sola lectura podemos:
1- Almacenar el código EPC en la nube.
2- Tener la localización geográfica del tag.
3- Automatizar el sistema de localización.
Figura 58. Microsim
57
VII.
7.2
Ampliación del sistema
Comunicación móvil
Mediante el uso de la tarjeta microsim, podemos establecer conexiones inalámbricas
para tener acceso a internet.
El proceso de conexión es similar al utilizado en un teléfono móvil, a diferencia de que
nuestro lector simplemente tendrá de un gestor de envío de datos hacia un punto en concreto,
este punto es la base de datos.
Actualmente existen servicios de comunicación vía satélite que garantizan una
conectividad prácticamente completa, por lo que el riesgo de estar sin línea es mínimo.
Además el lector CAEN RFID incorpora de interfaces de comunicación inalámbrica,
conexión GPS/GPRS y de manera opcional podemos hacer uso de una antena Wi-Fi
conectada mediante USB al dispositivo.
Además también incorpora la versión en la cual podemos introducir una tarje microsim
para comunicaciones telefónicas.
Figura 59. Almacenamiento de datos desde cualquier dispositivo a la nube
7.3
Base de datos
Una vez el lector haya realizado la sincronización, se procederá al almacenamiento de
los datos que se han enviado a través del lector.
En una primera versión se modelarán 4 entidades, las cuales estarán asociadas al
proveedor, a la localización geográfica del tag, el EPC y los eventos asociados a ese código.
58
VII.
Ampliación del sistema
Figura 60. Entidades de la base de datos
7.3.1 Entidad Epc
En esta entidad depositaremos el propio código EPC y que, además se le asignará un
identificador propio en esta tabla.
La primera acción que realizará el lector será almacenar el código en dicha tabla, ya
que a partir de este registro podremos guardar también su localización.
Además también se encuentra el campo id_provider, que se refiere al identificador de
la tabla de proveedores. Cada tag estará asociado a un solo proveedor así nos aseguraremos
que diferentes proveedores sean capaces de manipular otros códigos.
Se ha creado también el código EPC como clave única ya que no puede existir más
de 1 código EPC.
59
VII.
Ampliación del sistema
Figura 61. Entidad EPC
7.3.2 Entidad Location
En esta tabla realizaremos el almacenamiento de las coordenadas de un código.
Está constituido por 4 campos, el identificador propio del registro, esto se realiza para
acelerar los procesos de búsqueda o de actualización de datos.
El identificador del epc que hace referencia al identificador del código EPC que está
almacenado en la entidad EPC.
La latitud y la longitud que el lector nos ha proporcionado deben coincidir con la
posición de tal. Este dato se utilizará más adelante para poder situar el tag en un mapa.
Además, se crea una clave primaria principalmente para evitar duplicidad de datos. No
puede darse el caso que almacenemos un mismo tag en diferentes coordenadas debido que
el EPC es único.
Figura 62. Entidad location
7.3.3 Entidad event
Esta entidad es la encarga de almacenar las posibles incidencias que pueden surgir en
uno o varios tags.
60
VII.
Ampliación del sistema
Se realiza con el fin de mantener un control de los estados de los tags ya que por
diversas razones los tags pueden deteriorarse.
La tabla relaciona la incidencia con un tag además de indicar que usuario o rol ha
generado dicha incidencia. También debemos indicar el estado de la incidencia siendo 0 el
estado “pendiente”, 1 en “proceso” y 2 “revisado”.
Figura 63. Entidad Event
7.3.4 Entidad Provider
Relación del nombre del proveedor y su identificador.
Dicho identificador se usa principalmente para asignarlo a un código EPC, ya que
como recordaremos, cada EPC tiene un proveedor asociado.
Figura 64. Entidad provider
7.4
Administración de datos
Una vez realizadas todas las cargas de datos necesarios, hemos dotado el sistema de
un panel por el cual los proveedores podrán realizar consultas sobre los estados de los tags,
además de visualizar en un mapa las rutas existentes, facilitando e indicando en que tramos
del mapa existe una incidencia.
7.4.1 Localización de Tag en el mapa
Como observamos en la Figura 65. Mapa con el recorrido de las tuberías, podemos
observar dos trazados, uno indicado de color amarillo y otro con los marcadores de color
rojo. Cada marcador quiere indicarnos que existe un tag enterrado, además que si hacemos
61
VII.
Ampliación del sistema
clic sobre cualquier marcador nos informa de cuál es su EPC. En caso de incidencia, el
marcador cambia a color negro avisando de que existe algún problema en ese tramo.
Figura 65. Mapa con el recorrido de las tuberías
7.4.2 Panel de incidencias
En dicho panel, se realiza una visualización por escrito de las notificaciones sobre un
EPC en concreto, dando información de la incidencia. También nos indica el estado en el
que se encuentra, el cual puede ser 3 como hemos dicho en el punto 7.3.3
Figura 66. Panel de eventos
62
VIII.
8
Conclusiones
Conclusiones
A partir de las resultados obtenidos y de las diferentes simulaciones, podemos
argumentar los objetivos que definieron en un principio.
El objetivo principal del proyecto era crear un sistema de detección de tuberías
alternativo al planteado por la compañía 3M e intentar paliar, desde nuestro punto de vista,
las insuficiencias.
La primera de las mejoras estudiadas era la corrección de la posición de la bobina, ya
que como explicamos, en el mecanismo fabricado por 3M sufría pérdida de eficiencia si la
bobina no adoptaba una orientación correcta con respecto al terreno.
Al hacer uso de tags y su diseño compacto, la orientación de la etiqueta es indiferente,
ya que el único requisito es emitir una señal por parte de la antena a una potencia mínima.
En el caso de nuestro tag, la potencia recibida del tag debe de ser de -17 dBm. Nuestro lector
será capaz de leer la señal reflejada independiente de la orientación, por lo que supone una
ventaja debido a que no se debe realizar una cuidadosa colocación del tag para su correcto
funcionamiento.
Otra de las ventajas que se proporciona utilizando la tecnología UHF RFID es la
adaptación ya la compatibilidad del producto en territorios extranjeros.
Como ya hemos comentado en el apartado 1.8, la regulación del RFID está
prácticamente establecida en todos los países del mundo debido a que cada vez el uso de
etiquetas y de sistemas de alta frecuencias es más elevado.
Además, debido a que se han establecido 3 zonas en las cuales rige una banda
frecuencial concreta, como es el caso de la zona americana, la zona japonesa y la zona
europea.
Generalmente, los fabricantes de microchips producen los tag de manera que puedan
trabajar dentro de las 3 zonas, a pesar de que siempre recomiendan una frecuencia de trabajo
que es la óptima, pero no la única. Como por ejemplo, en las especificaciones del tag pasivo
NXP G2XM indica que trabaja a la frecuencia de 915 MHz (banda americana) como
frecuencia óptima pero es capaz de funcionar en frecuencias que van de los 915 MHz (banda
europea) hasta los 960 MHz (banda japonesa).
A diferencia del sistema planteado por 3M, requiere de una modificación del hardware
para la exportación del material o, trabajar en los 1.33 KHz. Este es un problema debido a
que existe posibilidad de interferencias al tratarse de bajas frecuencias, y las modificaciones
para adaptarlo al medio pueden resultar muy costosas. Por último, indicar que normalmente,
el sistema que producen no es fácilmente ajustable por el usuario, sino que debe ser el
fabricante quien realice estos ajustes.
Así pues, afirmamos que el sistema con tecnología UHF RFID dota al proyecto de
compatibilidad de funcionamiento en cualquier lugar del mundo.
El último de los puntos que quisimos profundizar es el coste de venta del producto.
63
VIII.
Conclusiones
El coste de una sola baliza de detección de la compañía 3M podía llegar a tener un
precio de 5.061 € aproximadamente, sin tener en cuenta el resto de componentes necesarios
para su uso y añadiéndole el valor de la patente. Debido a su elevado coste, muchas
compañías quedan fuera del mercado ya que el desembolso de estas cantidades es inviable y
la cantidad crece con la longitud del material que se quiera detectar.
En el caso del tag anterior, el NXP G2XM, siendo un tag de prestaciones medias tiene
un precio medio de unos 0.75 € por unidad, que, si realizamos comparativa con la baliza
existe una diferencia de 5.060.25 €, una cantidad considerable sobre todo en grande
extensiones.
Si deseamos el uso de un tag de mayor calidad como puede ser el tag U1115 Concrete
UHF C1, el precio incrementa notablemente, alrededor de 15 € la unidad. Aun teniendo un
incremento tan elevado, al realizar la comparativa con las balizas de 3M, la diferencia de
precio sigue siendo elevada. Así pues, otro de los objetivos ha sido cumplido.
Figura 67. Tag NXP G2XM
Figura 68. Tag U1115 Concret
Por otro lado hemos observado algunos problemas en ciertas situaciones que
desestabilizan los buenos resultados que hasta ahora se había dado.
Hemos visto que para altos niveles de humedad existe un nivel de atenuación de la
señal significativa impidiendo de este modo la reflexión de la señal.
64
VIII.
Conclusiones
En terrenos semi-húmedos, conseguimos solucionar esta dificultad aplicando una
señal con una potencia mayor sin sobrepasar los 33 dBm que nos limitan; Pero en terreno
muy arcilloso donde el nivel de agua supera el 50%, los niveles de atenuación de la señal
incrementan tanto hasta el punto de que la potencia emitida no alcanza la mínima
especificada por el tag.
Por lo que a raíz de estos resultados, podemos concluir que el sistema de detección de
tuberías UHF RFID es apto para ciertos territorios.
No se recomienda su utilización en zonas con un gran nivel de precipitaciones, las
cuales favorecen un terreno con un gran nivel de arcilla por los niveles comentados
anteriormente.
En cambio, en terrenos donde la probabilidad de lluvia es muy baja o moderada, en los
que generalmente la superficie tienda a tener niveles de arena superiores, el proyecto dará
buenos resultados y es totalmente viable.
65
IX.
9
Referencias
Referencias
[1] Canicio Chimeno, Josep-Alfonso, 2007. La estructura de Dios. s.l. : Editorial Club Universitario,
2007.
[2] Lázaro Guillén, Antonio, Radiació i ones
[3] SOFTWORK SRL, RFID Global. [En línea] [Citado el 10 de Marzo del 2015].
http://www.rfidglobal.it/normative-rfid-uhf-allocazione-bande/.
[4] Amazon, Amazon [En linea] [Citado el 08 de Marzo de 2015]. http://www.amazon.com/3MDynatel-Locator-2273M-iD-UCU12W-RT/dp/B00HNJVEME
[5] Peplinski, N.R.. 1995. Dialectric properties of soils in the 0.3-1.3-GHz range. [aut. libro] IEEE.
Geoscience and Remote Sensing.1995.
66
X.
Anexos
Anexos A – Códigos de programación Matlab
En estos anexos incluiremos todos los archivos para la generación de las gráficas y la
generación de datos.
Anexo A.1
loadParamterts.m
function loadParameters(numMes,path)
global mark;
mark=[{'b-o'},{'r-o'},{'g-o'},{'k-o'},{'y-o'},{'c-o'},{'y-s'},{'mo'}];
copyfile('power.mat',path);
global fileName;
for i = 1:numMes
fileName = sprintf('data%d.txt', i);
caenrfid results;
fNameLec = sprintf('porLecdata%d.mat', i);
fNameRSSI = sprintf('porRSSIdata%d.mat', i);
copyfile(fNameLec,path);
copyfile(fNameRSSI,path);
delete (fNameLec);
delete (fNameRSSI)
cd (path);
load(fNameLec);
varLec(i,:)=READRATE;
load(fNameRSSI);
varRSSI(i,:)=RSSItagsmesurats;
cd ..
end
load power.mat;
cd (path);
plotGraph(varLec,varRSSI)
cd ..
Anexo A.2
caenrfid.m
%---------------------------------------------------------% Programa de representació dades lector RFID de CAEN
% (C) 2014 A.Lázaro
% Universitat Rovira i Virgili
%---------------------------------------------------------function caenrfid(param)
global fileName;
% Variables globals als handles
global hfig hmenu
global S tag DATAEPC DATARSSI
global LlistaEPC result P Ntagsmesurats RSSItagsmesurats READRATE
if nargin==0,
67
X.
Anexos
hfig=figure;
set(hfig,'NumberTitle','off','Resize','off','MenuBar','None','Name','CAEN
RIFD','Position',[403 530 419 138],'color','w');
hmenu(1)=uimenu(hfig,'Label','Parameters','Callback','caenrfid(''paramete
rs'')',...
'Separator','on','Accelerator','P');
hmenu(2)=uimenu(hfig,'Label','Load
Data','Callback','caenrfid(''load'')',...
'Separator','on','Accelerator','L');
hmenu(3)=uimenu(hfig,'Label','Results','Callback','caenrfid(''results'')'
,...
'Separator','on','Accelerator','P');
hmenu(4)=uimenu(hfig,'Label','?','Callback','caenrfid(''help'')',...
'Separator','on','Accelerator','H');
hmenu(5)=uimenu(hfig,'Label','Quit','Callback','caenrfid(''quit'')',...
'Separator','on','Accelerator','Q');
else
param='results';
if strcmp(param,'quit'),
close(hfig);
clear hfig hmenu
clear S tag DATAEPC DATARSSI
end
if strcmp(param,'parameters'),
clear Sp
Sp.Number_Power_Points={10 '' [1 Inf] };
Sp.Minimun_Power_to_Sweep={20 'Minimun Power to Sweep(dBm)' [0
34] };
Sp.Maximun_Power_to_Sweep={30 'Maximun Power to Sweep(dBm)' [0
34] };
Sp.Antenna_Gain={8 'Antenna Gain(dB)' [-30 30] };
Sp.Cable_Losses={1.5 'Cable Losses(dB)' [0 inf] };
Sp.Number_Inventories={10 '' [1 inf] };
Sp.Sweep_Frequency_Channels={ {'{0}','1'} };
P = StructDlg(Sp,'Measurement Parameters');
fid=fopen('parametros.txt','wt');
fprintf(fid,'%d\n',P.Number_Power_Points);
fprintf(fid,'%f\n',P.Minimun_Power_to_Sweep);
fprintf(fid,'%f\n',P.Maximun_Power_to_Sweep);
fprintf(fid,'%f\n',P.Antenna_Gain);
fprintf(fid,'%f\n',P.Cable_Losses);
fprintf(fid,'%d\n',P.Number_Inventories);
fprintf(fid,'%d\n',P.Sweep_Frequency_Channels);
fclose(fid);
printf(P);
end
if strcmp(param,'results'),
[S,tag,DATAEPC,DATARSSI]=readfile(fullfile('C:\Users\Idir\Desktop\Univers
idad\Idir\Mes21Nov', fileName));
Sd.Channel = { {'{1}' '2' '3' 'All'} };
LlistaEPC=listacodisepc(tag);
if isempty(LlistaEPC),
68
X.
Anexos
disp('Error: no tag');
else
if length(LlistaEPC)>1,
for i=1:length(LlistaEPC),
Sd.CodiEPC{1}{i}=LlistaEPC(i).EPC;
end;
else
Sd.CodiEPC{1}={LlistaEPC(1).EPC 'None' };
end;
if S.Ncanals>1,
nCanal=P.Channel;
else
nCanal=1;
end;
nEPC=1;
for i=1:length(LlistaEPC),
if
strcmp('00-00-00-00-00-BB-0A-34-00-00-01C4',Sd.CodiEPC{1}{i})==1,
nEPC=i; break;
end;
end;
[LlistaEPC,result,P,Ntagsmesurats,RSSItagsmesurats,READRATE]=grafiques(ta
g,S,nEPC,nCanal,fileName)
save results.mat S tag DATAEPC DATARSSI LlistaEPC result P
Ntagsmesurats RSSItagsmesurats READRATE
disp('DATA IS SAVED IN FILE results.mat');
end
end
if strcmp(param,'help'),
msgbox('(C)
2014
A.Lázaro,
DEEEA-Universitat
Rovira
i
Virgili','About CAENRID');
end
end
return
function [S,tag,DATAEPC,DATARSSI]=readfile(fichero)
indextag=0;
fid=fopen(fichero);
for mm=1:1,
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
S.Npunts=sscanf(tline,'Npunts: %d');
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
S.MinPower=sscanf(tline,'MinPower: %f');
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
S.Gain=sscanf(tline,'Gain: %f');
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
S.Loss=sscanf(tline,'Loss: %f');
69
X.
Anexos
tline
=
fgetl(fid);
if
~ischar(tline),
break,
end;
disp(tline);
S.NInventaris=sscanf(tline,'Nombre Inventaris: %d');
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
S.EscombraCanals=sscanf(tline,'Escombra Canals: %d')
if S.EscombraCanals==1,
Ncanals=4;
else
Ncanals=1;
end;
S.Ncanals=Ncanals;
for ncanal=1:Ncanals,
tline = fgetl(fid); if ~ischar(tline), break, end;
disp(tline);
S.ChanelList{ncanal}=sscanf(tline,'Escombra Canals:
%d');
for npower=1:S.Npunts,
tline = fgetl(fid); if ~ischar(tline), break,
end; disp(tline);
S.PowerList{npower}=sscanf(tline,'%f');
for i=1:S.NInventaris,
tline = fgetl(fid); if ~ischar(tline),
break, end; disp(tline);
Ntags=sscanf(tline,'%d');
for k=1:Ntags,
indextag=indextag+1;
tag(indextag).Canal=ncanal;
tag(indextag).Power=S.PowerList{npower};
tag(indextag).Inventory=i;
tline = fgetl(fid); if ~ischar(tline),
break, end; disp(tline);
DATAEPC{ncanal}{npower}{i}{k}=tline;
tag(indextag).EPC=tline;
tline = fgetl(fid); if ~ischar(tline),
break, end; disp(tline);
DATARSSI{ncanal}{npower}{i}{k}=sscanf(tline,'%f');
tag(indextag).RSSI=sscanf(tline,'%f');
end
end;
end;
end;
end
fclose(fid);
function LlistaEPC=listacodisepc(tag);
nepc=0;
N=length(tag);
LlistaEPC=[];
for i=1:N,
if nepc==0,
nepc=nepc+1;
LlistaEPC(nepc).EPC=tag(i).EPC;
else
if buscaepc(LlistaEPC,tag(i).EPC)==0,
nepc=nepc+1;
LlistaEPC(nepc).EPC=tag(i).EPC;
70
X.
Anexos
end;
end;
end;
function val=buscaepc(tag,EPC)
trobat=0;
i=0;
while (i<length(tag))&(trobat==0),
i=i+1;
if strcmp(tag(i).EPC,EPC),
trobat=1;
break;
end;
end
val=trobat;
Anexo A.3
grafiques.m
function
[LlistaEPC,result,P,Ntagsmesurats,RSSItagsmesurats,READRATE]=grafiques(ta
g,S,nEPC,nCanal,fileName)
nepc=0;
N=length(tag);
LlistaEPC=[];
for i=1:N,
if nepc==0,
nepc=nepc+1;
LlistaEPC(nepc).EPC=tag(i).EPC;
else
if buscaepc(LlistaEPC,tag(i).EPC)==0,
nepc=nepc+1;
LlistaEPC(nepc).EPC=tag(i).EPC;
end;
end;
end;
LlistaEPC;
if nargin<4,
nEPC=1;
nCanal=1;
end
n=0;
result=[];
for i=1:length(tag),
if strcmp(tag(i).EPC,LlistaEPC(nEPC).EPC)==1,
n=n+1;
result(i).Power=tag(i).Power;
result(i).RSSI=tag(i).RSSI;
result(i).Inventory=tag(i).Inventory;
end
end;
Ntagsmesurats=[];
RSSItagsmesurats=[];
for k=1:S.Npunts,
n=0;
RSSImig=0;
71
X.
Anexos
v=S.PowerList(k);
PowerList(k)=v{1};
for i=1:length(result),
if result(i).Power==v{1},
n=n+1;
RSSImig=RSSImig+result(i).RSSI/10;
end
end
Ntagsmesurats(k)=n;
RSSItagsmesurats(k)=RSSImig/n;
end
Ntagsmesurats;
RSSItagsmesurats;
READRATE=100*Ntagsmesurats/S.NInventaris;
P=10*log10(PowerList*1e-3)+30;
save power.mat P;
new_claim1 = strrep(fileName, '.txt', '');
s = strcat('porRSSI',new_claim1,'.mat');
save(s, 'RSSItagsmesurats');
new_claim2 = strrep(fileName, '.txt', '');
s = strcat('porLec',new_claim2,'.mat');
save(s, 'READRATE');
function val=buscaepc(tag,EPC)
trobat=0;
i=0;
while (i<length(tag))&(trobat==0),
i=i+1;
if strcmp(tag(i).EPC,EPC),
trobat=1;
break;
end;
end
val=trobat;
Anexo A.4
plotGraph.m
function plotGraph(lect,rssi)
global mark
load 'power.mat';
figure(1);
title('Gráfica distancia (cm)');
grid on;
hold on;
for i = 1:size(lect,1)
plot(P,lect(i,:),cell2mat(mark(i)));
end
xlabel({'Potencia','(en dBm)'})
ylabel({'Lecturas','(en %)'})
legend('0 cm','10 cm','15 cm');
pause;
figure(2);
title('Gráfica distancia (cm)');
grid on;
72
X.
Anexos
hold on;
for i = 1:size(rssi,1)
plot(P,rssi(i,:),cell2mat(mark(i)));
end
xlabel({'Potencia','(en dBm)'})
ylabel({'RSSI','(en dBm)'})
legend('0 cm','10 cm','15 cm');
end
Anexo A.5
plotAten
function plotAten(session)
close all;
switch session
case 1
'No hay medidas para la atenuación'
return
case 2
distancia=[0 5 8 10];
atenuacion=[33.4 31.4 29.5 38.2];
case 3
distancia=[0 5 10 15 20 25 30];
atenuacion=[25.8 29.1 35 36.8 27.6 30 31.2];
case 4
distancia=[15 30];
atenuacionS=[36 42];
atenuacionM=[28 52.3];
otherwise
end
figure();
title('Gráfica atenunación respecto profundidad(cm)');
grid on;
hold on;
plot(distancia,atenuacionS,'b-o');
plot(distancia,atenuacionM,'r-o');
xlabel({'Distancia','(en cm)'})
ylabel({'Atenuacion','(en dBm)'})
legend('Tierra seca','Tierra mojada');
Anexo A.6
mediaLecturas.m
function AvgReadRate()
load('power.mat')
figure(1);
hold on;
grid on;
RateAvg=zeros(1,50);
load results.mat
plot(P,READRATE,'Color',[0.13
0.952],'Marker','*','linestyle','none')
for i=1:length(READRATE),
RateAvg(1,i)= RateAvg(1,i)+ READRATE(1,i) ;
73
0.588
X.
Anexos
end;
load results1.mat
plot(P,READRATE,'Color',[0.95
0.212],'Marker','*','linestyle','none')
for i=1:length(READRATE),
RateAvg(1,i)= RateAvg(1,i)+ READRATE(1,i) ;
end;
load results2.mat
plot(P,READRATE,'Color',[0.298
0.3137],'Marker','*','linestyle','none')
for i=1:length(READRATE),
RateAvg(1,i)= RateAvg(1,i)+ READRATE(1,i) ;
end
for i=1:length(RateAvg),
RateAvg(1,i)= RateAvg(1,i)/3;
end
plot(P,RateAvg,'Color',[1 0.341 0.133],'linewidth',3)
xlabel({'Potencia','(en dBm)'})
ylabel({'Lecturas','(en %)'})
legend('Sesión 1','Sesión 2','Sesión 3','Media')
title('% Lecturas a 10 cm de profundidad');
end
Anexo A.7
0.26
0.686
mediaRSSI.m
function AvgRSSI()
numMeas=3;
load('power.mat')
figure(1);
hold on;
grid on;
RateRSSI=zeros(1,50);
load results.mat
plot(P,RSSItagsmesurats,'Color',[0.13
0.952],'Marker','*','linestyle','none')
for i=1:length(RSSItagsmesurats),
RateRSSI(1,i)= RateRSSI(1,i)+ RSSItagsmesurats(1,i) ;
end;
load results1.mat
plot(P,RSSItagsmesurats,'Color',[0.95
0.212],'Marker','*','linestyle','none')
for i=1:length(RSSItagsmesurats),
RateRSSI(1,i)= RateRSSI(1,i)+ RSSItagsmesurats(1,i) ;
end;
load results2.mat
plot(P,RSSItagsmesurats,'Color',[0.298
0.3137],'Marker','*','linestyle','none')
for i=1:length(RSSItagsmesurats),
RateRSSI(1,i)= RateRSSI(1,i)+ RSSItagsmesurats(1,i) ;
end
for i=1:length(RateRSSI),
RateRSSI(1,i)= RateRSSI(1,i)/numMeas;
end
plot(P,RateRSSI,'Color',[1 0.341 0.133],'linewidth',3)
xlabel({'Potencia','(en dBm)'})
ylabel({'RSSI','(en dBm)'})
74
0.588
0.26
0.686
X.
Anexos
legend('Sesión 1','Sesión 2','Sesión 3','Media')
title('RSSI a 10 cm de profundidad');
end
En las siguientes documentos se encontrarán los códigos de las programación de la
plataforma de gestión de códigos.
Anexo A.8
Ecp entity
CREATE TABLE `epc` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`epc` varchar(45) COLLATE utf8_bin NOT NULL,
`id_provider` int(11) DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `epc` (`epc`),
KEY `id_provider` (`id_provider`),
CONSTRAINT `fk_id_pro` FOREIGN KEY (`id_provider`)
REFERENCES `provider` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE
)
ENGINE=InnoDB
AUTO_INCREMENT=36
DEFAULT
COLLATE=utf8_bin
Anexo A.9
CHARSET=utf8
Event entity
CREATE TABLE `event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`event_text` varchar(45) COLLATE utf8_bin NOT NULL,
`id_epc` int(11) DEFAULT NULL,
`status` int(3) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `fk_e_1_idx` (`id_epc`),
CONSTRAINT `fk_e_1` FOREIGN KEY (`id_epc`)
REFERENCES `epc` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Anexo A.10
Location entity
CREATE TABLE `location` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_epc` int(11) NOT NULL,
`lat` varchar(50) COLLATE utf8_bin NOT NULL,
`alt` varchar(50) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`),
KEY `id_epc` (`id_epc`),
KEY `id_epc_2` (`id_epc`),
CONSTRAINT `fk_1` FOREIGN KEY (`id_epc`)
REFERENCES `epc` (`id`) ON UPDATE CASCADE
)
ENGINE=InnoDB
AUTO_INCREMENT=36
DEFAULT
COLLATE=utf8_bin
Anexo A.11
Provider entity
75
CHARSET=utf8
X.
Anexos
CREATE TABLE `provider` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
AUTO_INCREMENT=2
DEFAULT
COLLATE=utf8_bin
Anexo A.12
CHARSET=utf8
dbConnect.php
class Connection {
protected $host = "localhost";
protected $dbname = "epc";
protected $user = "root";
protected $pass = "";
protected $DBH;
function __construct() {
try {
$this->DBH
=
new
PDO("mysql:host=$this>host;dbname=$this->dbname", $this->user, $this->pass);
} catch (PDOException $e) {
echo $e->getMessage();
}
}
public function addEPC($ecp) {
$query = $this->DBH->prepare("INSERT INTO epc (epc) VALUES
(:epc)");
$query->bindParam(':epc', $ecp);
if (!$query->execute()):
var_dump($query->errorInfo());
endif;
}
public function selectAll($in, $fin) {
$query = $this->DBH->prepare("SELECT * FROM location l INNER
JOIN epc e ON l.id_epc=e.id LIMIT $in ,$fin");
$query->bindParam(':inicio', $in, PDO::PARAM_INT);
$query->bindParam(':fin', $fin, PDO::PARAM_INT);
if (!$query->execute()):
var_dump($query->errorInfo());
endif;
$array = array();
while ($o = $query->fetch(PDO::FETCH_ASSOC)) {
$array[] = array($o["epc"], $o["lat"], $o["alt"]);
}
return json_encode($array);
}
public function addLocation($epc, $lat, $alt) {
$query
=
$this->DBH->prepare("INSERT
(id_epc,lat,alt) VALUES (:epc,:lat,:alt)");
$query->bindParam(':epc', $epc);
$query->bindParam(':lat', $lat);
$query->bindParam(':alt', $alt);
if (!$query->execute()):
76
INTO
location
X.
Anexos
var_dump($query->errorInfo());
endif;
}
public function getLastRow() {
$query = $this->DBH->prepare("SELECT
location");
if (!$query->execute()):
var_dump($query->errorInfo());
endif;
$row = $query->fetch();
return (int) $row["id"];
}
public function closeConnection() {
$this->DBH = null;
}
}
Anexo A.13
MAX(id)
as
id
FROM
index.php
<html>
<head>
<meta charset="UTF-8">
<link
href="css/bootstrap.min.css"
rel="stylesheet"
type="text/css" />
<link
href="css/font-awesome.min.css"
rel="stylesheet"
type="text/css" />
<link
href="css/ionicons.min.css"
rel="stylesheet"
type="text/css" />
<link
href="css/jvectormap/jquery-jvectormap-1.2.2.css"
rel="stylesheet" type="text/css" />
<link
href="css/fullcalendar/fullcalendar.css"
rel="stylesheet" type="text/css" />
<link
href="css/daterangepicker/daterangepicker-bs3.css"
rel="stylesheet" type="text/css" />
<link
href="css/bootstrap-wysihtml5/bootstrap3wysihtml5.min.css" rel="stylesheet" type="text/css" />
<link
href="css/AdminLTE.css"
rel="stylesheet"
type="text/css" />
<title></title>
</head>
<body class="skin-blue" onload="initMap();" >
<header class="header">
<a href="index.html" class="logo">
Administration Panel
</a>
<nav class="navbar navbar-static-top" role="navigation">
<a href="#" class="navbar-btn sidebar-toggle" datatoggle="offcanvas" role="button">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<div class="navbar-right">
<ul class="nav navbar-nav">
<li class=" user user-menu">
<a href="#" class="dropdown-toggle" datatoggle="dropdown">
77
X.
Anexos
<i
class="glyphicon
glyphicon-
user"></i>
<span>Gas Natural</span>
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="wrapper row-offcanvas row-offcanvas-left">
<aside class="left-side sidebar-offcanvas" style="minheight: 2016px;">
<section class="sidebar">
<div class="user-panel">
<div class="pull-left info">
<p>Hello, Idir</p>
</div>
</div>
<ul class="sidebar-menu">
<li class="active">
<a href="index.php">
<i class="fa fa-bar-chart-o"></i>
<span>See pipes</span>
</a>
</li>
<li>
<a href="events.php">
<i
class="fa
fa-dashboard"></i>
<span>Events</span>
<small class="badge pull-right bgred">3</small>
</a>
</li>
</ul>
</section>
</aside>
<aside class="right-side">
<section class="content-header">
<h1>
<small></small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-bar-charto"></i> See pipes</a></li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="col-xs-12">
<!-- interactive chart -->
<div class="box box-primary">
<div class="box-header">
<i
class="fa
fa-bar-charto"></i>
<h3
class="box-title">Piping
routes</h3>
</div>
78
X.
Anexos
style="height:
</div>
600px;
<div class="box-body">
<div
id="interactive"
padding:
0px;
position:
relative;">
</div>
</div>
</div>
</div>
</section>
</aside>
</div>
<script
src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></s
cript>
<script
src="js/jquery-ui-1.10.3.min.js"
type="text/javascript"></script>
<script
src="js/bootstrap.min.js"
type="text/javascript"></script>
<script
src="js/plugins/sparkline/jquery.sparkline.min.js"
type="text/javascript"></script>
<script
src="js/plugins/jvectormap/jquery-jvectormap1.2.2.min.js" type="text/javascript"></script>
<script src="js/plugins/jvectormap/jquery-jvectormap-worldmill-en.js" type="text/javascript"></script>
<script
src="js/plugins/fullcalendar/fullcalendar.min.js"
type="text/javascript"></script>
<script
src="js/plugins/jqueryKnob/jquery.knob.js"
type="text/javascript"></script>
<script src="js/plugins/daterangepicker/daterangepicker.js"
type="text/javascript"></script>
<script
src="js/plugins/bootstrap-wysihtml5/bootstrap3wysihtml5.all.min.js" type="text/javascript"></script>
<script
src="js/plugins/iCheck/icheck.min.js"
type="text/javascript"></script>
<script
src="js/AdminLTE/app.js"
type="text/javascript"></script>
<script
src="http://maps.googleapis.com/maps/api/js"/>
</script>
<script>
var map;
var locations;
var PlanCoordinates = [];
var path;
var inicio = 0;
var fin = 9;
var is = 0;
var colors = ['#FF5722', '#8C9EFF', '#CDDC39', '#009688'];
var z = 0;
$(document).ready(function () {
console.log(z);
window.setInterval(function () {
if (z < 2) {
cargar();
z++;
}
}, 2000);
});
79
X.
Anexos
function cargar() {
console.log("Ahora");
inicio = fin * is;
var parametros = {
"inicio": inicio,
"fin": fin
};
$.ajax({
data: parametros,
url: 'epcCreator.php',
type: 'post',
dataType: 'json',
beforeSend: function () {
$("#resultado").html("Procesando,
espere
por
favor...");
},
success: function (response) {
addMarks(response);
is++;
return false;
locations = response;
for (i = 0; i < locations.length; i++) {
PlanCoordinates[i]
=
google.maps.LatLng(locations[i][1], locations[i][2]);
}
path = new google.maps.Polyline({
path: PlanCoordinates,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
startMap();
new
}, error: function (response) {
console.log(response);
}
});
}
function initMap() {
map
=
new
google.maps.Map(document.getElementById('interactive'), {
zoom: 11,
center: new google.maps.LatLng(41.307975, 1.398489),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
console.log("HELLO");
setTimeout(function () {
cargar();
}, 2000);
setTimeout(function () {
cargar();
}, 2000);
}
function pinSymbol(color) {
return {
80
X.
Anexos
path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1
10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0',
fillColor: color,
fillOpacity: 1,
strokeColor: '#000',
strokeWeight: 2,
scale: 1,
};
}
function addPath(locations) {
var PlanCoordinates = [];
for (i = 0; i < locations.length; i++) {
PlanCoordinates[i]
=
new
google.maps.LatLng(locations[i][1], locations[i][2]);
}
var path = new google.maps.Polyline({
path: PlanCoordinates,
geodesic: true,
strokeColor: colors[is],
strokeOpacity: 1.0,
strokeWeight: 2
});
path.setMap(map);
}
function addMarks(location) {
var infowindow = new google.maps.InfoWindow();
for (i = 0; i < location.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(location[i][1],
location[i][2]),
map: map,
icon: pinSymbol(colors[is])
});
google.maps.event.addListener(marker,
'click',
(function (marker, i) {
return function () {
infowindow.setContent(location[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
addPath(location);
}
</script>
</body>
</html>
Anexo A.14
epcCreator.php
require_once './dbConnect.php';
$con = new Connection();
if (isset($_REQUEST["inicio"]) && isset($_REQUEST["fin"])):
echo $con->selectAll($_REQUEST["inicio"], $_REQUEST["fin"]);
endif;
81
X.
Anexos
Anexos B – Reader CaenRFID R4300P datasheet
82
X.
Anexos
83
X.
Anexos
84
X.
Anexos
Anexos C – 3M Sistema de detección de tuberías
85
X.
Anexos
86
X.
Anexos
87
X.
Anexos
88
X.
Anexos
89
X.
Anexos
90
X.
Anexos
Anexos D – Chips RFID
Anexo D.1
Alien Higgs 3
91
X.
Anexos
92
X.
Anexo D.2
Anexos
Alien Higgs 4
93
X.
Anexos
94
X.
Anexo D.3
Anexos
Impinj Monza 5
95
X.
Anexo D.4
Anexos
Impinj Monza R6
96
X.
Anexos
97
X.
Anexos
98
X.
Anexos
99
X.
Anexos
100
X.
Anexos
101
X.
Anexo D.5
Anexos
NPX SL3S1203FTB0
102
X.
Anexos
103
X.
Anexos
104
X.
Anexos
105
X.
Anexos
106
X.
Anexos
Anexos E – Normativa
107
Descargar