Beruflich Dokumente
Kultur Dokumente
PROFESOR PATROCINANTE:
CHRISTIAN ALEXIS LAZO RAMREZ
DOCTOR EN INGENIERA TELEMTICA
PROFESOR INFORMANTE:
LUIS HERNN VIDAL VIDAL
M.B.A INGENIERO CIVIL EN INFORMTICA
PROFESOR INFORMANTE:
JORGE ANTONIO MORALES VILUGRON
INGENIERO ELECTRNICO
M.B.A., D.E.A. MICROCONTROLADORES
AGRADECIMIENTOS
Agradezco a mis amigos (que son poquitos pero ellos saben quienes son) por todo el
aguante y por estar ah cuando los necesit.
Agradezco a mis compaeros de carrera, con los cuales compart muchos aos y muchas
veces me ayudaron, me ensearon y hasta me salvaron. Espero haberles aportado a ustedes
tambin.
Finalmente, agradezco a todas las personas no mencionadas que conozco, todos aportaron
de alguna forma a mi crecimiento como persona, y por lo tanto tambin hay mucho de
ustedes en esta etapa superada.
NDICE
NDICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NDICE DE TABLAS . . . . . . . . . . . . . . . . . . . . . . . .
NDICE DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . .
RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 INTRODUCCIN . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Motivacin . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Impactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Objetivos especficos . . . . . . . . . . . . . . . . . . . .
1.5 Organizacin del documento . . . . . . . . . . . . . . . . . . .
2 MARCO TERICO . . . . . . . . . . . . . . . . . . . . . . .
2.1 Qu es un Proyecto? . . . . . . . . . . . . . . . . . . . . . . .
2.2 Ciclo de Vida o Etapas de un Proyecto . . . . . . . . . . . . . .
2.2.1 Requerimientos . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Anlisis . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Implementacin . . . . . . . . . . . . . . . . . . . . . . .
2.2.5 Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6 Produccin y Mantenimiento . . . . . . . . . . . . . . . .
2.3 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 IEEE 802.15.4 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Redes inalmbricas de sensores . . . . . . . . . . . . . . . . . .
2.6 Internet de las cosas . . . . . . . . . . . . . . . . . . . . . . . .
2.6.1 Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Dispositivos mviles . . . . . . . . . . . . . . . . . . . . . . .
2.7.1 Android . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8 Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.1 Sistemas similares . . . . . . . . . . . . . . . . . . . . . .
2.8.2 Software relacionado . . . . . . . . . . . . . . . . . . . .
2.8.2.1 Sheep Tracker . . . . . . . . . . . . . . . . . . . . . .
2.8.2.2 EWEBYTE . . . . . . . . . . . . . . . . . . . . . . .
2.8.2.3 Select Sheepware . . . . . . . . . . . . . . . . . . . .
2.8.3 Hardware relacionado . . . . . . . . . . . . . . . . . . . .
2.8.3.1 Arduino . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.3.2 Waspmote . . . . . . . . . . . . . . . . . . . . . . . .
2.8.4 Marco regulatorio . . . . . . . . . . . . . . . . . . . . . .
2.8.4.1 Procedimiento P-PP-IT-007 . . . . . . . . . . . . . .
2.8.4.2 Instructivo I-PP-IT-018 . . . . . . . . . . . . . . . . .
2.8.4.3 DIIO y Registro de Movimiento Animal . . . . . . . .
2.8.4.4 Conclusiones . . . . . . . . . . . . . . . . . . . . . .
3 SOLUCIN PROPUESTA . . . . . . . . . . . . . . . . . . . .
3.1 Definicin de la problemtica . . . . . . . . . . . . . . . . . . .
3.1.1 Sistema de gestin ovina . . . . . . . . . . . . . . . . . .
3.1.2 Monitoreo continuo . . . . . . . . . . . . . . . . . . . . .
3.2 Definicin de la solucin . . . . . . . . . . . . . . . . . . . . .
3.3 Tecnologas a utilizar . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1.1 Nodo de sensores . . . . . . . . . . . . . . . . . . . .
3.3.1.2 Nodo coordinador . . . . . . . . . . . . . . . . . . . .
3.3.1.3 Comunicacin en la red de sensores . . . . . . . . . .
3.3.1.4 Almacenamiento y procesamiento de la informacin .
3.3.1.5 Dispositivos moviles . . . . . . . . . . . . . . . . . .
3.3.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2.1 Libreras para sistemas embebidos, sensores y red . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i
iii
iv
vi
vii
1
2
3
4
5
5
5
5
7
7
7
9
10
12
15
16
19
21
21
22
24
26
27
29
30
30
31
32
33
35
36
36
37
39
40
41
42
42
43
43
43
44
45
45
46
46
48
48
49
50
50
50
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . .
. . . .
. . . .
. . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
52
52
53
54
54
56
59
59
60
61
62
63
63
66
66
70
70
71
72
73
74
76
79
79
81
81
82
83
83
85
89
89
89
93
95
103
103
104
105
109
115
118
NDICE DE TABLAS
TABLA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PGINA
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
57
58
58
59
61
62
64
67
67
67
68
68
68
68
69
76
78
NDICE DE FIGURAS
FIGURA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
PGINA
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
10
12
13
23
23
25
27
32
33
34
34
35
36
37
38
38
41
47
47
48
49
53
55
59
60
63
63
65
65
66
71
72
74
75
77
79
80
81
81
84
84
85
86
86
87
87
88
90
90
91
91
92
92
RESUMEN
En este contexto, la humanidad comienza a convivir con una raza de aparatos que se
encuentran conectados entre si, llamndose este nuevo paradigma el Internet de las
cosas, el que avanza rpidamente en nuestro da a da, mientras usamos nuestro telfono
inteligente, controlamos la iluminacin de nuestro hogar de forma remota, entre muchas
otras aplicaciones actuales y futuras.
ABSTRACT
In the last few years, the access to the Internet has grown dramatically, and at a pace that
is far from be over. And this connectivity it is not just for human beings, but also to many
day-to-day objects that use Internet for their own functions, gathering information of their
interest and ever allowing remote access from their users.
In this context, the mankind starts to coexist with a new race of devices that are connected,
marking the beginning of the Internet of Things. This new paradigm is steadly establishing
in the life of the population, while we use our smartphone, while we control our home
appliances, and many others present and future applications.
This proyect is an effort to bring this paradigm and their principles to the studying of
sheep, with the use of a wireless sensor network to gather information of the animals and
possible threats that the sheep could face in real time. Then, this network is integrated in
a framework that shows all the information in mobile devices and notifies of anormalities
detected in the flock. Finally, it is defined the best way to deploy the network and a test is
designed to validate this deployment.
vi
1.
INTRODUCCIN
Estos dispositivos, adems de sus prestaciones, impensadas hace solo algunos aos, se
encuentran comunicados mediante diversas tecnologas inalmbricas a la red de redes,
Internet. Esta comunicacin no solo permite a las personas mantener el contacto con
su vida, trabajo y amistades, sino tambin permite que estos dispositivos se conecten
con otros de forma independiente, realizando tareas en segundo plano para brindar ms
informacin de inters a las personas, o para otras funciones propias del dispositivo.
Este paradigma, que contempla una nueva raza de dispositivos baratos, livianos y con un
consumo muy reducido de energa, abre la posibilidad de conocer el estado de objetos de
estudio de una forma que en la antigedad simplemente no era posible. Por ejemplo, a un
animal se le puede colocar uno de estos pequeos dispositivos, con sensores que recopilen
cierta informacin, envindose esta en tiempo real hacia los dispositivos de los usuarios
para conocer su estado en todo momento, e incluso obtener alertas si algo anormal sucede
con el, lo que da paso al almacenamiento de grandes volmenes de informacin, lo que
conocemos como Big Data.
Siguiendo con el ejemplo, esta forma de obtener informacin del animal, o de un conjunto
de animales desde un punto de vista productivo, supone una clara ventaja competitiva
frente a otros sistemas de monitoreo pasivo y ms an frente a sistemas de gestin que no
involucran ningn tipo de tecnologa.
Este proyecto, ademas, abre la puerta al estudio del comportamiento de estos animales,
al existir muy poca informacin para la generacin de modelos de comportamiento o
etolgicos, facilitando la deteccin por ejemplo de enfermedades o etapa de celo, a
diferencia de la situacin de animales bovinos que si cuentan con estos modelos e incluso
con soluciones comerciales disponibles [Tra13] [Mas12] [Hid13].
1.1.
Antecedentes
En el marco local, la Regin de los Ros y sus alrededores histricamente han sido un
lugar privilegiado para la produccin animal, en la cual se producen diversas especies de
animales, especialmente bovinos. Esta regin se caracteriza por su aptitud ganadera, con
183.912,64 hectreas de praderas naturales y mejoradas [Fia09].
Los desafos para el crecimiento de esta actividad econmica son diversos, como lo
son el robo de animales conocido como abigeato, el ataque de perros u otros animales
hacia los ovinos, entre otras [Pal13]. Adems, existe una cantidad muy reducida de
tecnologa aplicable al desarrollo de esta actividad, lo que dificulta la generacin de
ventajas competitivas.
Por otro lado, en la actualidad existe una tendencia global de conectividad no solo entre
personas, sino tambin entre dispositivos mviles, sistemas embebidos con sensores y
objetos de la vida diaria. Este nuevo concepto se conoce como el Internet de las Cosas
[Cis11], el cual describe una red de cosas conectadas entre s.
Este nuevo paradigma, permite que se pueda obtener informacin que anteriormente se
obtena de una forma muy costosa y/o de una forma poco practica. Por ejemplo, con un
pequeo y econmico sistema embebido con conexin a Internet, ademas de un captor,
se puede monitorear la temperatura de un saln desde cualquier parte del mundo, y desde
una gran cantidad de dispositivos distintos [Lew04]. Esto permite monitorear, almacenar
y obtener informacin de diversos objetos de estudio de una forma eficiente.
1.2.
Motivacin
Finalmente, si bien han habido diversas iniciativas de monitoreo ovino para determinar
su comportamiento [San10], ninguna de estas ha llevado al desarrollo de un modelo de
comportamiento, necesario para la generacin de sistemas capaces de detectar condiciones
especficas del animal, como puede ser enfermedades, celo o una disrupcin en el rebao,
todas estas impactando en el aspecto productivo anteriormente sealado.
1.3.
Impactos
El desarrollo de tecnologas que apuntan al paradigma del Internet de las cosas es un rea
poco explorada y con un potencial enorme de utilidad para toda la poblacin. Por ejemplo,
en India se propone un sistema basado en el Internet de las cosas para mejorar el acceso y
reducir el costo de llevar agua potable a los barrios ms pobres de las ciudades [Cis11].
As, la aplicacin de estas tecnologas en este proyecto no solo genera una notable ventaja
competitiva a los productores de ovinos al tener toda la informacin y estado actual de sus
animales en sus bolsillos, sino que tambin aporta un grano de arena ms al conocimiento
e implementacin de estos sistemas, que solo van a seguir aumentando en cantidad,
aplicaciones y alcance en el futuro.
De esta forma adems, se establece una forma de monitorear un objeto de estudio, que
en este caso es un ovino. Sin embargo, esta tecnologa se puede aplicar al monitoreo
en diversos objetos, situaciones o ambientes, como el monitoreo de estructuras, hogares,
maquinaria industrial, seguridad ciudadana, ciudades inteligentes, entre muchos otros.
1.4.
Objetivos
1.4.1.
Objetivo general
1.4.2.
Objetivos especficos
1.5.
2.
MARCO TERICO
2.1.
Qu es un Proyecto?
Un proyecto es un esfuerzo temporal que se lleva a cabo para crear un producto, servicio
o resultado nico.La naturaleza temporal de los proyectos implica que un proyecto tiene
un principio y un final definidos. En general, esta cualidad de temporalidad no se aplica
al producto, servicio o resultado creado por el proyecto; la mayor parte de los proyectos
se emprenden para crear un resultado duradero. Por ejemplo, un proyecto para construir
un puente crear un resultado que se espera perdure durante varios aos. Por otra parte,
los proyectos pueden tener impactos sociales, econmicos y ambientales susceptibles de
perdurar mucho ms que los propios proyectos.
Un proyecto puede generar: un producto, que puede ser un componente de otro elemento,
una mejora de un elemento o un elemento final en s mismo; un servicio o la capacidad de
realizar un servicio, por ejemplo, una funcin de negocio que brinda apoyo a la produccin
o distribucin; una mejora de las lneas de productos o servicios existentes, por ejemplo,
un proyecto Seis Sigma cuyo objetivo es reducir defectos; o un resultado, tal como una
conclusin o un documento, por ejemplo, un proyecto de investigacin que desarrolla
conocimientos que se pueden emplear para determinar si existe una tendencia o si un
nuevo proceso beneficiar a la sociedad [PMI13].
2.2.
oportunidades [Min13]. Una buena representacin resumida de esto se puede ver en la Fig.
1.
Figura 3. Etapas de bsicas del ciclo de vida del desarrollo de software [Cas].
Acontinuacin se describiran brebemente cada una de estas etapas.
2.2.1.
Requerimientos
Los requerimientos para un sistema son la descripcin de los servicios proporcionados por
el sistema y sus restricciones operativas. Estos requerimientos reflejan las nesecidades
de los clientes de un sistema que ayude a resolver algn problema como el control
de in dispocitivo, hacer un pedido o encontrar informacin. El proceso de descubrir,
analizar, documentar y verificar estosservicios y restricciones se denomina Ingeniera de
Requerimientos (RE).
de la organizacion que paga por el sistema, hasta los ingenieros responsables de desarrollar
el software. La informacin sobre cambios previstos puede ayudar a los diseadores
del sistema a evitar deciciones de diseo restrictivas y a los ingenieros encargados del
mantenimiento del sistema, quienes tienen que adaptar el sistema a nuevos requerimientos.
2.2.2.
Anlisis
El anlisis de los requerimientos es una tarea de ingeniera del software que cubre el
hueco entre la definicin del software a nivel sistema y el diseo del software, ver Fig.
4. El anlisis de requisitos permite al ingeniero de sistema especificar las caractersticas
operacionales del software, funcin, datos y rendimiento, indica la interfaz del software
con otros elementos del sistema y establece las restricciones que debe cumplir el software.
elementos bsicos del problema tal y como los percibe el cliente o usuario.
Una vez evaluados los problemas actuales y la informacin deseada, entradas y salidas,
el analista empieza a sintetizar una o ms soluciones. Para empezar se definen en
detalle los datos, las funciones de tratamiento y el comportamiento del sistema. Una
vez que se ha establecido esta informacin, se consideran las arquitecturas bsicas para
la implementacin. Un enfoque Clente/Servideor parecera apropiada. Parece que sera
necesario un sistema de gestin de bases de datos, pero, est justificada la necesidad
de asociacin del cliente? El proceso de evaluacin y sintesis contina hasta que ambos,
el analista y el cliente ,se sienten seguros de que se puede especificar adecuadamente el
software para posteriores fases del desarrollo.
2.2.3.
Diseo
Durante este paso se logra una solucin lgica, su esencia es la elaboracin de diagramas
de interaccin, que muestran graficamente como los objetos se comunicaran entre ellos a
fin de cumplir con los requicitos [Lar99a].
12
El proceso de diseo puede implicar el desarrollo de varios modelos del sistema con
diferentes niveles de abstraccin. Mientras se descompone un diseo, se descubren errores
y omisiones de etapas previas. Esta retroalimentacin permite mejorar los modelos de
diseo previo. La Fig. 6 es un modelo de este proceso que muestra las descripciones de
diseo que pueden producir en varias etapas de diseo. Este diagrama suguiere que las
etapas son secuenciales, en realidad, las actividades del proceso de diseo se entrelazan.
El resultado final del proceso son especificaciones precisas de los algoritmos y estructuras
de datos a implementarse.
13
Lo contrario a este enfoque es dado por los mtodos estructurados que se basan en la
produccin de modelos graficos del sistema y, en muchos casos, cdigo automticamente
generado desde estos modelos.
3. Un modelo del estado de transicin que muestra los estados del sistema y los
disparadores de las transiciones desde un estado a otro.
4. Un modelo estructural en el cual se documentan los componentes del sistema y sus
agregaciones.
5. Un modelo de flujo de datos en el que el sistema se modela utilizando la
transfomacin de los datos que tiene lugar cuando se procesan. ste no se
utiliza normalmente en los mtodos orientados a objetos, pero todava se utiliza
frecuentemente en el diseo de sistemas de tiempo real y de negocio.
En la prctica, estos mtodos estructurados son realmente notaciones estndar que
comprenden prcticas aceptables.
Los estudios empricos de los diseadores Bansler y Bodker [Ban93], muestran que stos
raramente siguen los mtodos convencionales, seleccionan y eligen de las pautas segn
circunstancias locales.
2.2.4.
Implementacin
Durante esta etapa se realizan las tareas que comnmente se conocen como programacin;
que consiste, esencialmente, en llevar a cdigo fuente, en el lenguaje de programacin
elegido, todo lo diseado en la fase anterior.
Esta tarea la realiza el programador, siguiendo por completo los lineamientos impuestos
en el diseo y en consideracin siempre a los requisitos especificados en la primera etapa.
15
en lenguaje C.
Pruebas
Las Pruebas del software son un elemento crtico para la garantia de la calidad del software
y representa una revisin final de las especificaciones, del diseo y la codificacin.
La creciente percepcin del software como un elemento del sistema y la importancia de
los costos asociados a un fallo del propio sistema, estn motivando la creacin de pruebas
minuciosas y bien planificadas. No es raro que una organizacin de desarrollo de software
emplee entre el 30 y el 40 por ciento del esfuerzo total de un proyectoen las pruebas.
En casos extremos, las pruebas del software para actividades crticas como por ejemplo
control de trfico areo, control de reactores nucleares, entre otras, puede costar de tres a
cinco veses ms que el resto de los pasos de la ingeniera del software juntos [Pre02b].
El libro sobre pruebas del software, Glen Myers [Mye11] establece algunas normas que
pueden servir acertadamente como objetivos de las pruebas:
1. Las Pruebas es el proceso de ejecucin de un programa con la intencin de descubrir
un error.
2. Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error
no descubierto hasta entonces.
3. Una prueba tiene xito si descubre un error no destectado hasta entonces.
Los objetivos anteriores suponen un cambio dramtico de punto de vista. Nos quita la idea
que, normalmente, tenemos de que una prueba tiene xito si no descubre errores.
16
Nuestro objetivo es disear pruebas que sistemticamente saque a la luz diferentes clases
de errores, hacindolo con la menor cantidad de tiempo y de esfuerzo.
Si la prueba se lleva a cabo con xito, deacuerdo con el objetivo anteriormente establecido,
descubrir errores en el software. Como ventaja secundaria, la prueba demuestra hasta qu
punto las funciones del software parecen funcionar de acuerdo con las especificaciones y
parecen alcanzarse los requisitos de rendimineto. Adems, los datos que se van recogiendo
a medida que se desarrolla la prueba proporcionan una buena indicacin de la fiabilidad del
software y, de alguna manera, indica la calidad del software como un todo. Pero, la prueba
no puede asegurar la ausencia de defectos; slo puede demostrar que existen defectos en
el software.
Para aplicar mejor los metodos de diseo de casos de prueba se requiere comprender
los principios bsicos que guan las pruebas de software. Davis propone un conjunto de
principios de los cuales describiremos un pequeo subconjunto, para major informacion
sobre estos principios, vea [Dav95].
A todas las pruebas se les debera poder hacer un seguimiento hasta los requisitos
del cliente. Como hemos visto, el objetivo de las pruebas del software es descubrir
errores. Se entiende que los defectos ms graves, desde el punto de vista del cliente,
son aquellos que impiden al programa cumplir sus requisitos.
Las Pruebas deberan planificarse mucho antes de que empiecen. La planificacin
de las pruebas pueden empezar tan pronto como est completo el modelo de
requisitos. La definicin detallada de los casos de prueba pueden empezar tan pronto
como el modelo de diseo se ha consolidado. Por tanto, se puede planificar y disear
todas las pruebas antes de generar ningn cdigo.
El Principio de Pareto es aplicable a la prueba del software. Dicho de manera
sencilla, el principio de Pareto implica que al 80 % de todos los errores descubiertos
durante las pruebas se les puede hacer un seguimiento hasta un 20 % de todos
los mdulos del programa. El problema, por supuesto, es aislar estos mdulos
sospechosos y probarlos minuciosamente.
Las pruebas deberan empezar por, lo pequeo, y progresar hacia, lo grande.
Las primeras pruebas planeadas y ejecutadas se centran generalmente en mdulos
17
individuales del programa. A medida que avanzab las pruebas, desplazan su punto
de mira en un intento de encontrar errores en grupos integrados de mdulos y
finalmente en el sistema entero.
No son posibles las pruebas exhaustivas. El nmero de permuntaciones de caminos
para incluso un programa de tamao moderado es excepcionalmente grande. Por
este motivo, es imposible ejecutar todas las combinaciones de caminos durante las
pruebas. Es posible, sin embargo , cubrir adecuadamente la lgica del programa
y asegurarse de que se han aplicado toda las condiciones en el diseo a nivel de
componente.
Para ser ms eficaces, las pruebas debern ser realizadas por un equipo
independiente. Por, ms eficiente, queremos referirnos a pruebas con la ms alta
probabilidad de encontrar errores, el objetivo principal de las pruebas. Por las
razones que se expucieron anteriormente, el ingeniero del software que cre el
sistema no es el ms adecuado para llevar a cabo las pruebas de software.
El principal objetivo del diseo de casos de prueba es obtener un conjunto de pruebas que
tengan la mayor probabilidad de descubrir los defectos del software. Para llevar a cabo
este objetivo, se usan dos categoras diferentes de tcnicas de diseo de casos de prueba:
prueba de caja blanca y prueba de caja negra.
Las pruebas de caja blanca se centran en la estructura de control del programa. Se obtienen
casos de prueba que aseguren que durante la prueba se han ejecutado, por lo menos una
vez, todas las sentencias del programa y que se ejercitan todas las condiciones lgicas. La
prueba del camino bsico, una tcnica de caja blanca, hace uso de grafos de programa, o
matrices de grafos, para obtener el conjunto de pruebas linealmente independientes que
aseguren la total cobertura. La prueba de condiciones y del flujo de datos ejercita ms
an la lgica del programa y la prueba de los bucles complementa a otras tcnicas de
caja blanca, proporcionando un procedimiento para ejercitar bucles de distintos grados de
complejidad.
Heztel [Het88] describe la prueba de caja blanca como, prueba a pequea escala. Esto se
debe a que las pruebas de caja blanca que hemos considerado son tpicamente aplicadas
a pequeos componentes de programas, por ejemplo; mdulos o pequeos grupos de
mdulos. Por otro lado, la prueba de caja negra ampla el enfoque y se puede denominar,
18
Las pruebas de caja negra son diseadas para validar los requisitos funcionales sin fijarse
en el funcionamiento interno de un programa. Las tcnicas de prueba de caja negra se
centran en el mbito de informacin de un programa, de forma que se proporcione una
cobertura completa de prueba. Los mtodos de prueba basados en grafos exploran las
relaciones entre los objetos del programa y su comportamiento. La particin equivalente
divide el campo de entrada en clases de datos que tienden a ejercitar determinadas
funciones del software. El anlisis de valores lmite prueba la habilidad del programa para
manejar datos que se encuentran en los lmites aceptables. La prueba de la tabla ortogonal
suministra un mtodo sistemtico y eficiente para probar sistemas con un nmero reducido
de parmetros de entrada. Los mtodos de prueba especializados comprenden una amplia
gama de capacidades del software y reas de aplicacin. Las interfaces grficas de usuario,
las arquitecturas la documentacin y facilidades de ayuda, y los sistemas de tiempo real
requieren directrices y tcnicas especializadas para la prueba del software.
2.2.6.
Produccin y Mantenimiento
especficos preestablecidos del disco; incluso se crean vnculos con otros productos,
adems del propio sistema operativo. Este ltimo caso, comnmente es un proceso
bastante automtico que es creado y guiado con heramientas software especficas.
Una vez realizada exitosamente la instalacin del software, el mismo pasa a la fase de
produccin, durante la cual cumple las funciones para las que fue desarrollado, es decir,
es finalmente utilizado por el usuario final, produciendo los resultados esperados.
externo.
Evolutivo: Son los que ms acercan al desarrollo de nuevas funcionalidades, pero con
una gran diferencia: se enfocan en la evolucin de una funcionalidad de software
existente. Dicha evolucin, generalmente se centra en agregar a una funcionalidad
existente, por ejemplo, a la funcionalidad de generacin de cdigos de barra del
sistema de control de stock, una o ms caractersticas adicionales, tendientes a
enriquecer dicha funcionalidad, por ejemplo, que la emisin de cdigos de barra,
guarde un log de cdigos de barra emitidos, que se sume a los reportes de los
productos.
Preventivo: El software de computadora se deteriora debido al cambio, y por esto
el mantenimiento preventivo tambin llamado reingeniera del software, se debe
conducir a permitir que el software sirva para las necesidades de los usuarios
finales. En esencia, el mantenimiento preventivo hace cambios en programas de
computadora a fin de que se puedan corregir, adaptar y mejorar ms fcilmente.
2.3.
Framework
2.4.
IEEE 802.15.4
IEEE 802.15.4 es un estndar que especifica la capa fsica y el control de acceso para redes
inalmbricas de rea personal de baja velocidad (LR-WPAN). Este estndar fue definido
el ao 2003 por el grupo de trabajo IEEE 802.15 [Iee10], revisndose a lo largo del tiempo
en los aos 2006, 2007, 2009 y 2011 [Iee11a].
As, se especifican los niveles de red bsicos para dar servicio a redes inalmbricas de
rea personal o WPAN (Wireless Personal Area Networks), cuyo principal uso radica en
aplicaciones de monitoreo en dispositivos embebidos de bajo costo, reducido consumo de
energa y bajo uso del ancho de banda siendo estos utilizados, por ejemplo, en redes de
sensores inalmbricos o WSN (Wireless Sensor Networks) [Fra11].
los cuales tienen distancias desde algunos metros hasta kilmetros, todo bajo el estndar
IEEE 802.15.4 u otros protocolos que funcionan sobre el.
Este estndar define tres tipos de nodos que se pueden comunicar mediante dos topologas
de red distintas. Los nodos pueden ser del tipo FFD (Full Function Device), los cuales
pueden comportarse tanto como un enrutador de red que canaliza informacin desde
otros nodos, como tambin puede comportarse como un nodo final ordinario, siendo estos
ltimos denominados RFD (Reduced Function Device). Cuando este tipo de nodo es el
encargado de enrutar el trfico de toda la red, pasa a denominarse PAN coordinator. Las
topologas disponibles son del tipo estrella y del tipo punto a punto, profundizndose en
estas mas adelante en el captulo cinco.
2.5.
Si bien los inicios de estas redes estn documentados para aplicaciones militares,
actualmente se utilizan en innumerables mbitos, siendo las ms importantes los
industriales para monitorear maquinarias, en geoposicionamiento vehicular, medicina a
distancia, por nombrar algunos ejemplos [Lew04].
Un nodo sensor es un dispositivo ubicado en el extremo de esas redes, que posee cierta
capacidad de proceso y de memoria, capaz de recolectar informacin con los sensores que
posee y que puede enviar esta informacin para su almacenamiento en un equipo remoto.
Un esquema de su composicin se puede apreciar en la Figura 2.
22
23
Superadas sus limitaciones, estas redes permiten una amplia gama de aplicaciones en
reas tales como la automatizacin del hogar, edificios, maquinaria industrial, ciudades
inteligentes, monitoreo del estado de salud de personas y animales, gestin de energa,
transporte, seguridad, entre muchas otras.
2.6.
Mientras que para Cisco Internet Business Solutions Group, el gigante mundial en
infraestructura de red, lo define como simplemente es el punto en el tiempo donde
comenzaron a haber ms cosas u objetos conectadas a Internet que personas [Cis11].
Tambin, el Internet de las cosas se puede entender como una nueva capa en la forma
y cantidad de dispositivos que conforman la red Internet. Tradicionalmente, se ha
considerado que el Internet est compuesta de las redes y equipos que hacen posible
la interconexin de estas, siendo llamada core Internet, y de una capa exterior de
infraestructura de red local, computadores de escritorio y porttiles llamada en ocasiones
1
24
fringe Internet [She09]. El Internet de las cosas sera una tercera capa, donde se encuentran
una vasta cantidad de dispositivos con capacidades y dimensiones menores a los existentes
en la capa anterior, pero con un costo muy reducido y con un objetivo especfico.
La Figura 4 muestra esta visin del Internet de las cosas, donde se est dando el paso
desde la fringe Internet tradicional hacia el Internet de las cosas, y sus aplicaciones ms
conocidas.
Todos estos elementos tienen como objetivo la posibilidad de crear entornos, dispositivos
y objetos inteligentes, facilitando su integracin a la vida de las personas. Esto conduce
a mejoras sustanciales de la poblacin, utilizando como ejemplo sus aplicaciones en el
clima, alimentacin, energa, movilidad, sociedad digital, salud, entre otros.
25
2.6.1.
Big Data
Big Data es difcil de abordar para la mayora de las bases de datos relacionales y
sus paquetes de visualizacin de datos relacionados, requiriendo software masivamente
paralelo, corriendo en cientos o miles de servidores [Jac09]. Un ejemplo de la cantidad
de datos que se puede obtener en estos contextos es la red de sensores implementada en
el Large Hadron Collider ubicado en Suiza, que contiene 150 millones de sensores
enviando datos 40 millones de veces por segundo. Bajo diversos criterios se descarta el
99,999 % de estos datos por no ser de inters cientfico, lo que significa que existen 100
colisiones de inters por segundo [Lhc08]. Aun as, los datos almacenados alcanzan los
25 PetaBytes anuales sin replicacin ni respaldo, resultando finalmente en 200 PetaBytes
anuales de datos replicados y respaldados. Si se llegara a almacenar toda la informacin
de todos los sensores, se alcanzaran 150 millones de PetaBytes anuales. Poniendo este
numero en perspectiva, para almacenar solo un PetaByte de informacin seria necesario
contar con 150 mil millones de discos duros de 1 TeraByte, lo que supera a todo el
almacenamiento existente en la actualidad en el planeta.
En el contexto del proyecto, otro ejemplo a considerar por el lado de los dispositivos
mviles y su presencia y crecimiento, es que el primer iPhone, fue lanzado el 2007 y
los primeros telfonos inteligentes con sistema operativo Android fueron lanzados el ao
2008, y que solo el ao 2013 se vendieron cerca de mil millones de dispositivos [Gar14],
y la Figura 5 muestra que esta tendencia est lejos de terminar.
26
2.7.
Dispositivos mviles
Estos dispositivos por lo general poseen un sistema operativo [Int13], siendo este capaz
de ejecutar varios tipos de aplicaciones de software, ms conocidas como apps. Muchos
de estos dispositivos estn equipados con tecnologas Wi-Fi3 , Bluetooth4 y GPS5 que los
habilitan a conectarse a otros dispositivos, a Internet y a obtener su posicin cuando
lo necesiten. Tambin es usual encontrar cmaras para capturar fotografas o video,
reproductores de medios, entre otras funcionalidades. Estos dispositivos se denominan
generalmente en la actualidad como telfonos inteligentes o Smartphones [Pcm].
2
http://hello.sparked.com/
Marca comercial de productos basados en el protocolo IEEE 802.11.
4
Tecnologa inalmbrica para transferencia de datos a corta distancia bajo estndar IEEE 802.15.1.
5
Global Positioning System. Mas informacin en http://www8.garmin.com/aboutGPS/.
3
27
A estos dispositivos, que por lo general caben en la palma de la mano, a mediados del 2010
con el lanzamiento del iPad [App10] se les unieron unos dispositivos ms grandes pero
similares, llamados comnmente Tablets [Tec11]. Su uso por lo general es muy similar a
los telfonos inteligentes, diferencindose unicamente en el aspecto fsico ya mencionado.
Estos dispositivos son populares entre las personas que desean tener muchas de las
funcionalidades de un computador convencional en ambientes donde utilizar uno puede
no ser practico, por ejemplo para obtener informacin rpidamente mientras el usuario
se desplaza, o si le fuera necesario realizar trabajo en lugares donde un computador
convencional no puede soportar las condiciones ambientales, como por ejemplo trabajo
en terreno.
6
7
https://www.google.com/intl/es-419/about/
http://www.apple.com/es/
28
2.7.1.
Android
Nombre Clave
Fecha de
lanzamiento
Distribucin
4.4
KitKat
31 de Octubre, 2013
13.6 %
4.3
Jelly Bean
24 de Julio, 2013
10.3 %
4.2
Jelly Bean
13 de Noviembre, 2012
19.1 %
4.1
Jelly Bean
9 de Julio, 2012
29.0 %
4.0.3 - 4.0.4
16 de Diciembre, 2011
12.3 %
2.3.3 - 2.3.7
Gingerbread
9 de Febrero, 2011
14.9 %
2.2
Froyo
20 de Mayo, 2010
0.8 %
29
2.8.
2.8.1.
Sistemas similares
30
2.8.2.
Software relacionado
Informacin recibida las 24 horas, los 7 das de la semana, los 365 das del ao.
31
2.8.2.1.
Sheep Tracker
Sheep Tracker, segn se define en su sitio web, es una Aplicacin de base de datos de
escritorio diseada para mantener registros detallados de salud, administracin y crianza
de ovejas [She13], no existiendo en su sitio web mayor informacin acerca de sus
desarrolladores. Esta aplicacin se encuentra basada en el framework Adobe AIR, por
lo que puede ser instalada en diversos sistemas operativos, como Windows, Mac OS X y
distribuciones GNU/Linux.
As, desde la pantalla principal de la aplicacin, se pueden visualizar todos los animales
en una lista, con toda su informacin. Tambien se pueden editar sus propiedades, agregar
observaciones y generar reportes. Esta pantalla se puede visualizar en la Figura 7.
32
2.8.2.2.
EWEBYTE
EWEBYTE es una aplicacin comercial de escritorio cuya primera versin fue lanza a
finales de la dcada de los 80 Por productores para productores [Ewe13], bajo apoyo
de la Universidad de Guelph9 , ubicada en Ontario, Canad. La aplicacin facilita la
recoleccin de datos y la administracin de la produccin ovina, para luego consultar
estos datos de forma eficaz, teniendo la opcin de generar reportes.
Esta aplicacin se ha ido actualizando a travs del tiempo, siendo su ultima versin la 3.0.
Para el anlisis fue utilizada la versin 2.13 ya que es la ultima disponible en modo
de demostracin. Esta versin de prueba es muy limitada, ya que trae por defecto una
cantidad mxima de animales y solo permite agregar nuevos ovinos. En la Figura 8 se
puede apreciar la diversas opciones que posee la aplicacin para ingresar informacin.
9
http://www.uoguelph.ca/
33
2.8.2.3.
Select Sheepware
Select Sheepware es parte de una familia de productos desarrollados por TGM Software
Solution Limited, una empresa que desarrolla soluciones de software especficamente para
la agricultura y ganadera, ubicada en Irlanda del Norte [Sel14].
35
2.8.3.
Hardware relacionado
2.8.3.1.
Arduino
10
http://interactionivrea.org/en/index.asp.
36
Existen diversos medios de dispositivos Arduino, los cuales buscan adaptarse a mltiples
escenarios de desarrollo, consumo de energa, espacio, velocidad de procesamiento y
cantidad de memoria, entre otros.
2.8.3.2.
Waspmote
http://wiring.org.co/.
37
Waspmote promueve como sus principales caractersticas sus modos de ultra bajo
consumo, 60 tipos de sensores disponibles agrupados para distintos tipos de aplicaciones, y
ocho tecnologas de radio disponibles para larga, mediana y corta distancia. Un Waspmote
con un mdulo de radio UMTS12 + GPS se puede visualizar en la Figura 13.
38
2.8.4.
Marco regulatorio
El trabajo del SAG ha permitido que en los ltimos aos el pas haya logrado un lugar de
privilegio en los mercados internacionales, donde se comercializan productos agrcolas,
ganaderos y forestales producidos en el pas. Varios de ellos, tales como frutas, verduras,
vinos, maderas, cerdos, ovinos, aves, entre otros, se estn exportando a ms de 150 pases
en los cinco continentes.
La produccin animal del pas se regula mediante una normativa general de predios
productores de animales, llamada Programa de Planteles de Animales Bajo Certificacin
Oficial (PABCO de aqu en adelante) [Sag14b]. El programa proporciona garantas a
la produccin animal para la certificacin de productos aptos para consumo humano, y
aquellos requisitos establecidos por los servicios oficiales de los pases o mercados de
destino de las exportaciones, adems de definir qu informacin de los planteles debe
estar disponible para la trazabilidad de los productos de la cadena alimentaria.
13
http://www.sag.cl/
39
Procedimiento P-PP-IT-007
El resto del documento indica con detalle las actividades, indicadores de desempeo que
medir el SAG y los formularios necesarios para todo el proceso. Finalmente, al acreditar
al predio como PABCO, es necesario sealarlo con una placa identificadora en la entrada
del previo, tal como se puede apreciar en la Figura 15.
40
2.8.4.2.
Instructivo I-PP-IT-018
Para el ingreso al programa PABCO ovino, los planteles deben cumplir los siguientes
requisitos:
Cumplir todas las exigencias establecidas en el Procedimiento P-PP-IT-007 e
Instructivo especfico para la especie, ovinas en este caso. Todos los documentos
del Programa PABCO, se encuentran disponibles en el sitio web del SAG.
Contar con al menos 30 das de antigedad de registros solicitados en el presente
Procedimiento P-PP-IT-007 e Instructivo especfico para la especie.
Contar con los servicios profesionales de al menos un MVA para que realice la
verificacin del plantel, a travs del Formulario Pauta de Evaluacin especfico para
la especie.
41
Cada plantel que postule al Programa PABCO debe incorporar todos los predios o
sectores que lo componen. Cada uno de estos predios o sectores, debe poseer un Rol
nico Pecuario (RUP).
Pagar la tarifa de ingreso al Programa PABCO, segn lo establecido en la normativa
tarifaria vigente. Dicho pago podr ser realizado en cualquier Oficina SAG que
cuente con caja receptora.
2.8.4.3.
Una de las iniciativas del SAG que contempla la tecnologa para la gestin de predios
productivos se enmarca bajo el proceso llamado Identificacin Animal Oficial [Sag14e].
Este proceso permite identificar oficialmente a un animal mediante el Dispositivo de
Identificacin Individual Oficial (DIIO en adelante) y vincularlo al establecimiento donde
se realiz esta actividad.
Los bovinos, equinos, porcinos, ovinos, caprinos, crvidos, llamas, alpacas, jabales
y bubalinos (bfalos) identificados con un DIIO o por lotes, deben ser registrados
para su traslado hacia otros predios reconocidos por el SAG. El Formulario de
Movimiento Animal [Sag14f] es el nuevo documento oficial que debe acompaar todos
los movimientos de animales de las especies sealadas anteriormente. Este formulario se
puede visualizar en el Anexo A del presente documento.
2.8.4.4.
Conclusiones
3.
SOLUCIN PROPUESTA
Ante esta problemtica, se realiza una propuesta de solucin y se especifican las diversas
tecnologas para la implementacin del proyecto que enfrente lo planteado.
3.1.
Definicin de la problemtica
Las estadsticas [Fao97], entregadas por la Organizacin de las Naciones Unidas para la
Agricultura y la Alimentacin, van mas all y sealan que, en 1960 exista un trabajador
agropecuario por cada seis habitantes en Sudamrica, y en el ao 2000 esta relacin ya
haba aumentado a 13 habitantes por cada trabajador.
3.1.1.
43
3.1.2.
Monitoreo continuo
Las mayores perdidas que enfrentan las empresas dedicadas a la produccin de ovinos son
amenazas hacia los animales en s, tales como ataques de perros u otros animales, y el
abigeato [Pal13].
Dada la problemtica expuesta que produce perdidas de animales, uno de los parmetros a
monitorear en los animales es su posicin, y si esta corresponde con las inmediaciones de
las instalaciones productivas. Otro parmetro de inters es el comportamiento del animal,
el que puede indicar problemas de salud, amenazas, entre otras.
44
3.2.
Definicin de la solucin
Finalmente, los usuarios podrn acceder a esta informacin y ser alertados de posibles
anormalidades desde la comodidad de sus dispositivos mviles conectados a Internet,
pudiendo acceder cuantas veces ellos deseen a toda la informacin disponible acerca
de los animales y la recolectada por los sensores. Se contempla el uso de mapas para
geoposicionar los animales, y el uso de notificaciones en tiempo real para las alertas.
3.3.
Tecnologas a utilizar
45
Esta seccin, tiene relacin con el estado del arte descrito en el captulo 2. Cuando sea
necesario, se explicarn los motivos de la eleccin entre las posibles tecnologas descritas.
3.3.1.
Hardware
3.3.1.1.
Nodo de sensores
La limitacin mas evidente que posee este dispositivo, es su cantidad de memoria. Solo
posee 32 KiloBytes para la carga de cdigo, algo a tener en consideracin a la hora del
desarrollo.
14
htm.
46
3.3.1.2.
Nodo coordinador
Para la implementacin de los nodos coordinadores, se utilizar al igual que en los nodos
de sensores, sistemas embebidos de la familia Arduino.
3.3.1.3.
Digi comercializa dos series de XBee, siendo la serie uno la que implementa solamente
el estndar IEEE 802.15.4, y la serie dos que implementa una capa de red adicional sobre
IEEE 802.15.4 llamada ZigBee, que brinda ciertas caractersticas adicionales. Ademas,
dentro de estas series, existe una serie de dispositivos distintos. La Figura 18 muestra
cuatro tipos distintos de XBee serie uno, variando en su tipo de antena y potencia de
transmisin.
images/capitulo2/xbee1.jpg
Figura 23. Serie uno de XBee.
Para la comunicacin de los nodos de sensores, se utilizarn dispositivos de red Digi
48
XBee-PRO con antena incluida de una pulgada (whip antenna), especficamente el modelo
XBP24-AWI-001. Este dispositivo de red alcanza una distancia terica de transmisin
mxima de 1335 metros sin obstculos [Dig12].
3.3.1.4.
Este equipo posee ademas, diversos puertos, como una interfaz Ethernet 10/100 Mb para
su conectividad a Internet, puertos USB, entre otros. Resulta de inters para el proyecto
la capacidad de aumentar su cantidad de almacenamiento mediante tarjetas microSD,
soportando hasta 128 GB de capacidad adicional.
3.3.1.5.
Dispositivos moviles
Estos dispositivos ejecutan una versin sin modificaciones de Android, por lo que se
garantiza que las aplicaciones probadas en ellos funcionarn correctamente en todos los
dispositivos de los distintos fabricantes.
3.3.2.
Software
Para la realizacin del proyecto, ser necesario utilizar variadas tecnologas de software,
dada la variedad de hardware necesario, y las especializadas funciones que deben cumplir
cada uno. Se proceder a describir las tecnologas de software a utilizar en cada una de las
partes del proyecto.
3.3.2.1.
50
Para utilizar los dispositivos de red XBee, se utilizar extensivamente la librera xbeearduino, proyecto liderado principalmente por Andrew Rapp [Rap14]. Esta librera
permite la comunicacin entre los XBee de forma sencilla, permitiendo enviar o recibir
paquetes de diversos tipos, ademas de utilizar los dispositivos de forma que se asegure la
transmisin de los datos dentro de la red de sensores, mediante el envo de paquetes de
asentimiento, conocidos como ACK15 .
3.3.2.2.
Intercambio de datos
Para la recepcin de datos desde los nodos coordinadores y el envo de datos hacia los
dispositivos mviles que requieran de esta, se utilizar el modelo de cliente-servidor
basado en web, utilizando el servidor web Apache para recibir y responder las peticiones
de los diversos dispositivos.
51
datos.
Si bien los nodos coordinadores utilizarn una peticin simple para enviar informacin
obtenida por un nodo sensor por la sencillez de estos nodos, es necesario utilizar un
formato de intercambio de datos formal entre los equipos centrales y los dispositivos
mviles, dada la cantidad de datos enviados y la necesidad de una estructura.
As, se utilizar el formato de notacin de objetos JavaScript mas conocido como JSON.
Este estndar de formato abierto usa una estructura de texto entendible por un humano
para trasmitir datos consistente en pares atributo-valor, utilizndose principalmente para
transmitir datos entre un servidor y una aplicacin web. El formateo de los datos a este
estndar es realizado por PHP.
3.3.2.3.
Base de datos
Esta base de datos, ofrece diversas opciones de motores de almacenamiento, que presentan
diversas ventajas y funcionalidades distintas entre ellos. Se utilizar el motor InnoDB, el
cual implementa las propiedades transaccionales de Atomicidad, Consistencia, Aislacin
y Durabilidad mas conocidas por sus siglas en ingles como ACID, garantizando que estas
transacciones se realicen correctamente. Tambin implementa otras funcionalidades como
el soporte de clave fornea, entre otras.
3.3.2.4.
http://www.mysql.com/.
52
Uno de los servicios ofrecidos por Google Play Services es el servicio de cartografa,
llamado Google Maps API. En este proyecto se utilizar este servicio para la integracin
de mapas en la aplicacin, permitiendo presentar la posicin de los animales en el mapa
al usuario, entre otras funcionalidades que pudieran hacer uso de los mapas. El uso de
este servicio es gratuito siempre que no se haga con fines comerciales y que no supere las
25000 peticiones al da.
Otro servicio a utilizar es el llamado Google Cloud Messaging for Android [Goo14b],
el cual permite enviar informacin directamente desde un servidor hacia dispositivos
Android. Se utilizar este servicio en situaciones donde sea necesario comunicar de forma
directa a los dispositivos cierta informacin, como puede ser una notificacin de peligro
de los animales, agregar un nuevo nodo sensor a la red, entre otros posibles usos.
3.4.
53
4.
ANLISIS Y DISEO
Para esto, se har uso de UML (Unified Modeling Language), una notacin esquemtica en
su mayor parte con que se construyen y representan sistemas por medio de conceptos. De
esta forma, con el problema y solucin propuesta ya definidos de forma general, se definen
los requisitos que debe satisfacer el marco de trabajo, dando paso a la etapa de anlisis
donde estos requisitos dan lugar a tareas y descripciones precisas, como la definicin de
actores y los casos de uso.
4.1.
54
Uno de los principios principales de Scrum es la aceptacin que en el transcurso del tiempo
los proyectos son susceptibles a cambios, de acuerdo a deseos del cliente o alternativas
descubiertas durante el desarrollo, y que estas circunstancias no pueden ser abordadas
fcilmente por otras metodologas mas tradicionales. Esto provoca que Scrum se centre en
maximizar la habilidad del equipo en implementar rpidamente y responder a los cambios
que puedan surgir.
Pila de sprint (sprint backlog): lista de los trabajos que debe realizar el equipo
durante un sprint para implementar el incremento previsto.
Incremento: resultado entregable de cada sprint.
4.2.
Requisitos
La pila de producto representa todo aquello que esperan el cliente, los usuarios y en
general todos los interesados, la cual se encuentra en continuo crecimiento y evolucin.
Esta pila contiene funcionalidades, mejoras, tecnologa y correccin de errores que deben
incorporarse al producto a travs de los sucesivos sprints.
En la Tabla 2 se puede apreciar la pila de producto (product backlog) del proyecto, la cual
contiene un identificador nico por cada tem, prioridad, descripcin (historia de usuario)
y una estimacin inicial del esfuerzo en horas.
56
Prioridad
Descripcin
Est. (horas)
r1
Muy alta
r2
Muy Alta
r3
Alta
r4
Alta
r5
Alta
r6
Alta
r7
Muy alta
r8
Alta
r9
Alta
r10
Media
r11
Muy Alta
r12
Alta
12
r13
Alta
r14
Muy alta
r15
Baja
r16
Media
10
r17
Baja
r18
Alta
r19
Alta
16
r20
Media
10
r21
Muy alta
12
De esta pila de producto, se genera una serie de sprints que son subconjuntos de esta pila
de producto, produciendo como salida incrementos de producto. En la Tabla 3, Tabla 4 y
Tabla 5 se pueden apreciar los sprints a realizar en el proyecto.
57
Tabla 3. Sprint 1.
ID
Tarea
Estimado
(horas)
Real
(horas)
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
Total
36
34
Tabla 4. Sprint 2.
ID
Tarea
Estimado
(horas)
Real
(horas)
r12
12
20
r13
r14
10
r15
r16
10
12
r17
Total
38
50
58
Tabla 5. Sprint 3.
ID
Tarea
Estimado
(horas)
Real
(horas)
r18
r19
16
12
r20
10
10
r21
12
10
Total
40
36
4.3.
4.3.1.
Fase de anlisis
Descripcin de las actividades del proceso
Las actividades principales que realiza el sistema son la captura y envo de informacin
desde los nodos sensores al nodo coordinador, donde este, a su vez lo enva al equipo
central para su almacenamiento. Por otro lado, los dispositivos mviles realizan solicitudes
de esta informacin para proporcionrsela a los usuarios. El proceso que agrupa estas
actividades se puede apreciar en la Figura 22.
59
4.3.2.
60
4.3.3.
Actores:
Sensor.
Propsito:
Resumen:
Tipo:
Primario y esencial.
Precondiciones:
61
Actores:
Usuario.
Propsito:
Resumen:
Tipo:
Primario y esencial.
Precondiciones:
4.3.4.
Diagramas de secuencia
4.4.
4.4.1.
Fase de diseo
Casos de uso real
Actores:
Usuario.
Propsito:
Resumen:
Tipo:
Primario y esencial.
64
65
4.4.2.
Diagrama de clases
Dada la extensin del diagrama de clases, este se encuentra en el Anexo B del presente
documento.
4.4.3.
Base de datos
Para el almacenamiento de los diversos datos obtenidos por los nodos sensores, ademas
de otros parmetros utilizados internamente por el sistema, se presenta en la Figura 28 el
siguiente modelo de datos.
66
En la Tabla 9, Tabla 10, Tabla 11, Tabla 12, Tabla 13, Tabla 14, Tabla 15 y Tabla 16
se puede apreciar el diccionario de datos correspondiente a la base de datos descrita
anteriormente.
Tabla 9. Diccionario de datos tabla parametros.
Columna
Tipo de dato
Descripcin
idparametros
INT(11)
idOveja
INT(11)
edad
VARCHAR(45)
numeroParto
VARCHAR(45)
fechaEncaste
DATE
dientes
INT(11)
Tipo de dato
Descripcin
idOveja
INT(11)
idOreja
VARCHAR(6)
fechaInicializacion
DATETIME
criaDe
VARCHAR(6)
userName
VARCHAR(50)
Tipo de dato
Descripcin
idobservacion
INT(11)
idOveja
INT(11)
observacion
VARCHAR(10000)
Glosa de observacin.
hora
DATETIME
67
Tipo de dato
Descripcin
idOrientacion
INT(11)
idOveja
INT(11)
grados
INT(11)
hora
DATETIME
Tipo de dato
Descripcin
idUbicacion
INT(11)
idOveja
INT(11)
lon
FLOAT
lat
FLOAT
hora
DATETIME
Tipo de dato
Descripcin
punto1
VARCHAR(60)
punto2
VARCHAR(60)
punto3
VARCHAR(60)
punto4
VARCHAR(60)
Tipo de dato
Descripcin
iddevice
INT(11)
register
VARCHAR(250)
68
Tipo de dato
Descripcin
uid
INT(11)
unique_id
VARCHAR(23)
name
VARCHAR(50)
VARCHAR(100)
encrypted_password
VARCHAR(80)
Contrasea cifrada.
salt
VARCHAR(10)
created_at
DATETIME
updated_at
DATETIME
69
5.
Se define como topologa de red a la forma de conexin de varios elementos (como enlaces
o nodos) de una red, y esto se puede ver desde el punto de vista fsico o lgico [Chi]. El
punto de vista fsico se refiere a la ubicacin de los componentes de la red tales como
dispositivos y cables, mientras que lo lgico trata de la forma en la cual fluyen los datos
entre los dispositivos de la red.
5.1.
70
En cuanto a los dispositivos de comunicaciones a utilizar, los Digi XBee-Pro serie uno
poseen una distancia de transmisin de 1335 metros bajo condiciones similares a las
expuestas en la definicin de terreno anterior [Dig12].
5.2.
Tambin, se puede utilizar una topologa de red mas estructurada del tipo estrella, donde
el coordinador de la red necesariamente debe ser el nodo central. Este tipo de redes
puede utilizarse con un FFD que maneja su propia red de rea personal, eligiendo un
identificador de red nico. Despus de esto, otros dispositivos pueden unirse a la red, la
cual es completamente independiente de otras redes con topologa estrella que pudieran
71
existir cerca. Bajo esta configuracin, se pueden agrupar 65535 dispositivos, a lo que se
suma la direccin utilizada por el nodo coordinador.
5.3.
Es preciso sealar que estos predios deben ser cerrados, ya que si bien existe una tolerancia
para salir del permetro, est considerada para la deteccin de fuga y no para un monitoreo
continuo en el borde de la cobertura.
5.3.1.
Condiciones de borde
Cuando los nodos sensores se comunican con el nodo coordinador en una topologa del
tipo estrella, existe la posibilidad que uno de estos sensores transmita informacin al
mismo tiempo que otro nodo, provocndose la perdida de uno o de ambos envos de
informacin, conocindose este fenmeno como colisin.
Existen diversas tcnicas para enfrentar las colisiones, como segmentar los envos en
espacios de tiempo o frecuencia cuando es posible, o la implementacin de un mecanismo
verificador de los datos enviados mediante un paquete que retorna al nodo sensor luego que
el nodo coordinador recibe exitosamente, reenviando la informacin el nodo de sensores si
no recibe el citado paquete. Este ultimo mecanismo, conocido como ACK por la palabra
inglesa acknowledgment, se encuentra implementado en los Digi XBee-PRO cuando se
utiliza el modo de operacin API, por lo que se utilizar este modo para evitar esta
condicin.
73
La solucin mas simple ante este escenario es simplemente crear una nueva red del tipo
estrella, asignando nodos coordinadores adicionales a los cuales se van a conectar los
nuevos nodos de sensores. Una arquitectura de lo comentado anteriormente se puede
apreciar en la Figura 31.
5.4.
Una de las topologas que ha tenido una particular atencin [Aky04] para las redes
inalmbricas de sensores es la topologa del tipo malla (Mesh en ingls), la cual
bsicamente es una red punto a punto entre nodos, con la diferencia que implementa el
reenvo de la informacin en todos los nodos hasta que esta alcanza el nodo destino, y
caractersticas como la autoconfiguracin y la autoregeneracin de la red ante posibles
problemas.
74
Para la implementacin de esta topologa de red, Digi pone a disposicin los XBee
DigiMesh, los cuales implementan una capa de red propietaria sobre IEEE 802.15.4
llamada DigiMeshTM [Dig14c]. As, existen tres posibles topologas de red a utilizar para
la implementacin de la red de sensores con equipamiento adicional, pudiendo visualizarse
estas en la Figura 32.
Las redes con topologa en malla son relativamente estables exceptuando por la falla
ocasional o la agregacin de nuevos nodos. Los caminos que utiliza el trafico, cuando
existen muchos usuarios en la red, vara infrecuentemente, enrutandose prcticamente todo
el trafico desde o hacia un gateway que realiza la interconexin con otra red como puede
ser Internet [Jun03].
As, esta topologa de red es indicada para predios en los cuales no es factible la
implantacin de infraestructura de red como nodos coordinadores, o el uso de estos sera
ineficaz, como es el caso de predios con importantes accidentes geogrficos tales como
quebradas o montaas, donde las ondas de radio difcilmente se propagan. Sin embargo,
para el monitoreo en tiempo real debe existir algn tipo de red para obtener la informacin
de la red de sensores, como lo puede ser una red de rea amplia (Wide Area Network)
como lo puede ser la red celular, existiendo cada vez mas cobertura en las zonas rurales
del pas [Sub11].
75
5.5.
Marco comparativo
Para finalizar este anlisis, se comparan las tres topologas de acuerdo a parmetros
econmicos, complejidad y de tolerancia a fallos en la red. As tambin, sus atributos
para implementarse en diversas situaciones geogrficas tomando en consideracin los
parmetros anteriores.
Las redes con topologa punto a punto, por la forma uno a uno de su conexin y la baja
cantidad de dispositivos involucrada, presenta un bajo costo y una baja complejidad en su
implementacin, sin embargo si falla alguno de los dispositivos la red pierde ese enlace y
sin capacidad de regeneracin, la red consecuentemente falla en su totalidad.
Las redes con topologa estrella presentan un mayor costo, por la necesidad de
implementar un nodo coordinador y la infraestructura necesaria para su ubicacin y
conectividad a otras redes, pero su operacin, es relativamente sencilla y tolera sin
problemas fallos de los nodos sensores, sin afectar la comunicacin de los otros nodos
operativos.
Estrella
Malla
Costo
Bajo
Alto
Medio
Complejidad
Bajo
Medio
Alto
Tolerancia a fallos
Nulo
Medio
Alto
76
images/capitulo2/terreno1.png
Bajo estas condiciones, para implementar una red que agrupe a los nodos B y C se puede
utilizar una red con topologa en malla la que no exige infraestructura. Sin embargo, si las
redes A, B y C no se encuentran conectadas entre si por algn medio, cada una deber
resolver por separado la forma en la cual envan su informacin a otras redes, o a Internet.
Por otro lado, la red B se encuentra en una posicin geogrfica ideal para agrupar todas
las redes independiente de la topologa a utilizar, para lo cual un nodo de la red B debe
actuar como nodo coordinador para la interconexin de todas la redes, aunque este nodo
se expone como nico punto de falla de la red.
77
Estrella
Malla
Llano
Bajo
Alto
Medio
Pendientes
Bajo
Alto
Medio
Montaas y
Medio
Bajo
Alto
Quebradas
78
6.
IMPLEMENTACIN
6.1.
Digi provee una herramienta para la configuracin de estos mdulos llamada XCTU. En
la Figura 34 se puede apreciar la herramienta y algunos parmetros de configuracin.
80
6.2.
Nodo de sensores
La implementacin del nodo de sensores tiene una etapa de construccin fsica, integrando
el dispositivo embebido Arduino Uno con los mdulos sensores GPS, de orientacin y
acelermetro, ademas de un botn para inicializar el sistema.Tambin se realiza una etapa
de implementacin del software requerido para controlar estos dispositivos y enviar la
informacin a travs de la red.
Los sensores tienen diversas interfaces para comunicarse con el Arduino . El modulo GPS
EM-406A utiliza dos puertos digitales para transmisin y recepcin, mientras que los
mdulos de orientacin HMC6352 y el acelermetro ADXL335 utilizan dos y tres puertos
analgicos respectivamente. Finalmente,el modulo XBee-PRO se inserta en el XBee Shield
y este se conecta en el puerto ICSP del Arduino Uno. La Figura 36 muestra el nodo de
sensores desarrollado para la prueba de concepto de la red de sensores.
images/capitulo2/nodosensor2.jpg
Figura 41. Prototipo inicial de nodo sensor.
Para su funcionamiento, se implementa un sketch de Arduino, el cual integra las libreras
xbee-arduino y TinyGPS, las cuales tienen el cdigo necesario para la utilizacin de los
modulos XBee-PRO y GPS respectivamente. Se define adems el inicio de los sensores al
presionar el botn instalado, tomando muestras de informacin cada 15 minutos para ser
enviadas al equipo central. El sketch antes mencionado se puede apreciar en el Anexo C
del presente documento.
6.3.
Nodo coordinador
images/capitulo2/nodocoord2.jpg
Figura 42. Prototipo inicial de nodo coordinador.
81
6.4.
Equipo central
El equipo central contiene un conjunto de software necesario para recibir las solicitudes
enviadas desde el nodo coordinador, el almacenamiento de estos datos y la capacidad de
proporcionar estos datos cuando sea necesario. Especficamente, el BeagleBone Black
contiene una distribucin de GNU/Linux, Apache, MySQL y PHP, conocindose esta
arquitectura de software por sus iniciales como LAMP.
As, en este equipo se encuentra el cdigo PHP necesario para el manejo de los
datos que se reciben o envan va Apache, realizando las operaciones correspondientes
sobre la base de datos MySQL. Los archivos PHP expuestos para estas tareas son
llamados data.php, alerta.php y alta.php, como se pueden apreciar en las solicitudes
mostradas anteriormente en la seccin 6.1 del presente captulo.
una tcnica llamada Ray Casting, la cual teniendo un polgono conocido (el permetro
definido) genera rectas en todas las direcciones desde el punto geogrfico a analizar (la
posicin del animal), evaluando las intersecciones de estas rectas con el polgono. Este
algoritmo se puede apreciar en el Anexo E del presente documento.
6.5.
Dispositivo mvil
El dispositivo mvil presenta todas las funcionalidades de usuario del marco de trabajo,
para lo cual se utiliz JSON como el formato de intercambio de datos entre estos
dispositivos y el equipo central, y utilizando servicios de Google como Google Maps API
y Google Cloud Messaging.
Al ser esta la pieza de software mas compleja del marco de trabajo, se utiliz un entorno
integrado de desarrollo (IDE) llamado Android Studio. Este entorno permite la rpida
integracin de las APIs de Google con el desarrollo del software, ademas de mltiples
herramientas de prueba, validacin y depuracin.
6.5.1.
En el desarrollo del marco de trabajo se utilizaron dos de estos servicios, Google Cloud
Messaging y Google Maps API.
Google Cloud Messaging para Android es un servicio que permite enviar datos desde
un servidor a usuarios que posean dispositivos con Android, y tambin permite recibir
mensajes desde los dispositivos bajo la misma conexin. El servicio maneja todos los
aspectos del encolado de mensajes y entrega de estos a la aplicacin objetivo en los
dispositivos. Este servicio es completamente gratis, sin cuotas ni mximos de utilizacin.
La arquitectura de este servicio se puede apreciar en la Figura 38.
83
Google Maps y Google Cloud Messaging son una parte integral de Google Play Services,
una aplicacin que agrupa la base de todos los servicios de Google en los dispositivos
Android, siendo indispensable su existencia en los dispositivos para disfrutar de estos
servicios. En la Figura 39 se muestra el funcionamiento de estos servicios.
6.6.
Producto de software
85
sistema.
Figura 50. Pantallas de permetro, baja ovina y nuevo usuario de la aplicacin mvil.
88
7.
VALIDACIN Y RESULTADOS
7.1.
As, para validar el sistema, se utiliza la utilidad Range Test incluida en el software
XCTU proporcionado por Digi Inc., con la que se verifica la comunicacin de un nodo
sensor y el nodo coordinador en una distancia de 1 kilmetro, obteniendo los valores
de fuerza de la seal recibida RSSI17 , ademas de un porcentaje de paquetes enviados y
recibidos de forma exitosa entre los nodos. Tambin se consideran los otros parmetros
definidos, tales como un terreno relativamente llano y sin inclinaciones y obstculos de
reducido tamao.
Esta prueba se realiz el 31 de Julio del 2014, en los primeros kilmetros de la ruta T-35
que une la ciudad de Valdivia con la localidad de Huellelhue, existiendo en esta una recta
de poco mas de 1 kilmetro, donde se realizaron las pruebas.
Es relevante considerar que las pruebas se hicieron con precipitaciones moderadas, 12,9
grados Celcius de temperatura y una humedad relativa de 95 % [Uac14] lo cual ayuda a
consolidar un escenario similar a los cuales el sistema debe estar preparado, como pueden
ser los predios productivos del sur de Chile.
7.2.
Resultados
89
Ante este escenario, se decide reducir la distancia 100 metros a la vez, hasta lograr cifras
mas altas que aseguren la transmisin.
As, a 900 metros de distancia se obtienen los resultados que se pueden apreciar en la
Figura 47.
90
A 800 metros de distancia se obtienen los resultados que se pueden apreciar en la Figura
48.
A 700 metros de distancia se obtienen los resultados que se pueden apreciar en la Figura
49.
91
Finalmente, se hicieron pruebas a 600 y 500 metros, obtenindose resultados aun mas
favorables, incluso logrndose un 100 % de paquetes intercambiados correctamente a 500
metros de distancia. Estos resultados se pueden apreciar en la Figura 50 y Figura 51.
92
8.
CONCLUSIONES
Sin darnos cuenta, vivimos en una poca donde progresivamente se han ido conectando
dispositivos de la vida cotidiana a Internet, fuera del tradicional computador. Televisores,
reproductores de msica, celulares, sistemas de calefaccin e incluso la iluminacin ha
sufrido una evolucin irreversible, con la cual podemos tener el control de estos sin
estar fsicamente presentes abriendo mltiples funcionalidades antes impensadas e incluso
tildadas como imposibles.
Este proyecto de titulacin es solo una muestra de lo que nos depara el futuro, donde
los objetos de estudio que se encuentran conectados a Internet para obtener informacin
pueden ser tan variados como lo puede ser un animal de granja, todo esto bajo el paradigma
del Internet de las cosas, el cual si bien no se encuentra completamente definido, ya
comienza a ser una parte determinante en la vida de las personas.
En la validacin del sistema se pudo verificar que ante condiciones adversas la red de
sensores logra desempearse correctamente, aunque la propuesta inicial de 1 kilometro
result ser ligeramente optimista. Sin embargo, ante el escenario tradicional de predios
cerrados por hectrea de 100 metros de lado, aun resultan muy positivos los resultados
para cubrir mltiples predios sin dificultad.
93
Finalmente, el marco de trabajo brinda una plataforma tanto para su uso bajo el estado
actual, as tambin como permite su ampliacin en un trabajo futuro multidisciplinario
entre veterinarios, operarios y ingenieros del rea informtica y electrnica. Ademas,
puede proporcionar datos de inters cientfico para el estudio de comportamiento ovino
y la generacin de modelos que permitan determinar comportamientos fuera de lo normal
como enfermedades, amenazas o incluso celo, todas estas de especial inters para el sector
productivo. Todas estas posibilidades de crecimiento muestran los nuevos horizontes que
abren la aplicacin de estos paradigmas tecnolgicos en la industria y en la vida de las
personas.
94
BIBLIOGRAFA
[Aky04] Akyldiz I., Wang X. & Wang W. (2004). Wireless mesh networks: a survey.
Disponible en http://www.ece.gatech.edu/research/labs/bwn/surveys/
mesh.pdf. Consultado el 22 de Julio de 2014.
[Aky13] Akyildiz I. (2013). State-of-the-art in sensor networks research. Disponible en
http://bit.ly/1pffyMm. Consultado el 06 de Junio de 2014.
[Ana10] Analog Devices, Inc. (2010). ADXL335: small, low power, 3-axis g
accelerometer. Disponible en http://www.analog.com/en/mems-sensors/
mems-inertial-sensors/adxl335/products/product.html. Consultado el
16 de Junio de 2014.
[And14a] Android Developers (20014). Dashboards. Disponible en http://
developer.android.com/about/dashboards/index.html. Consultado el 08
de Junio de 2014.
[And14b] Android Developers (2014). Get the Android SDK. Disponible en http:
//developer.android.com/sdk/index.html. Consultado el 09 de Junio de
2014.
[Ant13a] Antonio Hongs Story (2013). Google Play Service Analysis (7) Google
Cloud Messaging. Disponible en http://bit.ly/1mn5MVt. Consultado el 20 de
Agosto de 2014.
[Ant13b] Antonio Hongs Story (2013). Google Play Service Analysis (8) Google In
App Billing. Disponible en http://bit.ly/1AyXYIt. Consultado el 20 de Agosto
de 2014.
[Ant14] Antares Agile Solutions (2014). Scrum: Making Software a Contact Sport.
Disponible en http://bit.ly/XAx70F. Consultado el 20 de Agosto de 2014.
[App10] Apple Inc. (2010). Apple Launches iPad. Disponible en http://www.apple.
com/pr/library/2010/01/27Apple-Launches-iPad.html. Consultado el 08
de Junio de 2014.
[Ard14a] Arduino (2014). Arduino - ArduinoBoardUno. Disponible en http://
arduino.cc/en/Main/arduinoBoardUno. Consultado el 06 de Junio de 2014.
[Ard14b] Arduino (2014). Arduino Ethernet. Disponible en http://arduino.cc/en/
Main/ArduinoBoardEthernet. Consultado el 16 de Junio de 2014.
[Ban93] J. P. Bansler, K. Bodker.(1993) A Reappraisal of Structured Analysis: Design in
an Organisational Context. ACM Transactions on Information Systems Vol. 11, N2
pp. 165-193.
[Bea14] BeagleBone.org Foundation (2014). BeagleBone Black. Disponible en http:
//beagleboard.org/Products/BeagleBone+Black. Consultado el 16 de Junio
de 2014.
[Ben07] Benavente J. (2009). Hacia una estrategia nacional de innovacin para la
competitividad. Disponible en http://www.cepal.org/argentina/noticias/
noticias/2/29782/Sem_ID_BENAVENTE.pdf. Consultado el 06 de Junio de 2014.
95
96
[Eng12]
Engadget (2012).
IDC: nearly 1 billion smart connected devices
shipped last year. Disponible en http://www.engadget.com/2012/03/28/
idc-1-billion-smart-connected-devices-shipped-2011/. Consultado el
09 de Junio de 2014.
[Ewe13] EWEBYTE (2013). Ewe Byte Story. Disponible en http://ewebyte.com/
EBstory.htm. Consultado el 11 de Junio de 2014.
[Fao97] Organizacin de las Naciones Unidas para la Agricultura y la Alimentacin.
(1997).
Anlisis de sistemas de produccin animal Tomo 1: Las bases
conceptuales.
Disponible en http://www.fao.org/docrep/004/w7451s/
W7451S00.htm#TOC. Consultado el 16 de Junio de 2014.
[Fen11] FENABUS. (2011). SINACH: Historia. Disponible en http://www.fenabus.
cl/?page_id=467. Consultado el 06 de Junio de 2014.
[Fia08] Fundacin para la innovacin agraria (2008). Resultados y lecciones en
produccin de leche y queso de Oveja Latxa. Disponible en http://bit.ly/
1tOp7Su. Consultado el 06 de Junio de 2014.
[Fia09] Fundacin para la innovacin agraria (2009). Agenda de innovacin agraria
territorial Regin de los Ros. Disponible en http://bit.ly/1tOp7Su. Consultado
el 06 de Junio de 2014.
[Fra11] Di Francesco M., Anastasi G., Conti M., Das S., & Neri V. (2011). Reliability
and Energy-efficiency in IEEE 802.15.4/ZigBee Sensor Networks: An Adaptive
and Cross-layer Approach. Disponible en http://www.researchgate.net/
publication/220640039_Reliability_and_Energy-Efficiency_inIEEE_
802.15.4ZigBee_Sensor_Networks_An_Adaptive_and_Cross-Layer_
Approach/file/9c960518ab9a9bb417.pdf. Consultado el 06 de Junio de 2014.
[Gar14] Gartner, Inc. (2014). Gartner Says Annual Smartphone Sales Surpassed Sales of
Feature Phones for the First Time in 2013. Disponible en http://www.gartner.
com/newsroom/id/2665715. Consultado el 06 de Junio de 2014.
[Goo14a] Google Inc. (2014). Nexus - Google. Disponible en http://www.google.
com/intl/all/nexus/. Consultado el 09 de Junio de 2014.
[Goo14b] Google Inc. (2014). Google Play Services. Disponible en http://
developer.android.com/google/play-services/index.html. Consultado
el 16 de Junio de 2014.
[Het88] Hetzel, Bill (1988). The Complete Guide to Software Testing QED Information
Sciences, Inc. Wellesley, MA, USA ISBN 0-89435-242-3, 9780471565673
[Hea14] Heath S. (2003). Embedded Systems Design. Elsevier Science, Burlington.
Consultado el 06 de Junio de 2014.
[Hid13] HID Global Corporation (2013). Animal Identification. Disponible en http:
//bit.ly/1hKnXYl. Consultado el 09 de Junio de 2014.
[Hil11]
Hillbert M. (2011).
The worlds technological capacity to handle
information. Disponible en http://martinhilbert.net/WorldInfoCapacity.
html. Consultado el 06 de Junio de 2014.
97
[Pre02b] Pressman Roger S., (2002). Ingeniera del Software, un enfoque prctico. Quinta
edicin. McGraw-Hill/Interamericana de Espaa,S.A.U. Edificio Valrealty, 1era
planta. Basauri,17. 28023 Avarca, Madrid ISBN 84-481-3214-9. pp. 281.
[Pre02c] Pressman Roger S., (2002). Ingeniera del Software, un enfoque prctico. Quinta
edicin. McGraw-Hill/Interamericana de Espaa,S.A.U. Edificio Valrealty, 1era
planta. Basauri,17. 28023 Avarca, Madrid ISBN 84-481-3214-9. pp. 15.
[Pal13] Palma P. & Carrasco D. (2013). Laboratorios virtuales: manual de manejo y
sanidad ovina. Disponible en http://bit.ly/SgemfA. Consultado el 06 de Junio
de 2014.
[Pcm] PC Magazine (n.d.). Definition of: Smartphone. Disponible en http://
www.pcmag.com/encyclopedia/term/51537/smartphone. Consultado el 08 de
Junio de 2014.
[Pho13] PhoneArena (2013). Androids Google Play beats App Store with over 1 million
apps, now officially largest. Disponible en http://bit.ly/Jim4kT. Consultado el
08 de Junio de 2014.
[Rap14] Andrew Rapp (2014). Arduino library for communicating with XBees
in API mode. Disponible en https://code.google.com/p/xbee-arduino/.
Consultado el 16 de Junio de 2014.
[Rfi09] RFID Journal. (2009). That Internet of Things Thing. Disponible en http:
//www.rfidjournal.com/articles/view?4986. Consultado el 06 de Junio de
2014.
[Rob12a] RoboSavvy (2012). ARIAG25-256: ARM9 Linux Embedded Module.
Disponible en http://bit.ly/SNhobR. Consultado el 11 de Junio de 2014.
[Rtc13] RTC Magazine (2013). Unlocking the Potential of Big Data in LowPower Wireless Sensor Networks. Disponible en http://www.rtcmagazine.com/
articles/view/102975. Consultado el 20 de Agosto de 2014.
[Som05] Sommerville Ian (2005). Ingeniera del Software. Sptima Edicion. Pearson
Educacin S.A Ribera del Loira, 28 28042 Madrid, Espaa ISBN 84-7829-074-5.
pp. 108.
[Som05a] Sommerville Ian (2005). Ingeniera del Software. Sptima Edicion. Pearson
Educacin S.A Ribera del Loira, 28 28042 Madrid, Espaa ISBN 84-7829-074-5.
pp. 124-126.
[Som05b] Sommerville Ian (2005). Ingeniera del Software. Sptima Edicion. Pearson
Educacin S.A Ribera del Loira, 28 28042 Madrid, Espaa ISBN 84-7829-074-5.
pp. 71-73.
[Sag14a] Servicio Agricola y Ganadero (2014). Qu es y qu hace el SAG?. Disponible
en
http://www.sag.cl/quienes-somos/que-es-y-que-hace-el-sag.
Consultado el 11 de Junio de 2014.
[Sag14b] Servicio Agricola y Ganadero (2014). Programa de Planteles Animales
bajo Certificacin Oficial (PABCO). Disponible en http://bit.ly/1oUqqy2.
Consultado el 11 de Junio de 2014.
100
102
FOLIO N
COMUNA
mi
bl
RUT
ORIGEN DE ANIMALES
(5)
RUT
Firma
im
pri
RUT
VEHCULO (patente)
ACOPLADO (patente)
DESTINO DE ANIMALES
COMUNA
no
RUT
(10)
Firma
nto
NOVILLO
BUEY
TORO
OVINOS
CAPRINOS
ALPACAS
JABALES
BUBALINOS
4.
5.
6.
7.
8.
Do
9.
cu
3.
me
PORCINOS
LLAMAS
10.
TERNERO/A
CRVIDOS
11.
21.
12.
22.
13.
23.
14.
24.
15.
25.
16.
26.
17.
27.
18.
28.
19.
29.
20.
30.
VAQUILLA
EQUINOS
2.
FECHA DE
LLEGADA
HORA DE
LLEGADA
BOVINOS:
1.
(1)
VACA
FECHA DE
SALIDA
HORA DE
SALIDA
OBSERVACIONES (13)
(14)
(15)
103
104
#include <SoftwareSerial.h>
#include <TinyGPS.h>
#include <Wire.h>
#include <XBee.h>
#define RXPIN 3
#define TXPIN 5
#define GPSBAUD 4800
TinyGPS gps;
SoftwareSerial uart_gps(RXPIN, TXPIN);
int banderaSend = 0;
105
void setup(){
pinMode(buttonPin,INPUT);
Serial.begin(9600);
uart_gps.begin(GPSBAUD);
Wire.begin();
void loop(){
botonValue = digitalRead(buttonPin);
if (botonValue == HIGH) {
xbee.send(txBoton);
banderaSend = 1;
delay(20000);
}
//ambos positivos
banderaSign = 3;
}
int direcc = int(grados);
if (direcc > 255){
banderaSign = banderaSign + 10;
direcc = direcc - 255;
}
text[0] = banderaSign;
text[1] = int(abs(enteraLon));
107
text[2] = dLon.substring(0,2).toInt();
text[3] = dLon.substring(2,4).toInt();
text[4] = int(abs(enteraLat));
text[5] = dLat.substring(0,2).toInt();
text[6] = dLat.substring(2,4).toInt();
text[7] = direcc;
xbee.send(tx);
}
float compass(){
//"Get Data. Compensate and Calculate New Heading"
Wire.beginTransmission(HMC6352SlaveAddress);
Wire.write(HMC6352ReadAddress);
Wire.endTransmission();
Wire.requestFrom(HMC6352SlaveAddress, 2);
return headingInt;
}
108
//BASE!!!!
#include <XBee.h>
#include <SPI.h>
#include <Ethernet.h>
void setup() {
// put your setup code here, to run once:
109
Serial.begin(9600);
xbee.setSerial(Serial);
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
// try to congifure using IP address instead of DHCP:
Ethernet.begin(mac, ip);
}
void loop() {
xbee.readPacket();
// put your main code here, to run repeatedly:
if (xbee.getResponse().isAvailable()) {
if (xbee.getResponse().getApiId() == RX_16_RESPONSE) {
//primero es lo primero, pescar el paquete
xbee.getResponse().getRx16Response(rx16);
largoPkt = rx16.getDataLength();
direccion16 = "";
float longitud,latitud = 0;
int grados = 0;
//direccion del xbee
addr16 = rx16.getRemoteAddress16();
direccion16 = String(addr16, HEX);
Serial.println(largoPkt);
if (largoPkt == 2){
alta(direccion16);
} else if (pargoPkt == 3) {
alerta(direccion16);
110
Serial.println("Connectando Alta");
client.print("GET http://diegoz.bounceme.net/alta.php?addr=");
client.print(addrFinal);
client.println(" HTTP/1.1");
client.println("Host: www.server.com");
client.println();
Serial.println();
111
} else {
Serial.println("Connection unsuccesfull");
}
client.stop();
while(client.status() != 0){
delay(5);
}
Serial.println("Connectando Alerta");
client.print("GET http://diegoz.bounceme.net/alerta.php?addr=");
client.print(addrFinal);
client.println(" HTTP/1.1");
client.println("Host: www.server.com");
client.println();
Serial.println();
} else {
Serial.println("Connection unsuccesfull");
}
client.stop();
while(client.status() != 0){
delay(5);
}
if(client.connect(server, 80)>0) {
Serial.println("Connected Data");
client.print("GET http://diegoz.bounceme.net/data.php?addr=");
client.print(addrFinal);
client.print("&");
client.print("heading=");
client.print(gradFinal);
client.print("&");
113
client.print("lon=");
client.print(lonFinal,HEX);
client.print("&");
client.print("lat=");
client.print(latFinal,HEX);
client.println(" HTTP/1.1");
client.println("Host: www.server.com");
client.println();
Serial.println();
} else {
Serial.println("Connection unsuccesfull");
}
client.stop();
while(client.status() != 0){
delay(5);
}
}
114
<?php
/*
Description: The point-in-polygon algorithm allows you to check
if a point is inside a polygon or outside of it.
Author: Michal Niessen (2009)
Website: http://AssemblySys.com
class pointLocation {
var $pointOnVertex = true; // Check if the point sits exactly
on one of the vertices?
function pointLocation() {
}
function pointStringToCoordinates($pointString) {
$coordinates = explode(" ", $pointString);
return array("x" => $coordinates[0], "y" => $coordinates[1]);
}
}
?>
117
119