Está en la página 1de 507

PROYECTO FIN DE CARRERA

Ttulo

Supervisin remota de parmetros medioambientales


capturados por vehculo areo no tripulado

Autor/es

Eduardo Garbayo Herce

Director/es

Montserrat Gil Martnez y Javier Rico Azagra


Facultad

Escuela Tcnica Superior de Ingeniera Industrial


Titulacin

Proyecto Fin de Carrera

Departamento

Ingeniera Elctrica

Curso Acadmico

2013-2014
Supervisin remota de parmetros medioambientales capturados por vehculo
areo no tripulado, proyecto fin de carrera
de Eduardo Garbayo Herce, dirigido por Montserrat Gil Martnez y Javier Rico Azagra
(publicado por la Universidad de La Rioja), se difunde bajo una Licencia
Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.
Permisos que vayan ms all de lo cubierto por esta licencia pueden solicitarse a los
titulares del copyright.

El autor
Universidad de La Rioja, Servicio de Publicaciones, 2014
publicaciones.unirioja.es
E-mail: publicaciones@unirioja.es
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR VEHCULO AREO
NO TRIPULADO

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

NORMA USADA

Este proyecto se basa principalmente en software. Se ha asesorado para ello


cul sera le norma que ms se acercara para la creacin de los documentos
finales. Se ha consultado y corroborado en el BOE.

Segn BOE:

https://www.boe.es/diario_boe/txt.php?id=BOE-A-2007-20618

Ilustracin 1 Norma usada

Como resultado de esta investigacin previa la norma a usar en este PFC que
lleva por ttulo Supervisin remota de parmetros medioambientales
capturados por UAV ser la: UNE 157801: 2007 Criterios generales para la
elaboracin de proyectos de sistemas de informacin (por ejemplo, proyectos de
aplicaciones informticas) .

Esta norma, que tiene su origen en la norma UNE 157001, puede servir de
pauta para que los proyectos de Sistemas de Informacin que se realicen por o para
las entidades, tanto organismos pblicos como empresas privadas.

Tratndose de un PFC, y no un proyecto real comercial ni concursal, el autor


de este documento usar algn trmino y apartado personal referente al trabajo
realizado, no incluido en esta norma pero que en su disposicin permite y ofrece un
documento abierto y no restrictivo. Ser interpretacin personal la inclusin de dicha
documentacin esperando acertar en su posicionamiento para que la lectura de esta
memoria ser lo ms clara posible.

Partiendo que el software es el elemento clave de este proyecto cabe


destacar que existen dos elementos extra, aadidos que completan este PFC y que
por sus condicionantes necesitarn una documentacin aadida. Sern los circuitos

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

electrnicos creados, placas y controladores, y un elemento externo como un


Quatricpetero o Multirotor.

De este ltimo apenas existe documentacin ni normativa en Espaol, puesto


que durante este 2014 estn apareciendo las directrices y anteproyectos de
funcionamiento, control, y gestin de estos aparatos que acaban de irrumpir con
fuerza en nuestro entorno.

De ello se parte:

1.- Software. Sobre el 80 % del trabajo realizado. (software para el Hardware


Arduino, GPS, 3DR, Xbee + Software para el Ordenador, Processing, web)

2.- Dispositivos electrnicos. Tarjetas, sensores, cableados: 15 % del


trabajo total.

3.- Cuatricptero o Multirotor. 5% del final.

Ilustracin 2 Grfico en % de dependencia documental.

Como se ve, el apartado ms complejo sern las aplicaciones informticas


diseadas. Ya sean las que harn trabajar a las placas Arduino, las instaladas en el
ordenador local, o las usadas en internet en servidores. Se les adjudica un 80% de
la valoracin total para la decisin de la norma a usar, que como se ha comentado
es la UNE 157801: 2007. Pero si solo se usara esta norma quedaran muchos flecos
y captulos por cumplir, tanto para el tema de placas y dispositivos electrnicos
como para las condiciones de vuelo de un Multirotor.

4
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Como indica la norma, (UNE 71044 - ISO/IEC 12207: 1995 y UNE 710451 -
ISO/IEC 141431: 1998) se lee textualmente: En esta norma no se pretende
desarrollar ni condicionar los proyectos a ninguna metodologa ni a ningn ciclo de
vida que pueda emplearse en la elaboracin de los mismos. Tampoco establecer
los procesos que necesiten realizarse, ni el estado del arte para el uso de estas
tecnologas que, en caso de considerarse necesaria su inclusin, se har mediante
la referencia a otras normas de carcter tcnico que contemplen esto aspectos.

Se permite el uso de la documentacin extra que se necesite no siendo


restrictiva en ningn momento ni condicionante. Para ello a este proyecto, y para
cumplimentar los apartados descritos que quedan fuera de este mbito de
aplicacin este documento final se ampliarn con apartados, captulos y
documentos correspondientes a las siguientes normas:

UNE 50135: 1996. Documentacin. Presentacin de informes cientficos y


tcnicos y UNE 157000: 2002 y UNE 157001: 2002 Criterios generales para la
elaboracin de proyectos.

Como siempre las decisiones tomadas se interpretarn como lo que son


subjetivas y siempre susceptivas de ser exgesis desde otros puntos de vista de
Ingenieros de diversas titulaciones.

Aqu queda explicada la exposicin final de este alumno en cuanto a la


calidad y estructura documental. Asumiendo las decisiones tomadas no basadas
simplemente en capricho personal sino en justificaciones argumentadas asentadas,
en parte de la normativa actual.

Por ello se vern documentos como: Planos, Pliego de Condiciones, etc.


1
Que por defecto no forman parte de la UNE 157801: 2007 , pero que el autor
considera, ya no solo importantes si no imprescindibles para la interpretacin y
desarrollo fsico de este proyecto.

1
http://www.aenor.es/aenor/normas/buscadornormas/

5
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Por otro lado el creador de este trabajo, Ingeniero de titulacin, pero


informtico de profesin y autnomo en trabajos de internet durante la ltima
dcada presentar una memoria ms descriptiva que si se tratase de un proyecto
comercial o concursal, intentando llegar a un pblico ms amplio no familiarizado
con trminos muy especficos de software. Incluyendo un exceso de grficos,
diagramas, tablas o enlaces descriptivos en un nmero elevado. Interprtese por
ello que la idea final es la de evitar una prdida en su lectura y no una carencia
informativa o tcnica contradiciendo el dicho romano Excusatio non petita,
accusatio manifesta. Aunque por otro lado esto es solo una corroboracin del punto
6.1 de la norma UNE 157801: 2007 que indica La Memoria debe ser claramente
comprensible, no slo por profesionales especialistas sino por terceros, y en
particular por el receptor del producto. Debe redactarse con este espritu, de forma
que la informacin ms detallada y tcnica debe ir en los otros documentos bsicos
y en los anexos.

ORDEN DOCUMENTAL

Segn la norma UNE 157801: 2007 en su apartado 4.2 el proyecto debe


constar de los siguientes documentos bsicos:

ndice general

Memoria

Anexos

Especificaciones del Sistema

Presupuesto

Estudios con Entidad Propia

Dichos documentos se deben presentar en el orden indicado. Se aadirn


como se ha explicado un nuevo captulo para los Planos, y un Pliego de
Condiciones, principalmente tcnico, relativo a las condiciones de instalacin y
gestin del software.

6
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

NUMERACIN Y SUBDIVISION DOCUMENTAL

Los documentos se numerarn de acuerdo con lo indicado en la Norma UNE


50-132.

La divisin en captulos surge tambin de un anlisis y consulta personal del


autor a dicha norma. As como la no inclusin de algunos de ellos.

7
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

AGRADECIMIENTOS

A mis directores de Proyecto: Montserrat Gil Martnez, y Javier Rico Azagra por
haberme acogido en su grupo de trabajo como uno ms. A mis compaeros de
despacho: Silvano Njera y Luis Garca por esa idea genial cuando las puertas se
cierran y por aguantar las historias del abuelo. A las empresas Riojawebs.com
Diseo y Programacin web, a Zainder.com Soluciones Tecnolgicas por haberme
dado vacaciones de 6 meses.. A la empresa PhoscodeSL por sus cuadricpteros e
informacin. A la Informtica especialista en Sistemas, Sofa Soro y a los clientes
que me han prestado placas de Arduino, sensores, material extra, etc. A los clientes
que he abandonado estos meses: no os vayis. A Ramn Rico y Paloma
Maisterra por dejarme interrumpirles en sus tareas para probar mis cachivaches. Al
hacker Tijuinem por incentivarme a crear proyectos Open Source. A vosotros, mis
indmitos seres cercanos que habis repetido la palabra termina cada seis meses
durante los ltimos 10 aos

A las comunidades, foros y a los creadores de Hardware y Open Source por


hacer libre no solo el cdigo si no la informacin en si misma que crea un mundo
mejor, ms abierto y de ms fcil acceso para todos.

Atte.

Garba. Julio 2014.

yo@eduardogarbayo.com +34 629486109.

@egarbayo

Logroo, a 07 de Julio de 2014

8
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

DOCUMENTO N1:

MEMORIA DESCRIPTIVA

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1. MEMORIA ............................................................................................... 16

1.1 OBJETO .................................................................................................................................... 17


1.1.1 PALABRAS CLAVE .................................................................................................................. 17
1.1.2 KEYWORDS ........................................................................................................................... 17
1.1.3 APARTADOS DE LA MEMORIA .............................................................................................. 18

1.2 ANTECEDENTES ........................................................................................................................ 21


1.2.1 ANTECEDENTES DEL AUTOR ................................................................................................. 21
1.2.2 ANTECEDENTES DEL PROYECTO ........................................................................................... 24
1.2.2.1 QU ES ARDUINO Y SUS ALTERNATIVAS: ........................................................................ 24
1.2.2.2 VEHCULO AREO NO TRIPULADO UAV. DRONE............................................................. 25

1.3 OBJETIVOS DEL PROYECTO ....................................................................................................... 28


1.3.1 OBJETIVOS CUMPLIDOS ........................................................................................................ 29
1.3.2 EXTRAS AADIDOS ............................................................................................................... 31
1.3.3 CONOCIMIENTOS PREVISO NECESARIOS .............................................................................. 32
1.3.4 CONOCIMIENTOS A ADQUIRIR ............................................................................................. 32

1.4 CONCLUSIONES Y VAS DE CONTINUACIN .............................................................................. 34


1.4.1 APLICACIONES ...................................................................................................................... 34

1.5 TIMELINE ................................................................................................................................. 38

1.6 ARDUINO ................................................................................................................................. 40


1.6.1 SELECCIN DE LA TARJETA USADA ....................................................................................... 40
1.6.2 ALTERNATIVA CON EL MODULO ETHERNET ........................................................................ 41
1.6.3 POWER OVER ETHERNET, POE ............................................................................................. 42
1.6.4 SALIDA VIA ROUTER A RED ................................................................................................... 42
1.6.5 MODO SERVIDOR EN LOCAL LOCALHOST .......................................................................... 42
1.6.6 MODO SERVIDOR EN INTERNET ........................................................................................... 44
1.6.7 SENSORES INSTALADOS. ....................................................................................................... 46
1.6.7.1 OTROS SENSORES............................................................................................................ 47

1.7 NUEVO PARADIGMA ................................................................................................................ 48

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
1.7.1 RECOGIDA DE DATOS EN PUERTO SERIE .............................................................................. 49
1.7.2 MODULOS INALAMBRICOS ................................................................................................... 54
1.7.3 SISTEMA 3DR ........................................................................................................................ 54
1.7.4 SISTEMA XBEE - ZIGBEE ........................................................................................................ 56
1.7.5 POSICIONAMIENTO GLOBAL GPS ......................................................................................... 58
1.7.6 EMISIN Y RECEPCIN DE DATOS ........................................................................................ 60
1.7.7 EMISIN DESDE ARDUINO.................................................................................................... 62

1.8 PROCESSING RECEPCIN DE DATOS - .................................................................................... 63


1.8.1 USO DEL PUERTO SERIE COM ............................................................................................... 65
1.8.2 CONSOLAS DE CONTROL EN PROCESSING ............................................................................ 67
1.8.3 CONSOLA BSICA.................................................................................................................. 67
1.8.4 CONSOLA COMPLETA DE CONTROL PARA MUESTRESO REALTIME ...................................... 68
1.8.5 CONSOLA COMPLETA DE CONTROL PARA POSICIONAMIENTO GPS .................................... 73
1.8.6 ALTERNATIVAS A ARDUINO-PROCESSING (JAVA,PHP) ......................................................... 80

1.9 PANEL DE ADMIN WEB ............................................................................................................ 82


1.9.1 CAMARA WIFI MONTADA EN DRONE ................................................................................... 83
1.9.2 LIVE STREAMING................................................................................................................... 88
1.9.3 ANGULARES DE GRABACIN ................................................................................................ 89
1.9.4 EFECTO FLAN GELATINA O ROLLING SHUTTER .................................................................. 89
1.9.5 RECEPCIN DE VIDEO LIVE STREAMING ............................................................................... 89

1.10 CAPACIDAD DE TRABAJAR EN TIEMPO REAL........................................................................ 92


1.10.1 EN MODO CONSOLA LOCAL.................................................................................................. 92
1.10.2 EN MODO ONLINE. ............................................................................................................... 92

1.11 FLUJO DE DATOS Y OPEN DATA ........................................................................................... 95


1.11.1 OPEN DATA ........................................................................................................................... 96
1.11.2 TIEMPO REAL DE LAS APLICACIONES .................................................................................. 101
1.11.3 FUNCIONAMIENTO MODELO 1 TIEMPO REAL .................................................................... 103
1.11.4 FUNCIONAMIENTO MODELO 2 Y 3 TIEMPO REAL .............................................................. 104
1.11.5 ALTERNATIVA PARA EL MODELO 2 Y 3 ............................................................................... 105

1.12 BOOTSTRAP DE TWITTER .................................................................................................. 107


1.12.1 VISUALIZACIN EN INTERNET DE LOS DATOS .................................................................... 110
1.12.2 COMO RESULTADO UN SISTEMA MULTIPLATAFORMA ...................................................... 112

4
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
1.12.3 FORMATOS GRAFICOS DE LOS DATOS ................................................................................ 113

1.13 VERSIONES DEL SOFTWARE ............................................................................................... 116

1.14 REQUISITOS DE EXPOSICIN-PRESENTACIN .................................................................... 118

1.15 ORDEN DE PRIORIDAD DOCUMENTAL ............................................................................... 120


1.15.1 COMPATIBILIDAD Y RELACION ENTRE DICHOS DOCUMENTOS .......................................... 120

1.16 BIBLIOGRAFA ................................................................................................................... 120


1.16.1 REFERENCIAS BIBLIOGRFICAS DE ESTUDIOS CON ENTIDAD PROPIA. ............................... 121

1.17 DEFINICIONES Y ABREVIATURAS........................................................................................ 122

1.18 NORMAS Y REFERENCIAS .................................................................................................. 128


1.18.1 NORMAS PARA CONSULTA ................................................................................................. 128

1.19 INDICE DE ILUSTRACIONES ................................................................................................ 137

2. PLANOS ................................................................................................... 3

2.1 INTRODUCCIN ......................................................................................................................... 3

SONDA DE TEMPERATURA NTC ........................................................................................................... 4

SENSOR LDR ........................................................................................................................................ 4

SENSOR LM35 ..................................................................................................................................... 4

POTENCIOMETRO................................................................................................................................ 4

SISTEMA INALAMBRICO XBEE ............................................................................................................. 4

GPS GTPA 013 ..................................................................................................................................... 4

GPS GTPA 013 + LM 35 ....................................................................................................................... 4

LDR + LM35 + XBEE + GPS + ARDUINO ETHERNET ................................................................................ 4

POTENCIOMETRO + GPS + XBEE + ARDUINO....................................................................................... 4

5
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3. ESPECIFICACIONES DEL SISTEMA ...................................................... 3

3.1 CONFIGURACIONES BSICAS ..................................................................................................... 3

3.2 CONFIGURACIN PUESTA EN MARCHA DEL DRONE ................................................................... 3


3.2.1 SOFTWARE DE CONFIGURACION ............................................................................................ 7

3.3 ARDUINO ................................................................................................................................... 8


3.3.1 PUESTA EN MARCHA .............................................................................................................. 8
3.3.2 PUERTO SERIE ......................................................................................................................... 8
3.3.3 IDE DE ARDUINO ..................................................................................................................... 9
3.3.4 INSTALACIN EN WINDOWS XP-7-8-8.1................................................................................. 9
3.3.5 INSTALACIN EN LINUX - UBUNTU ....................................................................................... 10
3.3.6 DRIVERS DE ARDUINO. ......................................................................................................... 11
3.3.7 PUERTOS SERIE. .................................................................................................................... 11
3.3.8 PROBLEMAS DE INSTALACIN. IDE, DRIVERS, ETC ............................................................... 12
3.3.9 NO DETECTA DRIVERS........................................................................................................... 12
3.3.10 PUERTO OCUPADO ............................................................................................................... 13
3.3.11 MUY LENTO EL IDE BAJO WINDOWS 7 ................................................................................. 14
3.3.12 ARRCANCA LA IDE DE ARDUINO ........................................................................................... 14
3.3.13 USO DE LA SHIELD ETHERNET ............................................................................................... 15
3.3.14 LIBRERAS PARA ARDUINO.................................................................................................... 15
3.3.15 CONFIGURANDO LA RED EN MODO LOCALHOST E INTERNET DIRECTO .............................. 16
3.3.15.1 CONFIGURACIN DEL ROUTER ..................................................................................... 21

3.4 CONVERTIR EL ORDENADOR EN UN SERVIDOR ........................................................................ 23


3.4.1 CREACIN DE UN WAMP ...................................................................................................... 24
3.4.2 CREACIN DE UN LAMP ....................................................................................................... 24
3.4.3 COMPROBACIN .................................................................................................................. 25
3.4.4 COMUNICACIN BSICA- COMPROBACIONES ..................................................................... 26
3.4.5 CODIGO BASICO PARA ENVIAR DATOS VIA ETHERNET CON GET A UNA SQL ....................... 26

3.5 ENVO DE DATOS DESDE ARDUINO A PROCESSING VIA SERIAL ................................................ 27


3.5.1 DESDE PHP ............................................................................................................................ 29

3.6 INSTALACIN DE SENSORES ..................................................................................................... 31


3.6.1 ENTRADAS. SALIDAS PVM. .................................................................................................... 31

6
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
3.6.2 POTENCIOMETRO ................................................................................................................. 33
3.6.2.1 CODIGO BSICO EN ARDUINO PARA UN POTENCIOMETRO ........................................... 34
3.6.3 SONDA NTC DE TEMPERATURA ............................................................................................ 35
3.6.3.1 CODIGO ARDUINO PARA NTC STEINHARHART............................................................. 38
3.6.3.2 CODIGO ARDUINO PARA NTC MTODO 2 - .................................................................. 39
3.6.4 INSTALACIN DE UNA LDR ................................................................................................... 41
3.6.4.1 ACONDICIONAMIENTO DE SEAL ................................................................................... 42
3.6.5 SENSOR LM35 ....................................................................................................................... 45
3.6.6 CONFIGURACIN DEL GPS .................................................................................................... 49
3.6.6.1 CONFIGURACIN HARDWARE ........................................................................................ 49
3.6.6.2 CODIGO ARDUINO PARA LECTURA DEL GPS ................................................................... 50
3.6.7 OTROS SENSORES ................................................................................................................. 54

3.7 IDE PARA PROCESSING ............................................................................................................. 55


3.7.1 LIBRERIAS PARA PROCESSSING ............................................................................................. 55
3.7.2 CONDICIONES DE EJECUCIN DE PROCESSING .................................................................... 56
3.7.3 PROBLEMAS DE EJECUCIN DE PROCESSING ....................................................................... 57
3.7.4 LIBRERIAS PARA PROCESSING............................................................................................... 61
3.7.5 CONDICIONES DEL SISTEMA GRFICO .................................................................................. 62

3.8 CONFIGURACION DE XBEE ....................................................................................................... 65


3.8.1 CONFUSIN ZIGBEE, Y PROTOCOLO 802.15.4 EN MDULOS XBEE...................................... 67
3.8.2 CARACTERSTICAS ................................................................................................................. 67
3.8.3 CONFIGURACIN DE LOS JUMPERS ...................................................................................... 68
3.8.4 SOFTWARE ............................................................................................................................ 68
3.8.5 HARDWARE........................................................................................................................... 70

3.9 CONFIGURACIN DE 3DR ......................................................................................................... 72


3.9.1 SOFTWARE ............................................................................................................................ 72
3.9.1.1 AJUSTES. .......................................................................................................................... 73
3.9.1.2 CONDICIONES TCNICAS PARA QUE FUNCIONE PROCESSING........................................ 75
3.9.2 PLANOS ................................................................................................................................. 76
3.9.3 HARDWARE........................................................................................................................... 76

3.10 GPS PARA ARDUINO ............................................................................................................ 77


3.10.1 LIBRERIAS PARA GPS ............................................................................................................. 77

7
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
3.10.2 INSTALACIN DE LIBRERAS PARA ARDUINO........................................................................ 79
3.10.3 PROTOCOLO NMEA .............................................................................................................. 80
3.10.4 CONVERSIN PERSONALIZADA DE DATOS DMM , DDD ....................................................... 82

3.11 LIVE STREAMING VIA WIFI ................................................................................................... 83


3.11.1 WLAN, LA RED INALAMBRICA ............................................................................................... 85
3.11.2 802,11G ................................................................................................................................ 86
3.11.3 802.11A................................................................................................................................. 86
3.11.4 802.11N ................................................................................................................................ 87
3.11.5 COMPATIBILIDAD DE LOS DOSPOSITIVOS WLAN N .............................................................. 88

3.12 VUELO DEL DRONE .............................................................................................................. 89


3.12.1 CONCICIONES MNIMAS DEL DRONE ................................................................................... 89
3.12.2 COMPAS, GPS, IMUS ............................................................................................................. 90
3.12.3 POR QU CALIBRAR LA BRJULA? ...................................................................................... 90
3.12.4 CUNDO HACERLO?............................................................................................................ 90
3.12.5 AVISOS .................................................................................................................................. 90
3.12.6 PROCDIMIENTO DE CALIBRACIN ........................................................................................ 91
3.12.7 SOFTWARE DE CONFIGURACION DE EMISORA Y DRONE ..................................................... 92

4. ANEXOS ................................................................................................... 2

4.1 ARDUINO ................................................................................................................................... 2


4.1.1 ARDUINO MEGA 2 ARDUPILOT ............................................................................................ 2
4.1.2 IDE DE ARDUINO ..................................................................................................................... 4
4.1.3 ARDUINO LENTO..................................................................................................................... 4

4.2 SENSORES EXTRA ....................................................................................................................... 7


4.2.1 DHT 11 - HUMEDAD................................................................................................................ 7
4.2.2 SERIE MQ X ............................................................................................................................. 8
4.2.3 MQ2. ....................................................................................................................................... 9
4.2.4 MQ3. ..................................................................................................................................... 10
4.2.5 MQ4. ..................................................................................................................................... 10
4.2.6 MQ-5..................................................................................................................................... 10
4.2.7 MQ-6..................................................................................................................................... 11
4.2.8 MQ-7..................................................................................................................................... 11

8
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.2.9 MQ-8..................................................................................................................................... 12
4.2.10 MQ-9..................................................................................................................................... 12
4.2.11 MQ131 .................................................................................................................................. 12
4.2.12 MQ135 .................................................................................................................................. 12
4.2.13 MQ136 .................................................................................................................................. 13
4.2.14 MQ137 .................................................................................................................................. 13
4.2.15 MQ138 .................................................................................................................................. 13
4.2.16 MQ214 .................................................................................................................................. 13
4.2.17 MQ216 .................................................................................................................................. 13
4.2.18 MQ303A ............................................................................................................................... 13
4.2.19 MQ306A ............................................................................................................................... 14
4.2.20 MQ307A ............................................................................................................................... 14
4.2.21 MQ309A ............................................................................................................................... 14
4.2.22 MG811 .................................................................................................................................. 14
4.2.23 AQ-104 .................................................................................................................................. 14
4.2.24 AQ-2 ...................................................................................................................................... 14
4.2.25 AQ-3 ...................................................................................................................................... 15
4.2.26 AQ-7 ...................................................................................................................................... 15

4.3 OTROS FORMATOS .................................................................................................................. 15

4.4 COMUNICACIN PUERTO SERIE ............................................................................................... 15


4.4.1 PUERTOS SERIE MODERNOS................................................................................................. 16
4.4.2 USB ESTNDAR ..................................................................................................................... 16
4.4.2.1 PATILLAJE ........................................................................................................................ 18

4.5 MODULOS INALAMBRICOS ...................................................................................................... 18


4.5.1 COMUNICACIN XBEE .......................................................................................................... 20
4.5.2 XBEE 1MW SERIE 1 ............................................................................................................ 21
4.5.3 XBEE 2MW SERIE 2 ............................................................................................................ 21
4.5.4 ARQUITECTURA BSICA DE UNA RED XBEE. ......................................................................... 22
4.5.5 MODOS RECIBIR/TRANSMITIR. ............................................................................................. 24
4.5.6 MS FUNCIONES .................................................................................................................. 25
4.5.7 MDULOS PRO ..................................................................................................................... 30
4.5.8 DIGI EN ESPAA, LOGROO, LA RIOJA. ................................................................................ 30
4.5.9 LIBRERIA SERIAL. COMUNICACIONES PUERTO SERIE ........................................................... 31

9
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.5.10 CREACIN DE UN TIMELINE ................................................................................................. 32

4.6 GPS .......................................................................................................................................... 35


4.6.1 GPS GTPA 013 BASADO EN MTK3339 - .............................................................................. 35
4.6.2 DETALLES TCNICOS ............................................................................................................. 37
4.6.3 DESCARGAS DE HOJAS TECNICAS DRIVERS Y SOFTWARE .................................................... 38
4.6.4 PROTOCOLO NMEA .............................................................................................................. 38
4.6.5 RECEPCIN E INTERCAMBIO DE DATOS DEL GPS ................................................................. 39
UTM COORDINADAS....................................................................................................................... 39
COORDENADAS GEOGRFICAS (LATITUD, LONGITUD) ................................................................. 40

4.7 ANEJOS NO IMPRESOS PRESENTADOS EN FORMATO DIGITAL ENLAZADO ............................... 40


4.7.1 CUADRO NACIONAL DE ATRIBUCIN DE FRECUENCIAS (CNAF) ........................................... 40
4.7.2 SOLUCIONES WIFI DE LARGO ALCANCE ................................................................................ 41
4.7.3 CONFIGURACIN CON VERSIN CLSICA ............................................................................ 41
4.7.4 CONFIGURACIN CON VERSIN ACTUALIZADA 2014 .......................................................... 44

4.8 IMPORTAR UNA LIBRERA PARA FRITZING ............................................................................... 48

4.9 LISTADO DE CODIGOS .............................................................................................................. 49


4.9.1 FUNCIONES BSICAS DE ARDUINO ....................................................................................... 49
4.9.1.1 LOCALIZAR LA IP DE MI ARDUINO DHCP - .................................................................... 49
4.9.1.2 COMUNICACIN ARDUINO CON SERVIDORES LOCALES Y REMOTOS............................. 50
4.9.1.2.1 ALGUNOS RESULTADOS DE DIFERENTES CONEXIONES........................................... 51
4.9.1.2.2 LECTURAS BSICAS Y CONVERSIONES EN ARDUINO ETHERNET ............................. 52
4.9.2 FUNCIONES BSICAS DE PROCESSING .................................................................................. 58
4.9.2.1 CONSOLA 1...................................................................................................................... 58
4.9.2.1.1 VARIABLES DE CONFIGURACIN ............................................................................. 58
4.9.2.1.2 PARTE DE LA FUNCIN MAIN .................................................................................. 59
4.9.2.1.3 FUNCIONES PARA DIBUJAR FONDOS Y REJILLAS ..................................................... 59
4.9.2.2 CONSOLA PRINCIPAL ....................................................................................................... 64
4.9.2.2.1 DECLARACIN DE VARIABLES Y CONFIGURACIONES .............................................. 64
4.9.2.2.2 ALGUNAS FUNCIONES DEL SISTEMA ....................................................................... 65
4.9.2.2.3 OTRAS FUNCIONES COMPARITDAS ENTRE APLICACIONES ..................................... 73
4.9.2.3 CONSOLA GPS ................................................................................................................. 76
4.9.2.3.1 CONFIGURACION PRINCIPAL DE LA CONSOLA GPS ................................................. 76

10
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.9.2.3.2 CONFIGURACIN 2 DE LA CONSOLA GPS SETUP ............................................... 77
4.9.2.3.3 FUNCION PARA EL CAMBIO DE PROVEEDOR DE MAPAS ........................................ 78
4.9.2.3.4 PARTE DEL BUCLE DE LA FUNCIN MAIN ............................................................... 78
4.9.2.3.5 FUNCIONES LLAMADAS EN CONSOLA GPS.............................................................. 80
4.9.3 FUNCIONES BSICAS DE LA APLICACIN WEB ..................................................................... 85
4.9.3.1 BOOSTRAP DE TWITTER MODIFICADO............................................................................ 85
4.9.3.2 DESARROLLOS EN PHP MYSQL - HTML......................................................................... 85
4.9.3.2.1 HACER UN GET EXTERNO PARA INSERCCIN ......................................................... 85
4.9.3.2.2 BORRAR UN DATO EN UNA BASE DE DATOS ........................................................... 86
4.9.3.2.3 BORRAR TODA UNA BASE DE DATOS ...................................................................... 87
4.9.3.2.4 CREAR UNA BASE DE DATOS DE PRUEBA ................................................................ 87
4.9.3.2.5 INSERTAR UN DATO EN HTML POR GET .................................................................. 88
4.9.3.2.6 BORRAR UN DATO MEDIANTE FORMULARIO ......................................................... 88
4.9.3.2.7 SACA POR PANTALLA EL VALOR DE LA TEMPERATURA ........................................... 89
4.9.3.2.8 MOSTRAR LA BASE DE DATOS ................................................................................. 89

4.10 PENDIENTE .......................................................................................................................... 91

4.11 OPEN SOURCE Y CREATIVE COMMONS................................................................................ 93


4.11.1 OPEN HARDWARE ................................................................................................................ 93

5. PLIEGO DE CONDICIONES .................................................................... 3

5.1 PLIEGO DE CONDICIONES GENERAL ........................................................................................... 4


5.1.1 PLIEGO DE CONDICIONES LEGALES ........................................................................................ 4
5.1.2 CONDICIONES GENERALES ..................................................................................................... 4
5.1.3 CONDICIONES PARTICULARES. ............................................................................................... 8
5.1.4 SEGURIDAD Y CONFIDENCIALIDAD ..................................................................................... 10

5.2 NORMAS LEYES Y REGLAMENTOS ............................................................................................ 11

5.3 PROPIEDAD INTELECTUAL DEL SOFTWARE. .............................................................................. 12


5.3.1 COMPETENCIAS REFERIDAS A LA PROGRAMACIN ............................................................. 12

5.4 PLIEGO DE CONDICIONES PARA EL TRATAMIENTO ESTANDARIZADO DE LOS DATOS ............... 18


5.4.1 SEMNTICA Y LINKED DATA ................................................................................................. 18
5.4.2 REUTILIZACIN DE INFORMACIN ....................................................................................... 19

11
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.4.3 JUSTIFICACIN Y ENFOQUE ................................................................................................ 19
5.4.4 ALCANCE Y OBJETIVOS ...................................................................................................... 20
5.4.5 CLASIFICACIN Y SEGUIMIENTO DE LOS SERVICIOS ELECTRNICOS .............................. 20
5.4.6 DATOS ENLAZADOS ............................................................................................................. 21
5.4.7 FACILIDAD AL USUARIO Y MULTICANALIDAD .................................................................. 22
5.4.8 REQUISITOS TCNICOS....................................................................................................... 22
5.4.9 PLATAFORMA CLIENTE ........................................................................................................ 23
5.4.10 LISTADO DE NAVEGADORES EN DIFERENTES VERSIONES Y SU COMPATIBILIDAD ............... 24
5.4.11 PERFILES Y PERSONAS ....................................................................................................... 27
5.4.12 CONSULTOR SEMNTICO .................................................................................................... 27
5.4.13 ANALISTA FUNCIONAL ......................................................................................................... 27
5.4.14 PROGRAMADOR ................................................................................................................... 27
5.4.15 EXPERTO EN A RQUITECTURA DE LA INFORMACIN ....................................................... 27
5.4.16 CONDICIONES DEL SERVICIO.............................................................................................. 28
5.4.17 REPOSITORIO DOCUMENTAL .............................................................................................. 28
5.4.18 PROPIEDAD INTELECTUAL, SEGURIDAD YCONFIDENCIALIDAD. ....................................... 28

5.5 PLIEGO DE CONDICIONES ADMINISTRATIVAS .......................................................................... 30


5.5.1 DOCUMENTACIN DEL PROYECTO....................................................................................... 30
5.5.2 CONDICIONES DE SEGURIDAD .............................................................................................. 31
5.5.3 SEGURIDAD Y PREVENCIN .................................................................................................. 32
5.5.4 NORMATIVA Y REGLAMENTACIN ....................................................................................... 33
5.5.5 MBITO DE ACTUACIN ....................................................................................................... 35

5.6 PLIEGO DE CONDICIONES TCNICAS ......................................................................................... 36


5.6.1 VERIFICACIONES PREVIAS ..................................................................................................... 36
5.6.2 CONDICIONES GENERALES DE LOS MATERIALES .................................................................. 37
5.6.3 COMPONENTES ELECTRNICOS ......................................................................................... 37
5.6.4 SENSORES ............................................................................................................................. 37
5.6.5 MATERIAL DE LOS CABLES .................................................................................................... 39
5.6.6 CARACTERSTICAS DE LOS SERVICIOS CIVIL .......................................................................... 39
5.6.7 ENSAMBLADO E INTERCONEXIONADO DE LOS DISTINTOS ELEMENTOS.............................. 39
5.6.8 TEST DE VALIDACIN DE DATOS........................................................................................... 39
5.6.8.1 VALIDACIN DE LA COHERENCIA INTERNA DE LOS DATOS. RELACIONES ENTRE
VARIABLES. 41
5.6.9 PUESTA EN MARCHA Y MANTENIMIENTO ........................................................................... 41

12
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.6.10 PRECAUCIONES DE USO........................................................................................................ 42
5.6.11 PLIEGO DE CONDICIONES ECONMICAS .............................................................................. 42
5.6.11.1 DERECHOS Y DEBERES DEL CONTRATISTA .................................................................... 42
5.6.11.2 DERECHOS ..................................................................................................................... 43
5.6.11.3 DEBERES ........................................................................................................................ 44
5.6.12 DERECHOS Y DEBERES DEL CONTRATANTE .......................................................................... 44
5.6.13 DERECHOS ............................................................................................................................ 44
5.6.14 DEBERES ............................................................................................................................... 44
5.6.15 FORMALIZACIN DEL CONTRATO ........................................................................................ 45
5.6.16 EXTINCIN DEL CONTRATO .................................................................................................. 45
5.6.17 PLAZOS DE EJECUCIN ......................................................................................................... 46
5.6.18 FORMA DE PAGO .................................................................................................................. 46
5.6.19 FIANZA .................................................................................................................................. 47
5.6.20 GARANTAS Y PLAZOS DE GARANTA .................................................................................... 48

5.7 CALIDAD .................................................................................................................................. 49


5.7.1 NORMAS DE CALIDAD........................................................................................................... 50

5.8 CONCEPTOS COMPRENDIDOS .................................................................................................. 51


5.8.1 CONCEPTOS NO COMPRENDIDOS ........................................................................................ 53
5.8.2 INTERPRETACIN DEL PROYECTO ........................................................................................ 54
5.8.3 COORDINACIN DEL PROYECTO........................................................................................... 54
5.8.4 MODIFICACIONES AL PROYECTO .......................................................................................... 55
5.8.5 REGLAMENTACIN DE OBLIGADO CUMPLIMIENTO ............................................................ 55
5.8.6 DOCUMENTACIN GRFICA ................................................................................................. 56
5.8.7 DOCUMENTACIN FINAL DE OBRA ...................................................................................... 56

5.9 PLIEGO DE CONDICIONES PARA ESTANDARES DEL SOFTWARE ................................................. 58


5.9.1 PLAN DE ASEGURAMIENTO DE LA CALIDAD IEEE STD 730-2002 .......................................... 58
5.9.1.1 LA CALIDAD EN INGENIERA DEL SOFTWARE .................................................................. 58
5.9.1.2 DEFINICIN DE LA CALIDAD DEL SOFTWARE .................................................................. 59
5.9.1.3 EL MODELO SPICE ........................................................................................................... 60
5.9.1.4 DESCRIPCIN DE LOS REQUISITOS DEL SOFTWARE (SRD) .............................................. 61
5.9.1.5 DOCUMENTACIN DEL USUARIO ................................................................................... 61
5.9.1.6 PLAN DE GESTIN DE CONFIGURACIN DEL SOFTWARE (SCMP)................................... 62
5.9.1.7 VERSIONES DEL SOFTWARE ............................................................................................ 62

13
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.9.1.8 BIBLIOTECA DE SOFTWARE ............................................................................................. 62
5.9.1.9 CONTROL DE LA CONFIGURACIN DEL SOFTWARE ........................................................ 62
5.9.2 ESPECIFICACIN DE LOS REQUISITOS SOFTWARE IEEE 830 1998 ..................................... 63
5.9.2.1 CABE DESTACAR: ............................................................................................................. 63
5.9.2.2 REFERENCIAS .................................................................................................................. 64
5.9.2.3 ELABORACIN DE LOS PERFILES DE USUARIO ................................................................ 65
5.9.2.4 FIABILIDAD ...................................................................................................................... 65
5.9.2.5 USABILIDAD..................................................................................................................... 65
5.9.2.6 SEGURIDAD ..................................................................................................................... 66
5.9.2.7 MANTENIMIENTO ........................................................................................................... 66
5.9.2.8 PORTABILIDAD ................................................................................................................ 66
5.9.3 DESCRIPCIONES DEL DISEO DE SOFTWARE IEEE STD 1016 2009 .................................... 66
5.9.3.1 MBITO DE APLICACIN ................................................................................................. 67
5.9.3.2 PROPSITO ..................................................................................................................... 67
5.9.4 FUNDAMENTOS DE LAS PRUEBAS. ADAPTADO DEL ESTNDAR IEEE 729 ............................ 67
5.9.4.1 INTRODUCCIN ............................................................................................................... 67
5.9.4.2 PRUEBAS DE ACEPTACIN .............................................................................................. 69
5.9.4.3 ERRORES VS FALLOS ........................................................................................................ 69
5.9.4.4 CRITERIOS PARA DAR POR FINALIZADAS LAS PRUEBAS .................................................. 69
5.9.4.5 REALIZAR PRUEBAS PARA LA IDENTIFICACIN DE DEFECTOS......................................... 69
5.9.4.5.1 PRUEBAS VS DEPURACIN ..................................................................................... 70
5.9.4.5.2 PRUEBAS Y CERTIFICACIN .................................................................................... 70
5.9.4.6 CONCLUSIONES ............................................................................................................... 71
5.9.4.7 PRUEBAS DE SISTEMA ..................................................................................................... 71
5.9.4.8 PRUEBAS DE INSTALACIN ............................................................................................. 72
5.9.4.9 PRUEBAS ALFA Y BETA .................................................................................................... 73
5.9.4.10 PRUEBAS DE RENDIMIENTO.......................................................................................... 74
5.9.4.11 PRUEBAS DE CONFIGURACIN ..................................................................................... 75
5.9.4.12 PRUEBAS DE FACILIDAD DE USO ................................................................................... 75
5.9.4.13 ANLISIS DE LOS VALORES LMITE ................................................................................ 75
5.9.4.14 PRUEBAS ORIENTADAS A LA CONFIABILIDAD DEL SOFTWARE ..................................... 76
5.9.4.15 BASADAS EN COMPONENTES ....................................................................................... 76
5.9.4.16 PRUEBAS PARA INTERNET ............................................................................................. 77
5.9.4.17 LAS ESTRATEGIAS DE EVALUACIN............................................................................... 77
5.9.4.18 PRUEBAS PARA GUI ....................................................................................................... 78

14
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.9.4.19 GUAS PARA LAS PRUEBAS ............................................................................................ 79
5.9.5 ESTNDARES ......................................................................................................................... 81

5.10 ERRORES EN EL PROYECTO .................................................................................................. 83

5.11 LIQUIDACIN ...................................................................................................................... 83

5.12 DISPOSICIN FINAL ............................................................................................................. 83

6. PRESUPUESTO ....................................................................................... 2

6.1 INTRODUCCIN ......................................................................................................................... 2

6.2 ESTADO DE MEDICIONES............................................................................................................ 4

6.3 LISTA DE PRECIOS....................................................................................................................... 6

6.4 LISTA DE MATERIAL.................................................................................................................... 9


6.4.1 PLACAS, ARDUINOS Y COMPONENTES ................................................................................. 10
6.4.2 LICENCIAS EN EL SOFTWARE ................................................................................................ 11
6.4.3 LISTADO DE MATERIAL RELATIVO AL VUELO ........................................................................ 13

6.5 RESUMEN DEL PRESUPUESTO. ................................................................................................. 14

6.6 PRECIO PARA VENTA COMO PACK ........................................................................................... 15

6.7 PRECIO PARA ALQUILER ........................................................................................................... 15

6.8 PRESENTACIN A CONCURSOS PUBLICOS. RGIMEN CONCURSAL ........................................... 16

7. ESTUDIOS CON ENTIDAD PROPIA........................................................ 3

7.1 MARCO NORMATIVO BSICO SOBRE SEGURIDAD Y SALUD ....................................................... 4

7.2 PROYECTOS SOMETIDOS A EVALUACIN DE IMPACTO AMBIENTAL .......................................... 6

15
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1. MEMORIA

En ella se describir el objeto de las obras, servicios, y trabajos relativos a


este proyecto con Drones, placas microcontroladoras y recoger los antecedentes y
situacin previa de las mismas, las necesidades a satisfacer y la justificacin de la
solucin adoptada, descripcin de las diferentes unidades de la obra, detallndose
los factores de todo orden a tener en cuenta. Asimismo se incluir el resumen de
presupuestos, el plazo de ejecucin previsto, la clasificacin del contratista de los
servicios, ndice de los documentos que componen el proyecto, manifestacin
expresa y justificada de que el proyecto comprende una obra completa o
fraccionada segn el caso, declaracin del cumplimiento de la Ley de Contratos y
consideraciones finales.

Un esquema aproximado del documento podra ser el que se relaciona a


continuacin: Antecedentes, Estudios Previos, Estudios Tcnicos. Se presenta esta
memoria, junto con sus Pliegos de Condiciones, Anejos, Presupuestos y Planos,
siguiendo el modelo UNE 157801: 2007 singularizando para un tpico de Proyecto
Fin de Carrera (PFC) correspondiente al plan clsico de Ingeniera Industrial. Se
consult en cambiar el formato para adaptarlo al modelo actual de Grado, pero se
recomend usar el sistema clsico pero actualizado a la norma usada. Como
resultado se obtiene una memoria que describe qu se ha hecho un pliego de
condiciones y unas especificaciones que abarcan cmo se ha hecho, y como se
debera hacer, usar, y unos anejos que incluyen qu se ha utilizado para. Aparte
de mediciones extras, presupuestos, y planos. Como se ratifica en UNE 157801:
2007 Criterios generales para la elaboracin de proyectos de sistemas de
informacin (por ejemplo, proyectos de aplicaciones informticas).

16
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.1 OBJETO

Se disear un sistema de bajo coste para la medicin de parmetros


medioambientales cualesquiera que sean necesarios en dicho contexto mediante un
vehculo areo no tripulado, Drone, UAD. Se transmitirn dichos datos en tiempo
real a una estacin remota basada en un ordenador personal (porttil) mediante un
sistema inalmbrico. Se almacenar su informacin tanto en servidores localhost
como en internet. Se podr consultar desde cualquier dispositivo. Ordenador,
mvil, tableta, etc. pues se intentar que todo el desarrollo web final sea abierto y
responsive sin cerrar el acceso a ninguna plataforma.

Todo el tratamiento intermedio de la informacin ser un Open Data estndar,


que proporcionar un flujo de datos visible en cualquier entorno y accesible desde
cualquier dispositivo compatible.

1.1.1 PALABRAS CLAVE

Arduino, Vehculo areo no tripulado, Processing, Multirotor, Cuadricptero,


Java, PHP, MySQL, JSON, software Tiempo real, parmetro ambiental, diseo
responsable, html5, lienzo, cdigo abierto, datos abiertos, entorno de desarrollo,
Drone.

1.1.2 KEYWORDS

Arduino, unmanned aerial vehicle, Processing, Quadricopter, Java, PHP,


MySQL, JSON, Real Time software, environment parameter, responsive web design,
html5, canvas, open source, open data, framework, IDE.

17
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.1.3 APARTADOS DE LA MEMORIA

Para el desarrollo de esta memoria descriptiva se ha seguido el mismo


proceso y planning que el progreso material de este proyecto. Se ha optado por
una exposicin secuencial de cmo se han ido ejecutando las partes de que se
compone el proyecto, a modo didctico.

1.Toma en contacto con la placa microcontroladora Arduino. Instalacin de


sensores analgicos, conocer sus lecturas, interpretarlas en modo de
consola. Convertir las seales de entrada y salida para tener unos valores
reales, coherentes.

2.Conocidos estos valores, y al tener la posibilidad de usar una tarjeta Ethernet,


se han hecho pruebas de enviar dichos valores directamente a internet.
Interpretar las respuestas de la red en modo consola. Crear scripts online
basados en PHP y que el Arduino los ejecute para insertar datos en
diferentes bases de datos..

3.Una vez que esto era funcional se pasa a enviar datos por el puerto serie USB
mediante cable a otro ordenador. Posteriormente, interpretacin de dichos
datos con otro lenguaje de programacin diferente. En este caso Processing.

4.Cuando las lecturas mediante cable funcionan OK, se quita el cableado y se


usan mdulos 3DR, y XBee. Se configuran y comprueban resultados.
Tambin se hacen comparativas. Como se explicar ms adelante, no fue
fcil el desconectar el cable

5.Una vez que la placa Arduino hace lecturas de potencimetros, LDR, LM35, y
otro tipo de sensores y los transmite de forma inalmbrica ya se puede subir
a un Drone y tomar valores mviles.

6.Una cmara wifi permitir seguir las trayectorias y recorridos del Drone.

7.Un GPS instalado en la placa Arduino geoposicionar los datos capturados en


un mapa en tiempo real.

18
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

8.Las lecturas ya estn configuradas en un ordenador con una consola grfica


que muestra en tiempo real los datos recogidos.

9.Una vez que existe la consola en tiempo real, se comienza a preparar una
aplicacin en modo local. Para ello convertimos el ordenador en un servidor.

10. Se clonar la informacin que est en el modo local con un servidor de


internet.

11. La transmisin de datos ser Open Data. Es decir, se usarn datos


estructurados y estandarizados para que todo el mundo pueda acceder a
ellos y poder usarlos en sus aplicaciones. Json.

12. Se crear una aplicacin web online que sea compatible y accesible para
que se pueda consultar con cualquier dispositivo electrnico.

13. Se intentar que el tiempo entre captura de datos y muestra online sea lo
ms rpido posible.

14. La muestra de datos ser en formato grfico estandarizado, y con acceso a


los mismos de forma sencilla.

19
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Sirva el siguiente diagrama explicativo del proceso:

20
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.2 ANTECEDENTES

1.2.1 ANTECEDENTES DEL AUTOR

Presenta el Proyecto que lleva por ttulo oficial y registrado como tal:
Supervisin remota de parmetros medioambientales capturados por
vehculo areo no tripulado el alumno Eduardo Garbayo Herce, con DNI de
operador intracomunitario ES16577967G.

El autor del presente documento, del software que lo acompaa y del


proyecto que representa: asume los principios ticos, morales, y religiosos de la
Universidad de La Rioja, y los propios de la Comunidad Riojana; por lo tanto se
garantiza que toda la documentacin presentada, usada, y finalizada no suponen
ningn tipo de dao, lesin, discriminacin o amenaza para ninguna persona, ni
supone la diseminacin de ninguna ideologa.

El alumno es Ingeniero Tcnico en Electrnica Industrial por La Universidad


de La Rioja terminando sus estudios en el ao 2000. Cursando posteriormente las
asignaturas del segundo ciclo de Ingeniera hasta el curso 2004 donde sin presentar
el Proyecto Fin de Carrera comienza su carrera laboral como programador
profesional. Pionero de internet desde 1996, crea diferentes proyectos relacionados
con el diseo web, comercio online, y programacin custom (soluciones propietarias)
para empresas y cdigo libre Open Source bajo licencias GPL-GNU2. Asimismo
aplicando sus estudios de Ingeniera y hardware para la unificacin de proyectos de
Innovacin y Desarrollo. En los ltimos aos incluyendo el hobby del aeromodelismo
en un nuevo proyecto de captacin de tomas areas mediante cuadricpteros de
tamao medio. Modelos puramente comerciales algunos y otros retocados y
transformados en su integridad.

2
La Licencia Pblica General de GNU

21
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Uniendo estos conocimientos previos se ha desarrollado el software y el


hardware de este proyecto de Fin de Carrera para la obtencin del ttulo de
Ingeniera Industrial.

En el mundo del Open Source el autor ha creado documentacin, software y


ha trabajado en proyectos internacionales cooperando dentro de sus
limitaciones profesionales. Desde 2003.

Es autor de documentacin de proyectos Open Soruce nacionales con ms de


95k lecturas. Menciones en medios y prensa nacionales y gran repercusin
en redes sociales.

En el mercado privado el autor es pionero en el uso de sistemas de gestin de


contenidos CMS3 desde finales de s.XX.

Es autor de cdigo libre y webs para ONGs gratuitas premiadas en concursos


a nivel regional y nacional. Incluidos los extintos premios Fundarco.

Gestiona ms de 100 dominios en internet en diferentes idiomas de proyectos


tan diversos como institucionales. Algunos con ms de 2 millones de vistas.

Es autor de juegos Open Source bajo C++, Allegro, premiados


econmicamente en concursos y mencionados en prensa especializada y
Universitarias como Universia.

Pero todo este bagaje profesional no sirve de nada cuando uno se enfrenta a
nuevos proyectos que requieren la vuelta al mundo autodidacta. Enfrentarse con
ilusin y tica hacker4 (compromiso, pasin, ilusin) a un nuevo desafo; que es
como se deben enfrentar en la vida los nuevos cometidos. Y en este caso lo era.
Volver al mundo universitario casi una dcada despus para compaginar trabajo
profesional remunerado con un proyecto universitario que requera un tiempo y
esfuerzo considerable, ms an cuando se quiere hacer bien: funcional, y operativo;

3
Content Management System
4
Gente entusiasta, apasionada, relacioanda o no con el mundo informtico.

22
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

y es que ya se sabe que cuando uno afronta software + hardware + drivers +


libreras + versiones; lo ms normal es que los problemas surjan en todos los
eslabones de la cadena (como as ha sido). Pero mejor realizar el esfuerzo en ello
que no desarrollar un proyecto terico de papel que todo aguanta. Y ms an
cuando se trata de un proyecto que puede llegar a tener varias aplicaciones reales.

Y todo ello se ha podido llevar a cabo porque el autor ha priorizado este


proyecto a su trabajo de autnomo durante 6 meses. Y por la ayuda e informacin
prestada en puntos clave de profesionales muy especficos de ms talento que l en
dicho cometido. Aun as, el autor de este proyecto aunque agradecido por ello, se
considera autor del 95% del resultado. Sirva de recuerdo; mi agradecimiento a
todos ellos:

23
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.2.2 ANTECEDENTES DEL PROYECTO

En los ltimos aos ha irrumpido en el mercado la plataforma de hardware


libre Arduino. Basada en una placa con un microcontrolador y un entorno de
desarrollo, diseada para facilitar el uso de la electrnica en proyectos
multidisciplinares.

Es un sistema de trabajo relativamente nuevo ya que proyecto Arduino recibi


una mencin honorfica en la categora de Comunidades Digital en el Prix Ars
Electrnica de 2006.

1.2.2.1 QU ES ARDUINO Y SUS ALTERNATIVAS:

Arduino es un microcontrolador programable. De bajo coste y de licencias de


uso gratuitas. Su popularidad ha hecho que salgan clones: Ktuluino, $9 Arduino,
Moteino, Chibiduino, Prototino, Paperduino, Kameduino, BoArduino, Vinciduino,
Sushiduino , etc. Tambin existen proyectos similares ya dentro de
microcontroladores como dispositivos superiores.

BASIC Stamp microcontrolador con un intrprete de BASIC.

PIC . Microcontroladores tipo RISC5

Raspberry Pi es un micro ordenador que corre con Linux. BananaPI.


Clon chino de Rasberry. Otras: BeagleBone, Nanode y Waspmote

Udoo, proyecto de 2013, que une ambos mundos. De controladores y


microordenadores.

*El autor est pendiente (11 Julio 2014) de recibir por parte de Microsoft un
Intel Galileo que la compaa est regalando a los desarrolladores para realizar
pruebas y proyectos. Para ello, se comunic a Microsoft que se estaban realizando
este tipo de trabajos con dichos microcontroladores como este PFC.

5
Reduced Instruction Set Computer,

24
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Las ventajas de usar Arduino frente a otras, adems de su bajo coste que
ronda los 50 euros, es por la filosofa tica del proyecto. Basado en Hardware
Abierto, y Software Abierto, la comunidad ha creado alrededor de esta placa cientos
de aplicaciones funcionales, y un sistema de documentacin inmenso que facilita la
creacin de nuevos proyectos. Y como siempre, mentes activas, abiertas y muy
generosas en foros. De la misma forma existen diferentes modelos de placas
Arduino y placas shields que incrementan sus funciones hasta unos lmites
insospechados. Wifi, Ethernet, GSM etc.

Paso 1: Se montar la Placa Arduino programada con sus respectivos


sensores en un Vehculo Areo no Tripulado UAV. Drone.

1.2.2.2 VEHCULO AREO NO TRIPULADO UAV. DRONE.

Para los aficionados al aeromodelismo no es nuevo el uso de helicpteros de


gasolina o aviones elctricos para vuelos de entretenimiento. Si bien es cierto que
su uso no ha sido muy popular como ha sido el aplicado a vehculos terrestres. Se
debe ello a su complejidad y precio. Volar mediante emisora de 7- 9 canales no es
sencillo y requiere de un periodo de aprendizaje que incluye el uso de software de
adaptacin como simuladores. Y es que aporrizar un helicptero de varios miles de
euros no es algo que se pueda permitir un usuario hacer en muchas ocasiones. Es
un hobby caro y hasta hace pocos aos no estaba al alcance de todos los bolsillos.

Algunos adems (entre los que se incluye el autor) han aadido cmaras de
grabacin digitales para realizar tomas areas. Material que luego es usado en el
trabajo para promocionar en internet: fincas de bodegas, mostrar grandes
superficies terrestres para venta, tomas de solares y su avance en la construccin
para empresas, etc. Contenido que complemente en la web y redes la imagen de
marca de una empresa. Hasta ahora un proceso muy caro y que solo grandes
empresas podan permitirse.

Enfoque personal : Los que estamos en el negocio de videos comerciales


publicitarios y tambin deportivos vimos hace apenas 4-5 aos como empresas
extremas asociadas a la marca RedBull usaban los primeros octocpteros para

25
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

realizar grabaciones en alta montaa. El llevar este equipo era mucho ms barato y
accesible que llevar helicpteros tripulados. Estos octocpteros elctricos con
cmara digital apenas costaban unos pocos miles de euros. Precio que ha bajado a
la mitad hoy en da. An as era un desembolso, e inversin bastante alto. Lo que
hizo que todo aquel que tuviera conocimiento de soldadura, paciencia, y muchas
ganas de tirar de manual, empezara comprando kits de montaje de empresas que
vendan las piezas para empezar a montarte tu propio DRONE. Principalmente
cuadricpteros o hexacpteros. Varias marcas vieron el potencial que tena esta
venta y hace apenas 3 aos salen al mercado Kits completos de cuadricpteros por
menos de 1000 euros. Equipos que se complementaban y que eran compatibles con
las emisores de radio frecuencia que ya todos usuarios disponan y manejaban.
Dentro de estas empresas las ms avispadas fueron Walkera y la americana DJI.
Esta ltima est siendo la que est copando el mercado ya sea con sus kits de
desarrollo completos o con su modelo estrella: los Phantom. 1, 2, Vision, etc.

Ilustracin 3 Kit de montaje de un 450

26
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Estos equipos ya bajan su precio de los 900 euros y montados, funcionales y


con su emisora TX., Disponen de sistemas de GPS, estabilizacin y orientacin
perfecta y son relativamente fciles de actualizar con el software propio de la marca.
Adems hace dos aos el primer Phantom1, que sali al mercado tuvo el acierto de
montar un adaptador para cmaras deportivas GoPro que es el modelo ms usado
del mundo en deportes extremos. Lo que le supuso tener una legin de seguidores
por toda la red, foros, comunidades, y haber generado con ello un estndar en la
grabacin semi-profesional area.

A nivel personal, tanto en cmaras deportivas, de las que soy usuario desde
2007, como de cuadricpteros, que ya he pasado por varios modelos, incluidos
todos los Phantom y otros montajes de DJI, lo que se consigue ahora mismo es algo
impensable hace apenas 5 aos. Todo esto, por otro lado, est generando un
problema muy serio de regulacin. Son aparatos complejos y ofrecen muchas
posibilidades y como tal, se les puede dar mal uso. Estamos en un Boom de Drones
y en los prximos aos veremos una regulacin muy dura para vuelos de estos
equipos.

Para la presentacin de este proyecto se usar un Phantom II de 2013, que


ser el encargado de cargar la placa Arduino. Ms adelante se explicar por qu la
decisin de usar este equipo.

Se mostrarn otros modelos de cuadricpteros en la presentacin como un


450-DJI, y alguno ms grande capaces de cargar ms de 500 gramos de peso
durante 12 minutos.

27
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.3 OBJETIVOS DEL PROYECTO

En la documentacin presentada en Marzo 2014 se crearon estos objetivos


para el desarrollo del proyecto.

1.Configuracin bsica del sistema UAV (Unmanned Aerial Vehicle- vehculo


areo no tripulado) para ejecutar cualquier misin de vuelo. Se emplear o un
sistema desarrollado comercialmente o se desarrollar un sistema propio.

2.Estudio y seleccin de parmetros medioambientales a medir y determinacin


de la aplicacin final de la misin de vuelo. Dotacin de los sensores
especficos para su captura desde el UAV.

3.Montaje de cmara para ayuda en el video guiado del UAV o la toma de


imgenes de inters par a la aplicacin.

4.Seleccin del sistema microprocesador capaz de realizar las tareas propias de


la misin de vuelo.

5.Seleccin del sistema de transmisin de datos.

Desarrollo de aplicaciones software para:

6.Captura y trasmisin de datos desde el UAV a la estacin terrestre (sistema


PC).

7.Tratamiento de datos recibidos en modo local.

8.Gestin de la informacin resultante en servidor LAMP (Linux -sistema


operativo-, Apache servidor web-, MySQL -gestor de bases de datos-, PHP
-lenguaje de programacin-)

9.Visualizacin de datos bajo formatos grficos en pgina web RWD


(Responsive Web Design).

28
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.3.1 OBJETIVOS CUMPLIDOS

Se explica a continuacin como TODOS, el 100% de lo estimado se ha


cumplido en fechas y resultados.

Se responde a cada punto anterior con su numeracin correspondiente:

1. Configuracin bsica del sistema UAV (Unmanned Aerial Vehicle-


vehculo areo no tripulado) para ejecutar cualquier misin de vuelo. Se emplear o
un sistema desarrollado comercialmente o se desarrollar un sistema propio.

Se ha usado un Drone comercial, aunque tambin existen otros modelos


montados; la seguridad y estabilidad del sistema comercial era
imprescindible..

2. Estudio y seleccin de parmetros medioambientales a medir y


determinacin de la aplicacin final de la misin de vuelo. Dotacin de los sensores
especficos para su captura desde el UAV.

Se han usado dos sensores de temperatura, una sonda NTC y un LM35. Un


sensor de Luz LDR, y un potencimetro para simular seales analgicas.

3. Montaje de cmara para ayuda en el video guiado del UAV o la toma de


imgenes de inters par a la aplicacin.

Se han usado diferentes cmaras de video. Unas para drones grandes y otras
menores IP para los Drones ms pequeos. Para la presentacin del proyecto
se har con una versin comercial de GOPRO va WIFI.
Pero usando software propio para su visualizacin.

4. Seleccin del sistema microprocesador capaz de realizar las tareas


propias de la misin de vuelo.

Se han utilizado diferentes placas Arduino: Uno, Ethernet, Arupilot

29
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5. Seleccin del sistema de transmisin de datos.

Se ha trabajado con cable usb, cable de red y sistemas Inalmbricos para


cuando el sistema est en vuelo. 3DR, Xbee.

Desarrollo de aplicaciones software para:

6. Captura y trasmisin de datos desde el UAV a la estacin terrestre


(sistema PC).

Arduino captura bajo su software programado y customizado. 3DR, Xbee


transmite..

7. Tratamiento de datos recibidos en modo local.

En modo local, para trabajo en tiempo real de recepcin de datos se trabajar


bajo Processing.

8. Gestin de la informacin resultante en servidor LAMP (Linux -sistema


operativo-, Apache servidor web-, MySQL -gestor de bases de datos-, PHP -
lenguaje de programacin-)

Toda la informacin ser enviada y transmitida bajo JSON . Se enviar a un


modo local, localhost, y se duplicar en internet..

9. Visualizacin de datos bajo formatos grficos en pgina web RWD


(Responsive Web Design).

Se ha creado en Html5, Javascript, Jquery, css3, Less, PHP, MySQL, un


sistema de visualizacin compatible para web y dispositivos mviles.

30
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.3.2 EXTRAS AADIDOS

Una vez cumplido todos los objetivos bsicos del Proyecto se han creado
nuevas aplicaciones que completan, consuman y rematan un proyecto completo y
complejo para hacerlo viable en el uso profesional.

1.Toda la programacin de Arduino est enfocada y optimizada para poder


aadir nuevos sensores para mediciones con mucha facilidad. Tocando muy
poco cdigo y usando funciones especficas ya programadas para ello.

2.El envo de los datos se ha optimizado de tal forma que en la setup


programada se puede configurar para trabajar con sistemas mucho ms
complejos. Buffers, interrupciones, codificacin, libreras extras.

3.Uso del mdulo Ethernet POE para salida directa a internet. Tanto en localhost
va router como MySQL directo.

4.Asimismo la recepcin bajo Processing est optimizada y configurada para


poder modificar y ampliar el proyecto hasta nuevos horizontes

5.Dada la relacin laboral del alumno con una empresa distribuidora de


cuadricpteros se pueden hacer montajes para equipos mucho ms potentes,
pesados y de mayor autonoma. Se muestran ejemplos.

6.Igualmente, por relaciones comerciales se han podido crear varias aplicaciones


prcticas que se adjuntan y presentan como demos.

7.Tratamiento de datos de GPS, para posicionamiento de informacin en tiempo


real. Unfolding, bajo Java, Eclipse, y Processing.

8.Tratamiento del video capturado para anlisis y toma de decisiones en tiempo


real dependiente de medidas de sensores.

9.Sistema online totalmente actualizable, configurable y compatible con


dispositivos mviles de diferentes tamaos y versiones.

31
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.3.3 CONOCIMIENTOS PREVISO NECESARIOS

Previo a la realizacin de un Proyecto Fin de Carrera o un trabajo adjudicado


en el mercado laboral, el Ingeniero tiene unos conocimientos previos adquiridos en
las asignaturas cursadas en la carrera y con la propia experiencia laboral, que podr
aplicar para llevar a cabo tal cometido; y otras materias en los que aunque no exista
conocimiento y se parta de cero, se tiene capacidad suficiente para el aprendizaje
autodidacta.

Ejemplo de conocimientos previos necesarios:

Html bsico y html5. Javascript.

Diferentes lenguajes de Programacin y uso de compiladores. C++,


Php, Java. Javascript, J2ME.

Configuracin de servidores en modo local ( localhost ) LAMP6 -


WAMP

Servidores VPS para internet. LAMP.

Configuracin y vuelo de Cuadricpteros.

Live Streaming de video. Video y Foto Aereos.

1.3.4 CONOCIMIENTOS A ADQUIRIR

Ingeniero viene de Ingenio, y siempre habr que estar atento a los cambios
del entorno y la mimetizacin con ste y sus nuevas tecnologas. En una carrera
como ingeniera donde el mercado es tan amplio los conocimientos se adquieren
segn se vayan necesitando la aplicacin de nuevas ciencias:

De estos campos se parta de cero:

Arduino Hardware

6
Linux Apache MySQL PhP

32
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Arduino IDE + GPS + Protocolo NMEA

3DR . Sistemas inalmbricos

Xbee Protocolo inalmbrico

Transmisin de video inalmbrica. IP. Wifi.

Entorno Processing.

json como intercambio de datos hard soft.

Bootstrap y SVG en RWD Responsive Web Design

Nunca se haba trabajado con la placa microcontroladora Arduino, pero s se


conoca la programacin de otros sistemas microprogramables. El software de
Arduino es muy similar al C++. El envo de datos de forma inalmbrica tambin era
un campo nuevo en los sistemas Xbee, pero se conoca parte de trabajo bajo
Bluetooth y wifi. Asimismo el IDE de Processing, est basado en Java y su uso es
una mezcla entre ste y el C++. Siendo todos estos sistemas Open Source ha
permitido que sus comunidades online sean muy amplas, y lo que no se ha
encontrado en los manuales y bibliografas se ha consultado en los foros de internet
de cada aplicacin requerida. An as, ha habido consultas que como se indica en el
Anejo correspondiente no han quedado resueltas. Como por ejemplo hacer un Live
Streaming de video bajo el Software Processing. Ya que existen libreras de video,
pero no para ese cometido. De esta forma se ha resuelto este problema usando
cdigo embebido7 en html5. Y tambin usando software OS 8 VLC bajo Linux,
distribucin Ubuntu.

7
Insertar cdigo funcional en otra aplicacin eficaz por si misma.
8
De ahora en adelante al referirnos al Open Source

33
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.4 CONCLUSIONES Y VAS DE CONTINUACIN

Uno de los puntos ms importantes de este proyecto se basa en la tecnologa


Arduino. El poder usar este tipo de hardware de forma gratuita en cuanto a licencias
se refiere y de bajo coste en su material bsico y ampliaciones de la comunidad,
abre ya de por s, un abanico de posibilidades para la creacin de proyectos de bajo
coste, ya no solo a nivel educativo si no comerciales. Las nuevas placas con wifi,
los nuevos Arduino Yun, las actualizadas placas para Ardupilot, y en concreto las
mdulos con GSM, o Xbee incorporado van a dar la posibilidad de que en los
prximos meses se vean, una cantidad ingente de proyectos basados en estas
placas, tanto a nivel de ingeniera , como usuarios DIY , hgalo usted mismo.

Por otro lado la tecnologa de vuelo basada en Drones de pequeo tamao


ha irrumpido fuerte en el mercado. Ha abierto un sector meramente profesional a
cualquier usuario amateur que se dedique a la grabacin area, de video y
fotografa. Y este mercado es tan amplio que ha crecido exponencialmente porque
como ya hemos visto las aplicaciones son inmensas. Esperemos por otro lado que
haya una regulacin consecuente a nivel europeo, como parece que se impone por
lgica. En Julio 2014, ya aparecen noticias en medios de comunicacin que Drones
mayores de 25 kilos debern tener un certificado de aeronavegabilidad. Normativa
que ser ampliada a equipos menores de 5 kilos, dejando el mundo del juguete a los
que no lleguen a 1 kilo de peso.

Este proyecto nace por iniciativa del alumno de usar este tipo de elementos,
del que ya conoca su funcionamiento bsico, y compatibilizarlo con Arduino para
crear aplicaciones que de momento parecen originales y no muy explotadas. Por
tanto, como se ve en el apartado siguiente, se intentar estar en el mercado y poder
satisfacer esta posible demanda que existir en los prximos aos:

1.4.1 APLICACIONES

Este proyecto nace con la aspiracin e ilusin de poder llevarse a cabo en el


mundo real. El bajo coste de este PFC principalmente por el uso de licencias libres

34
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

hace bastante viable crear desarrollos con este tipo de componentes. Por otro lado,
las posibles aplicaciones de uso con un Drone, seran menores, pero tambin se
nos ocurren unas cuantas.

A nivel personal, creo que la tarjeta de Aduino Ethernet o con la shield de red
para cualquier otro Arduino abre un mercado profesional muy amplio. Actualmente
todo el mundo quiere tener en internet y en su dispositivo mvil los datos que est
generando su empresa, fbrica, instalacin agrcola, o domtica. Ya sea una bodega
que quiere consultar las temperaturas de sus barricas, humedades, un sistema de
cmaras frigorficas, etc a un pequeo agricultor que quiera tambin conocer de
primera mano todos los datos que el entono de su plantacin le quiera dar.
Hablamos ah de mediciones estticas de datos.

Pero tambin la aplicacin presentada en este proyecto que permite hacer


estos sondeos en altura, y en lugares de accesos complejos, abre otro conjunto de
oportunidades muy interesante. Todo ello, cuando la actual legislacin de 2014 para
estos aparatos se estabilice.

El encargado de un Retn de bomberos contact conmigo hace unas


semanas indicando si sera capaz nuestro sistema de hacer ciertas mediciones del
terreno en condiciones adversas y suministrar esa informacin en tiempo real a los
ordenadores; Indicando alturas, velocidades, y una lista de parmetros a medida
que l nos suministrara. Yo le dije que entonces no podra hacerlo, pero s en seis
meses. Coment, que para ellos sera muy interesante tener esa aplicacin
funcionando porque con esos datos y sus tablas de control, podran por ejemplo
calcular en tiempo real unas vas de acceso y escape en incendios en campo
abierto. Ahora mismo el sistema sera casi capaz de hacer esas mediciones, a falta
de conseguir ms autonoma en vuelo y poder cargar ms peso: cmaras
infrarrojas, etc. Pero en este futuro cercano ya se est viendo cmo se estn
usando Drones para:

Arquitectura

Construccin y Edificacin

35
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Certificaciones

Vigilancia ferrocarril. Grafitis, mediante el uso de sistemas


programados

Publicidad y Promociones

Control de Trfico.

Gestin de Incendios.

Fincas, bodegas. Videos promocionales

Inmobiliarias y Promotoras

Agricultura Venta o Control

Cuidado de terrenos agrcolas Necesidades de riego, visitas,


fertilizantes, insecticidas etc.

Arqueologa

Deportes y Eventos

Termografa de edificios. Posibilidad de hacerlo y verlo en tiempo real


va web o telfono mvil.

Campos de Golf

Paisajismo

Jardinera

Anlisis de Riesgos

Cmaras Infrarrojas.

Cartografa industrial

Seguimiento Forestal

Energa Solar

Documentales

36
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Videoclips-Spots-televisin-Cine

Comunicaciones Corporativas

Bienes Races

Minera

Obras Pblicas

Vigilancia, Seguridad

Medio Ambiente

y esto es solo el principio. Desde estas aplicaciones comerciales, a poder


llevar nuestro Drone a un volcn y medir la emisin de gases en medio de ste, solo
hay unas horas de configuraciones. y eso ya es una aplicacin "custom .

Esta lista de aplicaciones basadas en Arduino + Drones han sido


seleccionadas de la web de internet Zainder9, Empresa de Tecnologa, de la cual el
autor de este PFC es socio fundador. Y es a travs de ella, desde donde se est
intentando llevar al mundo laboral proyectos similares a ste; de bajo coste para
pequeas y medianas empresas. El desarrollo de este PFC ha posibilitado trabajar
con nuevos dispositivos y entrar en contacto de nuevo con el mundo universitario,
conociendo de primera mano, los nuevos trabajos que se estn llevando a cabo en
los diferentes departamentos de la Universidad de La Rioja.

9
www.zainder.com

37
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.5 TIMELINE

Se adjunta un timeline del proyecto, as como de conocimientos previos y


futuras aplicaciones o versiones.

Este timeline se puede consultar online. Basado en un sistema JS 10 ofrece la


posibilidad de usar su cdigo embebido en cualquier sistema html.

Ilustracin 4 Time Line

10
JavaScript y Jquery. Posibilidad de trabajo con json tambin.

38
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

39
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Haciendo click en la imagen se puede ver un timeline online de la evolucin


del proyecto as como de los conocimientos previos y adquiridos.

1.6 ARDUINO

La decisin por tanto de usar Arduino como placa de captura de datos queda
reflejada por estos puntos y este orden:

1. Placa Open Source. Tanto Hardware como Software.

2. Libre de Licencias. Tanto para uso educativo como profesional.

3. Amplia documentacin y comunidad activa online.

4. Coste. Alrededor de 50 euros.

5. Facilidad de adquisicin de diferentes modelos y nuevos mdulos para


ampliacin de capacidades.

Aparte de estas funcionalidades se proceder a explicar que: peso, tamao,


compatibilidades y facilidad de conexin con oros dispositivos es el porqu se ha
seleccionado un modelo u otro.

Es importante recalcar que el peso de los materiales en este proyecto ser


muy importante. El tiempo de vuelo de un equipo en vaco puede llegar a ser de 15-
20 minutos, dependiendo de las condiciones atmosfricas, uso o no de ayudas en
vuelo como GPS, etc. Una vez cargado el Drone con 200 gramos de peso, el tiempo
de vuelo cae a la mitad. El consumo de bateras se duplica. Asimismo el tamao
reduce, pero en menor medida el uso de bateras, pero si decrementa las
capacidades de maniobrabilidad. El uso del GPS da la estabilidad del sistema pero
su consumo reduce en varios minutos su estancia en vuelo.

1.6.1 SELECCIN DE LA TARJETA USADA

Cada placa de Arduino tiene pequeas diferencias con otros modelos. Estado
y direcciones de puertos, mdulos de comunicacin etc. En el software del
ordenador adems de configurar el puerto de comunicaciones habr que hacer lo

40
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

mismo con la tarjeta usada. Para ello, el sistema cuando se han instalado los drivers
ha creado tambin una lista de tarjetas soportadas, basadas en los diferentes chips
de control de la placa. En este proyecto se han usado principalmente 3 Arduinos:
Arduino Ethernet, Arduino Uno, y Arduino Mega 2 especial Ardupilot.

Existen otras configuraciones avanzadas en la setup del IDE de Arduino que


tambin requieren unos minutos en la optimizacin del Software, pero ya no son
imprescindibles para su funcionamiento bsico. Compilacin etc.

1.6.2 ALTERNATIVA CON EL MODULO ETHERNET

Al estar trabajando en un proyecto en el que los datos van a tener que llegar
a internet en algn momento era imprescindible hacer las primeras pruebas de
conexin directamente desde la tarjeta Arduino. Dada la expansin y popularidad de
estas tarjetas, existen en el mercado diferentes formas de conectarse a internet
desde la placa. Para las antiguas, existe la ampliacin con la Ethernet Shield de
Arduino, y tambin opciones como el Arduino Yun que permite hacer conexiones wifi
y la bsica Arduino Ethernet.

Se ha desechado la opcin de trabajar mediante el sistema wifi en la


transmisin de datos inalmbricos ya que su distancia y estabilidad ser menor que
los mdulos Xbee empleados. Por lo tanto, para hacer las pruebas se ha
seleccionado la placa Arduino Ethernet, ya que aunque en el proyecto actual no se
va a usar cable, esto permite dos opciones de trabajo para futuras aplicaciones:
Poder ser usado mediante cable de Ethernet y su mdulo PoE, o subirlo a un equipo
en movimiento y enviar los datos en formato inalmbrico. Asimismo el peso al
desconectar el usb-serial FDTI es menor. Tambin deja libre el puerto de
comunicaciones TX RX para su posterior uso inalmbrico.

41
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 5 Directo a Internet

1.6.3 POWER OVER ETHERNET, POE

La alimentacin a travs de Ethernet es una tecnologa que incorpora


alimentacin elctrica a una infraestructura LAN estndar. Permite que la
alimentacin elctrica se suministre al dispositivo de red. Elimina la necesidad de
utilizar tomas de corriente y permite una aplicacin ms sencilla de los sistemas de
alimentacin ininterrumpida (SAI) para garantizar un funcionamiento las 24 horas del
da. Se regula en la norma IEEE 802.3af y est diseado de manera que no haga
disminuir el rendimiento de comunicacin de los datos.

1.6.4 SALIDA VIA ROUTER A RED

Una vez conectado el Arduino al Router mediante al cable de red, se tendr


acceso va IP a cualquier ordenador de internet y tambin a nuestro ordenador local
puesto que se configurar como servidor de datos.

El acceso no ser como una conexin web, si no, que en modo consola se
podrn hacer peticiones bsicas que el servidor permita en acceso remoto. Estar
muy limitado y habr que ser muy claro y preciso con lo que se intenta conseguir.

1.6.5 MODO SERVIDOR EN LOCAL LOCALHOST

Nunca se sabr si dnde se va a trabajar se tendr una conexin a internet


estable. Ya sea wifi, cable, gsm, satlite, etc .. Para no tener dependencia de sta
condicin se llevar un ordenador PC estndar configurado como servidor remoto-

42
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

local de datos. En la actualidad esta conversin de un PC a un sistema localhost


es muy sencilla y para ello se usar un software que instala y configura
automticamente las 3 aplicaciones bsicas: Apache para conversin. Para poder
ejecutar cdigo y guardar y visualizar directamente se instalar php, MysQL.

Ilustracin 6 Localhost bsico

Realizado en Windows se llamar a este sistema: WAMP. Windows +


Apache + MySQL + PhP.

Bajo Linux LAMP: Linux + Apache + MySQL + PhP

Comprobacin: Para saber si la instalacin ha sido correcta servir con


teclear localhost o 127.0.0.1 en la barra del navegador.

En el documento Especificaciones del Sistema se entra ms en profundidad


en esta setup de la red.

En este proyecto se han usado ambos sistemas operativos, pero para que la
compatibilidad con otros usuarios sea completa, se seguir como sistemas locales
WAMP. Y como servidor de internet LAMP. Pero el funcionamiento a nivel de cdigo
es exactamente el mismo. No habra que tocar nada de cdigo ni en php en modo
local y ni en Arduino a la hora de enviar los datos.

Dentro de un sistema WAMP se ha tomado la decisin de trabajar con


EasyPHP. Un software completo que instala y actualiza todas las aplicaciones
necesarias. Viniendo por defecto preconfigurado para sistemas Windows y que

43
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

incluye una versin portable de su software. Lo que ha permitido y permite trasladar


toda la informacin de un ordenador a otro copiando simplemente su carpeta de
datos. Adems de ser de los pocos que estn en Espaol.

1.6.6 MODO SERVIDOR EN INTERNET

A nivel amateur en internet se alquilan servidores compartidos shared a la


hora de contratar los servicios de un hosting para alojar una web personal. Estos
servidores estn muy limitados en cuanto a uso y ejecucin de cdigo extra y se
limitan a prestar y compartir espacio y bases de datos. Pero si se va a tener que
usar aplicaciones muy customizadas este tipo de servidores suelen dar problemas.
El siguiente paso es el uso de servidores VPS 11 o privados totalmente y ltimamente
servidores tipo cloud. Esto implica que el usuario ser el responsable de configurar
dichos servidores para su uso personal.

Para este proyecto se ha desechado desde el principio el uso de servidores


shared porque daban problemas a las peticiones externas de http y php. As como
a la insercin de datos desde un sistema externo de su red. Lgico, si fuera sencillo
hacerlo se podra entrar en un servidor con unas pocas instrucciones de php, html
desde una placa de Arduino en el otro lado del mundo y causar varios problemas en
la web.

El sistema cloud no ha sido necesario puesto que la informacin que se


necesita almacenar sern unos pocos miles de datos y con las capacidades bsicas
de un VPS estndar sobrar. Hasta 500.000mil en una sola base de datos sin
problema. Se desestima un crecimiento a escala que precisara de dicho cloud. Se
usar por tanto un VPS externo en el que se instalar una base de datos MySQL y
se le dar permiso de lectura y ejecucin de cdigo php. Importante permitir en
dicho servidor la ejecucin de cdigo desde dispositivos externos. Por ello la

11
virtual private server

44
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

seleccin de un VPS que permite mediante su plesk 12 o similares dichas


configuraciones.

Las lecturas de los datos de los sensores que vengan desde la placa de
Arduino mediante el uso de la tarjeta Ethernet se guardan en modo local en
una base de datos y tambin ser una informacin clonada en internet.

12
Parallels Plesk Panel Control de VPS -

45
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.6.7 SENSORES INSTALADOS.

Este proyecto lleva por ttulo Supervisin remota de parmetros


medioambientales capturados por UAV . Se trata de un proyecto abierto y
ampliable que dentro de la palabra parmetros puede abarcar todo aquello que
pueda ser susceptible de ser medible y que sea necesario para la toma de alguna
decisin segn su resultado.

Ya sea en una plataforma fija como mvil los parmetros a medir pueden ser
muy variados. Para la elaboracin de este proyecto y su documentacin se han
tomado muestras con sensores tan bsicos como temperatura y luz. As como
algunos emuladores.

Sonda NTC para medicin de temperatura.

Sensor LM35 para medicin de temperatura redundante.

Sensor LDR para la medicin de la cantidad de Luz.

Potencimetro estndar. Para la simulacin de Seales Analgicas


en entrada.

La medicin de cada sensor necesita una adaptacin fsica a la tarjeta


Arduino. Un circuito mnimo que vendr especificado por las necesidades del
fabricante as como adaptacin de dichos datos mediante software para su lectura e
interpretacin. Se ha intentado ser muy cuidadoso en la programacin de dicho
software de lectura y captura de datos, para que el proyecto pueda ser ampliado con
otro tipo de sensores y que el trabajo extra que hubiera que aadir sea mnimo;
fcilmente interpretable para programadores terceros que tuvieran que modificar
dicho cdigo. Funciones extras muy completas y configuradas previamente para
poder ser usadas con facilidad. Comentarios lnea por lnea para que la lectura del
cdigo sea casi novelada. Pensando en terceros y tambin en el mismo creador
del cdigo para poder retocarlo, ampliarlo y mejorarlo en el futuro. Se tiene
experiencia en este tipo de trabajos de creacin de software comn ya que
previamente se ha trabajado en comunidades abiertas de creadores de cdigo y el

46
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

especificar claramente que hace cada funcin, cmo, y que tipo de dato devuelve es
transcental.

1.6.7.1 OTROS SENSORES

Dadas las posibilidades de aplicacin de tiene este proyecto la placa podr


ser cargada con el sensor que desee el usuario segn el parmetro a medir.
Debern ser sensores compatibles con la placa Arduino y como se ha explicado
necesitarn seguramente de un circuito mnimo de adaptacin de seal. Pero dada
la forma estructurada y envo de datos al ordenador central simplemente habr que
cambiar ciertas variables en el cdigo a cargar en el programa. El sistema de
comunicaciones se ha programado mediante interrupciones y buffers de control para
que sea un estndar en la transmisin de datos por puerto serie.

Podra ser interesante la lectura de Gases como metano CH4, monxido de


carbono C0 , dixido de carbono, calidad del aire , humos, amoniaco NH3, humedad
relativa Butano, LPG, Alcoholes, Etanoles, Gas Natural, Hidrgeno, Ozono,
Benceno, Acetona, Formaldehdos, etc

El sensor especfico para todos estos parmetros se encuentra adjunto en el


Anejo de este proyecto. Tambin su cdigo de Arduino por defecto para toda la
serie, y su circuito de adaptacin si fuera necesario. El cdigo para su lectura se ha
programado de forma estndar y podr ser ledo sin retocar apenas cdigo.

Dado el formato de programacin el software en modo local se puede


configurar para hacer mediciones continuas, en modo temporal y local, as como
para generar avisos cuando los parmetros salgan de unos varemos establecidos
que se pueden configurar. Tambin se podrn graficar, posicionar en mapas y
trabajar con ellos posteriormente para generacin de histricos y cualquier formato
que sea preciso; ya que los datos se quedarn guardados tanto en ficheros
estandarizados como en bases de datos online. Con fecha, hora. Y si fuera pedido
por el cliente con posicionamiento global de captacin.

47
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Posteriormente, avanzado el proyecto se aadir un lector GPS para el


geoposicionamiento global de los datos recibidos en tiempo real en diferentes tipos
de mapas, urbanos, fsicos, topogrficos. Etc. Esto ser lo que en este proyecto se
conoce como la Tercera aplicacin o tercera fase del proyecto.

1.7 NUEVO PARADIGMA

Durante esta primera parte del proyecto la informacin de los sensores ha


sido enviada directamente mediante cable Ethernet. Los datos llegan al ordenador
local, que hace como servidor mediante la ejecucin de sentencias y cdigo desde
la placa Arduino. Cdigo que ejecuta software, scripts propios en los ordenadores
preparados para ello. Habr casos en que usar este sistema sea suficiente, que la
placa y los sensores estn en instalados en un sitio esttico, inmvil para la
medicin de los parmetros deseados. Si existiera conexin a internet los datos
suben directamente a la web a la vez que se clonan en un ordenador local.

Pero este proyecto nace con la novedad de que estos datos puedan ser
capturados mediante un transporte mvil. Ya sea un vehculo terrestre, martimo o
areo. Las ventajas del uso de un vehculo areo no tripulado son increbles ya que
permitirn accesos a lugares remotos, de imposible acceso humano, y sin riesgo
para la salud del operario del sistema sea la medicin que se desee hacer de
cualquier tipo o condicin.

El problema que surge mediante la captura de datos de un vehculo


mvil, es que los datos ya no se pueden enviar mediante la ejecucin directa
de sentencias en la placa Arduino para un cdigo instalado en los
ordenadores. La informacin ahora debe ser de forma inalmbrica. Por lo tanto
tambin el sistema de recogida ser totalmente diferente al que se haca por el
cable Ethernet.

Para compaginar ambos sistemas se ha trabajado con una estandarizacin


de conservacin y tratamiento de la informacin. Para que, sea como sea la
recepcin, las bases de datos sean compatibles. Y no solo las bases de datos, si no

48
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

los ficheros, y ya no solo compatibles entre ellos si no estandarizados a nivel global


y de formato abierto.

Los sistemas bsicos de transmisin de datos de forma inalmbrica que se


permite hacer con la placa Arduino son BlueTooth, Wifi. Algunos ya incorporados en
placas especficas como Arduino YUN. Otros, previa instalacin de shields extras
totalmente compatible y configurables con cualquier Arduino. Pero estos mdulos a
nivel profesional no cumplen con unos requisitos y caractersticas bsicas
necesarias de consumo, estabilidad y distancia de recepcin. Se necesitan para
este proyecto mdulos que superen los 100 metros de longitud con una estabilidad
contrastada y de muy bajo consumo, sin importar en exceso la velocidad de
transmisin. El Drone ms pequeo de uso profesional con el que se trabaja en este
proyecto tiene un alcance de 300 metros en campo abierto. Lmite fcilmente
ampliable pero no posible debido a las limitaciones legales. Para la transmisin de
datos en este proyecto Demo se han usado los mdulos 3DR, y los Xbee estndar.

Los mdulos XBee de MaxStream permiten enlaces seriales de seales TTL


en distancias de 30 metros en interiores, 100 metros en exteriores con lnea de vista
y hasta 1.5 Km con los mdulos Pro. Siendo su consumo menor que los otros
sistemas como se muestra en el documento Especificaciones del Sistema.

Los datos sern recogidos de Arduino y se emitirn al puerto serie COM del
ordenador de trabajo

1.7.1 RECOGIDA DE DATOS EN PUERTO SERIE

Como se mencionado en el punto anterior, una vez desconectado el cable de


Ethernet, todo el sistema de recepcin de datos se ha tenido que modificar.
Desarrollo que ya sera un trabajo complejo y extenso por s mismo, se ampla ahora
en el proceso de recepcin de datos por el puerto serie del ordenador.

49
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

A nivel profesional de software son varios los estndares que se tienen para
recoger datos del puerto serie. Se muestran a continuacin una serie de lenguajes
de programacin conocidos que disponen de libreras especficas para trabajar con
el puerto serie.

1.PHP : PHP es un lenguaje de programacin de uso general de cdigo del


lado del servidor originalmente diseado para el desarrollo
web de contenido dinmico.

2.C#: Un lenguaje de programacin orientado a objetos desarrollado por


Microsoft como parte de su plataforma .NET

3.Python: .Es un lenguaje interpretado, usa tipado13 dinmico y es


multiplataforma.

4.JAVA: Es un lenguaje de programacin de propsito general,


concurrente, orientado a objetos y basado en clases que fue diseado
especficamente para tener tan pocas dependencias de implementacin
como fuera posible.

5.C++: Es un lenguaje de programacin diseado a mediados de los aos


1980 basado en C.

Para la seleccin de un lenguaje con la que enfrentarse a una nueva tarea


que se desconoca por completo el programador debe preguntarse qu es lo que
necesita hacer exactamente y en qu estado de progreso se encuentran tanto el
IDE, o framework de desarrollo como las libreras que deber usar. Necesidades
futuras y expansin o el Scaffolding14 del proyecto. Visualizar el futuro no ser fcil,
y quiz haya que retroceder y volver a empezar si la decisin tomada no es la
adecuada. Es importante anteponer estos puntos a las preferencias y polticas
propias del programador. Ser mucho ms til comenzar un nuevo aprendizaje de

13
Una misma variable puede tomar valores de distinto tipo en distintos momento
14
Construccin de aplicaciones ms potentes basadas en plantillas y datos previos.
Andamiaje.

50
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

software si es que est preparado para tales funciones o desarrollos que


mantenerse inamovible en un uno de ellos por preferencias, conocimientos y-o
capacidades personales. De esta forma aunque se sea especialista en C++, es
sabido que las facilidades para trabajar con bases de datos estn ms
implementadas en php. Y por el contrario, si se necesitan aplicaciones standalone y
compatibles en mltiples entornos de desarrollo, siempre ser mejor usar Java, o
Python. Por lo tanto, no se debe comenzar el estudio de la decisin a tomar con
prejuicios sobre qu sistema usar.

En este apartado, se comenz con el desarrollo de esta recogida de datos en


PHP. Muy parecido al formato que al trabajar con la ejecucin de cdigo desde
Arduino. Sistemas GET, POST, librera especfica, etc bases de datos de MySQL,
accesos directos a stas, etc. En unas pocas horas de desarrollo de cdigo se vio
que la decisin tomada no era correcta. Se iba a necesitar el uso de muchas
libreras, y el cdigo se complicaba segn se avanzaba en el proyecto. Scaffolding
tiende a infinito. Por otro lado, de esta forma la ejecucin de programas resultantes
iba a ser totalmente dependiente de trabajar online, o mediante servidores en modo
local. Lo que por un lado, ya se tena solucionado, pero cara al usuario final iba a
convertirse en muy complejo. Aunque en ese momento se desconoca que se iba a
necesitar por otro lado un sistema de gestin de interrupciones enrevesado.

Vuelta a empezar y bsqueda de otra va de desarrollo. En este punto,


estaba el socorrido C++, del que se sabe que lo hace todo, sea por la cantidad de
libreras a usar, como su sistema de trabajo a bajo nivel. Ya se haba desarrollado
en C++ cdigo similar, y se conoca que se podra desarrollar lo que se necesitaba
para el proyecto. Pero tambin era notable la complejidad del resultado final. En
esta misma lnea de trabajo estaba JAVA. Pero antes de tomar esta decisin, y
consultando en foros de internet, y a profesionales y colegas del gremio, apareci la
palabra Processing. Trmino que se recordaba en anterioridad por ser un lenguaje
basado en wiring15 y el padre del IDE de Arduino. No obstante ms conocido por su

15
Wiring es un entorn de tabajo de open source para microcontroladores..

51
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

enfoque para la enseanza y produccin de proyectos multimedia e interactivos de


diseo digital que para la integracin con hardware.

Como nota informativa cabe destacar que cuando uno arranca el entorno de
desarrollo de Arduino, se puede leer abajo en letra pequea Based on Processing
by Casey Reas and Ben Fry. Esta pista deba haber sido suficiente para arrancar
esta segunda parte del proyecto directamente en Processing, puesto que si el IDE
de Arduino est basado en este sistema implicar que el rango de compatibilidades
y de comunicaciones estar bastante desarrollado. No fue as en el primer intento,
pero si en el siguiente. Como reza el proverbio popular Rectificar es de sabios, y
aunque el autor de dicho proyecto y el que subscribe y firma este documento no se
considera en posesin de dicha habilidad, no se tiene por necio.

Comienza lo que ser la parte ms importante de este proyecto. La recogida de


estos datos con Processing colocados en el puerto serie por los sistemas
inalmbricos de las lecturas de la placa Arduino.

En conocimiento de Processing se parta de cero, pero gracias a la


documentacin bsica encontrada por internet, y a la amplia comunidad Open
Source de este entorno, fue relativamente asequible comenzar su aprendizaje y
dedicar algunos das de estudio en la familiarizacin de dicho lenguaje. Una mezcla
entre JAVA y C++. El cdigo de Processing al estar basado en Java, puede heredar
todas sus funcionalidades, convirtindose en una herramienta poderosa a la hora de
encarar proyectos complejos. Al igual que Arduino posee una serie de ejemplos
funcionales que ayudan la labor del programador; pero como siempre en estos
casos, cuando las necesidades crecen, todo se complica enormemente.

Posteriormente se iba a necesitar una serie de funciones que se desconoca


si desarrollarlo con Processing iba a ser engorroso o no. Algunas aplicaciones se
pudieron realizar, como el tratamiento grfico de datos en tiempo real, guardar
dicha informacin en ficheros de texto, estructuras complejas como json, etc.
Pero otras se complicaron enormemente y se desech su utilizacin como: hacer un

52
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

live streaming de video dentro del entorno de desarrollo de dicho framework; o


comunicacin directa con bases de datos externas MySQL. Posteriormente se ha
sabido que dichas funciones no estn implementadas todava en ninguna librera.
As como otras aplicaciones que se fueron descubriendo con el tiempo y que se
haba comenzado ya su implementacin usando Java bajo Eclipse16. Al final se
pudieron desarrollar bajo Processing. Es un ejemplo de este caso, el uso del
posicionamiento de datos provenientes de un GPS instalado en Arduino.

Se tienen los datos esperando en el puerto serie del ordenador, ya fuera


mediante cableado USB o por sistema inalmbrico.
Ya se puede hacer su tratamiento mediante el software Processing..

16
Entorno de programacin abierto que soporta multitud de formatos.

53
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.7.2 MODULOS INALAMBRICOS

Antes de trabajar con mdulos inalmbricos como es lgico habr que probar
todos los sistemas con un cable estndar. Cualquier USB servir para la prueba.
Trabajar con mdulos inalmbricos tiene dependencia de muchos factores para su
estabilidad. En especial, distancia al punto de recogida de datos, condiciones
atmosfricas y elementos fsicos que se interpondrn en dicha distancia. En campo
abierto, alejado de ciudades y campos magnticos bajo cielo azul raso, sern las
condiciones perfectas. En entornos cerrados los problemas son relativos a
interferencias magnticas y a las distancias al punto de emisin. Amn de cargas de
bateras, movimientos imprevisibles, etc.

La estandarizacin en las comunicaciones los puertos COM nacidos del


estndar RS-232, ha dado como resultado una comunicacin trasparente entre
perifricos externos y el ordenador central. Sea cual sea el sistema operativo usado.
Linux, Mac, Windows. La transmisin serial transparente en modo AT (tambin
existe el API) hace que si se consigue hacer funcionar para un sistema
estandarizado su portabilidad es total a otro formato. Por lo tanto si se consigue
lectura correcta por cable USB, ser inmediatamente compatible con cualquier otro
sistema seleccionado. En este proyecto se han usado dos dispositivos hardwares
distintos para las comunicaciones inalmbricas. De la compaa DIGI, los mdulos
XBee. Y de 3DRobotics Inc, los mdulos 3DR. Ambos sistemas han sido probados y
su compatibilidad es total con la tarjeta de Arduino.

1.7.3 SISTEMA 3DR

La condicin de usar este sistema de comunicaciones en este proyecto ha


venido definida por diferentes factores.

El primero y ms importante fue la disponibilidad. El acceso a estos mdulos


fue inmediato, y su sencillez y precio los hacan indispensables para hacer pruebas
en un proyecto que debera ser real y de bajo coste como ste para que pueda ser
implementado.

54
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Por otro lado, era importante conocer el resultado de estabilidad y


caractersticas de estos mdulos para tenerlos como opcin de implementacin para
la versin ms reducida de este trabajo. Se podra decir por tanto que la
comunicacin 3DR sera la opcin barata, econmica, de medicin inalmbrica para
este proyecto. Habr que tener en cuenta por tanto cuando se instalen unos
sistemas u otros las caractersticas necesarias o-y distancias para instalar unos
mdulos u terceros.

El rendimiento de los lectores 3DR es ligeramente inferior a los Xbee. Por ello
se relegarn para aplicaciones menores y-o como se ha comentado a versiones
menores en la configuracin del harware.

Para poder hacer la afirmacin de si unos mdulos son ms estables que


otros, el alumno y autor de este documento y PFC ha realizado las pruebas de
forma personal, con la ayuda de sus compaeros de Laboratorio recorriendo pasillos
por edificios cerrados como callejuelas y parques en zonas abiertas.

Y esta afirmacin es totalmente personal e intransferible puesto que va en


contra de lo que se puede leer en foros internacionales de usuarios de
cuadricpteros y otros equipos de vuelo: Para uso de mdulos de datos
17
inalmbricos para telemetra y comandos en vuelo APM 2 es compatible con dos
tipos comunes de mdulos inalmbricos de datos, la Radio 3DR (y compatibles) y
Xbee. Recomendamos la Radio 3DR, que est optimizado para APM y dar un
mayor alcance y rendimiento de prdida de paquetes (adems de que es la mitad
del precio de Xbees), pero si usted ya tiene Xbees que trabajen bien, tambin

Disponer de diferentes mdulos para la realizacin de este PFC ha sido muy


til, ya no slo para conocer su funcionamiento si no, para poder tener en tiempo
real funcionando dos aplicaciones diferentes y mostrar las bondades del trabajo
realizado, as como resultados fsicos y de futura implementacin en la prctica
profesional.

17
ArduPilotMega 2.0 - DIY Drones

55
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La configuracin de 3DR tanto a nivel de Hardware como en su lectura de


datos ser prcticamente similar a los mdulos Xbee. Simplemente habr que
configurar los dispositivos en sus setups correspondiente con el hardware que sus
propias compaas suministran, y en algunos casos, proyectos abiertos que la
comunidad ha creado y cede.

1.7.4 SISTEMA XBEE - ZIGBEE

ZigBee es un protocolo de comunicaciones inalmbricas basado en el


estndar 802.15.4, est pensado para comunicaciones a baja velocidad entre dos o
varios dispositivos, y se pueden formar redes con miles de dispositivos
comunicndose entre s, por lo que es ideal para muchas aplicaciones.

ZigBee es desarrollado por la ZigBee Alliance, formada por cientos de


compaas que quieren solventar la necesidad de un estndar para comunicaciones
a baja velocidad, con un bajo coste de implementacin y donde los dispositivos que
forman parte de una red pueden requerir un bajo consumo, llegando a estar
funcionando durante aos con un par de pilas.

Los mdulos Xbee proveen 2 formas amigables de comunicacin. La


Transmisin serial transparente en modo AT (tambin modo API antes nombrado)
que provee muchas ventajas. El tratamiento de los datos estar estandarizado.

56
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 7 Tecnologas inalmbricas

La seleccin de esta tecnologa se debe principalmente a las caractersticas


mencionadas como: distancias, coste, consumos. Tambin a su implementacin
en las placas Arduinos, en algunos casos bajo shields externas, y en los nuevos
Arduinos incluso ya implementado dentro de la propia placa.

Como se indica en el punto anterior los mdulos Xbee sern los empleados Vs.
los mdulos 3DR cuando se requiera una mayor estabilidad del sistema. Se
presentarn y ofertarn como la gama alta del producto terminado.

57
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.7.5 POSICIONAMIENTO GLOBAL GPS

Como tercera aplicacin y usando parte del cdigo desarrollado en


18
Processing en la seccin anterior se ha desarrollado otro software standalone para
el posicionamiento global de los datos ledos por los sensores instalados en la placa
Arduino. Ser una ampliacin no prevista en los objetivos iniciales del proyecto
puesto que complicaba el proyecto enormemente. Y as ha sido. Pero dado el buen
resultado del trabajo realizado en la recepcin de datos por los sistemas
inalmbricos comenzaron las pruebas con diferentes lectores de GPS

Se presenta tambin la realizacin de este apartado bajo Eclipse. Entorno de


desarrollo basado en java. Las libreras usadas tanto en Processing como en
Elcipse para el posicionamiento global tienen fuentes similares y aunque el
tratamiento de datos no es el mismo, para cualquier profesional de JAVA ser muy
sencillo adaptarlo. Por otro lado, se ha comprobado que la estabilidad y
compatibilidad bajo Java y Eclipse es mayor que bajo Processing donde da
problemas con el OpenGL en versiones que no estn muy actualizadas y
configuradas de forma especfica.

Los datos ledos por los GPS se transmiten igualmente por el puerto serie
estndar, como la lectura de los otros sensores, pero habr diferencias en cdigo y
codificaciones para usar el protocolo NMEA19.

Los datos recibidos en las variables del GPS usado en este proyecto sern
bajo el formato Grados y minutos decimales DMM- y el posterior tratamiento en
Processing ser en Grados decimales DDD.

Se ve:

Grados, minutos y segundos (DMS): dddmm'ss.ss"

Grados y minutos decimales (DMM): dddmm.mmm'

18
Software que se ejecuta sin dependencias de otros programas.
19
Noatinal Marine Electronics Association

58
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Grados decimales (DDD): ddd.ddddd

Habr que convertir dentro del software de Arduino estos datos para ser
enviados por el puerto serie. Igualmente habr que hacer otra descomposicin de
datos para enviar estos Floats en 4 bytes por el serial com.

Para facilitar este trabajo y poder hacerlo las veces que sea necesario se
crear una funcin para la conversin DMM DDD que se llamar cada vez que
se captura un dato en el GPS.

Resumen:

1. Recepcin de datos de Satlite a Arduino. Protocolo NMEA

2. Conversin en Arduino DMM DDD a grados decimales.

3. Descomposicin de datos floats.

59
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.7.6 EMISIN Y RECEPCIN DE DATOS

No era un problema complicado a priori, pero s que se ha enmaraado. La


comunicacin entre dos dispositivos tan distintos siempre tiene unas complejidades
bsicas; que se incrementan cuando las necesidades del proyecto van in
crescendo. Y ms an cuando se usan distintos tipos de software, bajo distintos
IDEs de desarrollo y con un tratamiento de datos completamente diferente entre
ellos. A veces, en los estndares bsicos del software comercial existen libreras
que facilitan este proceso. Pero al final, siempre habr que tocar mucho cdigo para
que emisin y recepcin de datos sea correcta en tiempo y forma. Sincronizacin,
cheksums especficos y customizados etc.

Como se ha explicado una vez cambiado el paradigma de enviar datos


directos a Internet, a enviar los datos por el puerto serie mediante el cable, se
cambi el concepto de trabajo.

Tanto Arduino, como Processing, tienen funciones especficas para trabajar


con el puerto serie. Pero en ambos casos son unas funciones muy bsicas para
dicha actividad. No permiten el control total del puerto serie, por ello se pens volver
en este punto a usar C++ o replantear el tratamiento de stos. Al final, se
desarrollaron funciones avanzadas de comunicaciones que funcionan en modo
interrupcin en ambos sentidos. Teniendo siempre en escucha a ambos puertos,
tanto salida como entrada y ejecutndose solo cuando existe una informacin que
tratar. Ya sea enviar, o recibir.

Fue el problema ms grave en este proyecto cuando se pas de emitir datos


de Arduino a Processing del cable USB a un sistema inalmbrico. Bajo un cable
de conexin menor de 4 metros de distancia las comunicaciones no daban ningn
tipo de problema. No haba prdida de informacin ni transmutacin o intercambio
de datos. Si se enviaba una serie de Bytes, en un orden establecido, eso era lo que
se obtena en el otro punto de comunicaciones. Y as deba seguir siendo, puesto
que luego toda esa cadena de Bytes, descompuestos en sus respectivos BITS
deban ser compuestas en su destino. Pero el problema principal surge al introducir

60
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

datos que se tienen que descomponer en ms de un Byte y luego hacer su


recomposicin. Ya sean datos con signo, enteros, floats, etc. Las funciones que
procedan a envos ASCII estn menos optimizadas que lo que se necesitaba para
este proyecto.

Hubo una serie de pruebas (bastantes) descartadas en el formato de envo


de datos. Sirva como ejemplo de lo que funciona bajo cable en condiciones
estables y no en formato inalmbrico en condiciones adversa:

1. Crear funciones de envo de datos cada cierto tiempo preconfigurado y


compararlo en destino porque si se produce una prdida momentnea de
informacin por un golpe de viento, una interferencia electromagntica, un objeto se
interpone ..etc Los datos llegan intercambiados, el tiempo se pierde.

2. Generar marcas en las tramas y comprobar su salida y llegada.


porque si lo que no llega o lo que se transmuta es la trama, la marca indica que ha
habido llegada de datos

3. y as una serie de pruebas ms como contar datos de salida, esperar


tiempo segn distancias, comprobar datos anteriores para comparativas que no
sean muy desviadas, especie de control estadstico, etc .

Esto es similar a generar un checksum 20 propio de comunicaciones,


chequeo que tiene como propsito principal detectar cambios accidentales en una
secuencia de datos para proteger la integridad de estos.

Estos checksums daban sus resultados. Indicaban que el sistema estaba


trabajando incorrectamente, pero esto no soluciona el problema. Se podra
despreciar los datos perdidos puesto que el dato prximo avalar al dato siguiente,
pero el problema de intercalamiento de datos era inasumible.

Se tena deba disear un sistema de trabajo que en tiempo real uniera estos
dos formatos tan diferente para el tratamiento de datos.

20
suma de verificacin, tambin llamada suma de chequeo

61
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.7.7 EMISIN DESDE ARDUINO

El software de Aduino parte con unos amplios ejemplos y unas libreras


esplndidas con cdigo preconfigurado y una comunidad muy amplia de desarrollo.
Las funciones bsicas no solucionaron el problema pero s, a raz de ellas se pudo
generar un sistema de trabajo que al final ha resultado ser inexpugnable en su
formato de transmisin de datos.

El proceso consiste en generar un buffer FIFO de datos en formato BYTE.


Tantos datos y tan grande de componentes como se quieran transmitir. Deber ser
un buffer enorme, puesto que por ejemplo un float se enviar como 4 BYTES dentro
de ese Buffer. De esta forma cada dato recibido por el GPS una vez convertido
DMM a DDD se descompondr en bytes que se guardan en un orden determinado.
Cada lectura de cada sensor tambin ser convertido y guardado en este buffer de
BYTES. De igual modo e usara otro byte para indicar signos del sistema, etc. Todo
bajo una configuracin personalizada y que hay que conocer. Quedar explicada en
el documento de Especificaciones del sistema y se ver claramente en el cdigo
adjunto.

Arduino como es sabido es un software que funciona como loops infinitos.


Una vez configurada la setup, entra en un bucle de ejecucin constante. Esta
caracterstica pude ser positiva para algunas aplicaciones, pero no para otras.
Puesto que una vez que se ejecuta la setup, ya NO vuelve a ejecutarse si no es por
alguna ejecucin en concreto que se le enve. Este bucle infinito es como el
conocido en C++ do { } while (condicin) y conociendo esta caracterstica que
ser similar en Processing, se pueden programar funciones para sacar al sistema de
esa ejecucin linealsecuencial de cdigo. Esto ser de suma importancia porque
es en esencia lo que se debe hacer para la captura de datos.

Una vez que ese buffer se ha completado, se calcula su tamao y se enva en


una sola trama. De esta forma puede que se pierda un buffer completo de datos si
el sistema inalmbrico entra en inestabilidad pero no habr intercalamiento ni
transmutacin de informacin.

62
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ser imprescindible conocer e indicar al software de destino la velocidad de


informacin de envo. Como se ha indicado en este proyecto 9600baudios. Y
tambin ser imprescindible indicar manualmente en la setup del software del
destino el tamao del buffer de salida. Aunque en Arduino, como se ha indicado
esto no es necesario ya que el tamao se calcula cuando se ejecuta la funcin de
envo. Aunque por seguridad el Buffer se inicializa con unos parmetros y un
tamao determinado.

Cambiando el tamao con una serie de variables y una simple lnea de cdigo
se podran enviar tantos datos como requiera una futura aplicacin.

1.8 PROCESSING RECEPCIN DE DATOS -

Como se ha indicado, a pesar de que dichos entornos de desarrollo tienen


sus propias funciones de comunicaciones usando libreras programadas Open
Source por la comunidad, una vez que se necesitan ser usadas en un formato
custom hay que generar y crear nuevas funciones a raz de stas para utilizarlas en
el programa en cuestin y bajo las necesidades especficas.

Mediante el cable USB la comunicacin ha sido sencilla, los datos enviados se


reciban perfectamente, pero al implementar los sistemas inalmbricos, ya
fuera 3DR o Xbee ha habido que replantear la situacin.

Se quiere reflejar, y que quede patente, que en las setups de los softwares de
comunicaciones inalmbricas (3DRadio, Xtcu) los datos recibidos no tienen nada
que ver en orden y concierto con los resultados que luego llegan al puerto serie. En
los programas de configuracin que suelen disponer de sus propias consolas de
observacin, se obtiene una lectura y luego en el puerto serie del ordenador se
obtiene otra; dependiendo de distancias, interferencias etc. Por lo tanto el crear un

63
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

protocolo estable, era absolutamente imprescindible para la consecucin de este


PFC.

Se hace hincapi en este apartado, pero es que de no ser as, todo el


proyecto a partir de este punto no tendra validez. Todos los datos llegaran
desordenados, en diferentes momentos y no se podra hacer nada con ellos. Otros,
una vez conseguido un protocolo de comunicaciones estable tambin abre nuevos
horizontes para la creacin de nuevas aplicaciones, dado la cantidad de hardware
que se podra instalar en Arduino y las capacidades de procesales del framework
usado en la recepcin.

En principio; en la redaccin bsica de los objetivos, no se pretenda hacer


lecturas de un sistema GPS, pero visto que una vez que las transmisin del
protocolo NMEA es correcta, el envo de datos, aunque complejo se ha podido llevar
a cabo incrementando las posibilidades y las opciones de este PFC.

Era por tanto un cuello de botella, una rotura de la cadena por el eslabn
ms dbil. Y era prioritario solucionarlo cuanto antes.

Una vez enviados los datos de un buffer completo desde Arduino a


Processing habr que recibirlo bajo los condicionantes de transmisin. Como se ha
indicado en otras ocasiones:

Comunicaciones a 9600 baudios.

Puerto serie COM-X. Variable en cada compilacin. Para cada


Ordenador. Para cada Sistema Operativo. Para cada versin de
Arduino ( Uno, Ethernet, etc) y tambin variable si se usa 3DR o XBee.
( se ha creado una funcin tambin para que el sistema busque
automticamente el puerto serie cada vez que se va a usar) Suele
ser del COM 4 al COM 9 por lo general.

Tamao del Buffer de envo.

Tipo del Buffer. En este caso un FIFO.

64
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La funcin en Processing funciona como una Interrupcin clsica. Descartado


una lectura constante de datos y posterior composicin, o una trama con marcas de
inicio y final, ni el mejor sistema de checksum posible, ni envo de strings, ASCII,
etc hicieron viable una lectura inalmbrica. (Todos ellos muy viables en modo
cable).

Slo trabajando con interrupciones del ciclo secuencial lineal del loop de
Arduino hacen posible una transmisin correcta de un buffer FIFO de datos
floats.

1.8.1 USO DEL PUERTO SERIE COM

Hasta el momento se ha ejecutado todo el software en formato secuencial. Es


decir, ejecutando lnea a lnea de principio a fin. Haciendo saltos a funciones cuando
estas eran requeridas, y vuelta al mismo sitio con los resultados. Ya fueran
funciones void o con devolucin de datos.

Pero cuando se requiere una programacin ms amplia se depender en


ocasiones de eventos externos que ocurren fuera de nuestro cdigo y que precisan
de una atencin especial debidamente programada. Esto es un evento, una
interrupcin, o un evento de interrupcin. Existen muchos tipos de interrupciones
como pueda ser un usuario pulsando una tecla, o haciendo click en el ratn.

Y en este caso que se explica para el tema de lectura de datos en el puerto


serie, el sistema est a la escucha de todos estos puertos configurados y cuando se
produce una llamada, el software da prioridad a estos eventos. Son peticiones
ineludibles que requieren ejecucin inmediata. Las hay con ms o menos
prioridad, pero no es tema de explicacin esta memoria.

Usando libreras Open Source y programacin propia se ha implementado la


interrupcin de lectura de datos desde el puerto serie. Al ser un proceso de
interrupcin, no se produce demora en el cdigo, excepto el salto de direccin, y el
resultado es el correcto, ya que el checksum usado en este formato es el propio de

65
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

un puerto serie estndar, y no habr que esperar fines de tramas del buffer indicado
ni tiempos de espera de datos dependientes del programa de envo. Podra
funcionar tan rpido como el tiempo que lleguen los datos del sistema Arduino.

66
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.8.2 CONSOLAS DE CONTROL EN PROCESSING

Dentro de IDE de Processing se programarn diferentes tipos de consolas


grficas de trabajo para el usuario. Unas con ms aplicaciones que otras, que sern
ms avanzadas, e incluso Consolas especficas para cada entorno de trabajo.

1.8.3 CONSOLA BSICA

Este software est destinado a ser usado en diferentes ordenadores y


diferentes plataformas. Por ello se programarn diferentes formatos para
compatibilizar y hacer funcional el sistema para el usuario final.

La que se muestra a continuacin en concreto fue creada para trabajar con


los condicionantes mnimos de tarjetas grficas, dispositivos mviles, etc. Podra
cargarse como sustitutiva si no funcionaran algunas configuraciones, pero no se ha
usado ni se carga por defecto.

Ilustracin 8 Consola mnima

Su funcionamiento es muy sencillo y toda la configuracin es tocando cdigo.


No tiene capacidad de cambiar datos en tiempo real. Los sensores recogen los
sensores y segn los datos preestablecidos se cambiarn las imgenes en tiempo
real con los datos ledos y mostrados por pantalla.

Con la interrupcin del ratn, con el botn derecho se pueden ver otros
parmetros

67
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 9 Datos Ayuda

Digamos que es muy bsica, y sin funcionalidad real. Pero siempre se podra
recurrir a ella si el ordenador fuera antiguo, o no tuviera las capacidades necesarias
implementadas para trabajar con las consolas siguientes. Para acostumbrados a
trabajar en Windows, se podra decir, que es como cuando arranca el sistema
operativo con las condiciones mnimas o en prueba de fallos para chequeos del
sistema.

1.8.4 CONSOLA COMPLETA DE CONTROL PARA MUESTRESO REALTIME

Esta consola completa, ser el sistema de control de todo el sistema, y aqu


todo ser configurable para customizarlo y personalizarlo a gusto del usuario.

68
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 10 Consola principal de recepcin de datos

El usuario ajustar con estos parmetros los valores crticos tanto de


temperatura como de luz, de lo que est midiendo en cada momento. Las imgenes
se podrn cambiar con facilidad para que la consola sirva para hacer diferentes
muestreos.

Los ajustes bsicos sern 3 parmetros, de temperaturas de riesgo y una


tercera de valor crtico de la cul no se podr pasar. Este valor puede activar lo que
el contratista del proyecto desee. En este caso solo cambia la imagen y las
muestras cambian de color, pero se puede integrar que haga una llamada, que
enve un email, un mensaje de texto o que se active un mensaje en la cuenta de
twitter. Las APIS externas probadas bajo Processing funcionan correctamente, y
una vez que estamos en la red, se puede hacer todo lo que es posible de hacer
online y eso implica que se puede hacer de todo.

69
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Arriba a la izquierda se ajustan los parmetros crticos de las lecturas mediante los
slides y el ratn. Tambin mediante el teclado en algunos casos.

Ilustracin 11 Ejemplo de lectura y configracin de dos datos.

En el apartado central, los faders o knobs ajustan tamaos de rejillas de muestreo,


la magnitud de los datos posicionados en pantalla, colores, fondos , etc.

Ilustracin 12 Potenciometros de setup.

Ilustracin 13 Parte central consola

70
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

En la parte central de la consola se ha instalado un scroll de texto con ayuda


para configurar los parmetros. Indicando las teclas funcionales y su significado.
Cargar el texto que se le indique para cada consola.

En las rejillas inferiores se visualizan los parmetros deseados. En esta demo,


Temperatura, y luz Como se ha indicado, el tamao se puede configurar, y
tambin las rejillas de visualizacin.

Si se observa en la parte izquierda, se ve que el valor de temperatura ha


tomado el valor rojo a mitad de la tabla. Esto indica que se ha superado un valor
crtico y se debern tomar medidas al respecto.

Ilustracin 14 Rejillas de muestro

En la parte superior derecha se ha instalado un cuadro informativo que indica


los parmetros bsicos de control. Velocidad de transmisin, puerto serie funcional,
etc.

Ilustracin 15 Cuadro informativo.

71
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Cabe resear que toda la consola se ha programado bajo cdigo a mano. Todo
se ha realizado con variables, por lo que se puede cambiar en tiempo real todos los
parmetros de la misma. Desde las ms insignificantes como el tamao de las fotos,
a eliminar por ejemplo la consola de datos, pausarla o ponerla a grabar datos en
ficheros. Todo se reajusta automticamente. Todo el sistema trabaja por funciones
muy bien explicadas, comentadas y con tanta cantidad de condicionales if que
hacen un sistema casi listo para poder presentarse a una versin Beta comercial en
unas horas de configuracin.

*Datos simplemente curiosos para los aficionados a la programacin.

Al final, algunos solo quieren ver un resultado por pantalla, que haga lo que se
ha especificado que tiene que hacer, pero para otros programar bien es un arte
J.F.T.

Ejemplo de una consola customizada en tiempo real. En este caso, el operario


final ha cambiado tamaos de muestra de la recogida de datos, ha anulado la
pantalla de configuraciones y ha expandido el scroll del cuadro de texto informativo
para conocer que ms podra hacer en la pantalla. Se trata de una pantalla
informativa y de ayuda.

72
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 16 Consola personalizada.

1.8.5 CONSOLA COMPLETA DE CONTROL PARA POSICIONAMIENTO GPS

Se crear una nueva consola para el tratamiento de los datos del GPS y su
geoposicionamiento. En esta el sistema cargar mapas en tiempo real ( necesaria
conexin a internet) y en el punto concreto colocar la medida del sensor instalado
en la placa Arduino.

Esta consola es mucho ms restrictiva que la anterior. Har uso de unas


libreras muy potentes que requieren tarjetas grficas especiales con capacidad de
funcionamiento en modo GPU21 especial y con libreras OpenGL22 de versiones
superiores. Asimismo como se explica detalladamente en el documento de
Especificaciones del Sistema de este proyecto, aun con estas caractersticas no se

21
Unidad de procesamiento grfico
22
Open Graphics Library

73
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

garantiza su funcionamiento. Depender de una configuracin muy profesional por


un experto informtico.

Cuando las libreras y todo el hardware est instalado, esta aplicacin


desarrollada tambin en Processing y duplicada bajo Eclipse en parte, podr
posicionar en tiempo real en diferentes mapas topogrficos, fsicos, vectoriales,
urbanos etc los datos de lectura de la placa Arduino con su correspondiente GPS
instalado.

La navegacin entre los diferentes mapas se ha programado con


interrupciones de teclado y uso del ratn. Por lo tanto queda una navegacin
minimalista, limpia, clara ya que no hay botones que entorpezcan la observacin.

Con este tipo de apps se permite crear de forma rpida mapas interactivos en
aplicaciones tctiles como dispositivos mviles o expositores. Se podrn realizar
desde interacciones bsicas en nuestro mapa, como pueden ser el zoom o
panormicas, a otras ms complejas como gestos multitctiles si en vez de exportar
bajo ejecutable de Windows se hiciera una exportacin para Android que por
defecto permite Processing (si se ha instalado previamente la SDK 23). Esta librera
facilita la conexin con varios proveedores de mapas como OpenStreetMaps, Bing o
aquellos generados con TileMill, creando una visualizacin mediante tiles. A este
mapa de teselas24 se le pueden aadir cualquier tipo de elementos grficos
definidos por el usuario y geoposicionarlos. En este caso se trabajar con OpenSTT
para mapeos urbanos y se har una prueba con el proveedor de Microsoft para usar
mapas topogrficos y fsicos.

23
kit de desarrollo de software
24
La tesela es una pequea pieza de piedra coloreada que se utiliza para confeccionar un
mosaico.

74
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 17 Mapa en real time - Geovisualizacin Urbano

En este primer mapa que es el que carga por defecto la consola, se puede
llegar a un nivel de zoom en el que la interactividad con edificios ya es bastante
vlida. Tras las primeras capturas de los datos por el puerto serie provenientes de
Arduino el sistema comienza a posicionar los datos. Se ve ya un punto de
temperatura posicionado en la zona de la Universidad de La Rioja, que lgicamente
era dnde se estaba en ese momento.

Estas capturas tambin se guardarn en unos gigantescos buffers y se


clonarn a ficheros de texto plano y si fuera necesario a ficheros estructurados para
posterior tratamiento. Por ejemplo, bajo json25 se distribuyen los datos

25
JavaScript Object Notation, es un formato ligero para el intercambio de datos.

75
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

geolocalizados de todos los sensores de terremotos que funcionan en la actualidad


a nivel global en los ocanos y mares de nuestro planeta.

Se crear dentro de esta aplicacin otro tipo de mapeo interactivo para poder
posicionar adems del punto geolocalizado el dato de muestra ledo por Arduino.
Temperatura, luz, etc. Depende del sensor que se utilice en este momento.

Asimismo para facilitar la navegacin, en esta segunda pantalla se dispone


de un segundo mapa en forma de zoom como se ve en la figura abajo a la derecha.

Ilustracin 18 Posicionamiento ms lectura de datos. Urbano + dato

Como se explica a continuacin habr opciones en la consola para cambiar a


otro tipo de visualizaciones.

76
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Este segundo modelo de navegacin por satlite en tiempo real necesitar


adems de las libreras anteriormente instaladas la incorporacin de las API de otro
proveedor de mapas. Esa carga la hace el sistema internamente pero se
programar bajo lneas de cdigo. En este caso, bajo teclado se ha programado un
cambio de proveedor de mapas a una librera abierta de Microsoft, la usada en el
buscador y directorio Bing.

Se comprueba con el cambio de mapas que el posicionamiento y


sincronizacin entre ambos mapas es casi exacto. Trabajar con 4 decimales desde
la conversin que se hace en Arduino da una resolucin muy buena, se usen unos
mapas u otros.

Se recuerda que existe la posibilidad de cargar otro tipo de proveedores de


mapas, carreteras, urbanos para ciudades, lumnicos, etc. Pero su implantacin es
bastante compleja. Ms an si queremos posicionar puntos exactos en ellos. Sin
posicionamiento el cargar o importar otro tipo de proveedores no es tan complejo.

77
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 19 Desde otro proveedor de mapas. Fsicos y Topogrficos.

78
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 20 Proveedor Microsoft. Mapa Fsico urbano.

Se ve una captura de datos por los sensores y geoposicionados.

79
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.8.6 ALTERNATIVAS A ARDUINO-PROCESSING (JAVA,PHP)

El trabajo principal de este PFC consiste en la instalacin de sensores en


Arduino. Su programacin bajo su IDE y transmitirlos a otro software distinto.
Processing. Pero lgicamente existan otras alternativas, que como se vern se han
descartado por diferentes motivos. Algunos casos ya se han explicado en captulos
anteriores, pero no se haba hablado de un paquete comercial existente en el
mercado que facilitara mucho este trabajo realizado.

Una de las alternativas a este cometido , hubiera sido desarrollar todo


mediante Matlab + Simulink + APM2 Simulink Blockset. Es decir, trabajando
usando todo bajo libreras en Matlab. Tanto para emisin como recepcin de datos.
Pero este formato de trabajo estara muy restringido: desde el uso de Ardupilot2
como Arduino compatible a todo el sistema de tratamiento y recepcin de la
informacin. Hubiera sido un sistema muy cerrado y la dependencia del sistema
sera completa. La mayora de las condiciones del cliente seran imposibles
implementar, y todo el uso estara limitado a las actualizaciones propias de la marca.
El scaffolding del proyecto por otro lado sera limitado puesto que se depende por
completo de terceros.

Las ventajas hubieran sido en cuanto a fiabilidad del software y al uso de sus
entornos de desarrollo y grficos. No hubiera habido que crear ninguno de ellos.
Para algunos apartados hubiera sido ms sencillo este formato, pero siguiendo el
camino que ya han usado otros, se llega al mismo sitio, y en este proyecto se
quera crear un proyecto novedoso y nico (dentro de lo que internet se entiende
como original).

Por otro lado, solo la licencia de uso de Matlab 26 ya tiene un coste mayor que
todo este proyecto completo. Uniendo software + hardware + instalacin +
desarrollo + licencias. Asimismo no se podra liberar bajo open source completo
los resultados puesto que se parten de sistemas propietarios.

26
https://www.mathworks.es/store/link/products/standard/new?s_iid=htb_buy_gtwy_cta1

80
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

En una actualizacin a 12 Julio 2014, hay que considerar que no todo se


podra haber realizado en Matlab. Las libreras usadas y los proveedores de mapas
no tienen las APIS implementadas en su totalidad para este software profesional

81
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.9 PANEL DE ADMIN WEB

Estos puntos que siguen a continuacin sern los apartados que menos
tengan que ver con un proyecto de Ingeniera Industrial y que se acercan ms a
Ingenieros Informticos. Pero en este siglo XXI , si no ests en la red, no existes.
Todo lo hagas tiene que tener su versin online, su alter ego informativo y
funcional en el mundo virtual. Casi cualquier proyecto que se lleve a cabo hoy en da
y que vaya a tener un tratamiento de datos, una serie cruzada de informacin, que
vaya a usar histricos, flujo de datos, etc necesitar de usar bases de datos, y si
estas son online la ventajas incrementan y amplan los horizontes del proyecto y
generan nuevas metas para otros valientes.

Es por la labor desempeada por el autor de este PFC durante la ltima


dcada. Aunque ingeniero de titulacin, informtico de profesin.

Al comienzo de este proyecto 6 meses atrs, se pens que el panel de


administracin web podra trabajar en tiempo real mostrando datos de lectura de los
sensores y exponerlos grficamente. Durante el desarrollo de las aplicaciones se
han visto los problemas que esto puede generar y de la dificultad de implantarlo.

Para un tratamiento en modo real online habra que haber elegido un placa
Arduino con tarjeta GSM/GPRS contratada con telefona de datos. Slo esta
opcin hubiera dado la posibilidad de visualizar online, en internet, la captura de las
lecturas de los sensores y su mantenimiento en diversas bases de datos. Por otro
lado, este sistema hubiera sido ms fcil de implantar y de coste similar. La tarjeta
shield de GSM27 para Arduino apenas cuesta 90 euros, y una tarifa de datos, en el
ao en curso ronda los 15 euros. La solucin aportada en este proyecto en la que
los datos pasan por los mdulos inalmbricos Xbee, etc est en un coste similar.

Pero principalmente no era la preferencia el trabajar en modo online para el


tratamiento de datos, puesto que lo primordial era que se pudieran tomar medidas y

27
http://arduino.cc/en/Main/ArduinoGSMShield

82
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

decisiones segn se produca una lectura o aviso en tiempo real en modo insitu.
Es decir, el operario con el ordenador local, recibiendo datos, mientras sobrevuela
cierta zona, poder actuar inmediatamente sin tener dependencias de conexiones a
internet o problemas similares. Ser autnomo e independiente en ese momento.
Ser responsable nico de una decisin a tomar. Posteriormente se valorar si esa
decisin fue correcta o no, cuando se analicen esos datos guardados en ficheros y
en bases de datos online.

Se usar ms el tema online como histrico de datos, consulta, etc. Tambin


para poder compartirlo en formato Open Data estandarizados con otros usuarios del
sistema que necesiten de esos datos para su investigacin o trabajos.

De las tres aplicaciones que se han desarrollado en este proyecto se ven


cules son las que pueden llegar a trabajar en Real Time en la web, en formato
online. porque en modo consola en el ordenador local TODAS funcionan en
tiempo real.

Enviar datos en tiempo real a la red solo pude ser posible en la condicin de
funcionamiento en la que el Arduino est conectado directamente a un Router.

1.9.1 CAMARA WIFI MONTADA EN DRONE

Por qu usar una cmara en un UAD?

La respuesta aunque sencilla y obvia es clara: Para saber dnde se


encuentra nuestro vehculo en cada momento.

Es trivial, pero cuando se ha trabajado con Drones se sabe que esto no es


siempre tan sencillo. El Drone es un equipo pequeo y simtrico de apenas 50 cm
de envergadura fuselaje. Aunque suele llevar luces y diferentes marcas para
conocer su posicin, esto es solo factible reconocerlo cuando se encentra a menos
de 40- 50 metros del punto de control donde se encuentra el operario de vuelo. Las
marcas se pierden en la distancia y tanto el sol como las diferentes montaas y sus

83
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

perspectivas equivocarn la visin que se piense que lleva la trayectoria de


movimiento.

Los multirotores, para facilitar su maniobrabilidad se pueden mover


horizontalmente en las cuatro direcciones. Y tambin pueden girar sobre s mismos.
Por lo que adelante, atrs, derecha, izquierda en los mandos de control del
transmisor tienen poco sentido.

Por lo general, cuando se sale a volar estos equipos, si se van a llevar a


largas distancias, 100, 200, 300 metros en campo abierto lo cual de por si es ya una
temeridad por el riesgo de prdida que conlleva, el uso de prismticos o dispositivos
de visualizacin y bsqueda son indispensables.

El uso de gemelos permitir seguir la trayectoria del Drone, pero


dependiendo de distancias o zonas complejas de vuelo, este medio no siempre ser
el ms acertado. La instalacin de una pequea cmara en el UAD nos dar la
posicin exacta para saber haca donde est mirando. Habr que tener mucha
paciencia y pericia para controlar un Drone a largas distancias y ser muy meticuloso
con los mandos. Giros suaves bajo un control exhaustivo. Realmente se convierte
en un proceso muy arriesgado.

Dependiendo de las velocidad de transmisin de estas cmaras y de su tasa


de envo las habr que incluso permitan al usuario hacer un FPV: First Person View
de la navegacin y sentirse realmente navegando dentro del Drone. Pero conseguir
un tiempo real de navegacin no es fcil ni barato.

Actualmente ya existen versiones en el mercado Drones con cmara de video


incorporada. Las gamas bajas de multirotores emiten su seal de video y de control
va Bluetooth. Algunos modelos tambin wifi. Uno de los problemas de esta emisin
de video aparte de su baja calidad es que no se tiene acceso al video emitido. El
mismo problema que todos los sistemas cerrados explicados en el prrafo anterior.

Otros modelos ya ms potentes viendo las oportunidades de negocio de la


grabacin area de video y fotografa estn incorporando a sus equipos cmaras de
video de alta resolucin en formato wifi a sus propias aplicaciones para dispositivos

84
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

mviles. Y cuando se habla de productos recientes, cabe indicar que el primer


Drone comercial de gama media alta, lanzado al mercado con estas funciones ha
sido a mediados-finales del ao 2013 por la compaa DJI : el Phantom 2 Vision.

Ilustracin 21 Phanton 2 Vision. 2013

Este producto ya permitira opciones de video ms avanzadas y un


tratamiento bsico de la imagen as como manipulaciones.

Pero el problema viene a ser similar si se usa este tipo de equipos. Se estara
trabajando con entornos cerrados y siempre dependientes de actualizaciones
propietarias del fabricante. As como usar siempre su gama de servicios y extras,
incluyendo los dispositivos finales a los que va encaminado.

Haba que analizar el mercado y conocer otros equipos de transmisin de


imagen. Con la preferencia de que el acceso control a ese flujo de video pudiera ser
capturado desde el dispositivo que se quisiera. Ya fuera un ordenador, un telfono o
tableta, o enviarlo directamente a internet si se precisara. Pero que no fuera ni
restrictivo ni un sistema cerrado. Que se permitiera trabajar con esa informacin y
tomar decisiones propias y personalizadas para cada cliente y sus futuras
configuraciones. Para ello habr que recurrir a salir de los equipos suministrados por
las propias marcas de fabricantes de Drones y buscar soluciones personalizadas.

85
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

El mercado actual de cmaras ligeras de video se ha transformado desde la


28
produccin en masa de la tecnologa CCD que aunque datan de los aos 70, no
fue hasta 2009 cuando se le concedi el premio nobel de fsica a los inventores del
laboratorio Bell. Las cmaras actuales de HD permiten ser subidas a multirotores
pequeos cosa que hace 10 aos solo se poda hacer en helicpteros profesionales.
Existen cmaras en el mercado que apenas pesan unos gramos y de valores
accesibles al gran pblico. Pero aparte de estas caractersticas de peso y precio,
para este proyecto se necesitaba una cmara que fuera capaz de transmitir ese
video de forma inalmbrica a una velocidad relativamente potente que permitiera
una visualizacin casi en tiempo real. Se va dar por bueno un desfase de 5
segundos como tiempo real.

Las opciones ms importantes.

Cmara IP. Desde 1.2Ghz a 2.4Ghz

Cmara wifi estndar. Emisin en 2.4Ghz.

Cmara en Alta frecuencia. Emisin inalmbrica en la banda de


5.8GHz.

Cualquiera de estas soluciones adoptadas podran ser vlidas. Todas aportan


segn sus especificaciones un valor extra al proyecto.

En Espaa la emisin entre 900 Mhz y 1.3 Ghz est prohibida (


radiobaliza ) pero se puede emitir legalmente en 1.2 Ghz, 2.4 Ghz, 5,8 Ghz,
10 Ghz y 24 Ghz, no obstante se necesita una licencia de radioaficionado y una
autorizacin especial individual para transmitir en las mismas (menos en 24 Ghz que
no es necesario).

28
Charge coupled device en espaol dispositivo de carga acoplada

86
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

En 2.4 Ghz hay un segmento "libre", para uso industrial, cientfico y mdico
(ISM) que permite una Potencia radiada isotrpica29 efectiva de 10 dBm (10 mW)

Mediante la cmara IP se podra emitir directamente la seal wifi al Router y


de ah salir directamente a internet, ya sea a una aplicacin propia, usar APIS de
servicios como youtube y otros. Tambin se podra tratar el video en modo local.

La eleccin final de una cmara para la versin Demo de este proyecto se ve


prefijada por la disponibilidad de una cmara wifi estndar, que aunque bien
satisface algunas condiciones como peso (80 gramos), precio, podra presentar
problemas de interferencias con los mdulos inalmbricos instalados (habr que
revisar los canales de emisin dentro de esa frecuencia), porque transmitan de
forma codificada estarn en la misma banda de frecuencia. Se usar una GoPro
Hero3 que viene diseada para trabajar con cuadricpteros y con una visin de gran
angular a 170 que permitir una visin amplia de las zonas a analizar.

La frecuencia del Wi-Fi integrado de las cmaras HERO3+ Black Edition


y Silver Edition es de 2,4 GHz, b/g.

Se aconseja no obstante que para proyectos mayores que requieran


caractersticas ms complejas se usen dispositivos inalmbricos que trabajen en el
rango de 5.8Ghz a 1000mw. Estas cmaras permiten seleccionar entre diferentes
canales (sobre 7) de frecuencia una vez hacen un barrido de investigacin en la
zona.

La cmara seleccionada en este caso emite video en formato wifi abierto no


codificado y permite su uso mediante software externo. Asimismo la cmara se ha
hecho popular en el mercado deportivo de cmaras subjetivas de accin y son
funcionales las aplicaciones para dispositivos mviles para tratar el video. Existen
adems aplicaciones propias de la marca para los principales modelos de telefona
mvil, aunque en este trabajo no se usarn dichas aplicaciones si no que se

29
Potencia Isotrpica Radiada Equivalente (PIRE)

87
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

desarrollarn y aplicarn cdigos propios en html5 para integrarlos en el panel de


control de la web, ya sea en modo local, como a travs de internet.

1.9.2 LIVE STREAMING

El trmino streaming se aplica habitualmente a la difusin de audio o vdeo.


Requiere una conexin por lo menos de igual ancho de banda que la tasa de
transmisin del servicio. El streaming de vdeo se populariz a fines de la dcada de
2000, cuando el ancho de banda se hizo lo suficientemente barato para gran parte
de la poblacin. Live streaming ser por tanto la emisin de ese audio-video en
tiempo real a dispositivo cercano que har de servidor y captura de datos.

Dados los algoritmos actuales de conversin y tambin el hardware aplicado


de correccin de movimiento no har falta trabajar con video completo si no que se
podr usar la conversin ms estndar que es actualmente el mp4. De esta forma
seleccionando diferentes parmetros de conversin se podr buscar la calidad
ptima de recepcin, visualizacin, tiempo, buffer, etc. A veces ser necesario tener
capturas de video o imagen esttica de calidad, y en otras ocasiones bastar con
calidades bajas de video que proporcionen un flujo ms rpido y fluido de datos.

La emisin de video en tiempo real se usar particularmente para el


posicionamiento del multirotor cuando ste se encuentre en largas distancias. Saber
hacia dnde est mirando y poder traerlo de vuelta. Para este cometido se puede
configurar el flujo de video en baja calidad.

Pero tambin se le puede dar otro cometido al video streaming. En ocasiones


quiz tenga que salir en un vuelo de investigacin en una zona que presente
visibilidad baja desde el suelo, y solo en altura se pueda tener una imagen clara de
la perspectiva a analizar. Por ejemplo tras un incendio en una nave industrial que se
quisiera medir la concentracin de humos y ver cmo han quedado zonas de acceso
para una posterior incursin de bomberos con material pesado. En este caso, tener
unas imgenes de calidad ser importante, y no lo ser tanto el tiempo que cueste
su llegada al servidor local. 5 10 segundos es un tiempo aceptable para este
cometido. Este video puede ser tratado insitu, no se ha programado para este PFC

88
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

pero perfectamente se pueden aplicar plugins y libreras para incrementar luz, color,
etc. Ahora mismo, estos parmetros se pueden ajustar desde el control wifi propio
de la cmara usada. Pero para otro tipo de cmaras de gamas ms bajas,
posiblemente no dispongan de estas caractersticas. Como se ha indicado en este
caso la calidad de la cmara es de uso profesional. Soporta grabacin hasta 4k.
Pero como uso recomendable se plante el HD estndar.

1.9.3 ANGULARES DE GRABACIN

Se tendr la posibilidad de grabar en diferentes mdulos y ngulos, pudiendo


usar un gran angular de 170 grados para ver ms amplio el campo de visin, pero
teniendo en cuenta que esta visin es una deformacin. El parmetro ms indicado
de grabacin ser a 127 grados.

Ilustracin 22 Modos de grabacin

WIDE 170 grados - MEDIUM 127 grados - NARROW. 90 grados

1.9.4 EFECTO FLAN GELATINA O ROLLING SHUTTER

Cuando se hacen las primeras tomas de grabacin de video en altura, llegan


unos problemas inesperados ya que los equipos todava no estn preparados
especficamente para ello. Uno de los efectos ms problemticos es el conocido
como efecto Gelatina. La imagen capturada se ve como temblorosa como un flan
cuando se mueve el plato que lo sustenta. En el Documento Especificaciones
tcnicas del sistema se explica cmo mejorar esta problema. *No es propio de este
PFC la captura de video.

1.9.5 RECEPCIN DE VIDEO LIVE STREAMING

Sea cual sea el formato de recepcin y el material usado: IP, wifi o en la


frecuencia 5.8Ghz habr que integrar la recepcin de video en un sistema amigable
para el usuario. Par ello la preferencia, ser integrar en la aplicacin una pantalla
para la visualizacin FPV de las maniobras del cuatricptero.

89
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Se ha intentado crear el live streaming de video en la aplicacin desarrollada


en Processing, pero ha sido imposible. Existen libreras de video basadas en JAVA y
que se integran en el framework y tambin APIs externas. Pero aunque tambin
tienen aplicaciones para abrir un buffer de datos y trabajar y editar video, no ha sido
posible hacerlo con video streamming en wifi. Se ha consultado directamente a
desarrolladores de Processing y de estas libreras de video y no se han obtenido
soluciones funcionales. Por lo tanto haba que buscar una alternativa para la
recepcin del video de la cmara del cuadricptero.

Se ha creado una aplicacin personal para la recepcin e integracin del


video en la web. Ya que come se ha comentado, no se ha podido hacer en la
consola de Processing. Se hicieron pruebas trabajando en formato canvas 30, pero
se complicaba mucho el desarrollo. Al final se ha usado cdigo html5 embebido en
web. Este cdigo se puede cargar desde el panel de administracin de la aplicacin
online y usarlo dentro de una plantilla y tambin se puede usar en ventana externa.
Si se tuvieran dos ordenadores, esta solucin sera la ms clara, para poder tener
en uno de ellos, la consola de recepcin de datos y en otro el streaming de video
para la navegacin en FPV.

La decisin final de hacerlo tambin en html5 ha sido para que el resultado


sea compatible en cualquier plataforma mvil. Se han hecho pruebas incluso para
integrar esta aplicacin web en una APK31 exportable y los resultados han sido
positivos, pero como resultado exportable solo sera posible comprobarlo bajo
dispositivos Android.

Como reserva, por si hubiera problemas en la recepcin de video se usarn y


configurarn otros sistemas

Se usar un software externo para la configuracin de la cmara.

30
Canvas, lienzo. Elemento HTML5 que permite generacin de grficos dinmicamente por
scripting
31
Application PacKage

90
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Se instalar una aplicacin modificada web OS de Github 32 para tal


cometido.

Se tendr preparada la aplicacin propia y comercial de la cmara bajo


Windows phone.

Se configurar el programa VLC para la recepcin del buffer de red


abierto.

Este ltimo punto es al que se le ha dado ms preferencia para usar por si


fallan otros sistemas. El autor ha comprobado esta configuracin bajo Linux y bajo
Windows, e incluso ya escribi un post33 para la comunidad Unix en Septiembre
2013. Pero como se comenta estos procedimientos son usando software externo.
Para la realizacin de este PFC se intentar reprogramar esta recepcin de
streaming con cdigo propio.

32
Alojar proyectos utilizando el sistema de control de versiones Git.
33
http://eduardogarbayo.com/streaming-con-gopro-hero3-via-wifi-en-linux-ubuntu/

91
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.10 CAPACIDAD DE TRABAJAR EN TIEMPO REAL

A continuacin un resumen de en qu condiciones se podr trabajar en


tiempo real online. Es decir, ver en internet en cualquier parte del mundo la captura
de la placa Arduino.

1.10.1 EN MODO CONSOLA LOCAL.

1.- Arduino conectado por cable de red PoE o no, a un Router


y enviando datos a internet y a un server local. SI REAL TIME

2.- Arduino emitiendo datos va inalmbrico 3DR a la consola,


al server local, y al server de internet. SI REAL TIME

3.- Arduino emitiendo datos y posicionando datos en del GPS


en mapa va inalmbrico Xbee a la consola, al server local, y al
server de internet. SI REAL TIME

1.10.2 EN MODO ONLINE.

1.- Arduino conectado por cable de red PoE o no, a un Router


y enviando datos a internet y a un server local. SI REAL TIME

2.- Arduino emitiendo datos va inalmbrico 3DR a la consola,


al server local, y al server de internet. NO REAL TIME

3.- Arduino emitiendo datos y posicionando datos en del GPS


en mapa va inalmbrico Xbee a la consola, al server local, y al
server de internet. NO REAL TIME

92
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

El panel de administracin web estar clonado en modo local, en un


ordenador PC personal, donde el usuario tendr instalado las aplicaciones bsicas
para sus funcionalidades necesarias. No importa si se trata de un sistema LAMP o
WAMP. Es decir, usar Linux o Windows.

Tanto Apache, php, mysql y su correspondiente PhPmyAdmin funcionan


correctamente en ambos sistemas cuando se trata de aplicaciones menores. Esta
aplicacin localhost estar clonada en un servidor remoto de internet. En este caso,
se ha contratado un VPS en Canad para tales cometidos.

No existe ninguna preferencia al server local usado, ni al server remoto. La


preferencia para usar el server remoto en este caso es una mera cuestin
econmica. Aparte de que se lleva trabajando con esta empresa ms de un lustro y
aunque no sea la ms estable del mercado de hosting, si es una de las ms
valoradas en cuanto a servicio tcnico profesional.

Por otro lado, la justificacin de tener la informacin clonada en un server


remoto es para poder acceder va online sin ningn tipo de problemas. Conociendo
la direccin web o IP se podr acceder desde cualquier dispositivo mvil pues la
web es 99% RPW 34. Responsive web Design que significa que se ha programado
pensando en usuarios finales de todo tipo y haciendo su compatibilidad casi total.

Aparecern incompatibilidades para telfonos basados en dispositivos


Symbian, algn problema tambin en los grficos en tiempo real en las Blackberry y
en Androids con versiones menores a la 2.4. Ya que a veces los grficos mostrados
usar el formato SVG. Aparte de un jquery, html5, canvas etc.

34
Responsive Web Design. Compatible con todos los sistemas de visualizacin.

93
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 23 Panel de admin web RWD

Acceso al panel de admin online desde un dispositivo mvil:

Ilustracin 24 Admin web acceso mvil

Haciendo una foto en el Bidi el sistema lleva al usuario al panel de


administracin online con su dispositivo celular.

94
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.11 FLUJO DE DATOS Y OPEN DATA

Un flujo de datos es un buffer de informacin que va de un origen a un


destino pasando por cualesquiera que sean los lugares intermedios, en infinitos
contextos en un formato que pueda ser interpretado en todos sus puntos de acceso
y su usuario final.

Al hablar de flujo de datos no se habla de Diagramas de flujo si no de las


primigenias lneas que usen esos diagramas. Los datos en s mismos y su viaje.

El apartado medio por donde fluyen ya ha sido explicado en puntos


anteriores. En este caso sea hablado de sistemas bajo cable usb, inalmbricos. Y el
nivel de software no importa si se trata de buffers de enteros, floats, o strings. No
afecta lo que existe en entre origen y destino, en medio del medio. Solo importa el
resultado final. La transmisin definitiva, en base, no importara si se tratara de
analgica o digital.

Tipo de Datos
Flujo de Datos

F
l
u
j
o

d
e

d
a
t
o
Diagrama: Flujo de Datos, Tipo sde datos.

Por un lado estn los datos en s mismos, luego est el medio por donde
fluyen, y su formato de transporte.

95
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

No se har ms hincapi en este apartado de lo ya explicado en captulos


pasados de cmo se han implementado las funciones e interrupciones del sistema
que hace el sistema funcional.

Interesar ms en este punto del proyecto saber cmo trabajar con esos
datos que el sistema ha ido enviando de un lugar a otro. Como guardarlos para que
sean interpretados por softwares y aplicaciones tan dispares como sea posible.

1.11.1 OPEN DATA

El concepto datos abiertos (open data, en ingls) es una filosofa y prctica


que persigue que determinados tipos de informacin datos estn disponibles de
forma libre para todo el mundo, sin restricciones de derechos de autor,
de patentes o de otros mecanismos de control. Tiene una tica similar a otros
movimientos y comunidades abiertos, como el software libre, el cdigo abierto y el
open access. Si se habla de licencias para este tipo de informacin se ve que la
lnea temporal est muy cerquita : el Archivo Nacional del Reino Unido liber una
licencia gubernamental en el ao 2010. Esto no quiere decir que antes no se
usaran estos formatos, si no que el rpido crecimiento de la red, hace que
continuamente aparezcan nuevas licencias para subsanar, corregir y ampliar vacos
que antes existan o que simplemente no estaban estandarizados.

Una estrella - Disponible en Internet (cualquier formato. Por ejemplo:


PDF),

Dos estrellas - Disponible en Internet de manera estructurada (XLS).

Tres estrellas - Estructurados y en formato no propietario (CVS en vez


del Excel).

Cuatro estrellas - Siguiendo todas las reglas anteriores, pero dentro


de los estndares establecidos por el W3C (RDF e SPARQL):

96
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Cinco estrellas - Todas las reglas ya mencionadas, y adems:


vincular sus datos a los de otras personas, de manera a proveer un
contexto.

Y dentro de los cuatro y cinco estrellas los formatos o ms utilizados en los


ltimos aos han sido el csv, xml, y el formato que est imponindose ltimamente:
json. Y al decir ltimamente hablamos de 2 aos atrs. Tampoco se sabe la
evolucin que tendr la red, pero s est claro que el crear datos abiertos,
estructurados, y bajo cierta normativa es absolutamente imprescindible para poder
trabajar con otros usuarios que reutilicen, usen, amplen, etc. Y preferiblemente
bajo licencias y cdigos relacionados con el Open Source.

En este proyecto se trabajar principalmente con dos tipos de datos. Se


usarn ficheros de texto plano abiertos no estructurados para servir como copias de
seguridad, y ficheros json. Aunque tambin se tendr opcin de trabajar con
exportaciones de datos desde phpMyadmin de bases mySQL que permiten todo tipo
de exportaciones, sql, xml, csv, etc.

Y todo esto viene a ser corroborado en este proyecto; como el uso de datos
abiertos, estandarizados hace que la captura de un sistema totalmente
independiente (Arduino), enve datos a otros elementos y aplicaciones(Processing),
para ser posteriormente compartidos en un mundo online(va website), para volver a
ser interpretados por otros sistemas totalmente independientes y volver a ser
mostrados a usuarios finales(en un movil) que usan otras aplicaciones
personalizadas que tan poco tienen nada que ver con el comienzo de la cadena.

Se explica a continuacin este trabalenguas de datos que vienen y van.

97
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
Diagrama: Cualquier intrprete, compilador, puede leer datos estructurados y
trabajar con ellos.

No solo es importante que los datos sean abiertos y pblicos. Que su


estructura est definida por estndares establecidos por el W3C (RDF e SPARQL)
ser una garanta para el trabajo con estos datos y su reutilizacin. Fcilmente
interpretables por mquinas y personas.

El Gobierno de La Rioja, comunidad donde se presenta este PFC lanz 35 en


el ao 2012 su propio portal de datos abiertos donde el organismo abre la
informacin pblica para que los diferentes agentes involucrados en el sector Open
Data puedan acceder a ella y reutilizarla. Tres son los tipos de datos que se pueden
encontrar en www.larioja.org/datoabierto: directorios, estadsticas y datos
geogrficos, en formatos XLS, XML, CSV o JSON. En este ao, json todava no
estaba tan estandarizado como ahora mismo, en 2014, donde parece que se est
imponiendo, principalmente para aplicaciones web con APIS externas de hombre
mquina. Sumada a esta iniciativa open data, cabe destacar la seccin especial de
la entidad IDE Rioja (Infraestructura de Datos Espaciales de La Rioja) que, desde el
pasado mes de febrero, publica todos los datos geogrficos de su portal en abierto
bajo la licencia Creative Commons Reconocimiento 4.0 Internacional. De esta
manera, es posible reutilizar la informacin para fines comerciales y no comerciales
con la nica condicin de reconocer la autora de los datos.

El autor de este PFC recuerda con claridad aquellos aos ya que su empresa
gan un concurso para la comunidad riojana para gestionar durante cerca de 3
aos varios apartados de la web institucional larioja.org. Se rememora por tanto
como llegaban las nuevas directrices para tratar dicha informacin en las web
institucionales. El apartado web que se gestionaba en aquella poca no tena
acceso directo a datos o configuraciones, ya que se realizaba una gestin de
actualizacin y gestin de contenidos de un software J2EE.

35
http://datos.gob.es/content/rioja-apuesta-apertura-de-datos-publicos

98
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Desde estos aos de trabajo para el mundo institucional se ha tomado


conciencia de la importancia de trabajar con datos abiertos licenciados tambin
como tales y estandarizados para su reutilizacin.

Datos estructurados.

Diagrama : Los datos estructurados ms comunes

Estos datos pueden ser interpretados por cualquier lenguaje de programacin


moderno. Todos estos sistemas disponen de libreras y-o funciones que abren estos
ficheros y los compilan dentro de sus formatos. Los cargan en arrays. buffers,
variables, etc. As, cualquier programador puede acceder, y tratar esos ficheros
dentro del lenguaje que entienda. Por ejemplo en este caso, cualquier programador
podr usar el fichero json que creen los programas de este documento de datos
de temperatura posicionados en un mapa, para crear sus propios diagramas o
estudios. Sus propios histricos, tablas, anlisis etc. Y no solo usarlos, y reutilizarlos,
si no ampliarlos y mejorar lo establecido. Esta filosofa de compartir y mejorar es la
base del Open Source y algunas de sus licencias como GPL-GNU, Creative
Commons.

En este PFC todos los datos se ha tomado la decisin de ser convertidos y


manipulados bajo el formato json. Tambin existirn versiones en texto plano, y en
bases de datos finales MySQL. Pero para la transmisin de un formato a otro, json,
y su modelo estructurado es el ms compatible de todos. Tambin es el ms
actualizado, y el que est adoptando la gran mayora de programadores de php,

99
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

html5, y todos los usuarios de libreras jquery. Se garantiza por tanto que el uso de
json, en contraposicin con csv, xls, rss, etc generar una estructura que ser
compatible con el 99% de los usuarios que quisieran trabajar en el futuro con estos
datos.

Ilustracin 25 El viaje de la informacin.

Por otro lado, uno de los puntos ms importantes que se ha encontrado en el


trabajo con open data basado en json para este proyecto es la compatibilidad entre
Processing, php, y html5 + javascript.

100
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.11.2 TIEMPO REAL DE LAS APLICACIONES

Como se ha hecho hincapi en captulos anteriores de esta memoria, se han


desarrollado 3 aplicaciones principales para tener un concepto global de las
posibilidades que este proyecto presenta.

Trabajar en tiempo real, es decir, visualizar al mismo tiempo unos datos que
el sistema est capturando es imprescindible que as suceda por el operario que
est insitu haciendo el muestreo. Visualiza el valor que desea, en el punto que
precise enviando el multirotor y haciendo el muestreo. No solo visualiza el valor, si
no, que el sistema le indicar si ese valor capturado est dentro de los baremos
establecidos. Ya sea una temperatura, uno humedad relativa o un detector de
humos, etc. Este tiempo real es absolutamente inmediato. Se habla en este caso de
menos de 1 segundo. Se podra hacer por tanto unas capturas y unas mediciones
de varias veces por segundo para crear mapas muy precisos incluso con gradientes,
alturas, etc. La velocidad de esta captura y posterior emisin estara limitada por la
velocidad de transmisin del sistema inalmbrico elegido en este caso. Como
siempre, la cadena se rompe por el eslabn ms dbil.

Este apartado ha sido totalmente solucionado en este proyecto. La tres


aplicaciones presentadas nos permitirn este modo de trabajo insitu en tiempo
real.

Pero como se ha replicado, en este mundo tan online en el que estamos, el


trabajar con los datos en la red, es ineludible. Para ello se han buscado todas las
opciones posibles para llevar y poder implementar estas propiedades.

El modelo 1, que enva datos desde Arduino a un router directamente y de


ah el dato sube directamente a una base de datos a travs de la ejecucin un
programa en un servidor remoto en php, ya lo hace por defecto. Coloca este dato en
el servidor para ser interpretado posteriormente de ser convertido en un fichero json
y ledo en javascript.

101
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

El modelo 2 y 3 funcionaran de diferente forma. El dato llega por el puerto


serie desde Arduino a un ordenador. ste, mediante Processing interpreta el dato.
Lo muestra en tiempo real y lo guarda en un fichero json en un ordenador local.
Este ordenador local est programado en modo servidor con Apache y con una serie
de scripts basados en php tratan ese fichero leyendo su informacin y envindola a
la base datos local, y clonando la informacin en una base de datos en un servidor
de internet.

Existir otra opcin en la que el sistema se salte el paso de guardar los datos
en modo local y usar el servidor programado para coger el fichero de datos y
subirlo a internet. Ser mediante la ejecucin dentro de Processing de instrucciones
directas que conectan con la base de datos en el servidor, ejecutando un cdigo php
que captura el dato y lo guarda en la base datos.

Diagrama: Captura datos y llegada a Processing en formato inalmbrico.

A continuacin un resumen de los modelos de funcionamiento.

102
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.11.3 FUNCIONAMIENTO MODELO 1 TIEMPO REAL

1. Se instalan en la placa Arduino unos sensores.

2. Se programa la placa bajo el IDE de Arduino y su software


correspondiente es compilado a la rom del micro.

3. Arduino captura los datos con sus respectivos sensores.

4. Por cable de red los enva a un Router conectado a un ordenador y a


internet.

5. El router directamente sin pasar por el ordenador (o tambin) enva datos


a un servidor.

6. En el servidor de internet (y local) habr unos ficheros programados en


php que entienden la peticin hecha desde Arduino. GET, POST, etc.

7. El script del servidor guarda los datos que llegan en una base de datos
previamente programada y configurada en MySQL.

La dificultad de implantacin de esta aplicacin se considera media-alta.

Ilustracin 26 Arduino directo

103
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.11.4 FUNCIONAMIENTO MODELO 2 Y 3 TIEMPO REAL

1. Se instalan en la placa Arduino unos sensores.

2. Se programa la placa bajo el IDE de Arduino y su software


correspondiente.

3. Arduino captura los datos con sus respectivos sensores.

4. Mediante sistema inalmbrico enva los datos a un ordenador local.

5. En tiempo real el ordenador bajo Processing muestra los datos al usuario.

6. En tiempo real, Processing guarda todos los datos en ficheros de texto


plano sin formato y en ficheros estructurados en formato json.

7. Se programa un servidor en el mismo ordenador para soportar php,


mysql.

8. Este servidor, mediante un script que se ejecutar manualmente o podra


ser programado bajo cron36, o refrescado cada cierto tiempo abrir el fichero json y
enviar los datos al servidor en modo local a su mySQL y har una clonacin de los
datos a un servidor de internet.

104
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La dificultad de implantacin de esta aplicacin se considera muy alta,


experto.

Crear dos ficheros json, uno en modo local para guardar lo datos, y otro en el
servidor para mostrarlos grficamente ser muy complejo de sincronizar. Tanto que
con ello, se debe explicar que los que se considera tiempo real, queda descartado
por completo. Requerira de una sincronizacin entre servidores mediante
instrucciones cron, que vigilarn hora de los mismos, que comprobaran que los
ficheros estn ya abiertos y no se siguen escribiendo datosetc y un sinfn de
inconvenientes surgidos que como se reitera, el tiempo real para la visualizacin de
estos dos modelos se ha descartado. Mnimo unos 5 minutos de desfase entre
captura y visualizacin en la red online. Es un tiempo estimado y perfectamente
podra duplicarse. No se ha medido.

La dificultad de implantacin de esta aplicacin se considera alta y muy


alta para el tratamiento y posicionamiento bajo GPS.

1.11.5 ALTERNATIVA PARA EL MODELO 2 Y 3

Se intentar saltar el paso de crear ficheros json desde processing, o por lo


menos, aunque estos ficheros si sern creados, no usarlos para el tratamiento real
de la seal. Se podrn usar para el tratamiento de histricos, compartirlos bajo open
data estructurado etc.

Como alternativa se crear una aplicacin dentro de Processing que


contactar directamente con los scripts en php en los servidores mediante la funcin
GET o POST muy similar a la usada desde Arduino cuando se conectaba
directamente al Router. Esta aplicacin en php podra estar en modo local, o en
modo servidor, sera exactamente la misma, y su funcin sera capturar el dato y
guardarlo en la base de datos mysql. Tanto en modo local como en modo servidor

36
En el sistema operativo Unix, cron es un administrador de procesos en segundo plano
(demonio)

105
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

de internet. De esta forma el tiempo real se reducira de esos largos minutos a unos
pocos segundos, y dependiendo de la red, sera casi inmediato. Otro problema
surgira si en ese momento de captura alguien estuviera visualizando los datos.
Posiblemente este usuario estara viendo el fichero json recin exportado por el
servidor remoto y no estara viendo los nuevos datos, pues no habra habido
peticin de exportacin y ejecucin de dicho scritp. Para ello , este usuario debera
ejecutar o refrescar de nuevo la direccin web, pulsar F5, y si hubiera problemas
quiz limpiar la cache de su navegador ( solo en algunos casos 10%).

Diagrama: Proceso desde el Multirotor a Interet via Processing y Router

La dificultad de implantacin de esta aplicacin se considera alta.

106
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.12 BOOTSTRAP DE TWITTER

Para el panel de administracin de la web que se basar en html5 y CSS3 se


ha optado por no comenzar desde cero para la creacin de una plantilla. Existen
plantillas de html5 en la red con las que se podran haber empezado sin tener que
usar otro cdigo nuevo que aprender y usar.

Twitter Bootstrap es un framework o conjunto de herramientas de software


libre para diseo de sitios y aplicaciones web. Contiene plantillas de diseo con
tipografa, formularios, botones, cuadros, mens de navegacin y otros elementos
de diseo basado en HTML y CSS, as como, extensiones de JavaScript opcionales
adicionales.

Es el proyecto ms popular en GitHub y es usado por la NASA y la MSNBC


junto a dems organizaciones. Bootstrap tiene un soporte relativamente incompleto
para HTML5 y CSS3, pero es compatible con la mayora de los navegadores web.
La informacin bsica de compatibilidad de sitios web o aplicaciones est disponible
para todos los dispositivos y navegadores. Existe un concepto de compatibilidad
parcial que hace disponible la informacin bsica de un sitio web para todos los
dispositivos y navegadores. Por ejemplo, las propiedades introducidas en CSS3
para las esquinas redondeadas, gradientes y sombras son usadas por Bootstrap a
pesar de la falta de soporte de navegadores antiguos. Esto extiende la funcionalidad
de la herramienta, pero no es requerida para su uso.

Desde la versin 2.0 (en este PFC se usar la 3) tambin soporta diseos
sensibles RWD. Esto significa que el diseo grfico de la pgina se ajusta
dinmicamente, tomando en cuenta las caractersticas del dispositivo usado
(Computadoras, tabletas, telfonos mviles).

Esta ha sido la principal decisin para usar como plantilla un panel de


administracin basado en Bootstrap, que el resultado de todo lo que se haga online
ser compatible con todos los dispositivos. De esta forma, no se ve necesario el
crear una APP de instalacin especfica para cada dispositivo: Android, ios,

107
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Windows Phone, BalckBerry ,etc. El mero acceso a la web detecta el aparato


conectado y ajusta la plantilla para el mvil o tableta en cuestin. An as, al haber
creado todo basado en Bootstrap se genera un cdigo tan limpio que puede ser
importado desde Eclipse + Phone Gap, y crear APPS compatibles con sus
respectivos SDK. Asimismo se podra usar la ltima aplicacin abierta de Adobe
para crear apps compatibles. Su popular PhoneGap Build. Pero se reitera, que
como el acceso va web es compatible con la opcin adoptada, crear apps
instalables no ser necesario. Por otro lado, las apps se crean cuando se el uso que
se le dar a la misma sera offline; y en este trabajo, siempre se estar tirando de
datos en internet para estar actualizados y usando continuamente la red.
Desestimado.

108
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 27 Panel de admin online

En el panel de Admin se vern datos de lecturas, control de las bases de


datos, video wifi, etc.

109
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.12.1 VISUALIZACIN EN INTERNET DE LOS DATOS

Ya estn todos los datos guardados en el servidor local y en el servidor de


internet. Se explica ahora como se mostrarn dichos datos para que sean
interpretados por el usuario final de la aplicacin web.

1. Los datos ya estn guardados en una base de datos en un servidor bajo


MySQL.

2. Se programa un script que se sube al servidor que captura los datos que
deseen ser visualizados. La programacin se har bajo PHP.

3. Se crea una aplicacin en HTML5.

4. Se programa una aplicacin en php para generar ficheros json a raz de


los ficheros de la MySQL.

5. La aplicacin web en css3, html5, javascript, jquery, Ajax, carga los datos
del fichero json en un array interno.

6. Los datos son mostrados usando libreras externas jquery , svg,

Las libreras externas usadas en este PFC para estas aplicaciones son
libreras de uso gratuito, libre de licencias y open source, lo que permite usar su
cdigo y modificarlo. Se usarn las ms estandarizada para ello: jqplot, flot,
highcharts, etc. Todas ellas sern descargadas de Github, webs oficiales o sitios
similares de cdigo abierto que garanticen una seguridad contrastada y que se est
trabajando con las ltimas versiones.

Es importante trabajar de esta forma para no comprometer la seguridad de


nuestro servidor. Habr que configurar muchos parmetros de directorios para dar
permisos chmod de escritura y acceso externo y evitar dichos peligros requerir de
un esfuerzo y configuracin extra, ms an cuando la informacin no va a llegar de
forma codificada ni bajo ningn estndar de seguridad o https.

110
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Diagrama: Desde el servidor se muestran los datos.

La web en html5 tendr algn apartado programado tambin bajo LESS que
generar CSS3 dinmicas. Pero estas CSS no se generarn en tiempo real. Seria
ralentizar el sistema y la complejidad de la aplicacin se disparara. Se recuerda que
LESS es un lenguaje de estilo dinmico que apenas lleva en el mercado desde
2010. Su uso se est estandarizando en la programacin web desde 2012. En este
PFC las compilaciones de LESS a CSS3, sern previas y los ficheros subirn ya
compilados para ser usados. Pero conservar originales de LESS dar muchas
posibilidades de configuracin futuras para aplicacin web.

La dificultad de implantacin de esta aplicacin se considera muy alta.

111
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.12.2 COMO RESULTADO UN SISTEMA MULTIPLATAFORMA

Se ha comprobado que el sistema es compatible para

1. Acceso desde cualquier PC sobremesa o porttil. Netbook, Ultrabook,


etc.

2. En 125 versiones de diferentes navegadores navegadores: Safari, iOS


Android Browser, Google Chrome, Amazon Silk, BlackBerry Browser,
Nokia Browser, Internet Explorer, Opera Mobile, Opera mini, Firefox
Se adjunta en anejo correspondiente las pruebas realizadas.

3. Tabletas ios, Android.

4. Telefona mvil :

a. Android, desde la versin 2.4

b. BlackBerry

c. Windows Phone

d. Symbian, al 99% ( no funcionan grficos SVG)

e. iPhone, iPad, Phones & Tablet, Android 4.0+, Kindle Fire,


Phones, Tablet, MeeGo-N9, Symbian, Windows Phone 7.5,
Windows 8, Android & Symbian, Java ,iOS, Android, Android,
MeeGo, HP Phone

y en resumen, con cualquier dispositivo compatible37 con html5

37
http://mobilehtml5.org/

112
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.12.3 FORMATOS GRAFICOS DE LOS DATOS

En los ltimos aos se ha producido una enorme proliferacin de datos en


bruto que deben de ser procesados y preparados de una forma comprensible y
visualmente atractiva para el usuario final. La mayora de estas representaciones se
integran en servicios web, y de muchas de ellas se espera que sean interactivas.
Esto supone que el lenguaje de programacin utilizado en muchas ocasiones sea
JavaScript y que los datos a tomar en muchos ocasiones, en formatos JSON.

Para este proyecto se ha programado principalmente estos formatos de


trabajo, para comprobar compatibilidades finales con dispositivos mviles: canvas,
javascript, jquery, svg. Las ms conocidas seran: MorrisJS, jqPlot, JsPlumb,
JsCharts, Flot, Fusioncharts Highcharts

Jqplot es una librera escrita en JQuery y Javascript que utiliza el elemento


Canvas para representar del lado del cliente grficos dinmicos por medio de
programacin

Highcharts es otra iblioteca de grficos escritos en JavaScript puro que


ofrece una forma fcil de aadir grficos interactivos a su sitio web o aplicacin web,
basada en JQuery por lo que permite generar todo tipo de Charts. Funciona en
todos los navegadores modernos, incluyendo el iPhone / iPad e Internet Explorer.
Se basa nicamente en tecnologas de navegacin nativas que no requieren plugins
secundarios del lado del cliente como Flash o Java. Generan datos en SVG.

113
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 28 Formato SVG

Flot es una biblioteca JavaScript con un aspecto simple y atractivo que


presenta caractersticas interactivas. La navegabilidad es posible tanto en Internet
Explorer, Chrome o Firefox como en navegadores mviles en plataformas como iOS
y Android. Por ltimo, la insercin de datos se efecta con formato JSON. Flot que
tiene soporte para extensiones y se puede usar como un plugin de jQuery.

Dentro del panel de administracin se crearn diferentes formatos para la


visualizacin grfica de los datos. Tiempo real, histricos ..etc.

La principal ventaja que deviene de la utilizacin del formato SVG es su


perfecta visualizacin en cualquier dispositivo, sea una computadora de escritorio
convencional o el ms avanzado gadget con alta resoluciones (tipo retina).

En el diagrama siguiente se resume como el servidor basado en Apache,


ejecuta el cdigo script php, coge los datos de la MySQL y los convierte a JSON,
que mediante html5 y JS son cargados en el cdigo en diferentes arrays para hacer
llamadas a las funciones grficas y mostrarlos.

114
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Se ve como en cada dispositivo el aspecto vara cambia. Se vern diferentes


estructuras puesto que el cdigo se interpreta de forma diferente.

Diagrama: Visualizacin de la aplicacin en diferentes dispositivos.

115
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.13 VERSIONES DEL SOFTWARE

El desarrollo de este software y su hardware dependiente se presenta en este


trabajo y en su posterior exposicin y defensa pblica como proyecto Universitario
en versin Alfa. Y aunque todo su desarrollo se ha realizado como proyecto real, el
resultado no lo es. Se trata de un paquete de Hard+Soft que se ha quedado en
versin Alfa demostrativa, indicando sus bondades, caractersticas y posibilidades
de crecimiento, aplicacin, etc. Es un producto inestable y no terminado puesto que
en parte es una revisin de futuras posibilidades del entorno.

Sirvan estos ejemplos de muestra:

Los datos capturados son meros parmetros de temperatura y luz en


un campo abierto. Cuya aplicacin futura es cuasi nula, pero da la
posibilidad de cambiar los sensores e instalar por ejemplo un detector
de humos o gases txicos que sirvan como aviso, etc

El tiempo real en la red no est automatizado en su integridad. S que


en modo consola se vern todo el proceso en RealTime, pero no as
en internet ya que depende de la configuracin insitu de una serie de
parmetros complejos y de unos ajustes que habra que retocar para
una aplicacin concreta.

Todas las configuraciones bsicas estn grabadas en sus


correspondientes setups, pero las avanzadas no lo estn. Ests son
dependientes de cada instalacin, de cada ordenador, y de cada
dispositivo. Por ello, solo el desarrollador del software o en su defecto
un usuario avanzado podra hacer una prueba de funcionamiento y
ajustes en tiempo real. Por ejemplo, habr que cambiar puertos de
comunicaciones cada vez que se conecten o desconecten dispositivos,
y esto implica el tener que volver a compilar y crear, ino, jar, js, json,
mysql, php o standalone de cada aplicacin etc

116
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Por estos condicionantes y caractersticas este software se presenta como


una versin . Una primera revisin del programa; lo que a nivel de software se
podra llamar a un producto inestable y se est a la espera de que se eliminen los
errores a la puesta en prctica completa de toda su funcionalidad, pero satisface
la mayora de los requisitos.

Este proyecto puede pasar a una versin BETA , Y a una Beta 1.0 en
cuestin de unas horas. Simplemente al conocer unas necesidades concretas
bsicas de un cliente final. El proceso de desarrollo de una 1.0 a sus posteriores 1.X
ser de unos pocos das. Asimismo tambin podra llegar a ser una Beta 2.
Funcional, comercial y vendible en una semana, satisfaciendo casi cualquier
necesidad de un cliente final.

Se entender por Versin BETA la que representa la primera versin


completa del programa. Los desarrolladores las lanzan a un grupo de probadores, a
veces al pblico en general, para que lo prueben e informen de cualquier error que
encuentren y propongan caractersticas que quisieran encontrar en la versin final.

De la misma forma, ya sin un tiempo establecido y bajo las peticiones


especficas todo el este software puede pasar a ser una Versin RC, candidata a
definitiva bajo unas revisiones insitu y bajo el software ya instalado y funcional en un
sistema nico. Comprende un producto final preparado para lanzarse como versin
definitiva a menos que aparezcan errores que lo impidan.

Por otro lado llegar a ser una Versin RTM de disponibilidad general en
este caso sera casi imposible ya que se habla de software custom, propietario y
dependiente de hardware y de configuraciones muy privativas y especficas. Se
considera una RTM una versin final del programa. Normalmente es casi idntica a
la versin RC, con slo correcciones de ltimo momento. Esta versin es
considerada muy estable, relativamente libre de errores y con una calidad adecuada
para una distribucin amplia y para ser ya utilizada por los usuarios finales.

117
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.14 REQUISITOS DE EXPOSICIN-PRESENTACIN

Se desconoce si en el lugar elegido para demostraciones o presentaciones se


cumplirn las necesidades bsicas que este proyecto necesita como pueden ser:
red wifi potente, campo abierto y tiempo necesario para estabilizacin de los datos
capturados por el GPS, lugar de interferencias electromagnticas que imposibiliten
tanto el vuelo del Drone como la emisin de datos de los sistemas inalmbricos
instalados. Tomas de corriente necesarias para ordenadores y carga de datos,
software, etc. Zona libre de vuelo de vehculos comerciales como avionetas de
pruebas o antiincendios. Zona preparada para vuelo de Drones de peso medio sin
riesgo para el entorno y-o visitantes. Tiempo necesario para la preparacin de vuelo
de un Drone: IMU, Compas, estabilizaciones verticales, horizontales; requieren unos
minutos de configuracin s o s, antes de comenzar cada vuelo de prueba.

Datos concretos:

1. Para recepcin de datos del GPS a Arduino se requiere un mnimo de


3 satlites. Si no, resultado 0. Medidas correctas estables a partir de 7
satlites.

2. Para el vuelo del Drone la recepcin mnima ser un posicionamiento


de 6 satlites.

3. La distancia mxima del vuelo del Drone con carga ser de 200
metros.

4. El tiempo de vuelo seguro mximo ser de 12 minutos en vaco, 9


minutos con carga. Cmara + placa.

5. La distancia mxima para recepcin de video wifi correcta en live


streaming ser 50 metros.

6. La distancia mxima para recepcin de datos inalmbricos en el


mdulo 3DR ser 60 metros.

118
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

7. La distancia mxima para la recepcin de datos inalmbricos para el


mdulo Xbee ser de 75 metros.

8. La distancia de riesgo inasumible para el Drone ser de 300 metros


horizontales.

9. La altura mxima de vuelo aconsejado ser de 50 metros. Aunque se


tenga la capacidad de triplicar esta distancia. Pero el riesgo es
inaceptable.

119
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.15 ORDEN DE PRIORIDAD DOCUMENTAL

Este ser el orden de prioridad documental.

1. Especificaciones del Sistema

2. Pliego de Condiciones

3. Planos

4. Memoria Descriptiva.

1.15.1 COMPATIBILIDAD Y RELACION ENTRE DICHOS DOCUMENTOS

En caso de incompatibilidad o contradiccin entre los Planos y Pliego,


prevalecer lo escrito en este ltimo documento. Entre pliego y Especificaciones,
prevalecer lo escrito en este ltimo. En cualquier caso lo mencionado en el Pliego
de Condiciones y omitido en los planos o viceversa, habr de ser considerado como
si estuviese expuesto en ambos documentos, siempre que la unidad del Proyecto
este definida en uno u otro documento y figure en el Presupuesto.

1.16 BIBLIOGRAFA

La mayor la informacin consultada para este proyecto se ha basado en


documentacin online. Ejemplos de las webs de los fabricantes y libreras de los
mismos. Sirvan de referencia y ayuda, algunas de las ms visitadas.

http://www.Arduino.cc/es/ https://php.net/manual/es/

https://www.processing.org/ http://unfoldingmaps.org/

http://www.w3schools.com/ http://www.larioja.org/

http://es.wikipedia.org/ http://www.phpmyadmin.net/

http://www.aeromodelismovirtual.com/ http://www.dji.com/

http://www.aeromodelismofacil.com/ http://www.multicopters.es/

http://www.aenor.es http://www.sojamo.de/

120
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.16.1 REFERENCIAS BIBLIOGRFICAS DE ESTUDIOS CON ENTIDAD


PROPIA.

[1]. Martnez De Pisn Ascacbar, F. J. y otros. La oficina tcnica y los


proyectos

industriales. Volumen II. Ed. S. P. UR. 2002.

[2]. Morilla Abad, Ignacio. Gua metodolgica y prctica para la realizacin de

Proyectos. Tomo II. Ed. SP Colegio Oficial de Caminos, Canales y Puertos de

Madrid. 2001

121
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.17 DEFINICIONES Y ABREVIATURAS

LISTADO DE ACRNIMOS Y TECNICISMOS USADOS

APM : ArduPilot Mega 2.0 - DIY Drones

ArduPilot . Placa basada en Arduino Mega especfica para vuelos.

IEEE. Institute of Electrical and Electronics Engineers. Es una de las mayore


asociaciones en el campo de la ciencia y la tecnologa. Uno de los trabajos
ms conocidos que desarrollan es la estandarizacin.
WI-FI. Marca de la Wi-Fi Alliance Mecanismo de conexin de dispositivos
electrnicos de forma inalmbrica. Sigue la norma IEEE 802.11.
(anteriormente la WECA: Wireless Ethernet Compatibility Alliance),

SRS - ERS El estndar IEEE 830-1998 para el SRS(en ingls) o ERS


(Especificacin de requerimientos de software) es un conjunto de
recomendaciones para la especificacin de los requerimiento o requisitos de
software el cul tiene como producto final la documentacin de los acuerdos
entre el cliente y el grupo de desarrollo para as cumplir con la totalidad de
exigencias estipuladas. La especificacin de requisitos de software (ERS) es
una descripcin completa del comportamiento del sistema que se va a
desarrollar. Incluye un conjunto de casos de uso que describe todas las
interacciones que tendrn los usuarios con el software. Las caractersticas de
una buena ERS son definidas por el estndar IEEE 830-1998

TTL: Es la sigla en ingls de transistor-transistor logic, es decir, lgica


transistor a transistor. Es una familia lgica o lo que es lo mismo, una
tecnologa de construccin de circuitos electrnicos digitales.

ZigBee Es el nombre de la especificacin de un conjunto de protocolos de alto


nivel de comunicacin inalmbrica para su utilizacin con radiodifusin
digital de bajo consumo, basada en el estndar IEEE 802.15.4 Ls mdulos
XBee utilizan el protocolo conocido como ZigBee. Este protocolo se cre

122
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

pensando en implementar redes de sensores. El objetivo es crear redes tipo


mesh que tengan las propiedades de auto-recuperacin y bajo consumo de
energa.

LDR viene de la expresin inglesa Light Dependent Resistor. Sensor de Luz

Frameworks: En el desarrollo de software, es infraestructura digital,


conceptual y tecnolgica de soporte definido, normalmente con artefactos o
mdulos de software concretos, que puede servir de base para la
organizacin y desarrollo de software. Iincluye soporte de programas,
bibliotecas, y un lenguaje interpretado

Scaffolding: La palabra Scaffold significa Andamio, pero en programacin el


scaffolding es un mtodo para contruir aplicaciones basadas en bases de
datos, esta tcnica est soportada por varios frameworks.

Standalone: Software de ejecucin totalmente independiente.

Wiring: Framework de programacin open source para microcontroladores.

Processing: es un lenguaje de programacin y entorno de desarrollo integrado


de cdigo abierto basado en Java.

UART : Universal Asynchronous Reciever/Transmitter

RS-232 : Recomended Standard-232 Puerto serie clsico.

NMEA 0183 (o NMEA de forma abreviada) es una especificacin combinada


elctrica y de datos entre aparatos electrnicos marinos y, tambin, ms
generalmente, receptores GPS. El protocolo NMEA 0183 es un medio a travs
del cual los instrumentos martimos y tambin la mayora de los receptores
GPS pueden comunicarse los unos con los otros. Ha sido definido, y est
controlado, por la organizacin
estadounidense National Marine Electronics Association.

APM2 Simulink blockset - libreras para usar con ArduPilot Mega 2.0
hardware.

123
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

RoHS de las siglas en ingls ( Restriction of Hazardous Substances) se refiere


a la directiva 2002/95/CE de Restriccin de ciertas Sustancias Peligrosas en
aparatos elctricos y electrnicos, fue adoptada en febrero de 2003 por la
Unin Europea.

Checksum suma de verificacin, tambin llamada suma de chequeo que tiene


como propsito principal detectar cambios accidentales en una secuencia de
datos para proteger la integridad de estos.

Fritzing es un programa de automatizacin de diseo electrnico libre que


busca ayudar a diseadores y artistas para que puedan pasar de prototipos
(usando, por ejemplo, placas de pruebas) a productos finales. Fritzing fue
creado bajo los principios de Processing y Arduino.

IMU. Una unidad de medicin inercial o IMU (del ingls inertial measurement
unit), es un dispositivo electrnico que mide e informa acerca de la velocidad,
orientacin y fuerzas gravitacionales de un aparato, usando una combinacin
de acelermetros y girscopos. Las unidades de medicin inercial son
normalmente usadas para maniobrar aviones, incluyendo vehculos areos
no tripulados.

Beidou es un proyecto desarrollado por la Repblica Popular de China para


obtener un sistema de navegacin por satlite. "Beidou" es el nombre chino
para la constelacin de la Osa Mayor.

ESC Electronic Speed Controller. Tambin llamado "variador". Controlador de


motores.

Cmara IP (en ingls "IP cameras") es una cmara que emite las imgenes
directamente a la red (Intranet o internet) sin necesidad de un ordenador.
Cable, wifi, infrarojos., etc

CCD. Charge coupled device en espaol dispositivo de carga acoplada es


un circuito integrado que contiene un nmero determinado de condensadores
enlazados o acoplados.

124
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

MPEG-4 es un formato AAC de compresin de datos de audio desarrollado por


el Instituto Fraunhofer conjuntamente con algunas empresas privadas como
AT&T, Nokia, Sony y Dolby.

OpenGL (Open Graphics Library) es una especificacin estndar que define


una API multilenguaje y multiplataforma para escribir aplicaciones que
produzcan grficos 2D y 3D.

ARF: Almost ready to fly

PNP: Plug & Play

RTF: Ready to fly

BNF: 'Bind-and-fly'

Suspensin Cardn del francs cardan, por alusin a Girolamo Cardano,


1501-1576, mdico y escritor italiano) es un mecanismo
de suspensin consistente en dos aros concntricos cuyos ejes
forman ngulo recto, lo cual permite mantener la orientacin de un eje de
rotacin en el espacio aunque su soporte se mueva. Para ello se usan los
Gimbals.

Gimbal estabilizador de imagen, siempre mantiene el horizonte y la vertical en


la cmara.

APK: Application PacKage File es un paquete para el sistema operativo


Android. Es una variante del formato JAR de Java y se usa para distribuir e
instalar componentes empaquetados para la plataforma Android para
smartphones y tablets

GSM/GPRS General Packet Radio Service (GPRS) o servicio general de


paquetes va radio creado en la dcada de los 80 es una extensin del
Sistema Global para Comunicaciones Mviles (Global System for Mobile
Communications o GSM) para la transmisin de datos mediante conmutacin
de paquetes

125
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

OEM: Las licencias OEM son licencias de software que son adquiridas en la
compra de un PC con software legalmente preinstalado. Si alguna vez ha
adquirido un PC Nuevo con Microsoft Windows o Microsoft Office ya
instalado, ha adquirido licencias de software OEM. Las licencias OEM solo
pueden ser utilizadas e instaladas en el PC con el que fueron preinstaladas.

RDF: El Marco de Descripcin de Recursos (del ingls Resource Description


Framework, RDF) es una familia de especificaciones de la World Wide Web
Consortium (W3C) originalmente diseado como un modelo de
datos parametadatos.

Mashups : Mashup (aplicacin web hbrida) En desarrollo web, una mashup es


una aplicacin que usa y combina contenido de ms de una fuente, para
crear un nuevo servicio simple, visualizado en una nica interfaz grfica. Por
ejemplo, usted puede combinar las direcciones y fotografas de las ramas de
su biblioteca con un mapa de Google para crear un mashup de mapa.

GNU La Licencia Pblica General de GNU o ms conocida por su nombre en


ingls GNU General Public License (o simplemente sus siglas del ingls GNU
GPL) es la licencia ms ampliamente usada1 en el mundo del software y
garantiza a los usuarios finales (personas, organizaciones, compaas) la
libertad de usar, estudiar, compartir (copiar) y modificar el software.

Hacker Gente apasionada en el desarrollo. Entusiastas.

GPU Unidad de procesamiento grfico o GPU (acrnimo del ingls graphics


processing unit) es un coprocesador dedicado al procesamiento de grficos u
operaciones de coma flotante

SDK Un kit de desarrollo de software o SDK (siglas en ingls de software


development kit) es generalmente un conjunto de herramientas de desarrollo
de software que le permite al programador crear aplicaciones para un sistema
concreto, por ejemplo ciertos paquetes de software, frameworks, plataformas
de hardware,

126
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

JSON acrnimo de JavaScript Object Notation, es un formato ligero para el


intercambio de datos.

PIRE En sistemas de Radiocomunicacin, la Potencia Isotrpica Radiada


Equivalente (PIRE) es la cantidad de potencia que emitira una antena
isotrpica terica (es decir, aquella que distribuye la potencia exactamente
igual en todas direcciones) para producir la densidad de potencia observada
en la direccin de mxima ganancia de una antena.

Canvas (lienzo en ingls) es un elemento HTML incorporado en HTML5 que


permite la generacin de grficos dinmicamente por medio del scripting.

Github es una forja para alojar proyectos utilizando el sistema de control de


versiones Git. Utiliza el framework Ruby on Rails por GitHub, Inc

CRON En el sistema operativo Unix, cron es un administrador regular de


procesos en segundo plano (demonio)

127
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.18 NORMAS Y REFERENCIAS

1.18.1 NORMAS PARA CONSULTA

UNE 66904-6:2000 Gestin de la calidad.- Directrices para la Gestin de


proyectos (ISO 10006:1997)

UNE 71044 Tecnologa de la Informacin Proceso del ciclo de vida


del software (ISO/IEC 12207: 1995)

UNE 71045-1 Tecnologa de la Informacin Medida del Software - Medida


del tamao funcional - Parte 1: Definicin de conceptos (ISO/IEC 14143-1:
1998)

UNE 71048-5 - Tecnologa de la informacin Evaluacin del producto


software Parte 5: Procesos para evaluadores (ISO/IEC 14598-5)

UNE 157001 Criterios generales para la elaboracin de proyectos

UNE 17799 IN - Tecnologa de la Informacin - Cdigo de buenas prcticas de


la Gestin de la Seguridad de la Informacin (ISO/IEC 17799)

UNE 50113-11/02/03

UN 50132:1994

UNE 90003:2004 Ingeniera del software: Gua para la aplicacin de la


norma ISO 9001:2000 al software de ordenadores

ISO/IEC 2382-1:1993 Information Technology Vocabulary Part 1:


Fundamentals term

ISO 2382-2:1976- Data processing -- Vocabulary -- Part 2: Arithmetic and logic


operations ISO 2382-3:1987- Information processing systems --
Vocabulary -- Part 3: Equipment technology

128
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ISO/IEC 2382-4:1999- Information technology -- Vocabulary -- Part 4:


Organization of data ISO/IEC 2382-5:1999- Information technology --
Vocabulary -- Part 5: Representation of data

ISO 2382-6:1987- Information processing systems -- Vocabulary -- Part 6:


Preparation and handling of data

ISO/IEC 2382-7:2000- Information technology -- Vocabulary -- Part 7:


Computer programming

ISO/IEC 2382-8:1998- Information technology -- Vocabulary -- Part 8: Securit

ISO/IEC 2382-9:1995- Information technology -- Vocabulary -- Part 9: Data


communication ISO 2382-10:1979- Data processing -- Vocabulary -- Part
10: Operating techniques and facilities

ISO 2382-12:1988- Information processing systems -- Vocabulary -- Part 12:


Peripheral equipment

ISO 2382-19:1989- Information processing systems -- Vocabulary -- Part


19: Analog computing

ISO 2382-21:1985- Data processing -- Vocabulary -- Part 21: Interfaces


between process computer systems and technical processes

ISO 2382-22:1986- Information processing systems -- Vocabulary -- Part 22:


Calculators ISO/IEC 2382-13:1996- Information technology -- Vocabulary
-- Part 13: Computer graphics

ISO/IEC 2382-14:1997- Information technology -- Vocabulary -- Part 14:


Reliability, maintainability and availability

ISO/IEC 2382-15:1999- Information technology -- Vocabulary -- Part 15:


Programming languages

ISO/IEC 2382-16:1996- Information technology -- Vocabulary -- Part 16:


Information theory ISO/IEC 2382-17:1999- Information technology --
Vocabulary -- Part 17: Databases

129
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ISO/IEC 2382-18:1999- Information technology -- Vocabulary -- Part 18:


Distributed data processing

ISO/IEC 2382-20:1990- Information technology -- Vocabulary -- Part


20: System development

ISO/IEC 2382-23:1994- Information technology -- Vocabulary -- Part 23: Text


processing

ISO/IEC 2382-24:1995- Information technology -- Vocabulary -- Part 24:


Computer- integrated manufacturing

ISO/IEC 2382-25:1992- Information technology -- Vocabulary -- Part 25:


Local area networks

ISO/IEC 2382-27:1994- Information technology -- Vocabulary -- Part 27: Office


automation

ISO/IEC 2382-28:1995- Information technology intelligence -- Basic concepts


and expert systems -- Vocabulary -- Part 28: Artificial

ISO/IEC 2382-29:1999- Information technology intelligence -- Speech


recognition and synthesis -- Vocabulary -- Part 29: Artificial

ISO/IEC 2382-31:1997- Information technology intelligence -- Machine


learning -- Vocabulary Part 31: Artificial

ISO/IEC 2382-32:1999- Information technology -- Vocabulary -- Part 32:


Electronic Mail

ISO/IEC 2382-34:1999- Information technology -- Vocabulary -- Part


34: Artificial intelligence -- Neural networks

ISO 3535:1977- Forms design sheet and layout chart

ISO 5806:1984- Information processing -- Specification of single-hit decision


tables

130
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ISO 5807:1985- Information processing -- Documentation symbols and


conventions for data, program and system flowcharts, program network
charts and system resources charts

ISO/IEC 6592:2000- Information technology -- Guidelines for the


documentation of computer-based application systems

ISO 6593:1985- Information processing -- Program flow for processing


sequential files in terms of record groups

ISO/IEC 8211:1994- Information technology -- Specification for a data


descriptive file for information interchange

ISO/IEC 8631:1989- Information technology -- Program constructs and


conventions for their representation

ISO 8790:1987- Information processing systems -- Computer system


configuration diagram symbols and conventions

ISO/IEC 9126-1:2001- Software engineering -- Product quality -- Part 1: Quality


model

ISO 9127:1988- Information processing systems -- User documentation


and cover information for consumer software packages

ISO/IEC 10027:1990- Information technology -- Information Resource


Dictionary System (IRDS) framework

ISO/IEC 10728:1993- Information technology -- Information Resource


Dictionary System (IRDS) Services Interface

ISO/IEC 10746-1:1998- Information technology -- Open


Distributed Processing -- Reference model: Overview

ISO/IEC 10746-2:1996- Information technology -- Open Distributed


Processing -- Reference Model: Foundations

ISO/IEC 10746-3:1996- Information technology -- Open


Distributed Processing -- Reference Model: Architecture

131
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ISO/IEC 10746-4:1998- Information technology -- Open


Distributed Processing -- Reference Model: Architectural
semantics

ISO/IEC 11411:1995- Information technology -- Representation for human


communication of state transition of software

ISO/IEC 12119:1994- Information technology -- Software packages -- Quality


requirements and testing

ISO/IEC 13235-1:1998- Information technology -- Open Distributed Processing


-- Trading function: Specification

ISO/IEC 13235-3:1998- Information technology -- Open Distributed Processing


-- Trading Function -- Part 3: Provision of Trading Function using OSI
Directory service

ISO/IEC 13244:1998- Information technology -- Open Distributed


Management Architecture

ISO/IEC 13244:1998/Amd 1:1999- Support using Common Object Request


Broker Architecture (CORBA)

ISO/IEC 13800:1996- Information technology -- Procedure for the registration of


identifiers and attributes for volume and file structure

ISO/IEC 14102:1995- Information technology -- Guideline for the evaluation


and selection of CASE tools

ISO/IEC 14598-1:1999- Information technology -- Software product evaluation


-- Part 1: General overview

ISO/IEC 14598-2:2000- Software engineering -- Product evaluation -- Part 2:


Planning and management

ISO/IEC 14598-3:2000- Software engineering -- Product evaluation -- Part 3:


Process for developers

132
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ISO/IEC 14598-4:1999- Software engineering -- Product evaluation -- Part 4:


Process for acquirers

ISO/IEC 14598-5:1998- Information technology -- Software product evaluation


-- Part 5: Process for evaluators

ISO/IEC 14598-6:2001- Software engineering -- Product evaluation


-- Part 6: Documentation of evaluation modules

ISO/IEC 14750:1999- Information technology -- Open Distributed Processing --


Interface Definition Language

ISO/IEC 14752:2000- Information technology -- Open Distributed Processing --


Protocol support for computational interactions

ISO/IEC 14753:1999- Information technology -- Open Distributed Processing --


Interface references and binding

ISO/IEC 14756:1999- Information technology -- Measurement and rating of


performance of computer-based software systems

ISO/IEC 14764:1999- Information technology -- Software maintenance

ISO/IEC 14769:2001- Information technology -- Open Distributed


Processing -- Type Repository Function

ISO/IEC 14771:1999- Information technology -- Open Distributed Processing --


Naming framework

ISO/IEC 14834:1996- Information technology -- Distributed Transaction


Processing -- The XA Specification

ISO/IEC 14863:1996- Information technology -- System-Independent Data


Format (SIDF) ISO/IEC 15026:1998- Information technology -- System and
software integrity levels ISO/IEC 15288:2002- System Engineering System
life Cycle Processes

133
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ISO/IEC 15437:2001- Information technology -- Enhancements to LOTOS


(E-LOTOS) ISO/IEC 15910:1999- Information technology -- Software user
documentation process

ISO/IEC TR 9294:1990- Information technology -- Guidelines for the


management of software documentation

ISO/IEC TR 12182:1998- Information technology -- Categorization of software


ISO/IEC TR 12382:1992- Permuted index of the vocabulary of information
technology

ISO/IEC TR 14471:1999- Information technology -- Software engineering --


Guidelines for the adoption of CASE tools

ISO/IEC TR 14759:1999- Software engineering -- Mock up and prototype


-- A categorization of software mock up and prototype models and their use

ISO/IEC TR 15271:1998- Information technology -- Guide for ISO/IEC 12207


(Software Life Cycle Processes)

ISO/IEC TR 15504-1:1998- Information technology -- Software process


assessment -- Part 1: Concepts and introductory guide

ISO/IEC TR 15504-2:1998- Information technology -- Software process


assessment -- Part 2: A reference model for processes and process capability

ISO/IEC TR 15504-3:1998- Information technology -- Software process


assessment -- Part 3: Performing an assessment

ISO/IEC TR 15504-4:1998- Information technology -- Software process


assessment -- Part 4: Guide to performing assessments

ISO/IEC TR 15504-5:1999- Information technology -- Software Process


Assessment -- Part 5: An assessment model and indicator guidance

ISO/IEC TR 15504-6:1998- Information technology -- Software process


assessment -- Part 6: Guide to competency of assessors

134
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ISO/IEC TR 15504-7:1998- Information technology -- Software process


assessment -- Part 7: Guide for use in process improvement

ISO/IEC TR 15504-8:1998- Information technology -- Software process


assessment -- Part 8: Guide for use in determining supplier process capability

ISO/IEC TR 15504-9:1998- Information technology -- Software process


assessment -- Part 9: Vocabulary

ISO/IEC TR 15846:1998- Information technology -- Software life cycle


processes -- Configuration Management

ISO7IEC 15939 Software engineering -- Software measurement process

ISO/IEC TR 16326:1999- Software engineering -- Guide for the application of


ISO/IEC 12207 to project management

ISO/IEC CD TR 19759 Software Engineering -- Body of Knowledge (SWEBOK)

ISO/IEC 19.761 Software engineering- COSMIC-FFP. A functional size


measurement method.

ISO/IEC 20926 Software engineering -- IFPUG 4.1


Unadjusted functional size measurement method -- Counting
practices manual

ISO/IEC 20.968 Software engineering - FPA Functional Sizing Method

ISO/IEC 24.570 Software engineering - Definition and counting guidelines


for the application of Function Point Analysis.

ISO/IEC 90003 Software and system engineering -- Guidelines for the


application of ISO 9001:2000 to computer software

SA-CMM:1996 (SEI) The Software Acquisition Capability Maturity Model


SE-CMM 1995 (SEI) A Systems Engineering Capability Maturity Model
SW-CMM 1993 (SEI) Capability Maturity Model for Software

IEEE 729

135
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

IEEE 610.12

EIS 731-1 (EIA) MIL-STD 499B

Euromtodo

Mtrica versin 3 (MAP)

PMBOK - A Guide to the Project Management Body of Knowledge version 3


traducida al espaol (PMI)

136
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1.19 INDICE DE ILUSTRACIONES

Ilustracin 1 Norma usada ................................................................................ 3

Ilustracin 2 Grfico en % de dependencia documental. ................................. 4

Ilustracin 3 Kit de montaje de un 450 ........................................................... 26

Ilustracin 4 Time Line ................................................................................... 38

Ilustracin 5 Directo a Internet ........................................................................ 42

Ilustracin 6 Localhost bsico ........................................................................ 43

Ilustracin 7 Tecnologas inalmbricas........................................................... 57

Ilustracin 8 Consola mnima ......................................................................... 67

Ilustracin 9 Datos Ayuda ............................................................................... 68

Ilustracin 10 Consola principal de recepcin de datos ................................. 69

Ilustracin 11 Ejemplo de lectura y configracin de dos datos. ...................... 70

Ilustracin 12 Potenciometros de setup. ........................................................ 70

Ilustracin 13 Parte central consola ............................................................... 70

Ilustracin 14 Rejillas de muestro ................................................................... 71

Ilustracin 15 Cuadro informativo. .................................................................. 71

Ilustracin 16 Consola personalizada. ............................................................ 73

Ilustracin 17 Mapa en real time - Geovisualizacin Urbano ........................ 75

Ilustracin 18 Posicionamiento ms lectura de datos. Urbano + dato ............ 76

Ilustracin 19 Desde otro proveedor de mapas. Fsicos y Topogrficos. ....... 78

Ilustracin 20 Proveedor Microsoft. Mapa Fsico urbano. .............................. 79

Ilustracin 21 Phanton 2 Vision. 2013 ............................................................ 85

Ilustracin 22 Modos de grabacin ................................................................. 89

137
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 23 Panel de admin web RWD ....................................................... 94

Ilustracin 24 Admin web acceso mvil .......................................................... 94

Ilustracin 25 El viaje de la informacin. ...................................................... 100

Ilustracin 26 Arduino directo ....................................................................... 103

Ilustracin 27 Panel de admin online ............................................................ 109

Ilustracin 28 Formato SVG ........................................................................ 114

Ilustracin 29 Fritzing ....................................................................................... 3

Ilustracin 30 Octocopter.................................................................................. 4

Ilustracin 31 Hexacopter ................................................................................. 4

Ilustracin 32 Cuatricopter ................................................................................ 4

Ilustracin 33 Naza setup ................................................................................. 7

Ilustracin 34 Pila 9v ........................................................................................ 8

Ilustracin 35 Arduino en modo portable ........................................................ 10

Ilustracin 36 Software Center ....................................................................... 11

Ilustracin 37 Puertos serie usados por Arduino ............................................ 11

Ilustracin 38 FTDI para serie ........................................................................ 13

Ilustracin 39 FTDI sofware drivers ................................................................ 13

Ilustracin 40 Puerto Seleccionado ................................................................ 14

Ilustracin 41 Tarjeta Seleccionada ............................................................... 14

Ilustracin 42 Librera Ethernet en C++ .......................................................... 16

Ilustracin 43 ipconfig ..................................................................................... 17

Ilustracin 44 Resultados de IpConfig ............................................................ 17

Ilustracin 45 MAC personal Subred .............................................................. 19

Ilustracin 46 Puerto Serie a 9600 ................................................................. 21

138
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 47 Accediendo al Router ............................................................... 23

Ilustracin 48 Configurando puertos ............................................................... 23

Ilustracin 49 Versiones recomendadas ........................................................ 24

Ilustracin 50 EasyPHP .................................................................................. 24

Ilustracin 51 Paquetes completos para otros sistemas ................................ 25

Ilustracin 52 Lectura correcta de un fichero en modo local. Localhost. ........ 26

Ilustracin 53 Dato desde formulario en php .................................................. 27

Ilustracin 54 Arduino Mega 1-2 ..................................................................... 28

Ilustracin 55 USB para Arduino Uno ............................................................. 28

Ilustracin 56 USB miniUSB ........................................................................... 29

Ilustracin 57 Potenciometro. ......................................................................... 33

Ilustracin 58 Potenciometro. ......................................................................... 33

Ilustracin 59 Sonda NTC de temperatura ..................................................... 35

Ilustracin 60 Acondicionador de seal para NTC 10k................................... 36

Ilustracin 61 Curva caracteristica NTC ......................................................... 36

Ilustracin 62 Ecuacin de las NTC ............................................................... 36

Ilustracin 63 Salida de un divisor de tensin ................................................ 37

Ilustracin 64 Ecuacin de la temperatura ..................................................... 37

Ilustracin 65 Parmetro Rinf ......................................................................... 37

Ilustracin 66 Ecuacin STH .......................................................................... 38

Ilustracin 67 Coeficientes ABC ..................................................................... 38

Ilustracin 68 LDR en Arduino Ethernet ......................................................... 41

Ilustracin 69 Circuito para LDR ..................................................................... 42

Ilustracin 70 LDR en Arduino Ethernet ......................................................... 44

139
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 71 LM 35 en Arduino Uno ............................................................. 45

Ilustracin 72 LM35 ........................................................................................ 47

Ilustracin 73 GPS a Arduino UNO ................................................................ 49

Ilustracin 74 Processing Bsico .................................................................... 56

Ilustracin 75 Fallo 1 de Pocessing ................................................................ 58

Ilustracin 76 Solucion 2 ................................................................................ 58

Ilustracin 77 Solucion 2. parte B. .................................................................. 59

Ilustracin 78 Solucion 2. Parte C. ................................................................ 59

Ilustracin 79 Mis Documentos. ..................................................................... 60

Ilustracin 80 Librearas modo A. ................................................................... 61

Ilustracin 81 Contribuida ............................................................................... 62

Ilustracin 82 Libreras Processing mtodo 2. ................................................ 62

Ilustracin 83 Comprobacin Open GL .......................................................... 63

Ilustracin 84 Arduino y Xbee ......................................................................... 66

Ilustracin 85 versin 2014 ............................................................................. 69

Ilustracin 86 Versin clsica ......................................................................... 70

Ilustracin 87 Xbee Hard ................................................................................ 70

Ilustracin 88 Xbee Asignacin ...................................................................... 71

Ilustracin 89 Configuracin 3DR ................................................................... 74

Ilustracin 90 Configuracin 3DR ................................................................... 75

Ilustracin 91 3DR sobre el APM2 ................................................................. 76

Ilustracin 92 GTPA 013 ................................................................................ 77

Ilustracin 93 GPS en exteriores Logroo. ..................................................... 78

Ilustracin 94 GPS en interiores ..................................................................... 78

140
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 95 Librerias Para Arduino ............................................................. 79

Ilustracin 96 Librerias Arduino ...................................................................... 80

Ilustracin 97 Coordenadas UR ..................................................................... 82

Ilustracin 98 Calibracin Compass ............................................................... 92

Ilustracin 99 Calibracin Compass. .............................................................. 92

Ilustracin 100 Internet Shield .......................................................................... 2

Ilustracin 101 Arduino Ethernet ...................................................................... 2

Ilustracin 102 Ardupilot ................................................................................... 3

Ilustracin 103 Panel de Control ...................................................................... 4

Ilustracin 104 Administrador de dispositivos................................................... 5

Ilustracin 105 Administrador de dispositivos desinstalamos ........................... 5

Ilustracin 106 Sensor humedad DHT 11 ........................................................ 7

Ilustracin 107 Arduino - Sensor humedad DHT11 ......................................... 7

Ilustracin 108 Adaptador Arduino de los MQX................................................ 8

Ilustracin 109 Serie MQX ................................................................................ 9

Ilustracin 110 Arduino Serie MQX .................................................................. 9

Ilustracin 111 Serial ...................................................................................... 16

Ilustracin 112 USB logo ................................................................................ 16

Ilustracin 113 Patillaje................................................................................... 18

Ilustracin 114 Zona Fresnel .......................................................................... 19

Ilustracin 115 Mdulos almbricos vs. Inalmbricos. ................................... 19

Ilustracin 116 Serie 1 .................................................................................... 21

Ilustracin 117 Serie 2 .................................................................................... 21

Ilustracin 118 Xbee ....................................................................................... 22

141
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 119 Redes Xbee ........................................................................... 23

Ilustracin 120 Trama Xbee ........................................................................... 26

Ilustracin 121 Comparativa wifi Zig Blue ....................................................... 28

Ilustracin 122 Usos ZigBee ........................................................................... 29

Ilustracin 123 Comparativa con la serie PRO ............................................... 30

Ilustracin 124 Digi Logo ................................................................................ 31

Ilustracin 125 Timeline.................................................................................. 32

Ilustracin 126 Cuenta de google timeline ..................................................... 33

Ilustracin 127 Publicacin web ..................................................................... 34

Ilustracin 128 Resultado del cdigo .............................................................. 34

Ilustracin 129 GPS 3DR ............................................................................... 35

Ilustracin 130 GPS GTPA 010 ...................................................................... 35

Ilustracin 131 GTPA 013 de Adafruit ............................................................ 36

Ilustracin 132 Radiofrecuencias. .................................................................. 40

Ilustracin 133 XCTU clsico ......................................................................... 42

Ilustracin 134 Versin clsica XCTU ............................................................ 43

Ilustracin 135 XCTU clsico ......................................................................... 44

Ilustracin 136 XCTU versin 2014 ................................................................ 45

Ilustracin 137 XCTU versin 2014 ................................................................ 45

Ilustracin 138 XCTU versin 2014 ................................................................ 46

Ilustracin 139 XCTU versin 2014 ................................................................ 46

Ilustracin 140 XCTU versin 2014 ................................................................ 47

Ilustracin 141 XCTU versin 2014 ................................................................ 47

Ilustracin 142 XCTU versin 2014 ................................................................ 47

142
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 143 Open Source .......................................................................... 94

Ilustracin 144 Logo Arduino .......................................................................... 94

Ilustracin 145 Frizting ................................................................................... 94

Ilustracin 146 Processing ............................................................................. 94

Ilustracin 147 Java ........................................................................................ 94

Ilustracin 148 Javascript ............................................................................... 94

Ilustracin 149 Html5 Y CSS3 ........................................................................ 95

Ilustracin 150 PHP ........................................................................................ 95

Ilustracin 151 Aptana Std ............................................................................. 95

Ilustracin 152 MySQL ................................................................................... 95

Ilustracin 153 SO Linux ................................................................................ 95

Ilustracin 154 Distro Ubuntu ......................................................................... 95

Ilustracin 155 LESS CSS .............................................................................. 95

Ilustracin 156 Eclipse Logo ........................................................................... 95

Ilustracin 157 PhP MyAdmin ........................................................................ 95

Ilustracin 158 Boostrap d Twitter .................................................................. 95

Ilustracin 159 Jquery .................................................................................... 95

Ilustracin 160 Json........................................................................................ 95

lustracin 161 Open Office ............................................................................. 95

Ilustracin 162 Wamp ..................................................................................... 95

Ilustracin 163 Gimp....................................................................................... 95

Ilustracin 164 Phone GAP ............................................................................ 95

Ilustracin 165 Apache ................................................................................... 95

Ilustracin 166 EasyPhp ................................................................................. 95

143
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 167 Compatibilidad Navegadores ................................................. 24

Ilustracin 168 Compatibilidad Navegadores ................................................. 25

Ilustracin 169 Compatibilidad Navegadores ................................................. 25

Ilustracin 170 Compatibilidad Navegadores ................................................. 26

Ilustracin 171 divisin de los temas para el KA de las Pruebas de Software68

144
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

FIN DE DOCUMENTO: MEMORIA

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

145
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

146
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

DOCUMENTO N2: PLANOS

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2. PLANOS

2.1 INTRODUCCIN

Todos los planos y circuitos de este PFC se han generado con el software
Open Source Fritzing. Adems de los planos exportados en papel, todos los
archivos fuente se encuentran en formato digital; lo que da posibilidad de editarlos o
hacer nuevas exportaciones. Generar circuitos nuevos, completos, o partes. As
como cambiar formatos para crear ya placas finales. Generar lista de despieces de
componentes, e incluso hacer las compras directas del material online. Fritzing fue
creado bajo los principios de Processing y Arduino; lo que lo hace el componente
perfecto para el pack de este proyecto. Se ha respetado la licencia del software y
por ello la marca de agua no ha sido borrada de los circuitos intencionadamente.

Ilustracin 29 Fritzing

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

INDICE DE PLANOS

ARDUINO CHECK

2.1.1 LISTA DE ENSAMBLAJE, 2.1.2 LISTA DE COMPRA

SONDA DE TEMPERATURA NTC


2.2.1 LISTA DE ENSAMBLAJE 2.2.2 LISTA DE COMPRA

SENSOR LDR
2.3.1 LISTA DE ENSAMBLAJE 2.3.2 LISTA DE COMPRA

SENSOR LM35
2.4.1 LISTA DE ENSAMBLAJE 2.4.2 LISTA DE COMPRA

POTENCIOMETRO
2.5.1 LISTA DE ENSAMBLAJE 2.5.2 LISTA DE COMPRA

SISTEMA INALAMBRICO XBEE


2.6.1 LISTA DE ENSAMBLAJE 2.6.2 LISTA DE COMPRA

GPS GTPA 013


2.7.1 LISTA DE ENSAMBLAJE 2.7.2 LISTA DE COMPRA

GPS GTPA 013 + LM 35


2.8.1 LISTA DE ENSAMBLAJE 2.8.2 LISTA DE COMPRA

LDR + LM35 + XBEE + GPS + ARDUINO ETHERNET


2.9.1 LISTA DE ENSAMBLAJE 2.9.2 LISTA DE COMPRA

POTENCIOMETRO + GPS + XBEE + ARDUINO


2.10.1 LISTA DE ENSAMBLAJE 2.10.2 LISTA DE COMPRA

4
2.2 ARDUINO CHECK

Circuito de comprobacin del sistema

2.2.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

LED2 Red LED - 5mm paquete 5 mm [THT]; leg yes; Color Red (633nm)

Parte1 Arduino Board Ethernet Tipo Arduino Ethernet Board

VCC1 Battery block 9V Voltaje 9V

2.2.2 LISTA DE COMPRA

Amount Part Type Properties

1 Red LED - 5mm paquete 5 mm [THT]; leg yes; Color Red (633nm)

1 Arduino Board Ethernet Tipo Arduino Ethernet Board

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 20/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 03/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: Chequeo del Sistema. Bateras, Puerto, Sensor,
entradas y salidas. Setup.
1
2.3 SONDA DE TEMPERATURA NTC

2.3.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

Parte1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

paquete THT; tolerance 5%; bands 4; Resistencia 10k; espacio


R1 10k Resistor
entre pines 400 mil

Temperature Sensor resistance at 25 10k; paquete THT; thermistor type NTC; Tipo
R2
(Thermistor) thermistor

2.3.2 LISTA DE COMPRA

Amount Part Type Properties

1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

paquete THT; tolerance 5%; bands 4; Resistencia 10k; espacio


1 10k Resistor
entre pines 400 mil

Temperature Sensor resistance at 25 10k; paquete THT; thermistor type NTC; Tipo
1
(Thermistor) thermistor
FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 20/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 03/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: Sonda de Temperatura NTC.

2
2.4 SENSOR LDR

2.4.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

Arduino Board
Parte1 Tipo Arduino Ethernet Board
Ethernet

paquete THT; resistance@ dark 300 kOhms@ 10 seconds; resistance@


R1 Photocell (LDR)
luminance 16 kOhms@ 10 lux

paquete THT; tolerance 5%; bands 4; Resistencia 10k; espacio entre pines
R2 10k Resistor
400 mil

VCC1 Battery block 9V Voltaje 9V

2.4.2 LISTA DE COMPRA

Amount Part Type Properties

Arduino Board
1 Tipo Arduino Ethernet Board
Ethernet

paquete THT; resistance@ dark 300 kOhms@ 10 seconds; resistance@


1 Photocell (LDR)
luminance 16 kOhms@ 10 lux

paquete THT; tolerance 5%; bands 4; Resistencia 10k; espacio entre pines
1 10k Resistor
400 mil

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 24/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 03/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: Sensor LDR en Arduino Uno

3
2.5 SENSOR LM35

2.5.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

Parte1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

T1 LM35 Temperature Sensor paquete TO92 [THT]; Tipo LM35

VCC1 Battery block 9V Voltaje 9V

2.5.2 LISTA DE COMPRA

Amount Part Type Properties

1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

1 LM35 Temperature Sensor paquete TO92 [THT]; Tipo LM35

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 20/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 03/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: Sensor LM35 de temperatura en Arduino Uno.

4
2.6 POTENCIOMETRO

2.6.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

Parte1 Arduino Board Ethernet Tipo Arduino Ethernet Board

U1 POT paquete pot_alpha_rv16af-20; variant -rv16af-20

VCC1 Battery block 9V Voltaje 9V

2.6.2 LISTA DE COMPRA

Amount Part Type Properties

1 Arduino Board Ethernet Tipo Arduino Ethernet Board

1 POT paquete pot_alpha_rv16af-20; variant -rv16af-20

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y A PELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 24/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 03/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: Potenciometro en Arduino Ethernet

5
2.7 SISTEMA INALAMBRICO XBEE

2.7.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

Parte1 Arduino Board Ethernet Tipo Arduino Ethernet Board

U1 XBEE-1 paquete xbee-1_lock; variant xbee-1_lock

VCC1 Battery block 9V Voltaje 9V

2.7.2 LISTA DE COMPRA

Amount Part Type Properties

1 Arduino Board Ethernet Tipo Arduino Ethernet Board

1 XBEE-1 paquete xbee-1_lock; variant xbee-1_lock

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y A PELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 24/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 05/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: Xbee en Arduino Ethernet

6
2.8 GPS GTPA 013

2.8.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

GPS1 Adafruit Ultimate GPS Breakout

Parte1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

VCC1 Battery block 9V Voltaje 9V

2.8.2 LISTA DE COMPRA

Amount Part Type Properties

1 Adafruit Ultimate GPS Breakout

1 Arduino Uno (Rev3 Tipo Arduino UNO (Rev3)

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y A PELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 24/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 05/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: GTPA 013. Instalacin GPS

7
2.9 GPS GTPA 013 + LM 35

2.9.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

GPS1 Adafruit Ultimate GPS Breakout

Parte1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

T1 LM35 Temperature Sensor paquete TO92 [THT]; Tipo LM35

VCC1 Battery block 9V Voltaje 9V

2.9.2 LISTA DE COMPRA

Amount Part Type Properties

1 Adafruit Ultimate GPS Breakout

1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

1 LM35 Temperature Sensor paquete TO92 [THT]; Tipo LM35

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y A PELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 24/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 05/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: GTPA 013 + LM 35

8
FECHA NOMBRE Y A PELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 24/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 05/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: GTPA 013. + LM 35

8.1
2.10 LDR + LM35 + XBEE + GPS + ARDUINO ETHERNET

2.10.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

Adafruit Ultimate GPS


GPS1
Breakout

Parte1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

paquete THT; tolerance 5%; bands 4; Resistencia 10k; espacio entre


R3 10k Resistor
pines 400 mil

paquete THT; resistance@ dark 300 kOhms@ 10 seconds; resistance@


R4 Photocell (LDR)
luminance 16 kOhms@ 10 lux

LM35 Temperature
T1 paquete TO92 [THT]; Tipo LM35
Sensor

U2 XBEE-1 paquete xbee-1_lock; variant xbee-1_lock

VCC1 Battery block 9V Voltaje 9V

2.10.2 LISTA DE COMPRA

Amount Part Type Properties

Adafruit Ultimate GPS


1
Breakout

1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

paquete THT; tolerance 5%; bands 4; Resistencia 10k; espacio entre


1 10k Resistor
pines 400 mil

paquete THT; resistance@ dark 300 kOhms@ 10 seconds;


1 Photocell (LDR)
resistance@ luminance 16 kOhms@ 10 lux

LM35 Temperature
1 paquete TO92 [THT]; Tipo LM35
Sensor
Amount Part Type Properties

1 XBEE-1 paquete xbee-1_lock; variant xbee-1_lock

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 20/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 03/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: GPS + LDR + LM35 + XBee

9
FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 20/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 03/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: GPS + LDR + LM35 + XBee

9.1
2.11 POTENCIOMETRO + GPS + XBEE + ARDUINO

2.11.1 LISTA DE ENSAMBLAJE

Label Part Type Properties

GPS1 Adafruit Ultimate GPS Breakout

Parte1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

U2 XBEE-1 paquete xbee-1_lock; variant xbee-1_lock

U3 POT paquete pot_alpha_rv16af-20; variant -rv16af-20

VCC1 Battery block 9V Voltaje 9V

2.11.2 LISTA DE COMPRA

Amount Part Type Properties

1 Adafruit Ultimate GPS Breakout

1 Arduino Uno (Rev3) Tipo Arduino UNO (Rev3)

1 XBEE-1 paquete xbee-1_lock; variant xbee-1_lock

1 POT paquete pot_alpha_rv16af-20; variant -rv16af-20

1 Battery block 9V Voltaje 9V


FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 20/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 05/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: GPS + XBee + Potenciometro

10
FECHA NOMBRE Y APELLIDOS
UR - PFC - Supervisin remota de
DIBUJADO 20/05/2014 Eduardo Garbayo Herce parmetros medioambientales
COMPROBADO 05/07/2014 Eduardo Garbayo Herce capturados por UAV

GRUPO PFC ARD UAD - 0001


PLANO N
ESCALA DENOMINACIN DEL PLANO: GPS + XBee + Potenciometro

10.1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

FIN DE DOCUMENTO: PLANOS

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

DOCUMENTO N3: ESPECIFICACIONES DEL


SISTEMA

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3. ESPECIFICACIONES DEL SISTEMA

3.1 CONFIGURACIONES BSICAS

La configuracin, setup del entorno de Processing ser muy sencilla, ya que


el programa viene preconfigurado para realizar las funciones de ejemplo sin tener
que hacer dependencias o instalaciones de SDKs complejas. Se explicarn en este
documento las libreras extras que se necesitarn para compilar este cdigo, as
como instalarlas. Se adjuntarn tambin una lista de errores comunes, FAQ; y como
solucionarlos.

Por defecto habr que cargar y compilar el programa cada vez que se
requiera su ejecucin si es que se ha cambiado de ordenador o configuraciones
extra en el hardware del sistema. Como se explica al final del documento, se est
trabajando con una versin Alfa de desarrollo.

Para la exportacin de cdigo s que se requerir una configuracin extra, ya


se trate para destinos como Android, JavaScript, Windows 32bits, 64bits, etc.

3.2 CONFIGURACIN PUESTA EN MARCHA DEL DRONE

La denominacin vehculo areo no tripulado, de siglas VANT, proviene


del ingls Unmanned Aerial Vehicle, de siglas UAV. Es tambin muy usada la
denominacin sistema areo no tripulado, de Unmanned Aerial System y de
siglas UAS. Ms extendido es el trmino ingls drone (literalmente zngano), que
puede asimilarse como palabra espaola con el singular dron.

En este proyecto el Drone en s mismo solo ser el vehculo, el medio usado


para montar las placas Arduino y proceder a su captura de datos.

Perfectamente para algunos casos se podran usar vehculos terrestres de


buena traccin para la recogida de datos, pero como objetivo final, se ha pensado
en usar un Drone para poder acceder a lugares ms remotos e inaccesibles para un
vehculo terrestre. Como pudieran ser mediciones de polinizacin a una altura de

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

terminada en campo abierto, o hacer un muestreo de picos de humos en un


incendio etc.

Ilustracin 30 Octocopter

Ilustracin 31 Hexacopter

Ilustracin 32 Cuatricopter

Es por tanto el Drone el vehculo a usar y aunque no forma parte de este


proyecto su configuracin, setup, o modificaciones internas, s que ser importante
tener experiencia en el manejo de estos aparatos.

Dentro de las gamas de cuatricpetros que oferta el mercado actual habr


que saber discernir claramente entre lo que es considerado un juguete y lo que

4
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

empieza a ser aeromodelismo amateur, y posterior uso de aeromodelismo avanzado


para uso comercial. Es decir, uso de Drones para tomas fotogrficas, video areo,
mediciones, vigilancia, etc. En este punto es donde se encuentra este proyecto y el
uso que se va a dar a los Drones.

Existen en el mercado a nivel de juguetes o aficionado un boom de


pequeos drones en venta por el que los amantes al aeromodelismo van pasando
hasta llegar a equipos ms profesionalizados:

Suelen ser equipos de corcho o poliestireno expandido que controla va


BlueTooth o Wifi con nuestros dispositivos mviles (telfonos, tabletas, etc ) . Tiene
un alcance mximo de 50 metros y estn preparados para volar en interiores y sin
nada de viento. No pueden cargar absolutamente nada de peso.

Este mercado se ha extendido en los ltimos aos, pero tambin el siguiente


escaln donde ya se encuentran cuadricpteros pequeos que ya pueden volar en
exteriores cuando las condiciones atmosfricas sean positivas.

Como se indica, todava estas configuraciones son equipos enfocados a


juegos y son aptos para casi todos los pblicos. Las aspas van cubiertas, suelen ser
de plstico blanco y no son relativamente peligrosos.

Pero cuando ya se quiere usar algo de carga, por poca que sea, hasta 250
gramos, y volar en exteriores los equipos a usar ya se disparan en precio, dificultad
de vuelo y configuraciones. Dentro de esta gama es en la que se encuentra este
proyecto. Se necesita cargar un Drone con una cmara que nos ayudar en el vuelo
para posicionamiento, y la placa Arduino con sus respectivos sensores. Includa una
pila de 9v, y una protoboard. Lo que ronde los 200 gramos.

En este rango de equipos de vuelo, el autor de este PFC tiene experiencia en


el montaje personalizado, customizado y configuracin de cuadricpteros de tamao
medio-alto. Como se ha indicado el principio de esta memoria, principalmente en el
uso de Kits abiertos de montaje. Se compran elementos compatibles con diferentes
configuraciones, IMUS, GPS, etc Se consideran abiertos en el hecho que se pueden
combinar marcas y modelos, pero no se tiene acceso a sus datos internos para

5
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

lectura de datos. El acceso y configuracin de estos equipos sera otro proyecto en


s mismo. Usando similar equipo del usado para este trabajo, como el Ardupilot
Mega 2 como elemento de control. Un Arduino con sensores incorporados que
permite el acceso a los datos y configuraciones a bajo nivel.

Para este proyecto como se indica el uso del UAD ser el elemento soporte
para las tarjetas Arduino, GPS, cmaras, etc.

Dentro de esta gama de vehculos comerciales de uso cerrado se optar por


mostrar el trabajo en dos equipos de alta gama. Uno construido a mano, y que
permite ciertas configuraciones, as como de una alta capacidad de carga, puesto
que est basado en un kit muy potente de vuelo. Se podra enfocar el uso de este
Drone a las tareas ms complejas o que requieran ms tiempo en vuelo con
estabilidad contrastada con pesos cercanos a los 500 gramos de carga.

Por otro lado se mostrar un Drone comercial preconfigurado y estabilizado


de serie para labores menores. An as estamos hablando de alturas aproximadas a
300 metros y distancia horizontal superior en campo abierto bajo condiciones
atmosfricas benvolas.

Aunque estos drones vengan de serie con unas estabilizaciones bsicas


habr que proceder a hacer una calibracin instu cada vez que el Drone vaya a
alzar el vuelo. Este ajuste requiere de unos minutos ineludibles que no deben ser
obviados puesto que se pondr el riesgo el equipo en vuelo y principalmente todos
los usuarios cercanos a ste. Un equipo sin un buen ajuste se puede desconfigurar
en vuelo aunque las condiciones atmosfricas y ambientales sean positivas.

Otros datos como el posicionamiento de salida o home quedan registrados


para hacer aterrizajes de emergencia y traer al Drone a un punto fijo prefijado en
caso de prdida visual o cualquier otro tipo de problema mecnico.

La configuracin o setup bsica del Drone se tiene que hacer cada vez que se
ponga en marcha el equipo. Slo sern necesario actualizaciones o
configuraciones bajo software externo en casos concretos.

6
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.2.1 SOFTWARE DE CONFIGURACION

Ambos equipos, ya sean los montados manualmente a base de Kits, como el


equipo cerrado de la serie Phantom usan software especfico de setup de los
componentes internos. Aunque no se dispone de acceso a los datos internos o
secuencias de control, desde el software, el usuario avanzado podr calibrar
parmetros como GPS, IMU, emisora TX etc.

Estas configuraciones habr que hacerlas cada vez que el equipo sufra un
aporrizaje o aterrizaje forzoso. As como si hay cambio de motores u otro tipo de
componentes. Cualquier movimiento extrao en vuelo, desconfiguracin,
trayectorias errneas, no home automtico, o posicionamientos incorrectos ser
buen momento para realizar una setup del equipo. Se recomendar tambin el
Pliego una serie de condiciones bsicas y revisiones cada determinadas horas de
vuelo.

Ilustracin 33 Naza setup

7
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.3 ARDUINO

Se dividen las condiciones y de uso de Arduino en su versin Hardware y


Software.

3.3.1 PUESTA EN MARCHA

Para arrancar la placa Arduino bastar conectarla a la alimentacin


necesaria. Se puede usar una pila de 9V si se desea que el sistema sea autnomo y
libre de cables. Si se trabaja en modo local, se alimentar con un transformador con
un mximo de 12v y un mnimo de 7v. Si el software ha sido cargado el Arduino ya
est listo para funcionar, si no ha sido as, se debe enviar el programada desde el
IDE del ordenador al Arduino por el puerto usb. ste hace de alimentacin propia y
no ser necesario tener fuentes de energa alternativas. Existen como se ha
indicado Arduinos que soportan tambin alimentacin PoE38.

Ilustracin 34 Pila 9v

3.3.2 PUERTO SERIE

La comunicacin entre la placa Arduino y el IDE en el ordenador ser por el


puerto USB. Este puerto se asigna cada vez que se usa el Arduino y se conecta al
ordenador. Depender de cada sistema operativo usado: Linux, o Windows. E
incluso dentro de cada sistema, ser diferente tambin de cada versin. Incluso
puede cambiar en cada arranque del ordenador. Por ello, habr que consultar
siempre el Panel del Control de los sistemas Operativos para comprobar el puerto

38
Alimentacin a travs de Ethernet Power over Ethernet.

8
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

serie usado y asignarlo al IDE del Arduino para que as pueda comunicar. Se explica
como hacer este tipo de pruebas, as como todos los problemas que puedan surgir
al usuario al realizar este intercambio de informacin.

3.3.3 IDE DE ARDUINO

Desde la pgina oficial de Arduino39 se descarga de forma GRTUITA el


Entorno de Desarrollo Integrado, llamado tambin IDE (en ingls de integrated
development environment). Esto ser el software que ser capaz de comunicar
nuestros drivers con la tarjeta. El IDE de este sistema es muy completo y viene con
una serie de ejemplos que har que trabajar con l sea gratamente satisfactorio. El
sistema est basado en C++ y su programacin es muy similar en cuanto al uso de
bucles, funciones y variables. El sistema incluir una serie de comandos especiales
para el uso especfico de puertos y caractersticas de la tarjeta. Dado la cantidad de
ejemplos y tutoriales online la curva de aprendizaje ser relativamente sencilla para
todos aquellos que tengan estructura su forma de programacin de alto nivel.

3.3.4 INSTALACIN EN WINDOWS XP-7-8-8.1

El paquete descargado tiene dos opciones de instalacin. Una versin


portable y una setup. Se han probado ambas versiones y no existen grandes
diferencias de estabilidad. Si bien es cierto, que las versiones portables dan
problemas en Windows cuando se hace limpieza de ordenadores en los registros o
archivos temporales. Cachs etc

Este software ha sido probado por el autor en Windows xp sp3, Windows 7,


Windows 8.1 Funcionando de forma similar en todas las particiones.

39
http://arduino.cc/

9
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 35 Arduino en modo portable

3.3.5 INSTALACIN EN LINUX - UBUNTU

Para distribuciones estndar de Linux se hara:

cd $HOME

wget http://Arduino.googlecode.com/files/Arduino-1.0.5-linux64.tgz

tar xzvf Arduino-1.0.5-linux64.tgz

rm -R Arduino-1.0.5-linux64.tgz

Probando el puerto USB

dmesg | grep ttyACM

Ahora habra que darle permisos suficientes al puerto ttyACM0

sudo chmod 666 /dev/ttyACM0

cd $HOME/Arduino-1.0.5

Y a continuacin lo ejecutamos!

./Arduino

En este caso se ha instalado a travs de una distribucin Linux Ubuntu 13, y


se ha usado el sistema de descarga oficial de la distro. Ubuntu Software Center.
Siendo tan sencillo como teclear Arduino e instalar.

10
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 36 Software Center

3.3.6 DRIVERS DE ARDUINO.

Si los DRIVERS que si no se instalan automticamente al conectar el Arduino


por primera vez habr que acudir a las pginas de los respectivos fabricantes e
instalarlos a mano.

3.3.7 PUERTOS SERIE.

Se comprueba que la instalacin ha sido correcta. Aqu se conocer que


puerto serie ha sido el adjudicado para Arduino. Se ve en este caso que es el
COM8. No siempre ser as, y cada vez que se cambie cualquier configuracin
habr que consultarlo. Este dato es imprescindible para la setup del IDE.

Ilustracin 37 Puertos serie usados por Arduino

11
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.3.8 PROBLEMAS DE INSTALACIN. IDE, DRIVERS, ETC

Siempre que se trabaja con HardWare-Software-Libreras-Drivers surgen


problemas. Ms aun cuando se trata de Open Source, donde los fabricantes de los
dispositivos son de diferentes compaas. Son entornos abiertos y siempre habr
que tener cuidado con las versiones que se usan de los entornos de desarrollo.
Drivers, Libreras usadas. Leer las caractersticas de cada versin y trabajar
siempre con versiones estables. Aun as, los quebraderos de cabeza sern
continuos en todo proyecto que ane hard+soft.

3.3.9 NO DETECTA DRIVERS

Como se ha indicado Windows - Linux se conectan a internet por primera vez


cuando se conecta una tarjeta Arduino para la instalacin automtica de drivers. En
la mayora de los casos la instalacin es instantnea, pero cuando esto no sucede:

Si no se instalan automticamente: hacerlo desde el Panel de Control de


Windows y aadirlos manualmente. Los Drivers estn en la carpeta de instalacin
de Arduino/Drivers. Basta con indicar esta ruta y el sistema los buscar e instalar.

A veces como se indica esto no es suficiente, as ha sido el caso de la placa


Arduino Ethernet. El resto de placas probadas, Ardupilot, Mini, Uno, no han dado
problemas. Pero como se indica la placa Ethernet lleva un software especial para la
comunicacin del puerto serie y ha habido que acudir en algunas ocasiones a la web
original del fabricante FTDI.40 Esta placa lleva un sistema externo para la carga de
programas va usb, que luego se desconecta para dejar la placa Arduino cargada y
funcionando, reduciendo peso.

40
http://www.ftdichip.com/Drivers/VCP.htm

12
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 38 FTDI para serie

Se descarga el software y nos da un aviso de todo ok :

Ilustracin 39 FTDI sofware drivers

3.3.10 PUERTO OCUPADO

Los puertos COM de Windows se asignan segn se conectan dispositivos al


ordenador: ratn, impresora, telfono, etc. Suele coger el puerto 8 en winXP, a
veces el 5 en Windows 7; depende particin.

En ocasiones dice que el puerto est ocupado y no compila. Se soluciona


quitando Arduino instalando otro dispositivo de usb; sacndolo, reiniciando el
sistema, y colocando Arduino en otro puerto usb.

A veces el problema es del propio cable USB. Tamao, longitud, calidad del
cable - Cambiar de cable e intentarlo de nuevo.

13
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Principalmente este ha sido el problema ms comn tanto en Windows, como


en Linux.

3.3.11 MUY LENTO EL IDE BAJO WINDOWS 7

En ocasiones el entorno IDE se ralentiza en Windows 7. Le cuesta entrar al


men y el ratn va como a golpes. Le cuesta abrir cualquier pestaa.

Acudir a Anejo correspondiente porque la solucin es larga y compleja.

3.3.12 ARRCANCA LA IDE DE ARDUINO

En el software Arduino se coloca el puerto que nos haya dicho el Panel de


Control

Ilustracin 40 Puerto Seleccionado

y la versin de la tarjeta . Ethernet en este caso

Ilustracin 41 Tarjeta Seleccionada

14
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Tambin usarn ambas versiones de Aruino Mega. 1, 2, ardupilot.

3.3.13 USO DE LA SHIELD ETHERNET

Ethernet permite a la placa Arduino de conectarse a Internet. Puede


funcionar tanto como servidor capaz de aceptar conexiones entrantes, como cliente
permitiendo realizar conexiones de salida.

La configuracin viene determinada por una librera especfica de Arduino

3.3.14 LIBRERAS PARA ARDUINO

Ser la primera de las varias libreras que habr que instalar para incrementar
las capacidades de nuestro Arduino. En este caso, instala en esta librera varias
opciones para el trabajo en red, y salir a internet. As como diferentes propuestas
para escribir o leer datos.

Las libreras para Arduino son gratuitas y de uso Open Source. Estn escritas
en C++ e incluso se permite el hacer modificaciones en ellas. Los cdigos fuentes
estn disponibles. En las versiones ms actualizadas del IDE de Arduino la librera
serie ya viene instalada por defecto. Ms adelante se usarn otras libreras que
habr que instalar y se explica cmo hacerlo, pero se entiende que si se usa el IDE
de Arduino se har con esta versin indicada o en su defecto con una superior.

15
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 42 Librera Ethernet en C++

3.3.15 CONFIGURANDO LA RED EN MODO LOCALHOST E INTERNET


DIRECTO

Lo primero ser conocer las IPs del ordenador que har como servidor de
informacin. Permitiendo conectar a Arduino a un ordenador en modo local o en un
servidor de internet va Router.

Se Abre una ventana de ejecucin a travs de Inicio. Ejecutar o pulsando las


teclas Windows + <R> simultneamente. En la lnea que se ha abierto, teclee
cmd y pulse la tecla <Intro> Se abrir una ventana con fondo negro como esta.

16
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 43 ipconfig

Se teclea lo siguiente en la pantalla ipconfig y pulsa la tecla <Intro>

Ilustracin 44 Resultados de IpConfig

Se pueden re-utilizar los datos siguientes:

La direccin IP (IP Address): Se suman 10 al nmero final [*], en este caso:


192.168.1.34 (34+10) = 44 192.168.1.44 o 92.168.1.34

17
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La mscara de red (Network mask) : 255.255.255.0

La direccin del router (default gateway) : 192.168.1.1

(*) Normalmente los routers asignan las direcciones automticamente, al


sumar 10 se intenta no re-utilizar ninguna de las que su router haya asignado a los
equipos de casa (porttiles, puestos fijos, etc). Si no tiene ms de 10 equipos en
casa; esto debera funcionar.

Se muestra a continuacin ya los datos, tal y como se usarn en cdigo bajo


Arduino. Variables en formato Byte. Este cdigo ya es funcional e interpretable por
el IDE.

byte mac[] = { 0x00, 0xAA, 0x00, 0xAA, 0x00, 0xAA }; // Una direccin
MAC . Cualquiera es vlida si no existe ya dentro de su red,

byte ip[] = { 192, 168, 1, 34 }; //La direccin IP asignar a la placa


Arduino Ethernet

byte gateway[] = { 192, 168, 1, 1 }; // La direccin de su router en la


red

byte subnet[] = { 255, 255, 255, 0 }; // La mscara de red

En las redes de computadoras, la direccin MAC (siglas en ingls de media


access control; en espaol "control de acceso al medio") es un identificador de 48
bits (6 bloques hexadecimales) que corresponde de forma nica a una tarjeta o
dispositivo de red. Se conoce tambin como direccin fsica, y es nica para cada
dispositivo. Est determinada y configurada por el IEEE.

Las direcciones MAC son nicas a nivel mundial, puesto que son escritas
directamente, en forma binaria, en el hardware en su momento de fabricacin.
Debido a esto, las direcciones MAC son a veces llamadas burned-in addresses, en
ingls.

18
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Si necesitara mi propia imac. Tecleo en windows CMD. luego ipconfig/all (if


config bajo Linux).

Ilustracin 45 MAC personal Subred

La direccin fsica real: 6C- F0-49-73-97-8B (ordenador de sobremesa


casa)

byte mac[] = { 0x6C, 0xF0, 0x49, 0x73, 0x97, 0x8B }; //no me har
falta.

La MAC de mi Arduino Ethernet- (Mayo 2014) : 90-A2-DA-0D-69-DB


viene escrita debajo de la tarjeta.

byte mac_Arduino[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x69, 0xDB };

En resumen; lo que se ha conseguido aqu es identificar las direcciones


dinmicas y fsicas de los dispositivos que se van a usar en la red. Las MAC fsicas
de ordenadores y placa Arduino. Las IP de routers, y ordenadores locales en red.
Las IP de servidores en internet ya se conocen e incluso se podr usar nombre
reales www.google.es y la propia librera devuelve la IP dando como resultado
conexiones estables.

El software Arduino con su librera Ethernet a travs de DHCP (siglas en


ingls de Dynamic Host Configuration Protocol, en espaol protocolo de
configuracin dinmica de host) que es un protocolo de red que permite a los
clientes de una red IP obtener sus parmetros de configuracin automticamente,
localiza Arduino y le asigna una IP fuera de la red para no tener problemas. Este
cdigo bsico y funcional se encuentra en el Anejo correspondiente. Se

19
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

recomienda usar este cdigo para asignar la direccin IP al Arduino y as se ha


hecho en este proyecto.

Una vez conocidas y configuradas las direcciones de servidores ya sea en


modo local o directamente internet, Arduino puede usar instrucciones de cdigo
similar al usado en http para hacer peticiones. Y tambin instrucciones de PHP
como GET y POST.

client.println("HTTP/1.1 200 OK");


client.println("<body><html>");
client.println("Content-Type: text/html");
client.println("<meta http-equiv='Refresh' content='0;url=xxx'>");
client.println("</body></html>");
client.println("Host: www.google.com");
client.println("GET http://zainder.com/arduino/arduino.txt");
client.println("GET http://zainder.com/arduino/arduino-get.php?temperatura=");
client.println( variable )

Diferentes colores para mostrar diferentes tipos de peticiones. Este


cdigo pertenece a un programa mayor que se cargar en Arduino y
que se adjunta tanto en formato digital como en el Anejo
correspondiente.

Estas instrucciones son imprescindibles comprender para tener comunicacin


ya sea con el ordenador en localhost, o cualquier otro ordenador en red. Si se
desconoce el lenguaje de programacin PHP no se puede usar este sistema de
comunicaciones, que es imprescindible su uso.

Aparte de tener el Arduino programado para realizar peticiones GET, POST, y


otras http, es imprescindible que esos ficheros .php existan. Arduino por s mismo
no hace nada si no ejecutar dicho cdigo. Previamente se habrn creado, probado,
e instalado esos scripts.

La ejecucin de este cdigo es el puerto serie de Arduino. Requerir una


configuracin mnima.

20
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

void setup()
{
Serial.begin(9600);
Serial1.begin(38400);
Serial2.begin(19200);
Serial3.begin(4800);
Serial.println("Hola ordenador");
Serial1.println("Hola Serial 1");
Serial2.println("Hola Serial 2");
Serial3.println("Hola Serial 3");
}

Ilustracin 46 Puerto Serie a 9600

3.3.15.1 CONFIGURACIN DEL ROUTER

Con el ordenador conectado al router y el Arduino conectado al router en otro


puerto se comprueba cual es la ip del Arduino. Tiene su propio script para ello
192.168.1.33 resultado. Luego con ipconfig se la IP de ordenador.

21
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ipv4.192.168.1.34 Se comprueba que est el puerto 80 abierto para usarlo de


servidor. Se deben modificar parmetros en el router.

Acceder al router por http://192.168.1.1

Seleccionar la opcin del men de la izquierda: 'NAT -> Reenvio de


Puertos.

Se muestra 'Configuracin de Servidores Virtuales'. Pulsar en Aadir.

Marcar la casilla Seleccionar un Servicio y buscar en el desplegable


si la aplicacin ya est predefinida, si no aparece, marcar Servidor
personalizado y escribir el nombre de la aplicacin en el espacio en
blanco.

En 'Direccin IP del Servidor', introducir la IP asignada a la red. Se


puede obtener, si se desconoce, mediante el comando ipconfig desde
la consola de DOS de Windows (Inicio -> Ejecutar -> cmd) o ifconfig
desde terminal GNU/Linux. Se obtiene en la lnea 'Direccin IP', y sera
algo as como 192.168.1.x

Seleccionar en el desplegable el tipo de puerto a abrir (TCP o UDP).

En 'Puerto Externo inicial' introducir el puerto a abrir y en 'Puerto


Externo Final' el mismo (si se desea abrir un rango consecutivo de
puertos, en ese caso el inicial sera el ms bajo y el final el ms alto).
Este mismo paso para todos los puertos deseados.

Pulsar en Salvar.

22
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 47 Accediendo al Router

Ilustracin 48 Configurando puertos

3.4 CONVERTIR EL ORDENADOR EN UN SERVIDOR

Para poder trabajar con bases de datos, y cdigo en ejecucin se debe tener
el sistema configurado para tal efecto.

Se podr convertir cualquier PC con unas caractersticas mnimas de disco


duro, ram, y cpu en un servidor local. Cualquier ordenador menor de 10 aos,
basado en un sistema Pentium servir para tal efecto puesto que las condiciones de
estos sistemas no son muy restrictivas. Siempre ser recomendable el uso de
ordenadores potentes, ya que el mismo ordenador adems de trabajar en modo
servidor, tambin estar ejecutando otro tipo de programas como Processing, y
tambin compaginar el uso de red wifi para hacer live streaming etc,

23
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Las versiones necesarias para funcionar tambin sern las mnimas y aunque
se recomienda siempre trabajar con versiones actualizadas que sern las
recomendadas como:

Ilustracin 49 Versiones recomendadas

Se puede instalar cada aplicacin por separado o usar un software que


instale simultneamente todo lo que se necesita para convertir un PC estndar en
un servidor.

3.4.1 CREACIN DE UN WAMP

Se podrn usar softwares como wamp, easyPhP, xampp, phptriad,, etc si lo


que se requiere es instalar todo en una sola aplicacin.

En el ordenador principal de trabajo se ha usado el software EasyPHP.

Ilustracin 50 EasyPHP

3.4.2 CREACIN DE UN LAMP

Por defecto en los servidores remotos se trabajar con LAMP. Ms


concretamente bajo CentOS41. Uno de los sistemas ms estables del mercado.

41
Community ENTerprise Operating System Basado en Red Hat

24
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

En modo local si se es usuario de Linux, o de Mac se recomienda trabajar con


Xampp, que instala el paquete completo: MySQL, PHP y Perl.

Ilustracin 51 Paquetes completos para otros sistemas

3.4.3 COMPROBACIN

Para estar seguros que la instalacin es correcta, pues acontece que cuando
se instalan estos sistemas nunca sucede nada; ya que corren en segundo plano.
Ser importante saber que todo ha ido correctamente cada vez que queramos que
el ordenador trabaje en modo servidor. Accediendo o tecleando localhost o
127.0.0.1 en cualquier navegador el sistema nos devuelve los archivos que se
tengan en la carpeta de trabajo. Que ser diferente dependiendo del sistema
instalado. Algunos la instalan en el directorio raz, bajo el nombre www y en el caso
que se est trabajando para este proyecto se encontrar en la carpeta propia del
programa en el directorio scripts. Que devuelva una informacin y no solo visual al
acceder a esta carpeta significa que se est bajo un trabajo dinmico.

Se crea un fichero bsico para comprobacin de qu se estn haciendo bien


todos los pasos. Es un fichero de texto que copiamos en nuestro ordenador cuando
ste, trabaje como localhost. Es decir, que tenga instalado: Apache.

25
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
Ilustracin 52 Lectura correcta de un fichero en modo local. Localhost.

Este es el fichero que se usar continuamente para hacer las pruebas con
Arduino. Antes de escribir o ejecutar cdigo php, o peticiones http, se comprobar
mediante este archivo que todo va desarrollndose correctamente. Este mismo
archivo de texto plano se clonar en diferentes servidores de internet.

3.4.4 COMUNICACIN BSICA- COMPROBACIONES

Siempre, antes de ejecutar un cdigo completo, se comenzar con pruebas


bsicas de control. Ficheros demo que bajo resultado positivo permitan avanzar a la
ejecucin de mayores lneas de cdigo; y es que las configuraciones pueden jugar
una mala pasada y pensar que el error est en otro apartado.

3.4.5 CODIGO BASICO PARA ENVIAR DATOS VIA ETHERNET CON GET A UNA
SQL

El php que coge datos desde formulario es :

mysql_query("INSERT INTO $tabla_BD ($campo1 ,$campo2, $campo3) VALUES


('$_GET[temperatura_desde_formulario]' , now() , curtime() ) " , $conecta );

Cdigo que est dentro del archivo llamado Arduino-get.php en la carpeta:

http://localhost/scripts/envio%20datos%20a%20sql%20por%20formulario/

La variable que recibe desde el formulario se llama


temperatura_desde_formulario

y el submit se llama ingresar_dato.

26
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

<form action="arduino-get.php" method="get">


<table border="0" width="331">
<tbody>
<tr>
<td width="137">temperatura a ingresar</td>
<td width="184"><input name="temperatura_desde_formulario" type="text"></td>
</tr>
<tr>
<td>Ingresa este Dato</td>
<td><input name="ingresar_dato" type="submit"></td>

Ilustracin 53 Dato desde formulario en php

El resultado de esta peticin va GET o POST nos da la siguiente lnea de


cdigo que es la que se debe que trasladar al Arduino para que su ejecucin:

http://localhost/scripts/envio%20datos%20a%20sql%20por%20formulario/Ard
uino-get.php?temperatura_desde_formulario=5544&ingresar_dato=Submit

3.5 ENVO DE DATOS DESDE ARDUINO A PROCESSING VIA


SERIAL

Se utiliza para la comunicacin entre la placa Arduino y un ordenador u otros


dispositivos. Todas las placas Arduino tienen al menos un puerto serie (tambin
conocido como UART o USART): Serial. Se comunica a travs de los pines digitales
0 (RX) y 1 (TX), as como con el ordenador mediante USB. Por lo tanto, si utiliza
estas funciones, no puede usar los pines 0 y 1 como entrada o salida digital.

27
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Algunas placas usadas como Arduino Mega; Ardupilot tiene tres puertos
adicionales de serie: Serial1,2,3 (desde el 14 al 19 RX y TX)

Para utilizar estos pines para comunicarse con el ordenador personal,


necesitar un adaptador USB adicional a serie, ya que no estn conectados al
adaptador USB-Serie de la placa Arduino Mega. Para comunicarse con un
dispositivo serie externo TTL, conecte el pin TX al pin RX del dispositivo, el RX al pin
TX del dispositivo, y el GND de tu Arduino Mega a masa del dispositivo. (No conecte
estos pines directamente a un puerto serie RS232, que operan a +/- 12V)

Conexin bajo normativa RoHS. - RoHS Directive 2011/65/EU -

Para la conexin de Arduino Mega2 se usarn USB CA y DKU

Ilustracin 54 Arduino Mega 1-2

Para el Arduino Uno , tambin usado en parte en este proyecto se usar un


USB 2.0 tipo A-B ( AM BM )

Ilustracin 55 USB para Arduino Uno

La conexin Arduino Ethernet usa un cable estndar USB miniUSB

28
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 56 USB miniUSB

Durante todo este trabajo toda la comunicacin serial estar establecida a


9600 baudios.

Entre Arduino y Processing. Entre GPS y Arduino La red inalmbrica 3DR. La


red inalmbrica Xbee. Todos bajo 9600. Configurados y guardados todos los datos
en sus setups correspondientes.

Uso del Puerto

Segn la documentacin, Serial.print (valor, BYTE) convierte el valor en el


carcter ASCII que le corresponde, y enva ese dato. Por lo tanto, es vlido
solamente para los valores que estn en el rango de 0 a 255.

Serial.write, por otra parte, transmite el patrn de bits de valor. Por lo tanto, se
enva cualquier valor de un byte como es.

Interrupciones

Subrutinas

Checksums

3.5.1 DESDE PHP

File: php_serial.class.php

Role: Class source

Content type: text/plain

Description: The class itself

29
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Class: PHP Serial Communicate with a serial port

<?php
include "php_serial.class.php";
// Let's start the class
$serial = new phpSerial;
// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1, etc)
$serial->deviceSet("/dev/ttyUSB0");
// Then we need to open it
$serial->deviceOpen();
$read = $serial->readPort();
// If you want to change the configuration, the device must be closed
$serial->deviceClose();
// We can change the baud rate
$serial->confBaudRate(9600);
echo $read;
?>

30
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6 INSTALACIN DE SENSORES

Como sensores de prueba se instalarn unos sensores bsicos, que aun


siendo muy sencillos de aadir a Arduino, requerirn unos circuitos mnimos de
adaptacin de seal, y un cdigo de conversin en Arduino hasta obtener valores
que se den por vlidos.

Sensor de Temperatura NTC y LM35. Sensor LDR, potencimetros; y


posteriormente no son sensores pero los GPS que se emplearn requerirn una
configuracin determinada que se acompaa en este documento de
Especificaciones.

3.6.1 ENTRADAS. SALIDAS PVM.

Al trabajar con sensores externos a Arduino que habr que instalar se deber
estudiar a conciencia cmo funciona el sistema, que lecturas soporta, o escribe,
dnde? ..etc. Gracias a la comunidad online, no se dilatar mucho aqu la
explicacin ni la documentacin. Se har un simple repaso de las condiciones
bsicas de funcionamiento de las entradas y salidas que se necesitan para dicha
instalacin.

El funcionamiento de las entradas y salidas digitales ser trivial.

Las entradas analgicas darn valores de rango 1024. Desde 0 a 1023

Y habr que tener en cuenta que Arduino no dispone de salidas analgicas


como tal, pero tiene unas salidas digitales marcadas con un smbolo especial

indicando una senoidal ~ o con las siglas PWM que permiten configurar su valor

entre 0-255. Con ello ya se puede emular una salida analgica.

31
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La Modulacin por Ancho de Pulso (PWM42 = Pulse Width Modulation) es una


tecnica para simular una salida analgica con una salida digital. El control digital se
usa para crear una onda cuadrada, una seal que conmuta constantemente entre
encendido y apagado. Este patron de encendido-apagado puede simular voltajes
entre 0 (siempre apagado) y 5 voltios (siempre encendido) simplemente variando la
proporcin de tiempo entre encendido y apagado. A la duracin del tiempo de
encendido (ON) se le llama Ancho de Pulso (pulse width).

Se aconseja chequear con el siguiente cdigo que las entradas y salidas que
se usarn para aplicaciones ms complejas estn en orden. Es el hello world de
este apartado..

// incrementar la luz de un led de 0 a 255. es decir, convertir salida digital en


analogica.
int led = 6; // solo puedo EMULAR algunos puertos como seales analogicas de
salida. la 3, la 6, lo marca cada placa con la seal senoidal
int brillo =0;
// the setup
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine
void loop() {
//a brillar se ha dicho.
for ( brillo =1; brillo <= 255; brillo ++ )
{
analogWrite ( led , brillo ); // enciendo el led desde 0 a 255.
delay(10); // wait
}
//al reves. se va apagando
for ( brillo =255; brillo > 1; brillo -- )
{
analogWrite ( led , brillo ); // enciendo el led desde 0 a 255.
delay(10); // wait
}
}

42
http://arduino.cc/es/Tutorial/SecretsOfArduinoPWM

32
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.2 POTENCIOMETRO

Se instalar un potencimetro como simulador de seales analgicas.

A nivel de hardware de Arduino se en la imagen que solo necesita 3


conexiones:

Ilustracin 57 Potenciometro.

Ilustracin 58 Potenciometro.

33
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.2.1 CODIGO BSICO EN ARDUINO PARA UN POTENCIOMETRO


//variables
int leo_potenciometro;
int senal_entrada = 0;
// funcion de setup del sistema.
void setup()
{
Serial.begin(9600); // abre el puerto serie a 9600 bps:
pinMode(9, OUTPUT) ;
}
// el loop es para siempre.
void loop()
{
leo_potenciometro = analogRead(senal_entrada);
Serial.print("He recibido: ");
Serial.println(leo_potenciometro);
// para sacarla analogica
int convertir_senal = map (leo_potenciometro, 0 1023, 255);
constrain (convertir_senal, 0, 255);
analogWrite (9, convertir_senal);
delay (1000);
}

34
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.3 SONDA NTC DE TEMPERATURA

Se usar como sensor2 (tambin se dispone de una LM35) de temperatura


un termistor con pendiente negativa, conocido comunmente como NTC. Esta
resistencia vara su valor dependiendo de la temperatura a la que se encuentra. Se
tratar pues de buscar una relacin entre la resistencia actual de la NTC y la
temperatura del medio que la rodea.

La instalacin en Arduino (UNO) en este caso no es complicada.


Simplemente se acondiciona mediante una resistencia. ste se colocar
dependiendo del valor de la sonda. En este caso de 10k para la sonda NTC
seleccionada, pero para otros modelos se puede cambiar la resistencia, pero habr
que recalcular los coeficientes que se pueden calcular por diferentes mtodos.

Ilustracin 59 Sonda NTC de temperatura

35
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 60 Acondicionador de seal para NTC 10k

Conceptos tericos

Para obtener el valor de la temperatura. Atendiendo a las ecuaciones que


describen el comportamiento de las NTC existen diferentes mtodos, con la
ecuacin de las NTC que se describe a continuacin es como se han obtenido
mejores resultados.

Ilustracin 61 Curva caracteristica NTC

Ilustracin 62 Ecuacin de las NTC

36
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 63 Salida de un divisor de tensin

Ecuacin de Steinhart-Hart43

Se calcularn los coeficientes necesarios para los valores que hayamos


incluido en la cabecera, como las temperaturas y resistencias medidas para la
calibracin as como el valor de la resistencia auxiliar utilizada en el divisor de
tensin entre otros

Ilustracin 64 Ecuacin de la temperatura

Ilustracin 65 Parmetro Rinf

Para la creacin del software en Arduino se ha probado a realizar las medidas


con la ecuacin de SteinhartHart para la realizacin del programa de medicin,
pero los datos no han sido satisfactorios. An as se adjunta la funcin puesto que
puede ser de utilidad si se usa otro modelo de NTC o una PTC.

Los problemas suelen surgir al tratamiento de datos matemticos tan grandes


en Arduino. Las funciones logartmicas estn implementadas pero trabajar en la
consola requiere de mucha atencin.

43
http://en.wikipedia.org/wiki/Thermistor#Steinhart.E2.80.93Hart_equation

37
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 66 Ecuacin STH

Los coeficientes ABC de la ecuacin vienen determinados por las hojas del
fabricante. En este caso para una sonda : 103AT-1144

Ilustracin 67 Coeficientes ABC

Para un valor de 10 kohm los valores de las constantes son :

A = 0.001125308852122

B = 0.000234711863267

C = 0.000000085663516

3.6.3.1 CODIGO ARDUINO PARA NTC STEINHARHART


//funciones extra para operaciones matemticas
#include <math.h>
//----------------------------------------------------------------------
//variables
int leo_valor_temperatura;
int senal_entrada = 0;
double temp_celsius_de_funcion;
//----------------------------------------------------------------------
//Steinhart - Hart Equation 1/T = A+B(LnR)+C(LnR) al cubo
//variables de la funcion SteinhartHart equation para 10kohm
double SteinhartHart ( int Resistencia_lectura_temometro)
{
double Temp;

44
http://www.rapidonline.com/pdf/61-0500e.pdf

38
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
int R = Resistencia_lectura_temometro ;
float A = 0.001129148;
float B = 0.000234125;
float C = 0.0000000876741;
//con estos obtengo peores resultados. en concreto. la mitad.
//float A = 0.0014762284;
//float B = 0.00018817994;
//float C = 0.00000038493403;
Temp = log(10000*((1024/R-1))); // for pull-up configuration
Temp = 1 / (A + (B + (C * Temp * Temp ))* Temp );
Temp = Temp - 273.15; // Convert Kelvin to Celcius
//Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit
return Temp;}//------------------------------------------------------------------
----
void setup()
{
Serial.begin(9600);}
//----------------------------------------------------------------------
void loop()
{
leo_valor_temperatura = analogRead(senal_entrada);
Serial.print("He recibido: ");
Serial.println(leo_valor_temperatura);

temp_celsius_de_funcion = SteinhartHart ( leo_valor_temperatura );


Serial.print("Aplico SteinhartHart: ");
Serial.println(temp_celsius_de_funcion);
delay(1000);}

3.6.3.2 CODIGO ARDUINO PARA NTC MTODO 2 -


#include <stdio.h>
#include <math.h>
int senal_entrada_NTC = 0; // Which pin will be the input of the Voltage-Divider
int leo_valor_sonda_NTC ;
float TempCelsius_NTC;
//funcion que me caclula los grados C pasandole el valor de la resistencia
//mejores resultados que la ecuacion de SteinhartHart
float funcion_valor_sondaNTC ( int resistencia_NTC)
{
float Vin=5; // [V] Supply voltage in the Voltage-Divider
float Raux=10000; // [ohm] Secondary resistor in the Voltage-Divider
float R0=10000; // [ohm] NTC nominal value at 25C
float T0=293.15; // [K] (25C)
float Vout=0.0; // [V] Voltage given by the Voltage-Divider
float Rout=0.0; // [ohm] Current NTC resistance
float T1=273; // [K] Temperature at first testing point
float T2=373; // [K] Temperature at second testing point
float RT1=19750; // [ohms] Resistance at 273K (0C)
float RT2=2150; // [ohms] Resistance at 373K (100C)
float beta=0.0; // [K] Beta parameter
float Rinf=0.0; // [ohm] Rinf parameter
float TempK=0.0; // [K] Temperature output in Kelvin

39
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
float TempC=0.0; // [C] Temperature output in Celsius
beta=(log(RT1/RT2))/((1/T1)-(1/T2));
Rinf=R0*exp(-beta/T0);
//para compensar que tengo de entrada entre 0 y 1023 datos = 1024. en el puerto
analogico.
//y que la resistencia no mide de forma lineal la temperatura. es para hacer la
equivalencia.
Vout=Vin*((resistencia_NTC)/1024.0);
Rout=(Raux*Vout/(Vin-Vout));
//Temperature calculation
TempK=(beta/log(Rout/Rinf));
TempC=TempK-272.15; //paso Kelvin a Celsius
return TempC; //devuelvo un valor. ojo, variable interna de la funcion. no puedo
sacarla
}
//----------------------------------------------------------
void setup() {
Serial.begin(9600); //Configuracion del puerto serie
pinMode(senal_entrada_NTC, INPUT); //Configuracion de los pines de entrada
}
//----------------------------------------------------------
void loop()
{
leo_valor_sonda_NTC = analogRead(senal_entrada_NTC);
//leo la resistencia que marca la sonda en la seal de entrada determinada
Serial.print("He recibido: ");
Serial.println(leo_valor_sonda_NTC);
//por puerto, el valor de la resistencia . es una NTC. negativa
TempCelsius_NTC = funcion_valor_sondaNTC ( leo_valor_sonda_NTC );
//llamo a la funcion con el valor de la resistencia de la NTC. me da grados C.
Serial.print("Y eso son Grados C: ");
Serial.println(TempCelsius_NTC);
delay(1000);}

40
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.4 INSTALACIN DE UNA LDR

LDR or Light Dependant Resistor, Photoresistor - Fotoresistencia.

Resistencia que vara con la luz.

Una fotorresistencia es un componente electrnico cuya resistencia


disminuye con el aumento de intensidad de luz incidente. Puede tambin ser
llamado fotorresistor, fotoconductor, clula fotoelctrica o resistor dependiente de la
luz, cuyas siglas (LDR) se originan de su nombre en ingls light-dependent resistor.

Para medirla, mido lo que cae el voltaje en ella. Mediante un divisor de


tensin y otra resistencia.

Data sheet de la que se usa en este proyecto vt 900

Ilustracin 68 LDR en Arduino Ethernet

//prueba simple del funcionamiento de una fotoresistencia

41
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//Conectar la fotoresistencia por una pata al pin 0 y por la otra a +5V.
//Conectar una resistencia de 10K entre el pin 0 y GND
// PhotoR 10K
// +5 o---/\/\/--.--/\/\/---o GND
// |
// Pin 0 o-------'
//variables
int leo_LDR, convierto;
int senal_entrada = 0;

// funcion de setup del sistema.


void setup()
{
Serial.begin(9600); // abre el puerto serie a 9600 bps:
}
// el loop es para siempre.
void loop()
{
leo_LDR = analogRead(senal_entrada);
Serial.print("He recibido: ");
Serial.println(leo_LDR);
convierto = map ( leo_LDR, 0, 1023, 0 , 255); // para transformar a salida
analogica. o byte
Serial.println(convierto);
delay (1000);
}

3.6.4.1 ACONDICIONAMIENTO DE SEAL

Ilustracin 69 Circuito para LDR

42
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Como esta LDR en concreto es de 10 k. (Su rango de variacin es de 40 Ohm


a 10KOhm.) Se instala tambin una resistencia de 10k . Si el divisor de tensin es
lo ms fcil posible para el cdigo de Arduino

a mxima luz que son 5volts. Me da un valor en Arduino de 1023.

A mitad luz que son 2.5 volts dara 512.

Y a 0 volts. nada de luz. seria 0 la medicin.

As ya es ms fcil para mapear esta salida por ejemplo a una seal de salida
PWM. Que saca valores entre 0 y 255.; que es el mismo valor que se puede
conseguir con un byte cuando escribo en el puerto serie.

mapear esos 0, 1023 valores de entrada . a 0 255.

valor = map (valor, min, max, 0, 255);

Se aconseja usar la funcin constrain para evitar salir del rango de medida.

Pruebas reales.

Con buena luz. Pero sin sacarlo al sol, el valor medido es 965 y
debera ser 1023- ok.

Con oscuridad casi total* el valor medido es 2 , 1 a veces 0. y deba


ser 0. ok

43
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 70 LDR en Arduino Ethernet

44
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.5 SENSOR LM35

Sensor de temperatura LM35.

No necesita acondicionador de Seal. La conexin es directa.

Este sensor tiene una salida anloga proporcional a la temperatura que


registra (pin del centro), de acuerdo a la imagen a derecha los pines son +Vs, Vout,
GND (como referencia en la fotografa y en el diagrama utilizaremos los colores rojo
para +5V, azul para la salida y negro para GND (Ground o Tierra).

Para conectar el sensor al Arduino el pin +Vs (rojo) debe conectarse al pin 5V
en la seccin POWER de la placa. El pin Vout (verde) al pin A0 en la seccin
ANALOG IN y el pin GND (negro) en el PIN GND de la seccin POWER.

En el siguiente diagrama pueden ver como se realiza la conexin entre el


Arduino y el sensor LM35

Ilustracin 71 LM 35 en Arduino Uno

45
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Mediante una funcin en Arduino


//variables
const int senal_entrada_LM35 = 0;
float temperatura_del_LM35;
//funcion para leer temperatura de un LM35. damos seal de entrada y devuelve
temperatura
float funcion_temp_de_LM35 (int senal_entrada_para_leer )
{
float miliVolts ;
float temp_LM35 ;
int lectura_entrada_LM35;
lectura_entrada_LM35 = analogRead(senal_entrada_para_leer);
//convierto la entrada analogica 0-1023 a lectura de sonda LM35
//habria que multiplicar por 5000mV para hacer la conversion. pero..
//se ha visto que la tension real es mas pequea. y por eso se producen
desajustes.
miliVolts = ((lectura_entrada_LM35 * 4638L ) / 1023L ) ;
temp_LM35 = ( miliVolts / 10L) ;
return temp_LM35 ;
}
// fin de funcion que lee temperatura de un LM35

// funcion de setup del sistema.


void setup()
{
Serial.begin(9600); // abre el puerto serie a 9600 bps:
}

// el loop es para siempre.


void loop()
{

temperatura_del_LM35 = funcion_temp_de_LM35 (senal_entrada_LM35);


Serial.print("Salida LM35 en grados: ");
Serial.println(temperatura_del_LM35);

delay (1000);
}

/*
notese la letra L que se usa en valores en Arduino. 10L- no es un error. Es para
especificar el tipo de dato cuando se trabaja con funciones matemticas.
*/

46
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 72 LM35

MIRANDOLO DE FRENTE: POR EL LADO PLANO.


pata-1- IZQUIERDA a 5volts.

pata-3 - DERECHA a tierra.

pata central a entrada analgica.

El sensor da 10 milivoltios cada grado centigrado. 270 mV son 27C segn tablas

Recordar que la seal analgica -analogRead- de Arduino da valores de0 ->1023

de 0 a 1023

de 0 a 5volts. 5000 mV

Conversin

Con los datos que tenemos sera:

5000mV - 1023

270 mV - X = 55 en la entrada serian esos aproximados 27 grados.

47
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

y el caso general :

5000 miliVolts ----- 1023

x milivolts ------------- dato de entrada

Los X mV = dato de entrada * 5000 / 1023

y de aqu la temperatura es un valor directo, porque 270mV son 27. Divido el


resultado por 10 . Temperatura = X mV / 10; Esto se lleva a Arduino

48
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.6 CONFIGURACIN DEL GPS

3.6.6.1 CONFIGURACIN HARDWARE

Del TX del GPS al Rx de la placa Arduino (solo necesito recibir) pero si


no se conecta tambin el receptor no funcionar

GND de GPS al GND placa Arduino

3.2 volts. del gps al Arduino

Si da problemas overdue , Desconectarlo y conectarlo despus. Problema por


interrupcin de TX o RX en diferentes placas. Peor en Arduino Ethernet.

Se aconseja usar las seales digitales. As se ha programado el script como


se ve en el cdigo y asi se ha dibujado en planos.

GPS TX (transmitir) a pin Digital 3.

GPS RX (recibir) a pin Digital 2.

Ilustracin 73 GPS a Arduino UNO

49
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.6.2 CODIGO ARDUINO PARA LECTURA DEL GPS


#include <Adafruit_GPS.h>
#include <SoftwareSerial.h>
// y para mis operaciones matematicas en flotante. flooooat !!
#include <Math.h>
byte buffer[] = {0, 1, 2, 3, 4, 5, 6, 7};
//doy unos valores cualesquiera. luego los actualizar.
int signo_Latitud =0, signo_Longitud=0;
float mi_latitud_DMM , mi_longitud_DMM;
float mi_latitud_DDD , mi_longitud_DDD;
// Grados y minutos decimales (DMM): 41 24.2028, 2 10.4418
// Grados decimales (DDD): 41.40338, 2.17403
// muy importante. pines digitales a vigilar
// Connect the GPS TX (transmit) pin to Digital 3
// Connect the GPS RX (receive) pin to Digital 2
SoftwareSerial mySerial(3, 2);
Adafruit_GPS GPS(&mySerial);
#define GPSECHO false
boolean usingInterrupt = false;
void useInterrupt(boolean); void setup()
{
Serial.begin(9600);
GPS.begin(9600);
_OUTPUT_RMCGGA);
GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ); // 1 Hz update rate
GPS.sendCommand(PGCMD_ANTENNA);
useInterrupt(true);
delay(1000);
}
SIGNAL(TIMER0_COMPA_vect) {
char c = GPS.read();
#ifdef UDR0
if (GPSECHO)
if (c) UDR0 = c;
#endif
}

void useInterrupt(boolean v) {
if (v) {
OCR0A = 0xAF;
TIMSK0 |= _BV(OCIE0A);
usingInterrupt = true;
} else {
TIMSK0 &= ~_BV(OCIE0A);
usingInterrupt = false;
}
}

uint32_t timer = millis();


void loop() // run over and over again
{
// need to 'hand query' the GPS, not suggested :(

50
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

if (! usingInterrupt) {
char c = GPS.read();
if (GPSECHO)
if (c) Serial.print(c); //para quitar morralla
}
if (GPS.newNMEAreceived()) {
if (!GPS.parse(GPS.lastNMEA())) return; }
if (timer > millis()) timer = millis();
if (millis() - timer > 2000) {
timer = millis(); // reset the timer
if (GPS.fix) {
//lo mio, para processing. ojo lectura compatible y quitar los serial print.
mi_latitud_DMM = GPS.latitude;
//Serial.println (mi_latitud); //dato 4227.92
mi_longitud_DMM = GPS.longitude; }
}
mi_latitud_DMM = 4227.92f ;
mi_latitud_DDD = convertDegMinToDecDeg(mi_latitud_DMM);
//Serial.println (mi_latitud_DDD );
mi_longitud_DMM = 225.59f ;
mi_longitud_DDD = convertDegMinToDecDeg(mi_longitud_DMM);
//Serial.println (mi_longitud_DDD );

float decima1_Latitud = mi_latitud_DDD; // 42.4652f ; no le hago nada


float decimal_Longitud = mi_longitud_DDD * (-1); // -2.4261f; * (-1) por el
tema de conversiones. porque yo trabajo sin signo
//convierto LATITUD DDD 42.4650 a lo que recojo en processing------------------
-------
//lo primero de todo compruebo el signo. y ajusto. cojo un valor para mi signo y
cambio el numero.
if (decima1_Latitud < 0 ){
signo_Latitud = 1; //1 es negativo
decima1_Latitud = decima1_Latitud * (-1); //lo pongo positivo para trabajar bien
con el.
} else signo_Latitud = 0;
//Serial.println (decima1_Latitud);
//parte entera la misma
int parte_enteraA = (int) decima1_Latitud; //parte enetera = 42 seran los grados
int grados_Latitud = parte_enteraA; //grados = 42 - primer byte
//Serial.println (grados_Latitud); //parte enetera = 42
float quito_parte_entera = (decima1_Latitud - parte_enteraA ) *10000 ; // tengo
4650
int parte_enteraB = (int) quito_parte_entera;
//Serial.println (parte_enteraB);
float parteC = parte_enteraB / 100 ;
//Serial.println (parteC);
int parteD = (int) parteC;
//Serial.println (parteD); // 46 - segundo byte
int parteE = parte_enteraB % 100 ;
//Serial.println (parteE); // 50 - tercer byte
//resultados al buffer de Latitudes
buffer [0] = grados_Latitud;
buffer [1] = parteD;

51
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
buffer [2] = parteE;
buffer [3] = signo_Latitud;

// convierto LONGTUD -2.426f --------------------------------------------


// lo primero de todo compruebo el signo. y ajusto. cojo un valor para mi signo
y cambio el numero.
if (decimal_Longitud < 0 ){
signo_Longitud = 1; //1 es negativo
decimal_Longitud = decimal_Longitud * (-1); //lo pongo positivo para trabajar
bien con el.
} else signo_Longitud = 0;
//parte entera la misma
int parte_enteraF = (int) decimal_Longitud; //parte enetera = 42 seran los
grados
int grados_Longitud = parte_enteraF; //grados = 42 - primer byte
//Serial.println (grados_Longitud); //parte enetera = 42
float quito_parte_enteraZ = (decimal_Longitud - parte_enteraF ) *10000 ; //
tengo 4650
int parte_enteraG = (int) quito_parte_enteraZ;
//Serial.println (parte_enteraG);
float parteH = parte_enteraG / 100 ;
//Serial.println (parteH);
int parteI = (int) parteH;
//Serial.println (parteI); // 46 - segundo byte
int parteJ = parte_enteraG % 100 ;
//Serial.println (parteJ); // 50 - tercer byte
//resultados al buffer

buffer [4] = grados_Longitud;


buffer [5] = parteI;
buffer [6] = parteJ;
buffer [7] = signo_Longitud;

//escribo de un tiron el buffer completo , tenga los componentes que tenga.


//asi y solo asi, se escribe en puerto serie para envio de bytes
Serial.write(buffer, sizeof(buffer) );
delay(1000);
}
// Funcion para convertir los datos de Latitud longitud DMM de Adafruit
// parte del formato grados y minutos decimales a grados decimales
// no me interesa grados minutos segundos pq luego en processing tendra que
convertirlo otra vez
// processing como google DDD.
// DDM a DDD
// Grados y minutos decimales (DMM): 41 24.2028, 2 10.4418
// Grados decimales (DDD): 41.40338, 2.17403
double convertDegMinToDecDeg (float degMin)
{
// me vendr un varlo en grados y minutos decimales. DMM
double min = 0.0; //ojo, poner 0.0 o 0.0f
double decDeg = 0.0;
//para los minutos, fmod() requiere trabajar siempe con doubles
min = fmod((double)degMin, 100.0);
//se devuelven las coordenadas en grados decimales DDD

52
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
degMin = (int) ( degMin / 100 );
decDeg = degMin + ( min / 60 );
return decDeg;}

53
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.6.7 OTROS SENSORES

En el Anejo correspondiente se explica la configuracin de otros sensores.

Metano CH4, monxido de carbono C0 , dixido de carbono, calidad del aire ,


humos, amoniaco NH3, humedad relativa Butano, LPG, Alcoholes, Etanoles, Gas
Natural, Hidrgeno, Ozono, Benceno, Acetona, Formaldehdos, etc

DHT 11 - HUMEDAD

SERIE MQ X

4MQ2.

4MQ3.

Etc.

54
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.7 IDE PARA PROCESSING

3.7.1 LIBRERIAS PARA PROCESSSING

Como ejemplo se indica que durante el cdigo programado bajo Processing


se han usado varias Interrupciones del funcionamiento secuencial del cdigo como
por ejemplo.

mouseClicked(): Ocurre cuando se presiona y se libera un botn del mouse.

mousePressed(): Cuando se presiona un botn del mouse.

mouseDragged(): Ocurre cuando se da clic con el mouse y se arrastra.

mouseReleased(): Ocurre cuando se libera un botn del mouse .

keyPressed(): Ocurre cuando se presiona un tecla.

keyReleased(): Ocurre cuando se libera una tecla que estaba presionada.

Estas interrupciones vienen por defecto en Processing, en la instalacin


bsica desde las primeras versiones. Pero no existen funciones que generen
eventos en puerto serie de forma avanzada. Para ello se instalarn funciones que
nos darn unas opciones de programacin ms amplia.

Principalmente :

bufferUntil (): Leer Buffers hasta ciertas condiciones

serialEvent () : Evento en puerto serie

Serial.List (): Listado de los puertos serie disponibles y posibles.

Serial.myPort () : Asignacion de puertos.

55
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.7.2 CONDICIONES DE EJECUCIN DE PROCESSING

Previo a la instalacin de libreras externas habr que probar que la ltima


versin del software funciona correctamente en el ordenador que ser del operario
con las condiciones mnimas del sistema operativo y del software.

Processing es un software que funciona en modo portable. Es decir, no


requiere una setup del sistema. Se descarga el software, se descomprime en
cualquier carpeta y ya est listo para funcionar. Al no hacer instalacin
personalizada, el sistema no sabe en qu ordenador se est ejecutando, ni con que
sistema operativo, ni si tendr todas las libreras dll, y todos los condicionantes de
ejecucin requeridos para el formato grfico, puerto serie, etc.

Esto se ver la primera vez que se quiera ejecutar el software. Si se usa


Linux, los problemas sern otros y como existen diferentes distribuciones no ser
cometido de intervenir en dicha explicacin cuando ya los usuarios de Linux saben
resolverse sus propios inconvenientes.

Bajo Windows se har doble click en el acceso directo y est ejecutar el


Sketch de trabajo.

Ilustracin 74 Processing Bsico

Se insta a todo operario que vaya a trabajar con este software que haga
encarecidamente esta prueba ejecutando el conocido hello world para saber que
est listo para comenzar a trabajar con las aplicaciones

56
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

// hola. soy la versin 2. la que se ha usado para el


// proyecto de garba. 2014
void setup() {
size(640, 360);}
void draw() {
print ("est listo para usar Processing en este proyecto");}

Puede parecer trivial, insignificante, y sin ningn sentido. Pero todo


programador y picador de cdigo sabe que si no hay hello world no hay nada. Las
configuraciones, setups que funcionen a un usuario en un ordenador, con un
sistema operativo X, puede que no sean vlidas para un ordenador ms avanzado,
o con el sistema operativo X, ya sea superior o inferior. De hecho en este caso, as
ha sido en varias ocasiones.

Por lo tanto ser condicin sine qua non que el operario ejecute el hello
world adscrito para confirmar que el software portable est instalado correctamente,
y que el ordenador dispone de las caractersticas bsicas para su funcionamiento.

Estando en el ao 2014, cualquier ordenador porttil menor de 4 aos de uso


soportar este primer programa de confirmacin. No se proceder a dar
caractersticas bsicas de lo que es un ordenador personal estndar.

3.7.3 PROBLEMAS DE EJECUCIN DE PROCESSING

El IDE processing ser problemtico de ejecutar cuando se instalen libreras


complejas, avanzadas, y cuando se tire de APIS externas, etc. Pero en ocasiones,
tambin ha dado problemas en este PFC y como tal, aqu quedan reflejadas para
que sirvan de ejemplo y base de configuracin para diferentes usuarios de las APPS
propias de este trabajo o usuarios externos que acaben en este documento
buscando informacin sobre dicho IDE:

No arranca nada. En Blanco.

Como se ha explicado, Processing no se instala en la setup de Windows. Por


ello es un poco ms inestable que un software con setup que chequea ciertas

57
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

dependencias en la instalacin. Hasta no hacer un doble click sobre el EXE no se


sabr si todo est ok.

Si no arranca el sistema, se recomienda probar antes en una versin de


Windows superior. Este problema es ms propio de versiones anteriores de
Windows. En concreto ha dado este error en Windows XP y en Windows 7. En la
versin Windows 8, y en Windows 8.1 no ha habido este inconveniente.

Para solucionar este error que a la postre ser el ms de los comunes se


plantean las siguientes soluciones.

1.- Ejecutar como administrador

Con el Botn derecho. Ejecutamos como admin.

Ilustracin 75 Fallo 1 de Pocessing

3.- Ejecutar el solucionador de compatibilidad.

Ilustracin 76 Solucion 2

58
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 77 Solucion 2. parte B.

Ilustracin 78 Solucion 2. Parte C.

4.- Solucin drstica.

Se podra pensar que una reinstalacin del sistema solucionara este


problema, pero no es as. Al ser un software portable, el sistema no ha modificado
libreras ni carpetas en system32. Es solo una carpeta, y apenas ha dejado rastro en
nuestro sistema. Muy agradecidos por ello, por otro lado. Y con todas las ventajas
de ser portable.

La solucin drstica consiste en borrar la carpeta de trabajo que ha creado el


sistema. Para ello se ira a Mis Documentos:

59
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 79 Mis Documentos.

. Y aqu se borrarn estas tres carpetas. Se recomienda guardar la


informacin que se tenga en el directorio Libreras

Una vez borradas estas carpetas se ejecutar de nuevo el EXE y el sistema


crear de nuevo un entorno de trabajo. Preguntar si desea crearlo, y la respuesta
ser afirmativa.

Por qu ocurre esto.

Pues tras diversos estudios y consultas en foros no se ha encontrado


solucin. Simplemente es un problema de las instalaciones portables.
Preferentemente en Windows 7 y Windows XP. No as Como se ha indicado en
Windows 8.1.

No obstante, como el autor de este PFC ha realizado muchas pruebas ha


constatado que los programas que limpian registros, archivos temporales, cachs,
no son un entorno amigable para Processing. Y se recomienda no usarlos mientras
se trabaje con dicho IDE.

Modo avanzado.

Una vez que el sistema est listo para funcionar con las especificaciones
bsicas, y que el programa de chequeo hello world funciona correctamente se
proceder a instalar libreras especficas para el funcionamiento avanzado de
Processing. Estas libreras dotarn a Processing de unas funcionalidades muy
potentes. Son de uso gratuito y Open Source , lo que har que adems de usarlas

60
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

sin problemas de licencias, se podra usar el cdigo y manipularlo para nuestros


fines, como as ha sido y ha quedado explicado en la memoria.

3.7.4 LIBRERIAS PARA PROCESSING.

Como se ha indicado tanto para incrementar las funcionalidades de Arduino


como de Processing, habr que cargar al programa con libreras extras. Plugins,
modulos, etc.

Para este PFC se han usado varias: ControlIP5, Unfolding, serial, extrapixel,
etc.

Se explica como hacer la instalacin de una de ellas:

En la web oficial desgarg de la web45 : Se descarga la librera: Se copia el rar


completo al ordenador y la se debe copiar a donde el sistema operativo haya creado
los SKETCH. Suele ser en / mis cocumentos/ processing / library / .

Ilustracin 80 Librearas modo A.

Se copia en la carpeta completa y ahora en Processing saldr como librera


contribuida. Muy importante, no como extras si no contribuida

45
http://unfoldingmaps.org/tutorials/getting-started-in-processing.html

61
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 81 Contribuida

Tambin se puede instalar en la carpeta del programa al ser Portable, pero se


aconseja usar el mtodo anterior.

Ilustracin 82 Libreras Processing mtodo 2.

3.7.5 CONDICIONES DEL SISTEMA GRFICO

El posicionamiento de los datos capturados por el GPS en Arduino sern


procesados y posicionados usando la librera Unfolding basada en JAVA.

Esta librera requiere una instalacin de software similar a cualquier otra


librera ya instalada, pero requiere principalmente de unas condiciones de hardware

62
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

que son realmente difciles de satisfacer. El posicionamiento por hardware requiere


principalmente dos condiciones.

1. Conexin a internet en tiempo real a alta velocidad.

2. Compatibilidad grfica con versiones altas de OpenGL. 46

Para satisfacer este segundo requisito se deber tener instalada en el


ordenador una tarjeta grfica especial con unas altas capacidades DX, GPU, etc.

Como comprobacin:

Se buscar entre las caractersticas de la tarjeta que las versiones de


OpenGL sean siempre las ms actualizadas que los drivers propios de la tarjeta
soporten.

Ilustracin 83 Comprobacin Open GL

Viene con los drivers de la tarjeta, no se puede actualizar por separado. Se


puede comprobar tambin metiendo este comando dxdiag y ah se vern las
opciones de video.

De cualquier forma OpenGL se actualiza instalando los ltimos drivers de la


tarjeta. Al contrario que DX, OpenGL no tiene un SDK ni una versin fija establecida
por una empresa. nicamente tienen un estndar y cada fabricante actualiza sus

46
Open Graphics Library

63
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

drivers para soportar las funcionalidades que se marcan. A veces incluso, aunque
no debera ser as, en diferentes sistemas operativos se producen tambin
incompatibilidades.

64
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.8 CONFIGURACION DE XBEE

Los mdulos XBee utilizan el protocolo IEEE 802.15.4 mejor conocido como
ZigBee.

Zigbee es un protocolo de comunicaciones inalmbrico basado en el estndar


de comunicaciones para redes inalmbricas IEEE_802.15.4. Creado por Zigbee
Alliance, una organizacin, tericamente sin nimo de lucro, de ms de 200 grandes
empresas (destacan Mitsubishi, Honeywell, Philips, ODEM do, Invensys, entre
otras), muchas de ellas fabricantes de semiconductores.

Zigbee permite que dispositivos electrnicos de bajo consumo puedan


realizar sus comunicaciones inalmbricas. Es especialmente til para redes de
sensores en entornos industriales, mdicos y, sobre todo, domticos.

Cada mdulo Zigbee, al igual que ocurre con las direcciones MAC de los
dispositivos Ethernet, tiene una direccin nica. En el caso de los mdulos Zigbee
cada uno de ellos tiene una direccin nica de 64bits que viene grabada de fbrica.
Por otro lado, la red Zigbee, utiliza para sus algoritmos de ruteo direcciones de 16
bits. Cada vez que un dispositivo se asocia a una red Zigbee, el Coordinador al cual
se asocia le asigna una direccin nica en toda la red de 16bits. Por eso el nmero
mximo terico de elementos que puede haber en una red Zigbee es de 2^16
=65535, que es el n mximo de direcciones de red que se pueden asignar. Estos
mdulos Xbee, pueden ser ajustados para usarse en redes de configuracin punto-
a-punto, punto-a-multipunto o peer-to-peer.

65
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 84 Arduino y Xbee

Los mdulos Xbee proveen 2 formas amigables de comunicacin:

Transmisin serial transparente (modo AT) y el modo API que provee muchas
ventajas.

MODO AT

Esta el modo de transmisin serial transparente (Modo AT), en el cual la


comunicacin se asemeja a lo que sera una transmisin a travs de un puerto
serial, ya que el dispositivo se encarga de crear la trama y el dato que llegue al pin
Tx ser enviado de forma inalmbrica, por lo cual se considera como el modo ms
sencillo para utilizar estos nodos, su principal desventaja es que para enviar
informacin a distintos nodos es necesario entrar constantemente al modo
configuracin para cambiar la direccin de destino.

MODO API

El otro modo de comunicacin se conoce como Modo API, en este caso un


microcontrolador externo se debe encargar de crear una trama especifica al tipo de
informacin que se va a enviar, este modo es recomendado para redes muy
grandes donde no se puede perder tiempo entrando y saliendo del modo
configuracin de los dispositivos. Para redes con topologa en Malla este es el modo
a utilizar.

66
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.8.1 CONFUSIN ZIGBEE, Y PROTOCOLO 802.15.4 EN MDULOS XBEE

Se ha prestado a confusin por parte de los usuarios, sobre el protocolo que


soportan los mdulos XBEE. Por una parte mencionan el protocolo 802.15.4 y por
otra el protocolo ZigBee. Para aclarar esto se debe indicar que los mdulos XBEE
soportan el protocolo 802.15.4, mientras que los mdulos XBEE PRO soportan el
protocolo ZigBee.

3.8.2 CARACTERSTICAS

Los Xbee pueden comunicarse en arquitecturas punto a punto, punto a multi


punto o en una red mesh. La eleccin del mdulo XBee correcto pasa por escoger el
tipo de antena (chip, alambre o conector SMA) y la potencia de transmisin (2mW
para 300 pies o 60mW para hasta 1 km).

El mdulo requiere una alimentacin desde 2.8 a 3.4 V, la conexin a tierra y


las lneas de transmisin de datos por medio del UART (TXD y RXD) para
comunicarse con un microcontrolador, o directamente a un puerto serial utilizando
algn conversor adecuado para los niveles de voltaje.

Buen Alcance: hasta 100 mts en lnea vista para los mdulos Xbee y
hasta 1.6 Km para los mdulos Xbee Pro.

9 entradas/salidas con entradas analgicas y digitales.

Bajo consumo <50mA cuando estn en funcionamiento y <10uA


cuando estn en modo sleep.

Interfaz serial.

65,000 direcciones para cada uno de los 16 canales disponibles. Se


pueden tener muchos de estos dispositivos en una misma red.

Fciles de integrar.

67
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.8.3 CONFIGURACIN DE LOS JUMPERS

La Xbee shield tiene dos jumpers (las pequeas fundas de plsticos que
estn sobre los tres pines etiquetados como Xbee/USB). Estos determinan como se
conecta la comunicacin serie del Xbee entre el microcontrolador ATmega328 y el
chip serie FTDI de la placa Arduino.

Con los jumpers en la posicin Xbee ( los dos pines ms cercanos al interior
de la placa), el pin DOUT del mdulo Xbee est conectado al pin RX del
microcontrolador; y el pin DIN est conectado a TX. Notar que los pines RX y TX del
microcontrolador estn todava conectados a los pines TX y RX (respectivamente)
del chip FTDI los datos enviados desde el microcontrolador sern transmitidos al
ordenador va USB y a la vez enviados de forma inalmbrica por el mdulo Xbee. El
microcontrolador, sin embargo, solo ser capaz de recibir datos desde el mdulo
Xbee, no desde el USB del ordenador.

Con los jumpers en la posicin USB ( los dos pines ms cercanos al borde de
la placa), el pin DOUT del mdulo Xbee est conectado al pin RX del pin del chip
FTDI, y el DIN del mdulo Xbee est conectado al pin TX del el chip FTDI. Esto
significa que el mdulo Xbee puede comunicarse directamente con el ordenador
sin embargo, esto solo funciona si el microcontrolador ha sido quitado de la placa
Arduino. Si el microcontrolador se deja en la placa Arduino, solo ser capaz de
comunicarse con el ordenador va USB, pero ni el ordenador ni el microcontrolador
podrn comunicarse con el mdulo Xbee.

3.8.4 SOFTWARE

Los mdulos Xbee pueden ser configurados desde el PC utilizando el


programa X-CTU, Moltosenso o Cool Terms adems de otros. Moltosenso y Cool
Terms permite trabajar en mltiples plataformas, mientras que X-CTU solo trabaja
en Windows. Aunque se puede acceder a l a travs de Mac o Linux con una

68
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

mquina virtual que corra aplicaciones de Windows, como WINE. O viceversa


usando una Virutal Box de Oracle por ejemplo.

En este proyecto el funcionamiento correcto y ms estable se ha conseguido


con ambas versiones de X-CTU oficiales. Dentro de las versiones oficiales, se han
hecho comprobaciones con la versin clsica y una actualizacin reciente.

Se considera que al presentar ya por defecto las configuraciones bsicas de


setup de los softwares programadas y grabadas no cabe dicha configuracin en este
documento de Especificaciones Tcnicas, por ello, todo el proceso de configuracin
se adjunta en un Anexo correspondiente, tanto para la versin clsica como para
la versin 2014.

Ilustracin 85 versin 2014

69
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 86 Versin clsica

3.8.5 HARDWARE

Ilustracin 87 Xbee Hard

70
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 88 Xbee Asignacin

71
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.9 CONFIGURACIN DE 3DR

La conexin de los mdulos inalmbricos 3DR siguen el mismo proceso que


los mdulos Xbee.

Para la conexin solo cuatro cables son necesarios:

5 volts del Arduino a 5 volts del 3DR.

GND a GND

TX en Arduino a RX de 3DR.

RX de Arduino a TX del 3DR

El resto de cableado no es estrictamente necesario para este proyecto,


pero se aconseja usar el manual de usuario si se desean hacer otro
tipo de configuraciones ms especficas: como hacer resets, u otro tipo
de control remoto desde el ordenador.

3.9.1 SOFTWARE

Se usar el software oficial de la compaa, pero se consultar como consulta


bsica el proyecto Open que la comunidad ha creado en google code.47

Se configurar la red a 9600 baudio. Es estndar elegido para este PFC.


Habr que ser cuidadosos en la configuracin de los mdulos, pues si uno de ellos
se resetea habr que configurar de nuevo los dos. El proceso ser el siguiente: Se
colocar en el ordenador el modulo emisor y se configurar a la frecuencia deseada,
posteriormente se conecta el receptor y se cambia su frecuencia. Al tener la misma
frecuencia, podr conectar con el emisor y quedar configurado.

DRIVERS: Habr que configurar 2 tipos diferentes de Drivers. Ambos estn


en la web oficial y en enlace indicado.

47
https://code.google.com/p/ardupilot-mega/wiki/3DRadio

72
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.9.1.1 AJUSTES.

Arriba a la izquierda : Se configura el puerto y la velocidad correspondiente

Se conecta al USB

Se pulsa en load settings. y carga las settings que tenga el receptor y el


emisor.

Se comprueba que son las mismas en ambos lados. Si no coincidente en el


emisor las puedo copiar al emisor, y si da problemas se hace por partes. Se
pone en el usb el emisor guardando settings, y luego el receptor. Esto es
cuando se desconfigure. Por defecto, cargando uno, le enva todo al otro. Si
est ok, no hace falta guardarlas.

Confirmar que aqu, tiene que coincidir tambin los BAUDIOS. Abajo Izquierda,
con lo que tenga arriba configurado, y con lo que tenga en Arduino. En este caso,
9600 arriba izda. Abajo se confirma que pone 9. Equivalente a 9600.

73
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 89 Configuracin 3DR

Se ve que se pueden configurar muchos ms parmetros . Se han hecho


pruebas que ha sido el nico proceso vlido para ajustar las mejoras de transmisin.
Velocidad del aire, potencia. .. etc. Se recomienda partir de estas configuraciones
pero modificarlas insitu para posteriores mejoras o configuraciones ambientales. El
autor no se siente capaz de especificar cules sern las mejores opciones de vuelo,
puesto que solo mediante prueba y error ha conseguido unos datos aceptables,
olvidndose por completo de lo recomendado por el fabricante.

Los datos de recepcin se ven en la terminal o consola:

74
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 90 Configuracin 3DR

En la consola se ven los datos que llegan desde Arduino por el modo
inalmbrico. A veces estos datos no sern los mismos que cuando se abra la
consola de Processing si no se configuran bien las interrupciones por software tanto
en Arduino para envo, como en Processing para recepcin.

3.9.1.2 CONDICIONES TCNICAS PARA QUE FUNCIONE PROCESSING

Problemas que surgen en las configuraciones de las comunicaciones:

Para enviar a Arduino. Solo el usb de Arduino. quitar el TX y el RX del modulo


3dr. si no error de overdue.

Desconectar Arduino. Poner Arduino con batera.

75
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Cargar 3dr config- load settings -

Quitar 3dr config.

Con todo desconectado abrir Processing. Si no, error de port busy.

3.9.2 PLANOS

No existen planos para los mdulos 3DR. LA configuracin es similar a los


mdulos Xbee. Se recomienda consultar estos planos. Son 4 conexiones idnticas.
Tensin, Tierra, transmisin y recepcin.

3.9.3 HARDWARE

Ilustracin 91 3DR sobre el APM2

76
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.10 GPS PARA ARDUINO

Los 3 GPS usados para hacer diferentes pruebas en este proyecto han sido
el GTPA 010, GTPA 013, y GPS3DR uBlox.

Con el GPS GTPA 010 de Adafruit no se consiguieron buenos resultados, ni


en interiores ni exteriores.

Se hicieron pruebas con el 3DR y aunque daba buenos resultados en Matlab


+ Simulink + APM2 no se encontr compatibilidad con Arduino directamente.

Ilustracin 92 GTPA 013

3.10.1 LIBRERIAS PARA GPS

Como se han probado diferentes mdulos de GPS tambin se han probado


diferentes libreras. Algunas incluso probando configuraciones APIS de google, etc.
Cada librera

1. AdafruitGPS

2. TinyGPS

3. Temboo

4. GPS_MTK

5. Ardupilot

El GPS puede funcionar en ocasiones en edificios interiores, pero no se


garantiza su correcto funcionamiento. Como secuencia de puesta en marcha, se

77
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

aconseja que se configure en un lugar abierto, libre de interferencias y se espere


unos minutos hasta que la recepcin de satlites sea correcta. Con menos de 3
satlites no da ningn resultado, y hasta 6-7 satlites no crea una secuencia estable
capaz de funcionar movindose o posicionndose en diferentes lugares. Par poder
mover el GPS y generar una ruta, se recomiendan ms de 10 satlites.

Ilustracin 93 GPS en exteriores Logroo.

En exteriores, habr que esperar tambin unos minutos para esperar la


recepcin de datos. En ocasiones, se podr mover a un interior si la lectura es
estable. Pero no siempre lo ser

Ilustracin 94 GPS en interiores

78
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.10.2 INSTALACIN DE LIBRERAS PARA ARDUINO

Las Libreras proveen funcionalidad extra al sketch. Se usan libreras cuando


por defecto las funcionalidades no vienen instaladas en el Arduino seleccionado.
Habr libreras especficas para algunos Arduinos concretos. Por ejemplo la
Ethernet, para el Arduno usado en este proyecto. No siempre habr libreras
creadas para todo lo que sea necesario. Aunque es complejo tambin se pueden
crear nuestras propias libreras. Se desarrollan en C++.

Para usar una librera dentro de un sketch. Seleccionar desde Sketch >
Import Library (Importar Librera).

Si se desea usar libreras que no vienen junto con Arduino, ser necesario.
Para hacerlo, descargue la librera y descomprimirla. Debera localizarse en una
carpeta propia, y normalmente, contener dos archivos, uno con sufijo ".h" y otro con
sufijo ".cpp".

Abra su carpeta sketchbook de Arduino. Si ya existe una carpeta llamada


"libraries", coloque la carpeta de la librera ah dentro. Reiniciar el IDE de Arduino
para encontrar la nueva librera en el men Sketch > Import Library.

Ilustracin 95 Librerias Para Arduino

79
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Si se usa una versin portable de software de Arduino se pueden copiar las


libreras directamente en su carpeta de instalacin. Dentro del directorio en la
carpeta libreries. Comprobar que el nombre no tiene espacios o letras extraas
que den problema posterior de compilacin como la , /, etc. .

Ilustracin 96 Librerias Arduino

Tambin se podrn crear libreras para ahorrar trabajo y limpieza a la hora de


crear nuevos componentes: Aqu la documentacin.

En este proyecto no se han creado libreras puesto que el hardware usado no


ha sufrido excesivas modificaciones, pero lo que si se han creado son varias
funciones externas y funcionales con parmetros de ingreso y return completos
para ahorrar mucho trabajo.

3.10.3 PROTOCOLO NMEA

Se usar el Formato de datos "complejo": Consiste en un bloque de datos de


37 bytes de (generalmente) texto legible ASCII que da el error cross-track,
proporciona un waypoint, presenta la Lat / Long actual, y un byte binario de estado.

80
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

El bloque de datos se enviarn a intervalos de 2 a 8 sec. Todos los bytes en el


formato complejo tienen el bit 7 = 1 para distinguirse del formato simple. A un
dispositivo remitente se le permite enviar datos simples y complejos, y incluso enviar
un byte "simple" de datos en medio de un bloque "complejo" de datos.

Bajo la norma NMEA-0183, todos los caracteres usados son texto ASCII
imprimible (ms retorno de carro y line feed). Los datos NMEA-0183 se envan a
4800 baudios, usando 8 bits de datos, 1 bit de stop y sin paridad.

Los datos se transmiten en forma de "sentencias". Cada sentencia comienza


con una "$", dos letras " talker ID", tres letras " ID sentencia ", seguido por un
nmero de campos de datos separados por comas, y acaba con un checksum
optativo, y un retorno de carro / line feed. Una frase puede contener hasta 82
caracteres incluyendo el "$" y CR / LF.

En este proyecto se ha usado el GPS GTPA 013, bajo la librera propia de la


marca distribuidora Adafruit que ha prestado a la comunidad un ejemplo de
desarrollo para Arduino totalmente funcional y de acceso al cdigo. Esta librera
interpreta el protocolo NMEA y lo muestra en datos legibles y variables de acceso
bajo el sistema DMM, que posteriormente se convertir dentro del mismo cdigo de
Arduino a un DDD. Y es que este es el sistema ms empleado internacionalmente
incluido en la librera que se usar en Processing. Tambin se podra haber enviado
el formato de bytes a Processing y hacer all la conversin, pero se ha pensado que
este formato es ms correcto puesto que se necesitarn hacer comprobaciones en
el mismo puerto serie de Arduino antes de enviarlo.

81
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 97 Coordenadas UR

Latitud:

D.d 42.464739

DMS 42 27 53

DM.m 42 27.88434

Longitud:

D.d -2.424246

DMS -2 25 27

DM.m -2 25.45476

3.10.4 CONVERSIN PERSONALIZADA DE DATOS DMM , DDD

Grados Minutos Segundos a Grados Minutos.m


Grados = Grados
Minutos.m = Minutos + (Segundos / 60)

82
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Grados Minutos.m a Grados Decimal


.d = M.m / 60
Grados Decimal = Grados + .d

Se crea una funcin en Arduino

// Funcin para convertir los datos de Latitud longitud DMM de Adafruit


// parte del formato grados y minutos decimales a grados decimales
// no me interesa grados minutos segundos pq luego en
// processing tendr que convertirlo otra vez
// processing como google DDD.
// DDM a DDD
// Grados y minutos decimales (DMM): 41 24.2028, 2 10.4418
// Grados decimales (DDD): 41.40338, 2.17403
double convertDegMinToDecDeg (float degMin)
{
// me vendr un valor en grados y minutos decimales. DMM
double min = 0.0; //ojo, poner 0.0 o 0.0f
double decDeg = 0.0;
//para los minutos, fmod() requiere trabajar siempre con doubles
min = fmod((double)degMin, 100.0);
//se devuelven las coordenadas en grados decimales DDD
degMin = (int) ( degMin / 100 );
decDeg = degMin + ( min / 60 );
return decDeg;
}

3.11 LIVE STREAMING VIA WIFI

Todas las cmaras que tienen un sensor CMOS, al que afectan mucho las
vibraciones verticales de alta frecuencia. Cuando se est grabando y la cmara se
mueve verticalmente, en la direccin de la vibracin se separan las lneas y cuando
vuelve a la posicin original se juntan. Esto produce un efecto oleaje, flan, gelatina o
"Rolling Shutter" que es como se llama tcnicamente.

El sensor no lee la imagen como un todo, sino lnea por lnea. Un sensor est
compuesto por miles o millones de fotodiodos y por su construccin es imposible
leerlos todos juntos, por lo que la solucin ms sencilla es leer lnea por lnea su
informacin y grabar la imagen final. Esto no tiene problemas con objetos estticos,
pero cuando se agrega algn factor de movimiento rpido se produce el problema

83
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

ya que la ltima lnea que est leyendo el sensor es, en cierta manera, ms reciente
que la primera que ley.

Los sensores no suelen leer toda la imagen de una sola vez sino que lo
hacen mediante barridos en columnas verticales u horizontales. No se graba la
imagen completa ni si quiera al mismo tiempo, por lo que si se mueve la cmara de
forma ligera el contenido saldr distorsionado.

Se producen tambin otras deformaciones de imagen por Moir o Aliasing:


el problema con las rflex digitales es que a pesar de su descomunal resolucin,
slo requieren de 1920x1080 (2MPs) para grabar videos en la ms alta resolucin
(Full HD), y con el fin de acelerar el proceso de compresin, algunas marcas
(Canon) se saltan algunas lneas de muestreo. Aparentemente cogera slo una de
cada tres, que luego seran comprimidas horizontalmente para finalmente ser
recombinadas en un slo cuadro final. Este proceso intensifica las irregularidades
naturales, generando inaceptables patrones sobre principalmente las lneas rectas.

Por experiencia se han probado diferentes configuraciones de muestreo de


video para solucionar estos problemas. Antes de llevarlos a un editor de video
donde se le puedan aplicar plugins para su manipulacin y mejora en el tratamiento
de imagen, es mejor que la seal llegue con la menor cantidad de incorrecciones
posibles. Para solucionar estos problemas existen en el mercado los conocidos
Gimbals que es un mecanismo de suspensin consistente en dos aros concntricos
cuyos ejes forman ngulo recto, lo cual permite mantener la orientacin de un eje de
rotacin en el espacio aunque su soporte se mueva. Pero estos equipos se disparan
en precio y tambin en peso para multirotores pequeos. Ms an cuando llevan
servos de control de cmara por radiofrecuencia. En este caso, lo que se
recomienda es una aportacin de soluciones caseras que funcionan correctamente.
No permitirn el control remoto de la cmara ni la grabacin continua horizontal de
sta cuando el multirotor se mueva hacia los lados, pero darn una sensacin de
estabilidad muy alta.

Las soluciones caseras, personales adoptadas consisten en:

84
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1. Dependiendo de la zona grabar a un mnimo de 30 frames.


Recomendado 60 frames. Y para modelos superiores llegar hasta 100
frames aunque se baje la resolucin de 1920pixels a 1280pixels.

2. Sacar la cmara. fuera del multirotor mediante poliespn, gomas,


corcho etc,

3. Para conseguir grabacin horizontal constante se puede usar una bola


de plstico sacada de un viejo joystick con un agujero en suspensin
que cuelgue del heli y sujete la cmara.

Con estos 3 consejos de un euro se pueden conseguir resultados de


grabacin de video bastante aceptables sin tener que usar un Gimbal comercial de
ms de 400 euros.

No es el fin de este proyecto conseguir un video de alta calidad grabado bajo


condiciones de estabilidad total como si fuera para edicin futura de video para cine.

3.11.1 WLAN, LA RED INALAMBRICA

La abreviatura WLAN significa Wireless Local Area Network (red de rea


local inalmbrica) y describe una red en la que cada uno de los dispositivos
individuales (PC, porttiles, router, telfonos inteligentes y otros) no se conectan
mediante cable de red sino por radio. Por este motivo, al hablar de una WLAN a
menudo tambin se habla de ella como de una red inalmbrica (en ingls
"wireless"). Esta conexin inalmbrica se puede proteger contra usuarios no
deseados con ayuda de la codificacin WLAN.

En consecuencia, un adaptador Wi-Fi no ser otra cosa que un adaptador


WLAN. Al contrario de WLAN, el trmino Wi-Fi no es una abreviatura sino
nicamente el nombre de identificador o de marca.

La descripcin tcnica del estndar Wireless LAN (WLAN) se encuentra


redactada en el estndar de la industria ISO 802.11, estipulado por el Institute of

85
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Electrical and Eletronics Engineers (IEEE). Mediante este estndar la transferencia


de datos se realiza a travs de ondas de radio en las bandas de frecuencia de 2,4
GHz o de 5 GHz. En Espaa, en el mbito de las redes domsticas, los estndares
de comunicacin inalmbrica WLAN ms importantes son los siguientes (datos de
agosto de 2011): 802.11g, 802.11a y 802.11n. Hoy da, el estndar 802.11 ya se
considera anticuado.

3.11.2 802,11G

El estndar 802.11g, a menudo abreviado con una simple g, transmite en la


banda de frecuencia de 2,4 GHz y ofrece tasas de transferencia de hasta 54 Mbps
(brutos). Sin embargo, el estndar g debe compartir la banda de frecuencia de 2,4
GHz con muchos otros aparatos, como por ejemplo aparatos Bluetooth o sistemas
de videovigilancia inalmbricos, lo cual puede fcilmente conllevar interferencias y
un menoscabo de la tasa de transferencia. A pesar de que est muy extendido, el
estndar g est siendo sustituido cada vez ms por el estndar n, utilizado en los
aparatos WLAN ms modernos.

3.11.3 802.11A

El estndar 802.11a, a menudo abreviado con una simple a, transmite en la


banda de frecuencia mayor de 5 GHz y tambin ofrece tasas de transferencia de
hasta 54 Mbps (brutos). En Espaa, la banda de 5 GHz est claramente menos
saturada que la de 2,4 GHz, por lo que en ella casi no se dan interferencias con
otros aparatos. Esto se debe, principalmente, a que en la banda de 5 GHZ el
nmero de canales que no se solapan es mucho mayor que en la banda de 2,4 GHz
(802.11g). Sin embargo, en hogares construidos con hormign armado la tasa de
transferencia es claramente menor debido a la mayor frecuencia. La WLAN en la
banda de frecuencia de 5 GHz es ideal para transferencias en la misma estancia o a
travs de paredes finas (construccin de madera). El estndar a se utiliza sobre
todo en Amrica del Norte y en Espaa se integr sobre todo en porttiles
profesionales.

86
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Este estndar tambin est siendo reemplazado cada vez ms por el n.

Atencin: Los aparatos con los estndares 802.11g y 802.11a no son


compatibles. Un porttil con un adaptador WLAN a no puede establecer conexin
inalmbrica con un router WLAN g, puesto que transmiten en dos frecuencias
diferentes.

3.11.4 802.11N

Hoy da, el estndar 802.11n (abreviado n) es el estndar WLAN ms


potente y en los dispositivos domsticos alcanza unas tasas de transferencia
(brutas) de hasta 150 Mbps, 300 Mbps o 450 Mbps, dependiendo de la cantidad de
antenas de emisin y recepcin integradas. El estndar n est diseado para
transmitir en las dos bandas de frecuencia, es decir, en la de 2,4 GHz y en la de
5 GHz.

Los dispositivos con el estndar 802.11n pueden mejorar claramente el mal


rendimiento de recepcin y las consecuentes bajas tasas de transferencia de datos
de los estndares g y a, ya que integran varias antenas de recepcin y emisin, y
transfieren los datos por varios canales paralelos. En este contexto (varias unidades
de emisin y recepcin), tambin se habla de MIMO, que es la abreviatura de
Multiple Input Multiple Output. La tecnologa inteligente de antenas integrada en los
aparatos con el estndar 802.11 tambin puede enviar y recibir datos con desfase.
En realidad, esta tecnologa de antenas utiliza las reflexiones no deseadas contra
obstculos, como paredes o muebles, para optimizar la tasa de transmisin. Los
dispositivos con MIMO, disponen para ello de un mnimo de dos antenas que
transmiten en diversas direcciones. El receptor unifica las seales que provienen de
las diferentes direcciones, evitando las zonas ciegas y aumentando as la velocidad
de transferencia. El alcance tambin mejora: mientras una antena WLAN con el
estndar 802.11b o g tiene un alcance de alrededor de 20 metros en espacios
cerrados, en condiciones ptimas el estndar 802.11n con tecnologa MIMO logra
alcanzar hasta 70 metros.

87
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.11.5 COMPATIBILIDAD DE LOS DOSPOSITIVOS WLAN N

Actualmente (datos de agosto de 2011), la mayora de dispositivos WLAN n


slo son compatibles con una de las dos bandas de frecuencia, es decir, o bien
802.11n con 2,4 GHz o bien 802.11n con 5 GHz. Un adaptador WLAN que slo
transmita con 2,4 GHz no puede establecer conexin inalmbrica con un router
WLAN n que slo transmita con 5 GHz, a pesar de que ambos dispositivos son
compatibles con el estndar 802.11n.

Algunos routers WLAN n pueden transferir o bien con 2,4 GHz o bien con 5
GHz, por lo que tambin se conocen como routers de banda dual. No obstante, en
este caso el usuario debe optar por una de las dos frecuencias.

Los routers de banda dual que pueden transmitir a la vez en ambas


frecuencias tambin se denominan routers de doble banda simultnea o routers de
banda dual simultnea.

Si este no es el caso, por regla general el estndar 802.11n a 2,4 GHz es


compatible con el 802.11g, y el estndar 802.11n a 5 GHz es compatible con el
802.11a. Sin embargo, en estos casos la velocidad de transferencia se adapta al
aparato con el menor de los estndares de transferencia y por tanto slo puede
alcanzar una tasa mxima de 54 Mbps (brutos).

88
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.12 VUELO DEL DRONE

3.12.1 CONCICIONES MNIMAS DEL DRONE

Controladora Dji Naza M V1 actualizada a V2.

4 Motores Brushless . Mnimo T-Motor Mt2216-12 800kv

4 variadores de velocidad de gama Alta. ESC Brushless (para motores


sin escobillas).

7 hlices Graupner 10x5. Aconsejables Carbono

Batera de 5000 Zippy Lightmax con 2 ciclos.

Emisora de 9 canales (Turnigy, Spektrum, Futaba) con soft ERX y


monitor y su soporte + batera Life.

Mdulos receptor emisor Fr-Sky con telemetra.

Tren de aterrizaje - Ejemplo: Tarot.

Chasis F450 o superior + 4 brazos cableado con conector Xt-


60(amarillo) y (JST rojo pequeo)

Porta lipos.

El compass (BRUJULA) que tienen los Multirotores (Phantoms) en el tren de


aterrizaje es muy sensible a los campos magnticos. Al acercar el compass a un
campo magntico accidentalmente (Destornillador con punta magntica, altavoz de
un coche telfono, etc), este se puede descalibrar hasta tal punto que el
procedimiento de calibracin del Mutirotor no lo puede recalibrar en el modo local,
usando el software interno del equipo.

89
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3.12.2 COMPAS, GPS, IMUS

3.12.3 POR QU CALIBRAR LA BRJULA?

Pequeas influencias ferromagnticas en zonas del rotor o alrededor de su


entorno de trabajo no solo afectarn a la lectura de la tierra magntica para brjula
digital, sino que tambin reduce la precisin del control multi-rotor, o incluso lee un
encabezamiento incorrecto de datos. La calibracin eliminar tales influencias, y
asegurar que el sistema funcione bien en un entorno magntico no ideal.

3.12.4 CUNDO HACERLO?

1. La primera vez que instale Naza en su multi-rotor.

2. Cuando se cambia la configuracin mecnica multi-rotor.:

a) Si el mdulo GPS / Brjula se vuelve a colocar. Segunda instalacin o


cambio de modelo.

b) Si se agregan dispositivos electrnicos / quitan / re-posicionado


(controlador principal, servos, bateras, etc.)

c) Cuando se cambia la estructura mecnica del multi-rotor.

3. Si la direccin de vuelo parece estar cambiando (es decir, el multi-rotor no


"vuela recto").

El indicador LED indica a menudo anomalas y parpadea. (Es normal que esto
suceda de vez en cuando)

3.12.5 AVISOS

No se debe calibrar la brjula, donde haya una fuerte interferencia magntica,


parking, etc. O en zonas ferrosas debajo de la tierra.

NO llevar materiales ferromagnticos durante la calibracin, como llaves o


telfonos celulares.

90
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

No tiene que girar su multi-rotor en una superficie horizontal o vertical precisa,


pero mantener al menos el 45 de diferencia entre la calibracin horizontal y
vertical.

El Multirotor no puede trabajar en el crculo polar.

3.12.6 PROCDIMIENTO DE CALIBRACIN

PASO 1: Entre en el modo de calibracin: deslice rpidamente el interruptor


de modo de control de la posicin 1 a la posicin-3 durante 6 a 10 veces, y el
indicador LED se pondr de modo constante en amarillo.

PASO 2: Calibracin en horizontal: gira multi-rotor, junto con la superficie


horizontal hasta que la luz verde est encendida constantemente, y luego ir al
siguiente paso;

PASO 3: Calibracin en vertical: mientras que la luz verde se ilumina


continuamente, mantenga el multi-rotor vertical y gire junto con su eje vertical,
mantenga girando hasta que la luz verde est apagada. La calibracin ha terminado.

PASO 4: Despus de terminar la calibracin, el indicador LED muestra si la


calibracin se ha realizado correctamente o no:

Si la calibracin ha terminad salir del modo Auto;

Si la luz roja sigue parpadeando rpidamente de forma intermitente, la


calibracin ha fallado. Deslizar el interruptor de modo de control Auto una vez para
cancelar la calibracin actual, y luego volver a empezar desde el paso 1 para
recalibracin.

Consejos: Si sigue teniendo fallo de calibracin, se podra sugerir que es una


fuerte de interferencias magnticas alrededor del mdulo GPS y brjula. Por favor,
evita volar en esta zona.

91
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 98 Calibracin Compass

Ilustracin 99 Calibracin Compass.

3.12.7 SOFTWARE DE CONFIGURACION DE EMISORA Y DRONE

La emisora lleva otro sofware diferente y depender del nmero de canales a


trabajar. Recomendado es usar el libro de instrucciones de cada modelo para su
configuracin y posteriormente usar el software NAZA para ajustarla y calibrarla para
cada dispositivo. Es comercial pero de uso gratuito.

92
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

FIN DE DOCUMENTO:

ESPECIFICACIONES DEL SISTEMA

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

93
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

94
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

DOCUMENTO N4: ANEJOS

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4. ANEXOS

4.1 ARDUINO

Ilustracin 100 Internet Shield

Ilustracin 101 Arduino Ethernet

4.1.1 ARDUINO MEGA 2 ARDUPILOT

Como extra para este proyecto se ha usado el Arduino mega 2.


Especialmente convertido en Ardupilot. Se trata de una placa especial con sensores
incorporados y con ms mdulos de comunicaciones TX RX. Que ha permitido el
uso de GPS para la captura de datos.

Microcontroller ATmega328

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Operating Voltage 5V
Input Voltage Plug (recommended) 7-12V
Input Voltage Plug (limits) 6-20V
Input Voltage PoE (limits) 36-57V
Digital I/O Pins 14 (of which 4 provide PWM output)
Arduino Pins reserved:
10 to 13 used for SPI
4 used for SD card
2 W5100 interrupt (when bridged)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
W5100 TCP/IP Embedded Ethernet Controller
Power Over Ethernet ready Magnetic Jack
Micro SD card, with active voltage translators

Ilustracin 102 Ardupilot

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.1.2 IDE DE ARDUINO

La descarga del software es gratuita. http://arduino.cc/es/main/software

4.1.3 ARDUINO LENTO

Si sucede que cuando se abre el ejecutable de arduino.exe, este se demora


en iniciar, cuando se navega por el men tools o este es muy lento o se queda
unos instantes en cargar un sketch puede ser que el DLL de comunicaciones est
obsoleto.

Fsicamente se comunica, hace es emular una comunicacin serial sobre un


bus USB y cuando se ejecuta hace un scan, pero si hay otros dispositivos que
tengan o generen un puerto serial como un dispositivo bluetooth, ratar de verificar
esto y en esta verificacin se generan retardos de tiempo.

Soluciones:

Primera solucin

Si se deshabilitan los dispositivos que usan el puerto serial estos retardos ya


no se vern, vaya a inicio y entre en el panel de control:

Ilustracin 103 Panel de Control

4
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Click en Administrador de dispositivos

Ilustracin 104 Administrador de dispositivos

Una vez ah deshabilite todos los dispositivos seriales que tenga instalados
desntro de Puertos (COM y LPT)

Ilustracin 105 Administrador de dispositivos desinstalamos

5
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Segunda solucin

La solucin ms apropiada es modificar los archivos fuente del Arduino, con


esto se elimina el problema definitivamente. Se necesita el archivo rxtxSerial.dll
que es el encargado de la comunicacin serial del Arduino IDE.

Se descarga el Archivo rxtxSerial.dll48 que se encuentra en un archivo


comprimido .rar y se descomprime en la carpeta donde ha instalado el IDE de
Arduino, reemplazando la versin anterior.

48
Se adjunta enlace online y tambin estar en el CD del proyecto.

6
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.2 SENSORES EXTRA

4.2.1 DHT 11 - HUMEDAD

Sensor DHT11 que va a servir para medir tanto la humedad relativa como la
temperatura.

Ilustracin 106 Sensor humedad DHT 11

Ilustracin 107 Arduino - Sensor humedad DHT11

Caractersticas DHT11

La lectura de este sensor requiere de libreras extra como se ve en el cdigo


de Arduino bsico. Librera Extra

#include <dht11.h>
#include <SoftwareSerial.h>
dht11 DHT11;
#define DHT11PIN 2
SoftwareSerial eImpSerial(7, 8); // RX, TX

7
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
void setup()
{
Serial.begin(9600);
eImpSerial.begin(9600);
}
void loop()
{
int chk = DHT11.read(DHT11PIN);
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature, 2);
eImpSerial.print((float)DHT11.temperature, 2);
eImpSerial.write(0xFC);
delay(60000); }

4.2.2 SERIE MQ X

Toda la serie a 5V

Ilustracin 108 Adaptador Arduino de los MQX

8
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 109 Serie MQX

Ilustracin 110 Arduino Serie MQX

4.2.3 MQ2.

Sensitivo para Metano, Butano, LPG, humo.

Caractersticas de MQ2

Cdigo para Arduino

int A0;
void setup() {
Serial.begin(9600);
}
void loop() {
float vol;
int sensorValue = analogRead(A0);
vol=(float)sensorValue/1024*5.0;
Serial.println(vol,1); }

9
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.2.4 MQ3.

Sensitivo para Alcohol, Etanol, humo

Caractersticas de MQ3

Cdigo para Arduino


int gasPin = 0;
int value = 0;
void setup() {
Serial.begin(9600);
pinMode(gasPin,INPUT);
}
void loop() {
value = analogRead(0)/2;
Serial.print("Alcohol:");
Serial.println(value);
delay(100); }

4.2.5 MQ4.

Sensitivo para Metano, CNG Gas

Deteccin de fugas de gas para casas, talleres, comercios...Sistema de


seguridad de deteccin de fuego. Deteccin de gas de carbn, CO... para casas,
talleres y comercio. Detector de gas, alarmas de escapes de gas..

Caractersticas MQ4

Cdigo para Arduino


void setup()
{
Serial.begin(9600); //Set serial baud rate to 9600 bps
}
void loop()
{
int val;
val=analogRead(0);Read Gas value from analog 0
Serial.println(val,DEC);//Print the value to serial port
delay(100);
}

4.2.6 MQ-5

Sensitivo para Gas Natural , LPG

10
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Caractersticas MQ5

Cdigo para Arduino


void setup()
{
Serial.begin(9600); //Set serial baud rate to 9600 bps
}
void loop()
{
int val;
val=analogRead(0);Read Gas value from analog 0
Serial.println(val,DEC);//Print the value to serial port
delay(100);}

4.2.7 MQ-6

Sensitivo para LPG, Gas Butano

Caractersticas MQ6
void setup()
{
Serial.begin(9600); //Set serial baud rate to 9600 bps
}
void loop()
{
int val;
val=analogRead(0);Read Gas value from analog 0
Serial.println(val,DEC);//Print the value to serial port
delay(100);}

4.2.8 MQ-7

Sensitivo para Monxido de Carbono.

Librera extra MQ7

Caractersticas MQ7

Cdigo Arduino
void setup()
{
Serial.begin(9600); //Set serial baud rate to 9600 bps
}
void loop()
{
int val;
val=analogRead(0);Read Gas value from analog 0
Serial.println(val,DEC);//Print the value to serial port
delay(100); }

11
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.2.9 MQ-8

Sensitivo para Gas Hidrgeno

Caractersticas del MK8

4.2.10 MQ-9

Sensitivo para Monxido de Carbon, y gases inflamables.

Caractersticas MK9

4.2.11 MQ131

Sensitivo para Ozono

Tensin a 6V

Resistencias del circuito 100k...200k, Search for datasheet:

Caractersticas MK131

Cdigo Arduino
int sensorValue;
void setup()
{
Serial.begin(9600); // sets the serial port to 9600
}
void loop()
{
sensorValue = analogRead(0); // read analog input pin 0
Serial.println(sensorValue, DEC); // prints the value read
delay(100); // wait 100ms for next reading
}

4.2.12 MQ135

Para calidad de aire. Sensitivo para Bencenos, Alcohol, humo.

Caractersticas MQ135

Cdigo Arduino
int sensorValue;
void setup()
{
Serial.begin(9600); // sets the serial port to 9600
}

12
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
void loop()
{
sensorValue = analogRead(0); // read analog input pin 0
Serial.println(sensorValue, DEC); // prints the value read
delay(100); // wait 100ms for next reading
}

4.2.13 MQ136

Sensitivo para Sulfuro de Hidrgeno

Caractersticas MQ136

4.2.14 MQ137

Sensitivo para Amoniaco NH3.

Caractersticas MQ137

4.2.15 MQ138

Sensitivo para Benceno, Tolueno. Alcohol, Acetona, Propano, Formaldedos,


Hidrgeno.

Caractersticas MQ138

4.2.16 MQ214

Sensitivo for Metano, Gas Natural.

Trabaja a 6V.

Caractersticas MQ124

4.2.17 MQ216

Sensitivo para Gas Natural for Natural gas, Coal gas (de Hulla o Alumbrado)

Caractersticas MQ126

4.2.18 MQ303A

Sensitivo para Alcohol, Etanol, humo. Similar al MQ3

13
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

The heater uses 0.9V

Caractersticas MQ303A

4.2.19 MQ306A

Sensitivo para LPG y Gas Butano

Caractersticas MQ306A

4.2.20 MQ307A

Sensitivo para Monxido de Carbono

Caractersticas MQ307A

4.2.21 MQ309A

Sensitivo para Monxido de Carbono y otros gases inflamables

Caractersticas MQ309A

4.2.22 MG811

Sensitivo para Dixido de Carbono (CO2).

Voltaje a 6V.

Se puede conectar directamente , pero es recomendable amplificar la seal.

Caractersticas MG811

4.2.23 AQ-104

Para calidad del aire.

Caractersticas AQ-104

4.2.24 AQ-2

Sensitivo para gases inflamables y humos

Caractersticas AQ2

14
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.2.25 AQ-3

Sensitivo para Alcohol, Benceno

Caractersticas AQ3

4.2.26 AQ-7

Sensitivo para Monxido de Carbono

Caractersticas AQ7

4.3 OTROS FORMATOS

Azzure, Pachube - NO USADOS

4.4 COMUNICACIN PUERTO SERIE

A travs de este tipo de puerto la comunicacin se establece usando un


protocolo de transmisin asncrono. En este caso, se enva en primer lugar una
seal inicial anterior al primer bit de cada byte, carcter o palabra codificada. Una
vez enviado el cdigo correspondiente, se enva inmediatamente una seal de stop
despus de cada palabra codificada.

La seal de inicio (start) sirve para preparar al mecanismo de recepcin o


receptor, la llegada y registro de un smbolo, mientras que la seal de stop sirve
para predisponer al mecanismo de recepcin para que tome un descanso y se
prepare para la recepcin del nuevo smbolo. La tpica transmisin start-stop es la
que se usa en la transmisin de cdigos ASCII a travs del puerto RS-232, como la
que se establece en las operaciones con teletipos. El puerto serie RS-232 (tambin
conocido como COM) es del tipo asincrnico, utiliza cableado simple desde 3 hilos
hasta 25 y conecta computadoras o microcontroladores a todo tipo de perifricos,
desde terminales a impresoras y mdems pasando por mouses. La interfaz entre el
RS-232 y el microprocesador generalmente se realiza mediante el chip UART 8250
(computadoras de 8 y 16 bits, PC XT) o el 16550 (IBM Personal Computer/AT y
posteriores). El RS-232 original tena un conector tipo DB-25, sin embargo la

15
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

mayora de dichos pines no se utilizaban, por lo que IBM estandariz con su gama
IBM Personal System/2 el uso del conector DB-9 (ya introducido en el AT) que se
usaba, de manera mayoritaria en computadoras. Sin embargo, a excepcin del
mouse, el resto de perifricos solan presentar el DB-25

Ilustracin 111 Serial

4.4.1 PUERTOS SERIE MODERNOS

Uno de los defectos de los puertos serie iniciales era su lentitud en


comparacin con los puertos sin embargo, con el paso del tiempo, aparecieron
multitud de puertos serie de alta velocidad Por ello, el puerto RS-232, se est
sustituyendo reemplazndose por los nuevos puertos serie como el USB, el FireWire
o el Serial ATA.

4.4.2 USB ESTNDAR

Ilustracin 112 USB logo

Universal Serial Bus

USB Icon.svg

Smbolo USB

Tipo Bus

Diseador : Ajay Bhatt, Intel1

Diseado en: Enero 1996

16
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Fabricante:IBM, Intel, Northern Telecom, Compaq, Microsoft, Digital Equipment


Corporation y NEC

Sustituye a:Puerto serie, puerto paralelo, puerto de juegos, Apple Desktop Bus,
PS/2

Sustituido por: Universal Serial Bus High Speed

Especificaciones

Longitud: 5 metros (mximo)

Ancho: 11,5 mm (conector A), 8,45 mm (conector B)

Alto_ 4,5 mm (conector A), 7,78 mm (conector B, antes de v3.0)

Conectable en caliente :S

Externo :S

Elctrico

5 voltios CC

Voltaje mximo 5 voltios

Corriente mxima: 500 a 900 mA (depende de la versin)

Seal de Datos :Paquete de datos, definido por las especificaciones

Ancho: 1 bit

Ancho de banda: 1,5/12/480/5.000 Mbit/s (depende de la versin)

Max n dispositivos: 127

Protocolo: Serial

Cable: 4 hilos en par trenzado; 8 en USB 3.0

Pines: 4 (1 alimentacin, 2 datos, 1 masa)

Conector: nico

17
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.4.2.1 PATILLAJE

Ilustracin 113 Patillaje

Pin 1 VCC (+5 V)

Pin 2 Data-

Pin 3 Data+

Pin 4 Masa

4.5 MODULOS INALAMBRICOS

Zona de Fresnel se le llama al volumen de espacio entre emisor y receptor


RF de manera que el desfase entre las ondas en dicho volumen no supere los 180.

18
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 114 Zona Fresnel

En color gris se representa a la primera zona de fresnel. Es decir para


conseguir comunicarnos a una distancia D con una seal portadora de frecuencia
f, debemos conseguir que la altura r de la primera zona de Fresnel (o al menos el
80% de r) est libre de obstculos.

Ilustracin 115 Mdulos almbricos vs. Inalmbricos.

19
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.5.1 COMUNICACIN XBEE

Las comunicaciones Zigbee se realizan en la banda libre de 2.4GHz. A


diferencia de bluetooth no utiliza FHSS (Frequency hooping), sino que realiza las
comunicaciones a travs de una nica frecuencia, es decir, de un canal.
Normalmente puede escogerse un canal de entre 16 posibles. El alcance depende
de la potencia de emisin del dispositivo as como el tipo de antenas utilizadas
(cermicas, dipolos, ) El alcance normal con antena dipolo en visin directa suele
ser aproximadamente (tomando como ejemplo el caso de MaxStream, en la versin
de 1mW de potencia) de 100m y en interiores de unos 30m. La velocidad de
transmisin de datos de una red Zigbee es de hasta 256kbps. Por ltimo decir que
una red Zigbee la pueden formar, tericamente, hasta 65535 equipos, es decir, el
protocolo est preparado para poder controlar en la misma red esta cantidad
enorme de dispositivos. La realidad es menor, siendo, de todas formas, de miles de
equipos.

Existen 2 series de estos mdulos. La serie 1 y la serie 2 o tambin conocida


como 2.5. Los mdulos de la Serie 1 y la Serie 2 tienen el mismo pin-out, sin
embargo, NO son compatibles entre s ya que utilizan distintos chipset y trabajan
con protocolos diferentes.

La serie 1 est basada en el chipset Freescale y est pensado para ser


utilizado en redes punto a punto y punto a multipunto. Los mdulos de la serie 2
estn basados en el chipset de Ember y estn diseados para ser utilizados en
aplicaciones que requieren repetidores o una red mesh. Ambos mdulos pueden ser
utilizados en los modos AT y API.

20
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.5.2 XBEE 1MW SERIE 1

Ilustracin 116 Serie 1

- 250kbps mxima velocidad de datos

- 1mW de salida (0 dBm)

- 100m rango lnea abierta, 30 metros en interiores

- 6 pines de 10bits para entrada ADC

- 8 pines de E / S digitales

4.5.3 XBEE 2MW SERIE 2

Ilustracin 117 Serie 2

- 250kbps mxima velocidad de datos

- 2mW de salida (+3 dBm)

- 120m rango lnea abierta, 40 metros en interiores

- 6 pines de 10bits para entrada ADC

21
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

- 8 pines de E / S digitales

Ilustracin 118 Xbee

4.5.4 ARQUITECTURA BSICA DE UNA RED XBEE.

Una red Zigbee la forman bsicamente 3 tipos de elementos. Un nico


dispositivo Coordinador, dispositivos Routers y dispositivos finales (end points).

Los mdulos XBee son verstiles a la hora de establecer diversas topologas


de red, dependiendo la serie de XBee que escojamos pueden crearse redes:

El Coordinador:

Es el nodo de la red que tiene la nica funcin de formar una red. Es el


responsable de establecer el canal de comunicaciones (como hablbamos antes) y
del PAN ID (identificador de red) para toda la red. Una vez establecidos estos
parmetros, el Coordinador puede formar una red, permitiendo unirse a l a
dispositivos Routers y End Points. Una vez formada la red, el Coordinador hace las

22
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

funciones de Router, esto es, participar en el enrutado de paquetes y ser origen y/o
destinatario de informacin.

Los Routers:

Es un nodo que crea y mantiene informacin sobre la red para determinar la


mejor ruta para enrutar un paquete de informacin. Lgicamente un router debe
unirse a una red Zigbee antes de poder actuar como Router retransmitiendo
paquetes de otros routers o de End points.

End Device:

Los dispositivos finales no tienen capacidad de enrutar paquetes. Deben


interactuar siempre a travs de su nodo padre, ya sea este un Coordinador o un
Router, es decir, no puede enviar informacin directamente a otro end device.
Normalmente estos equipos van alimentados a bateras. El consumo es menor al no
tener que realizar funciones de enrutamiento.

Ilustracin 119 Redes Xbee

Los mdulos XBee son verstiles a la hora de establecer diversas topologas


de red, dependiendo la serie de XBee escogida puede crea redes:

1. Punto a punto

2. Estrella

3. Malla

4. rbol

23
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5. Mixtas

4.5.5 MODOS RECIBIR/TRANSMITIR.

Se encuentra en estos modos cuando al mdulo le llega algn paquete RF a


travs de la antena(modo Receive) o cuando se manda informacin serial al buffer
del pin 3 (UART Data in) que luego ser transmitida (modo Transmit).

La informacin transmitida puede ser Directa o Indirecta. En el modo directo


la informacin se enva inmediatamente a la direccin de destino. En el modo
Indirecto la informacin es retenida durante un perodo de tiempo y es enviada slo
cuando la direccin de destino la solicita.

Adems es posible enviar informacin por dos modos. Unicast y Broadcast.


Por el primero, la comunicacin es desde un punto a otro, y es el nico modo que
permite respuesta de quien recibe el paquete RF, es decir, quien recibe debe enviar
un ACK (paquete llamado as, y que indica que recibi el paquete, el usuario no
puede verlo, es interno de los mdulos) a la direccin de origen. Quien envi el
paquete, espera recibir un ACK, en caso de que no le llegue, reenviar el paquete
hasta 3 veces o hasta que reciba el ACK. En el modo Broadcast la comunicacin es
entre un nodo y a todos los nodos de la red. En este modo, no hay confirmacin por
ACK.

Modo de Bajo Consumo (Sleep Mode).

El modo de sueo hace posible que el mdulo RF entre en un modo de bajo


consumo de energa cuando no se encuentra en uso.

Modo de Comando.

Este modo permite ingresar comandos AT al mdulo Xbee, para configurar,


ajustar o modificar parmetros. Permite ajustar parmetros como la direccin propia
o la de destino, as como su modo de operacin entre otras cosas. Para poder
ingresar los comandos AT es necesario utilizar un Hyperterminal como el programa
CoolTerms.

24
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Idle

Cuando el mdulo no se est en ninguno de los otros modos, se encuentra


en ste. Es decir, si no est ni transmitiendo ni recibiendo, ni ahorrando energa ni
en el modo de comandos, entonces se dice que se encuentra en un estado al que
se le llama IDLE.

Xbee Shield

El XBee shield para Arduino permite comunicar tu Arduino de forma


inalmbrica usando ZigBee.

4.5.6 MS FUNCIONES

El protocolo 802.15.4 no slo permite la comunicacin punto a punto, tambin


permite comunicarse punto-a-multipunto. Si tiene ms de dos XBees y los puso a
todos a la misma PAN ID (con ATID) y luego ponga la direccin de destino bajo de
la emisora a FFFF (con ATDL FFFF). Ahora, al escribir en el terminal del XBee
emisor, debemos ver el texto en todas las otras estaciones terminales.

+++ Enter command mode.

ATRE Reset to factory defaults.

ATID Get/set the radios PAN (Personal Area Network) ID. Radios working
together must be in the same PAN.

ATBD Get/set baud rate for the radio.

ATCH Get/set the channel the radio will use to transmit/receive.

ATMY Get/set a radios unique receive address.

ATDL Get/set a radios transmission destination address.

ATWR Write changes to the radios non-volatile memory.

ATCN Exit command mode.

Comandos ATBD:

25
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1 = 2400bps

2 = 4800bps

3 = 9600bps (Si se quiere configurar el BaudRate a 9600bps, ATBD 3.)

4 = 19200bps

5 = 38400bps

6 = 57600 bps

7 = 115200 bps

El estndar de comunicaciones 802.15.4 define el hardware y software de las


capas physical (Phy) y media access control (MAC). Cada capa es responsable de
una serie de funciones necesarias para la comunicacin, ZigBee aade capas sobre
las dos capas anteriores del 802.15.4, una capa no sabe nada sobre la capa que
est por encima de ella y cada capa que aadimos aade una serie de funciones a
la base de las inferiores.

Ilustracin 120 Trama Xbee

Cualquier dispositivo de un fabricante que soporte este estndar de


comunicaciones y pase la certificacin correspondiente, podr comunicarse con otro
dispositivo de otro fabricante distinto. Un dispositivo ZigBee estara formado por una
radio segn el estndar 802.15.4 conectada a un microcontrolador con la pila (stack)
de ZigBee, donde se implementan las capas por encima de las del 802.15.4. Esta
pila est diseada para poder ser implementada en microcontroladores de 8 bits.

Caractersticas de las redes/dispositivos ZigBee seran las siguientes:

26
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Velocidad de transmisin entre 25-250 kbps.

Protocolo asncrono, half duplex y estandarizado, permitiendo a


productos de distintos fabricantes trabajar juntos.

Se pueden formar redes que contengan desde dos dispositivos hasta


cientos de ellos.

Los dispositivos de estas redes pueden funcionar en un modo de bajo


consumo, lo que supone aos de duracin de sus bateras.

Opera en la frecuencia de 2.4 GHz (16 canales) y tambin en las


frecuencias de 868 MHz y 915 MHz.

Es un protocolo fiable, la red se organiza y se repara de forma


automtica y se rutean los paquetes de manera dinmica.

Es un protocolo seguro ya que se puede implementar encriptacin y


autentificacin.

Se puede decir que ZigBee ocupa el vaco que hay por debajo de Bluetooth,
para comunicaciones de datos que no requieren altas velocidades.

Una comparativa con Wifi y Bluetooth:

27
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 121 Comparativa wifi Zig Blue

Los campos de aplicacin de ZigBee son muchos, todos en los que se


requiera transmitir comandos o recoger lectura de sensores, etc.. y no interese o no
sea prctico usar cables.

Campos de aplicacin pueden ser:

Agricultura: redes de sensores de bajo consumo en el campo para


medir y recoger distintos parmetros.

Domtica, automatizacin de edificios y hogares, control industrial.

Atencin sanitaria: recoger informacin de sensores en los pacientes,


un ejemplo puede ser la ropa inteligente.

Control remoto de electrnica de consumo, como el mando de la


televisin, luces, etc

28
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 122 Usos ZigBee

29
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.5.7 MDULOS PRO

Ilustracin 123 Comparativa con la serie PRO

4.5.8 DIGI EN ESPAA, LOGROO, LA RIOJA.

Cabe destacar que esta empresa puntera en la tecnologa usada en este


proyecto, tiene su nica sucursal espaola en la ciudad de Logroo.

30
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 124 Digi Logo

Digi International Spain S.A.


Milicias 13 - Bajo
E-26003 Logroo
(La Rioja) - Espaa

Phone:+34-941-27-00-60 , Fax:+34-941-23-77-70

4.5.9 LIBRERIA SERIAL. COMUNICACIONES PUERTO SERIE

Enlaces a todos los eventos que se precisarn de la librera SERIAL.

SserialEvent() readBytes() lastChar()

available() readBytesUntil() buffer()

read() readString() last()

readChar() readStringUntil() bufferUntil()

write() clear() stop()

31
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.5.10 CREACIN DE UN TIMELINE

Tanto como para la documentacin del proyecto como para presentaciones


se ha usado el sistema de diapositivas TimelineJS. Una herramienta de cdigo
abierto que permite a cualquier persona crear lneas de tiempo interactivas. Se
pueden crear con una spreadsheet49 de Google. Tambin se pueden importar datos
de JSON.

Mediante el proyecto : http://timeline.knightlab.com

Y se va a crear nuestra propia hoja de clculo

Ilustracin 125 Timeline

Ese enlace lleva a la cuenta de google del usuario:

49
Similar a una hoja de clculo de Google.

32
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 126 Cuenta de google timeline

Se hace que el resultado sea publico para poder acceder a los enlaces
desde entornos externos. Y se guarda Publicar en web. Tambin se podr exportar
en el futuro como pdf, o cualquier otro formato que se necesite tal y como se
adjuntar en memoria.

33
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 127 Publicacin web

Se usa este enlace en la web de TimelineJS

Ilustracin 128 Resultado del cdigo

Y se usa el cdigo embebido resultante. Iframe es todava vlido para html5.

34
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.6 GPS

Se adjunta informacin bsica ( mediante links ) de los GPS probados y no


usados, como informacin ms extensa del GPS definitivo usado para este
proyecto.

Ilustracin 129 GPS 3DR

Caractersticas Aqu.

Ilustracin 130 GPS GTPA 010

Caractersticas Aqu.

4.6.1 GPS GTPA 013 BASADO EN MTK3339 -

Tiene una alta sensibilidad (-165dBm!), funciona con 5V y puede ser


pinchado directamente sobre una protoboard sin mayor complicacin. Puede
alcanzar una velocidad de refresco de hasta 10Hz (programable) y soporta hasta 66
canales para capturar hasta 22 satlites simultneamente. Por si fuera poco, tiene la
posibilidad de incluir una pequea batera de backup (no incluida) y un diseo muy
atractivo.

35
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Est construido a partir del chip MTK3339, un GPS de alta calidad y grandes
prestaciones con antena integrada y que consume tan solo 20mA.

Desarrollan con el bricogeek.com, que son distribuidores oficiales de


Adafruit.com plataforma que desarrolla kits de montaje completos para desarrollo e
incluso distribuciones Occidentalis) de Linux para Raspberry Pi.

Ilustracin 131 GTPA 013 de Adafruit

-165 dBm sensitivity, 10 Hz updates, 66 channels

5V friendly design and only 20mA current draw

Breadboard friendly + two mounting holes

RTC battery-compatible

Built-in datalogging

PPS output on fix

We have received reports that it works up to ~32Km altitude (the GPS


theoretically does not have a limit until 40Km)

Internal patch antenna + u.FL connector for external active antenna

Fix status LED

36
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.6.2 DETALLES TCNICOS

Satellites: 22 tracking, 66 searching

Patch Antenna Size: 15mm x 15mm x 4mm

Update rate: 1 to 10 Hz

Position Accuracy: < 3 meters (all GPS technology has about 3m


accuracy)

Velocity Accuracy: 0.1 meters/s

Warm/cold start: 34 seconds

Acquisition sensitivity: -145 dBm

Tracking sensitivity: -165 dBm

Maximum Altitude for PA6H: according to the factory, this module will
perform up to 40Km but it is only known-tested up to 32,000 Meters

Maximum Velocity: 515m/s

Vin range: 3.0-5.5VDC

MTK3339 Operating current: 25mA tracking, 20 mA current draw during


navigation

Output: NMEA 0183, 9600 baud default

DGPS/WAAS/EGNOS supported

FCC E911 compliance and AGPS support (Offline mode : EPO valid up
to 14 days )

Up to 210 PRN channels

Jammer detection and reduction

Multi-path detection and compensation

Firmware version 5153

37
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Breakout board details:

Weight (not including coin cell or holder): 8.5g

Dimensions (not including coin cell or holder): 25.5mm x 35mm x


6.5mm / 1.0" x 1.35" x 0.25"

4.6.3 DESCARGAS DE HOJAS TECNICAS DRIVERS Y SOFTWARE

MTK3329/MTK3339 command set sheet for changing the fix data rate,
baud rate, sentence outputs, etc!

Datasheet for the PA6B (MTK3329) GPS module itself - used in version
1 of this module

Datasheet for the PA6C (MTK3339) GPS module itself - used in


version 2 of this module

Datasheet for the PA6H (MTK3339) GPS module itself - used in


version 3 of this module

MT3339 GPS PC Tool (windows only) and the PC Tool manual

Mini GPS tool (windows only)

4.6.4 PROTOCOLO NMEA

Se usar el Formato de datos "complejo": Consiste en un bloque de datos de


37 bytes de (generalmente) texto legible ASCII que da el error cross-track,
proporciona un waypoint, presenta la Lat / Long actual, y un byte binario de estado.

Byte Datos Bajo la norma NMEA-0183

1$

2 M | dispositivo

3 P | direccin

38
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4 K = kilmetros | cross track

N = millas nuticas | error

U = microsegundos | unidades

5 - 8 0 - 9 o . valor del error cross track

9 L o R posicin del error cross track

10 T o M presentacin cierta o magntica 11 - 13 0 - 9 proporciona el


siguiente waypoint

14 - 23 12D34'56"N o latitud actual

12D34.56'N

24 - 34 123D45'56"W o longitud actual 123D45.67"W 35 byre de


estado no - ASCII

bit 0 = 1 para la cerradura manual de ciclo 1 = 1 SNR bajo

2 = 1 salto de ciclo 3 = 1 parpadea 4 = 1 alarma de llegada 5 = 1


discontinuidad de TDs 6 = 1 siempre

36 carcter NUL" (hex 80) (byte de estado reservado) 37 carcter


"ETX" (hex 83) Cualquier dato no disponible se llena de bytes "NUL".

4.6.5 RECEPCIN E INTERCAMBIO DE DATOS DEL GPS

Una vez interpretado el protocolo del GPS existen diferentes formatos para
mostrar los datos:

UTM COORDINADAS

A diferencia del sistema de coordenadas geogrficas, expresadas en longitud


y latitud, las magnitudes en el sistema UTM se expresan en metros nicamente al
nivel del mar, que es la base de la proyeccin del elipsoide de referencia.

39
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

COORDENADAS GEOGRFICAS (LATITUD, LONGITUD)

1. Hemisferio.

2. DMS Grados, minutos y segundos

3. DMM Grados y minutos decimales

4. DDD Grados decimales

4.7 ANEJOS NO IMPRESOS PRESENTADOS EN FORMATO


DIGITAL ENLAZADO

Listado de Anejos y documentacin extra no presentada en formato papel.


Descartada su impresin por no aportar informacin imprescindible para la ejecucin
del proyecto. Simple consulta informativa. Se presentarn enlazados los
documentos, PDF principalmente que el autor de este PFC ha consultado pero no
ha realizado en parte o en su totalidad.

4.7.1 CUADRO NACIONAL DE ATRIBUCIN DE FRECUENCIAS (CNAF)

CNAF 2013. Listado de frecuencias permitidas para Espaa. Espectro


radioelctrico

Ilustracin 132 Radiofrecuencias.

Anexo a la orden: Cuadro Nacional de Atribucin de Frecuencias [PDF]

Notas del artculo 5 del Reglamento de Radiocomunicaciones [PDF]

Tablas de atribucin de frecuencias [PDF]

40
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Notas de utilizacin nacional (UN) [PDF]

Figuras de canalizaciones y/o disposicin de bandas de frecuencias


[PDF]

Plan de PLAN DE BANDAS DE LA IARU REGIN 1

4.7.2 SOLUCIONES WIFI DE LARGO ALCANCE

Cmaras IP

Cmaras inalmbricas

Soluciones wifi de largo alcance de vivotek aplicadas a cmaras IP

4.7.3 CONFIGURACIN CON VERSIN CLSICA

Para poder utilizar los mdulos lo primero es configurarlos, para ello se tiene
que bajar el X-CTU de la pgina de Digi, con l se puede cambiar el firmware de los
mdulos XBee, tambin se puede usar como terminal serie para mandar y recibir
datos por el mdulo desde el PC.

Se baja e instala el programa, diciendo que NO a las actualizaciones si el


sistema pregunta. Se conecta la placa XBee Explorer USB con uno de los mdulos
XBee al puerto USB y abrimos el programa X-CTU.

41
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 133 XCTU clsico

Se dejan todos los parmetros de la comunicacin serie como vienen por


defecto, seleccionando el puerto donde est conectado el mdulo al y se pulsa a
Test/Query para probar el mdulo. Si todo est bien devolver algo como esto:

42
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 134 Versin clsica XCTU

Un cuadro de dilogo donde se puede ver el tipo de mdulo que se ha


pinchado en la XBee Explorer USB, la versin del programa interno del
microcontrolador que lleva grabada y su nmero de serie. Este nmero de serie de
los mdulos es nico, es decir no hay dos mdulos ZigBee con el mismo nmero de
serie igual.

43
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 135 XCTU clsico

4.7.4 CONFIGURACIN CON VERSIN ACTUALIZADA 2014

Hubo cambios en el software mediante se trabajaba con este PFC y al final se


us esta nueva versin de XCT-U para la configuracin de los mdulos tanto emisor
como receptor.

Pasos de Configuracin

44
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Arriba derecha. Se pulsa para que busque dispositivos

Se marca el deseado y se pulsa seguir

Ilustracin 136 XCTU versin 2014

Ilustracin 137 XCTU versin 2014

Selecciono principalmente la velocidad de configuracin de todo el sistema

45
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 138 XCTU versin 2014

Se pulsa finish El sistema busca automticamente el nodo principal.

Ilustracin 139 XCTU versin 2014

Si no detecta nada, se repite la operacin. Se extrae el cable con el software


encendido y se prueba de nuevo.

Se recomienda usar otra frecuencia: 57600 y hacer lo mismo. Usar dos


frecuencias para luego poder elegir.

46
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 140 XCTU versin 2014

Se pulsa en aadir dispositivo

Una vez que est en la red. Es el que tengo conectado.

Se le dice al sistema que busque otros.

Ilustracin 141 XCTU versin 2014

Se pulsa Discover

Ilustracin 142 XCTU versin 2014

47
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

NOTA IMPORTANTE. Si se desconfigura un mdulo cualquiera habr que


calibrar de nuevo los dos mdulos. Pinchando primero el modulo emisor en modo
USB al ordenador y luego el receptor.

Una vez configurados ambos dispositivos en frecuencias no habr que volver


a configurarlos si no se cambia el modo de comunicaciones. Es decir, este proceso,
solo habr que hacerlo una vez para cada instalacin.

4.8 IMPORTAR UNA LIBRERA PARA FRITZING

Para hacer los esquemas ms precisos se ha usado este software de edicin


de circuitos, pero algunas libreras no vienen por defecto. Si se quiere que todos los
componentes estn en las libreras grficas habr que hacer nuevas importaciones.

Aadir e importar una librera.

Ejemplo: la de Adafruit : Aqu

Se descarga la librera en rar.se descomprimo. Abro el Fritzing.

Use "File | Open", navigate to the AdaFruit.fzbz file and open it.

48
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.9 LISTADO DE CODIGOS

Se adjuntarn solo algunas de las funciones ms importantes

Se presentan a continuacin algunos de los cdigos usados en Arduino. Slo


las funciones principales. Si se imprimieran todas las lneas de cdigo sern varios
cientos de pginas y no aportara nada al documento, si no que sera ms farragosa
su lectura. Los archivos se presentarn en formato digital y se duplicarn online.

4.9.1 FUNCIONES BSICAS DE ARDUINO

Se adjuntan las funciones bsicas para lecturas de cada sensor en el


Documento de Especificaciones del Sistema.

4.9.1.1 LOCALIZAR LA IP DE MI ARDUINO DHCP -

Con esta funcin que adjunta se consigue la IP de mi Arduino en el momento


de conectarlo a internet directamente al pasarlo por el Router. Son los datos propios
dentro de mi red. IP que asignar a mi Arduino para que sea nica dentro de mi
subred. Otra opcin es autoasignar IP. DHCP50. Pero al haber varios ordenadores
conectados, a la vez que trabajar con diferentes ordenadores porttiles y tabletas es
conveniente hacer este paso.

#include <SPI.h>
#include <Ethernet.h>
// me da como resultado la IP de ethernet arduino dentro de mi red particular
// desde el router movistar en abril 2014 : 192.168.1.33
// desde el router yacom 192.168.1.10
// datos necesarios
// Busco y convierto la MAC de mi Arduino. Direccin nica
// Cada Arduino tiene su nmero de MAC debajo de la placa
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x69, 0xDB }; //mac de arduino garba abril
2014

50
Dynamic Host Configuration Protocol

49
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
EthernetClient client;
void setup() {
Serial.begin(9600); // start the serial library:
if (Ethernet.begin(mac) == 0) // start the Ethernet connection:
{
Serial.println("Fallo en la configuracion DHCP);
for(;;);
}
Serial.println(Ethernet.localIP());// print your local IP address:
}
void loop() { }

4.9.1.2 COMUNICACIN ARDUINO CON SERVIDORES LOCALES Y REMOTOS


//conecto arduino al router directamente para salir a internet sin pasar por el
ordenador.
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x69, 0xDB }; //mac de arduino garba abril
2014
IPAddress ip(192, 168, 1, 33); //la IP de mi arduino

//IPAddress server(74,125,232,128); // usando la IP numeric IP for Google (no


DNS)
//char server[] = "www.google.com"; // usando DNS
IPAddress server(168,144,87,229); // zainder.com para bases de datos de
acceso externo
//IPAddress server(192, 168, 1, 1 ); // mi router . ahi veo que es de telefonica
:)
//IPAddress server(127,0,0,1); // mi localhost con easyphp 127.0.0.1/home
//IPAddress server(192,168,1,34); // sumando 10 a la de casa.
//char server[] = "localhost"; // usando nombre - no RESUELVE

EthernetClient client;
void setup() {
Serial.begin(9600); // velocidad para puerto serie
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Fallo en la configuracion DHCP");
// no point in carrying on, so do nothing forevermore:
// try to congifure using IP address instead of DHCP:
Ethernet.begin(mac, ip);
}
delay(1000); // DaMos un segundo para inicializar la placa Ethernet:
Serial.println("conectando...");
// if you get a connection, report back via serial:
if (client.connect(server, 80)) {
Serial.println("conectado");
// Make a HTTP request:
//client.println("GET /search?q=arduino HTTP/1.1");
//client.println("Host: www.google.com");
client.println("GET http://zainder.com/arduino/arduino.txt");

50
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
client.println("Cerramos conexion");
client.println();
}
else {
// if you didn't get a connection to the server:
Serial.println("fallo en la conexion");}
}
void loop()
{
// if there are incoming bytes available
// from the server, read them and print them:
if (client.available()) {
char c = client.read();
Serial.print(c);}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("desconectamos.");
client.stop();

// do nothing forevermore:
while(true);}
}

4.9.1.2.1 ALGUNOS RESULTADOS DE DIFERENTES CONEXIONES

char server[ ] = "www.google.com";


---------------------------------
connecting...
connected
HTTP/1.0 400 Bad Request
Content-Type: text/html; charset=UTF-8
Content-Length: 1419
Date: Wed, 30 Apr 2014 10:27:39 GM
disconnecting.

char server[ ] = "www.zainder.com";


----------------------------------
connecting...
connected
HTTP/1.1 400 Bad Request
Content-Type: text/html
Cache-Control: no-cache
Connection: close
Content-Length: 480
X-Iinfo: 10-556476181-0 0NNN RT(1398853551254 3) q(-1 -1 -1 -1) r(0 -1)
<html><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOF
disconnecting.

51
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
IPAddress server(192, 168, 1, 1 ); //mi localhost
----------------------------------
connecting...
connected
HTTP/1.1 200 OK
Server: Virtual Web 0.9
Set-Cookie: SessionID=; path=/
Content-Type: text/html
Content-Length: 151
<html><head><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><script
language='javascript'>parent.location="/login.htm"</script></head><body></body></h
tml>
disconnecting.

HTTP/1.1 200 ok : Means that the server is responding using the HTTP
protocol version 1.1. 200 is the code used when everything is ok.

4.9.1.2.2 LECTURAS BSICAS Y CONVERSIONES EN ARDUINO ETHERNET


#include <Adafruit_GPS.h>
#include <SoftwareSerial.h>
// Test code for Adafruit GPS modules using MTK3329/MTK3339 driver
// Tested and works great with the Adafruit Ultimate GPS module
// using MTK33x9 chipset
// y para mis operaciones matematicas en flotante. flooooat !!
#include <Math.h>

byte buffer[] = {0, 1, 2, 3, 4, 5, 6, 7}; //doy unos valores cualesquiera. luego


los actualizar.
int signo_Latitud =0, signo_Longitud=0;
float mi_latitud_DMM , mi_longitud_DMM;
float mi_latitud_DDD , mi_longitud_DDD;
//Grados y minutos decimales (DMM): 41 24.2028, 2 10.4418
//Grados decimales (DDD): 41.40338, 2.17403

// muy importante. pines digitales a vigilar


// Connect the GPS TX (transmit) pin to Digital 3
// Connect the GPS RX (receive) pin to Digital 2
SoftwareSerial mySerial(3, 2);
Adafruit_GPS GPS(&mySerial);
// Set GPSECHO to 'false' to turn off echoing the GPS data to the Serial console
// Set to 'true' if you want to debug and listen to the raw GPS sentences.
#define GPSECHO false
// this keeps track of whether we're using the interrupt
// off by default!
boolean usingInterrupt = false;
void useInterrupt(boolean); // Func prototype keeps Arduino 0023 happy

52
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

void setup()
{
// connect at 115200 so we can read the GPS fast enough and echo without
dropping chars
// also spit it out
Serial.begin(9600);
//Serial.println("Adafruit GPS library basic test!");
// 9600 NMEA is the default baud rate for Adafruit MTK GPS's- some use 4800
GPS.begin(9600);

// uncomment this line to turn on RMC (recommended minimum) and GGA (fix data)
including altitude
GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);
// uncomment this line to turn on only the "minimum recommended" data
// GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCONLY);
// For parsing data, we don't suggest using anything but either RMC only or
RMC+GGA since
// the parser doesn't care about other sentences at this time

// Set the update rate


GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ); // 1 Hz update rate
// For the parsing code to work nicely and have time to sort thru the data, and
// print it out we don't suggest using anything higher than 1 Hz

// Request updates on antenna status, comment out to keep quiet


GPS.sendCommand(PGCMD_ANTENNA);

// the nice thing about this code is you can have a timer0 interrupt go off
// every 1 millisecond, and read data from the GPS for you. that makes the
// loop code a heck of a lot easier!
useInterrupt(true);
delay(1000);
//Ask for firmware version
//mySerial.println(PMTK_Q_RELEASE);
}
// Interrupt is called once a millisecond, looks for any new GPS data, and stores
it
SIGNAL(TIMER0_COMPA_vect) {
char c = GPS.read();
// if you want to debug, this is a good time to do it!
#ifdef UDR0
if (GPSECHO)
if (c) UDR0 = c;
// writing direct to UDR0 is much much faster than Serial.print
// but only one character can be written at a time.
#endif
}

void useInterrupt(boolean v) {
if (v) {
// Timer0 is already used for millis() - we'll just interrupt somewhere
// in the middle and call the "Compare A" function above
OCR0A = 0xAF;

53
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
TIMSK0 |= _BV(OCIE0A);
usingInterrupt = true;
} else {
// do not call the interrupt function COMPA anymore
TIMSK0 &= ~_BV(OCIE0A);
usingInterrupt = false;
}
}

uint32_t timer = millis();


void loop() // run over and over again
{
// in case you are not using the interrupt above, you'll
// need to 'hand query' the GPS, not suggested :(

if (! usingInterrupt) {
// read data from the GPS in the 'main loop'
char c = GPS.read();
// if you want to debug, this is a good time to do it!
if (GPSECHO)
if (c) Serial.print(c); //para quitar morralla
}
// if a sentence is received, we can check the checksum, parse it...
if (GPS.newNMEAreceived()) {
// a tricky thing here is if we print the NMEA sentence, or data
// we end up not listening and catching other sentences!
// so be very wary if using OUTPUT_ALLDATA and trytng to print out data
//Serial.println(GPS.lastNMEA()); // this also sets the newNMEAreceived()
flag to false

if (!GPS.parse(GPS.lastNMEA())) // this also sets the newNMEAreceived() flag


to false
return; // we can fail to parse a sentence in which case we should just
wait for another
}

// if millis() or timer wraps around, we'll just reset it


if (timer > millis()) timer = millis();

// approximately every 2 seconds or so, print out the current stats


if (millis() - timer > 2000) {
timer = millis(); // reset the timer

//Serial.print("\nTime: ");
//Serial.print(GPS.hour, DEC); Serial.print(':');
//Serial.print(GPS.minute, DEC); Serial.print(':');
//Serial.print(GPS.seconds, DEC); Serial.print('.');
//Serial.println(GPS.milliseconds);
//Serial.print("Date: ");
//Serial.print(GPS.day, DEC); Serial.print('/');
//Serial.print(GPS.month, DEC); Serial.print("/20");
//Serial.println(GPS.year, DEC);
//Serial.print("Fix: "); Serial.print((int)GPS.fix);
//Serial.print(" quality: "); Serial.println((int)GPS.fixquality);

54
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
if (GPS.fix) {
//lo mio, para processing. ojo lectura compatible y quitar los serial print.
mi_latitud_DMM = GPS.latitude;
//Serial.println (mi_latitud); //dato 4227.92
mi_longitud_DMM = GPS.longitude;
//Serial.println (mi_longitud); //dato 225.59
//fin de los datos que voy a enviar. 8 bytes en total. dos floats.

//Serial.print("Location: ");
//Serial.print(GPS.latitude, 4); //dato 4227.9155
//Serial.print(GPS.lat);
//Serial.print(", ");
//Serial.print(GPS.longitude, 4);
//Serial.println(GPS.lon);

//Serial.print("Speed (knots): "); Serial.println(GPS.speed);


//Serial.print("Angle: "); Serial.println(GPS.angle);
//Serial.print("Altitude: "); Serial.println(GPS.altitude);
//Serial.print("Satellites: "); Serial.println((int)GPS.satellites);
}
}

// fin de recogida de datos del GPS - comienzo codigo para enviar datos
mi_latitud_DMM = 4227.92f ;
mi_latitud_DDD = convertDegMinToDecDeg(mi_latitud_DMM);
//Serial.println (mi_latitud_DDD );
mi_longitud_DMM = 225.59f ;
mi_longitud_DDD = convertDegMinToDecDeg(mi_longitud_DMM);
//Serial.println (mi_longitud_DDD );

float decima1_Latitud = mi_latitud_DDD; // 42.4652f ; no le hago nada


float decimal_Longitud = mi_longitud_DDD * (-1); // -2.4261f; * (-1) por el
tema de conversiones. porque yo trabajo sin signo

//convierto LATITUD DDD 42.4650 a lo que recojo en processing------------------


------------------------------
//lo primero de todo compruebo el signo. y ajusto. cojo un valor para mi signo y
cambio el numero.
if (decima1_Latitud < 0 ){
signo_Latitud = 1; //1 es negativo
decima1_Latitud = decima1_Latitud * (-1); //lo pongo positivo para trabajar bien
con el.
} else signo_Latitud = 0;
//Serial.println (decima1_Latitud);
//parte entera la misma
int parte_enteraA = (int) decima1_Latitud; //parte enetera = 42 seran los grados
int grados_Latitud = parte_enteraA; //grados = 42 - primer byte
//Serial.println (grados_Latitud); //parte enetera = 42
float quito_parte_entera = (decima1_Latitud - parte_enteraA ) *10000 ; // tengo
4650
int parte_enteraB = (int) quito_parte_entera;
//Serial.println (parte_enteraB);
float parteC = parte_enteraB / 100 ;
//Serial.println (parteC);

55
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
int parteD = (int) parteC;
//Serial.println (parteD); // 46 - segundo byte
int parteE = parte_enteraB % 100 ;
//Serial.println (parteE); // 50 - tercer byte
//resultados al buffer de Latitudes
buffer [0] = grados_Latitud;
buffer [1] = parteD;
buffer [2] = parteE;
buffer [3] = signo_Latitud;

//convierto LONGTUD -2.426f --------------------------------------------


//lo primero de todo compruebo el signo. y ajusto. cojo un valor para mi signo y
cambio el numero.
if (decimal_Longitud < 0 ){
signo_Longitud = 1; //1 es negativo
decimal_Longitud = decimal_Longitud * (-1); //lo pongo positivo para trabajar
bien con el.
} else signo_Longitud = 0;
//parte entera la misma
int parte_enteraF = (int) decimal_Longitud; //parte enetera = 42 seran los
grados
int grados_Longitud = parte_enteraF; //grados = 42 - primer byte
//Serial.println (grados_Longitud); //parte enetera = 42
float quito_parte_enteraZ = (decimal_Longitud - parte_enteraF ) *10000 ; //
tengo 4650
int parte_enteraG = (int) quito_parte_enteraZ;
//Serial.println (parte_enteraG);
float parteH = parte_enteraG / 100 ;
//Serial.println (parteH);
int parteI = (int) parteH;
//Serial.println (parteI); // 46 - segundo byte
int parteJ = parte_enteraG % 100 ;
//Serial.println (parteJ); // 50 - tercer byte
//resultados al buffer

buffer [4] = grados_Longitud;


buffer [5] = parteI;
buffer [6] = parteJ;
buffer [7] = signo_Longitud;

//escribo de un tiron el buffer completo , tenga los componentes que tenga.


//asi y solo asi, se escribe en puerto serie para envio de bytes
Serial.write(buffer, sizeof(buffer) );
delay(1000);
}

// Funcion para convertir los datos de Latitud longitud DMM de Adafruit


// parte del formato grados y minutos decimales a grados decimales
// no me interesa grados minutos segundos pq luego en processing tendr-a que
convertirlo otra vez
// processing como google DDD.
// DDM a DDD
// Grados y minutos decimales (DMM): 41 24.2028, 2 10.4418

56
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
// Grados decimales (DDD): 41.40338, 2.17403
double convertDegMinToDecDeg (float degMin)
{
// me vendr un varlo en grados y minutos decimales. DMM
double min = 0.0; //ojo, poner 0.0 o 0.0f
double decDeg = 0.0;
//para los minutos, fmod() requiere trabajar siempe con doubles
min = fmod((double)degMin, 100.0);
//se devuelven las coordenadas en grados decimales DDD
degMin = (int) ( degMin / 100 );
decDeg = degMin + ( min / 60 );
return decDeg;}

57
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.9.2 FUNCIONES BSICAS DE PROCESSING

Se adjuntarn solo algunas de las funciones ms importantes

Se presentan a continuacin algunos de los cdigos usados en Processing.


Slo las funciones principales. Si se imprimieran todas las lneas de cdigo sern
varios cientos de pginas y no aportara nada al documento, si no que sera ms
farragosa su lectura. Los archivos se presentarn en formato digital y se duplicarn
online.

4.9.2.1 CONSOLA 1

4.9.2.1.1 VARIABLES DE CONFIGURACIN


// Declaro las variables aqui. antes del codigo.
// variables de configuraciones
import processing.serial.*; //Importamos la librera Serial
import gifAnimation.*;
Serial puerto; //Nombre del puerto serie
String COM_serie = "COM5"; //Serial.list()[1]; //se corresponde al com5 .
ejecutar y mirar esto cada vez
int baudios = 9600;

//variables de datos, ficheros, etc


int datos1 , datos2 , datos3;
int dato_critico = 50; //dato por el cual el color del punto pasa a ser rojo y el
termometro o lo que sea, se pone full
float datos4;
PrintWriter fichero; //Para crear el archivo de texto donde guardar los datos

//variables para dibujar


int pantalla_ayuda = 0 ;
int paramostrarimagenes = 0 ;
int recX = 0;
int size_punto = 5 ; // tamao del punto a dibujar
int dist_recX = 5; //distancia para el siguiente punto en X
int lienzo_sizeX = 800, lienzo_sizeY = 600; //tamao del lienzo
int size_cuadricula = 20 ; //tamao de los cuadraditos. los cambio con teclado
int textX = 10, textY =10 , lineas =1; //para sacar los datos en formato grfico.
int convert_dato , dato_a_dibujar;

//imagenes de archivo para consola- estructura


PImage medida_Bajo, medida_Mitad, medida_Alto ,
medida_Alto_Luz , medida_Bajo_Luz , medida_Mitad_Luz;

58
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
int size_imagen_termoX = 100, size_imagen_termoY = 200,
size_imagen_bombillaX = 300, size_imagen_bombillaY = 200 ; //163 * 371 el
termo
float reduce_images = 2.6 ; //valor para ajustar imagenes al lienzo 2= grandes.

//eventos de teclado
boolean teclaB = false ;

4.9.2.1.2 PARTE DE LA FUNCIN MAIN


void setup()
{
//configuracion del puerto serie
puerto = new Serial(this, COM_serie, baudios); //otra forma de ponerlo con
variables - (this, "COM5", 9600);
puerto.buffer(3); //para preparar para 3 datos

//configuraciones del fichero para guardar datos


fichero = createWriter("temperatura_datos.txt"); //Creamos el archivo de texto,
que es guardado en la carpeta del programa

//imagenes de archivo para consola- estructura


medida_Alto = loadImage("imagenes/3medidores-Alto.png"); // Load the image
into the program 163*371
medida_Bajo = loadImage("imagenes/3medidores-Bajo.png"); // Load the image
into the program
medida_Mitad = loadImage("imagenes/3medidores-Medio.png"); // Load the image
into the program

medida_Alto_Luz = loadImage("imagenes/3luces-Alto.png"); // Load the image


into the program 250 * 350
medida_Bajo_Luz = loadImage("imagenes/3luces-Bajo.png"); // Load the image
into the program
medida_Mitad_Luz = loadImage("imagenes/3luces-Medio.png"); // Load the image
into the program

//configuracion del lienzo para dibujar


size(lienzo_sizeX,lienzo_sizeY); //tamao del lienzo
dibuja_fondo (); // fondo

4.9.2.1.3 FUNCIONES PARA DIBUJAR FONDOS Y REJILLAS


//funciones -----------------------------------------------------------
///--------------------------------------------------------------------fin de
evento de puerto serie
int serialEvent(Serial puerto_serie)
{
datos1 = puerto_serie.read(); //este sistema funciona mejor. es una INT. solo
tener cuidado al poner el buffer.
println( "datos1: " + datos1); //solo sacp datos por consola par
comprobacion.

59
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
datos2 = puerto_serie.read();
println( "datos2: " + datos2);
datos3 = puerto_serie.read();
println( "datos3: " + datos3);

return datos1 + datos2 + datos3; // me devuelve los X datos que tenga en el


buffer. en el orden de envio. FIFO.
//datos1 = temperatura ; datos2 = Lectura LDR ; datos3= sonda NT
}
//--------------------------------------------------------------------fin de
evento de puerto serie

void dibujar_por_pantalla_todo (int dato_a_dibujar)


{
//dibujo por pantalla ----------------------------------------------------
-
//dibujo una imagen segun la lectura de los datos.
if ( (dato_a_dibujar >= 0) && (dato_a_dibujar <= 30) ){
image(medida_Bajo, lienzo_sizeX - size_imagen_termoX , lienzo_sizeY
-size_imagen_termoY, medida_Bajo.width/reduce_images,
medida_Bajo.height/reduce_images); //la coloco cambiandole el tamao.
tint(255, 126);
} else if ((dato_a_dibujar >= 31) && (dato_a_dibujar <= 50) )
{ image( medida_Mitad, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Mitad.width/reduce_images,
medida_Mitad.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
else if ((dato_a_dibujar >= dato_critico) && (dato_a_dibujar <=
9999999) )
{ image(medida_Alto, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Alto.width/reduce_images,
medida_Alto.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.

if ( (dato_a_dibujar >= 0) && (dato_a_dibujar <= 30) ){


image(medida_Bajo_Luz, lienzo_sizeX - size_imagen_bombillaX ,
lienzo_sizeY -size_imagen_bombillaY, medida_Bajo_Luz.width/reduce_images,
medida_Bajo_Luz.height/reduce_images); //la coloco cambiandole el tamao.
//tint(255, 126);
} else if ((dato_a_dibujar >= 31) && (dato_a_dibujar <= 50) )
{ image( medida_Mitad_Luz, lienzo_sizeX - size_imagen_bombillaX,
lienzo_sizeY -size_imagen_bombillaY, medida_Mitad_Luz.width/reduce_images,
medida_Mitad_Luz.height/reduce_images); tint(255, 126); } //la coloco cambiandole
el tamao.
else if ((dato_a_dibujar >= dato_critico) && (dato_a_dibujar <=
9999999) )
{ image(medida_Alto_Luz, lienzo_sizeX - size_imagen_bombillaX,
lienzo_sizeY -size_imagen_bombillaY, medida_Alto_Luz.width/reduce_images,
medida_Alto_Luz.height/reduce_images); tint(255, 126); } //la coloco cambiandole
el tamao.

60
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
convert_dato = lienzo_sizeY/2 - dato_a_dibujar ; //para dibujar de abajo a
arriba . justo en la mitad
ellipse(recX, convert_dato , size_punto, size_punto);
if (dato_a_dibujar >= dato_critico)
{fill (193,15,27); } else { fill(0,128,0); } //rojo o verde.

//si se pasa en X del lienzo reseteo. y resto de variables.


if (recX > lienzo_sizeX )
{
dibuja_fondo ();
recX = 0;
textY =0;
textX =0;
lineas =0;
}
recX = recX + dist_recX ; //incremento en X para siguente punto
}
//fin de dibujar por pantalla ------------------------------------------------

//--------------------------------------------------------------------funcion para
dibujar fondo
void dibuja_fondo ()
{
background(16776695); //#FFFDF7
int ref_arribaIZDA = 20, ref_arribaDCHA = 20; //referencia para poner una
pantalla de medida
int desplazoX = lienzo_sizeX / size_cuadricula , desplazoY = lienzo_sizeY /
(size_cuadricula -5); //lo que desplazo para dibujar cuadricula
int ejeX = 0, ejeY =0;

//rect(ref_arribaIZDA, ref_arribaIZDA, 300, 200, 7); //pantalla de datos


//stroke(255);

//linea 0 y siguientes.
stroke(200,200,200);
line (ejeX, lienzo_sizeY/2, lienzo_sizeX , lienzo_sizeY/2);
stroke(0);
fill(0);
text("0", 10, lienzo_sizeY/2);
for (int i =0 ; i <= lienzo_sizeX/desplazoX ; i ++)
{
ejeX = ejeX + desplazoX;
stroke(200,200,200);
line (0, lienzo_sizeY/2 + ejeX, lienzo_sizeX , lienzo_sizeY/2 + ejeX);
line (0, lienzo_sizeY/2 - ejeX, lienzo_sizeX , lienzo_sizeY/2 - ejeX);
}
//linea 0 y siguientes.
stroke(200,200,200);
line (lienzo_sizeX/2, 0 , lienzo_sizeX/2 , lienzo_sizeY );
for (int i =0 ; i <= lienzo_sizeY/desplazoY ; i ++)
{

61
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
ejeY = ejeY + desplazoY;
stroke(200,200,200);
line (lienzo_sizeX/2 + ejeY, 0 , lienzo_sizeX/2 +ejeY , lienzo_sizeY );
line (lienzo_sizeX/2 - ejeY, 0 , lienzo_sizeX/2 -ejeY , lienzo_sizeY );
}
}
//----------------------------------------------------fin de dibujo fondo---------
---------------------
//------------------------------------------eventos de tecla pulsada--------------
----------------
void keyPressed()
{
if (keyPressed)
{
if (key == 'b' || key == 'B')
{
text(datos3, textX +5 , textY+ 5); //en la pantalla grfica
if (lineas >= 5 )
{
textX = textX + 50;
textY = 0;
lineas = 0;
}
textY = textY + 10;
lineas ++ ;
} //---------------fin de dibujo datos de texto con tecla B
if (key == 'c' || key == 'C')
{
size_cuadricula = size_cuadricula + 10;
}
if (key == 't' || key == 'T')
{
dato_critico ++;
} //---------------fin de dibujo datos de texto con tecla B
}
}
//----------------------------------fin de eventos de tecla pulsada --------------
------------------------

//----------------------------------evento de raton pulsado ----------------------


----------------
void mousePressed()
{
//dibujo datos si raton
if (mouseButton == LEFT)
{
stroke(0);
fill(175);
rectMode(CENTER);
rect(mouseX,mouseY,35,25);
stroke(0);
fill(0);
text(dato_a_dibujar, mouseX-5, mouseY+5); //en la pantalla grfica

62
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//fin de dibujo datos de texto con click de raton
}

if (mouseButton == RIGHT)
{
pantalla_ayuda = 1;
} else pantalla_ayuda =0;

//----------------------------------escribir datos en fichero PLANO---------------


-----------------------
void escribir_datos_fichero (int dato_a_escribir)
{
//Escribimos los datos de la temperatura con el tiempo (h/m/s) en el archivo de
texto. mismo directorio

fichero.print(dato_a_escribir + " C ");


fichero.print(hour( )+":");
fichero.print(minute( )+":");
fichero.println(second( ));
fichero.println("");
}
//----------------------------------escribir datos en fichero --------------------
------------------

//----------------------------------pantalla de ayuda ---------


void pantalla_ayuda ()
{
background(16776695);
stroke(0);
fill(0);
text("datos de ayuda, configuraciones", 5, 15); //en la pantalla grfica

// temperatura
stroke(0);
fill(175);
rectMode(CENTER);
rect(150,60,35,20);
stroke(0);
fill(0);
text("Dato crtico de Temperatura", 175, 65); //en la pantalla grfica
text(dato_critico, 150-5, 60+5); //en la pantalla grfica
if ( (datos1 >= 0) && (datos1 <= 30) ){
image(medida_Bajo, 50, 50, medida_Bajo.width/reduce_images,
medida_Bajo.height/reduce_images); //la coloco cambiandole el tamao.
tint(255, 126);
} else if ((datos1 >= 31) && (datos1 <= 50) )
{ image( medida_Mitad, 50, 50, medida_Mitad.width/reduce_images,
medida_Mitad.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
else if ((datos1 >= dato_critico) && (datos1 <= 9999999) )

63
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
{ image(medida_Alto, 50, 50, medida_Alto.width/reduce_images,
medida_Alto.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
}

4.9.2.2 CONSOLA PRINCIPAL

4.9.2.2.1 DECLARACIN DE VARIABLES Y CONFIGURACIONES


// Declaro las variables aqui. antes del codigo.
// variables de configuraciones
import processing.serial.*; //Importamos la librera Serial
import gifAnimation.*;
Serial puerto; //Nombre del puerto serie
String COM_serie = "COM5"; //Serial.list()[1]; //se corresponde al com5 .
ejecutar y mirar esto cada vez
int baudios = 9600;
int size_buffer_recepcion_datos = 3;

//todo lo relativo a la libreria LP5 de eontorno grfico.


import controlP5.*;
ControlP5 cp5;
Textarea myTextarea;
Println console;
Textarea mi__texto_ayuda;
public int Aviso_1_Temp = 10 , Aviso_2_Temp = 40; //valors de los slides con
muescas
public int Temp_Critico = 50; //dato por el cual el color del
punto pasa a ser rojo y el termometro o lo que sea, se pone full
public int Aviso_1_Luz = 20, Aviso_2_Luz = 30; //valors de los slides con
muescas
public int Luz_critico = 60 ; //dato por el cual el color del
punto pasa a ser rojo y la bombilla o lo que sea, se pone full

//variables de datos, ficheros, etc


int datos1 , datos2 , datos3;
float datos4;
PrintWriter fichero; //Para crear el archivo de texto donde guardar los datos

//variables para dibujar


int ref_arriba = 400; //referencia para poner una pantalla de medida
int paramostrarimagenes = 0 ;
int recX = 0 , recXX =0;
int size_punto = 10 , size_punto_Luz = 2 , size_punto_Temp = 5 ; // tamao del
punto a dibujar
int dist_recX = 5; //distancia para el siguiente punto en X
int lienzo_sizeX = 1000, lienzo_sizeY = 600; //tamao del lienzo
int size_cuadricula = 30 , size_cuadricula_Temp = 20 , size_cuadricula_Luz = 10 ;
//tamao de los cuadraditos. los cambio con teclado
int textX = 10, textY =10 , lineas =1; //para sacar los datos en formato grfico.
int convert_dato , dato_a_dibujar;

64
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
int background_color = 0;

//imagenes de archivo para consola- estructura


PImage medida_Bajo, medida_Mitad, medida_Alto ,
medida_Alto_Luz , medida_Bajo_Luz , medida_Mitad_Luz;
int size_imagen_termoX = lienzo_sizeX - 20, size_imagen_termoY = lienzo_sizeY,
size_imagen_bombillaX = lienzo_sizeX, size_imagen_bombillaY = lienzo_sizeY -
200 ; //163 * 371 el termo
float reduce_images = 2.6 ; //valor para ajustar imagenes al lienzo 2= grandes.

//eventos de teclado
boolean teclaB = false ;
boolean saca_consola_texto = true;

4.9.2.2.2 ALGUNAS FUNCIONES DEL SISTEMA


//funciones -----------------------------------------------------------
///--------------------------------------------------------------------fin de
evento de puerto serie
int serialEvent(Serial puerto_serie)
{
datos1 = puerto_serie.read(); //este sistema funciona mejor. es una INT. solo
tener cuidado al poner el buffer.
println( "datos1: " + datos1); //solo sacp datos por consola par
comprobacion.
datos2 = puerto_serie.read();
println( "datos2: " + datos2);
datos3 = puerto_serie.read();
println( "datos3: " + datos3);

return datos1 + datos2 + datos3; // me devuelve los X datos que tenga en el


buffer. en el orden de envio. FIFO.
//datos1 = temperatura ; datos2 = Lectura LDR
; datos3= sonda NT
}
//--------------------------------------------------------------------fin de
evento de puerto serie
void dibujar_por_pantalla_temp (int temp_a_dibujar)
{
//dibujo por pantalla ---------------------------------------------------
--
//dibujo una imagen de termometro segun la lectura de los datos.
if ( (temp_a_dibujar >= 0) && (temp_a_dibujar < Aviso_1_Temp) ){
image(medida_Bajo, lienzo_sizeX - size_imagen_termoX , lienzo_sizeY
-size_imagen_termoY, medida_Bajo.width/reduce_images,
medida_Bajo.height/reduce_images); //la coloco cambiandole el tamao.
tint(255, 126);
} else if ((temp_a_dibujar >= Aviso_1_Temp ) && (temp_a_dibujar <=
Aviso_2_Temp ) )
{ image( medida_Mitad, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Mitad.width/reduce_images,
medida_Mitad.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.

65
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
else if ((temp_a_dibujar >= Temp_Critico) && (temp_a_dibujar <=
9999999) )
{ image(medida_Alto, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Alto.width/reduce_images,
medida_Alto.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
convert_dato = ref_arriba/2 + lienzo_sizeY/2 - temp_a_dibujar ; //para
dibujar de abajo a arriba . justo en la mitad
ellipse(recX, convert_dato , size_punto_Temp, size_punto_Temp);
if (temp_a_dibujar >= Temp_Critico)
{fill (193,15,27); } else { fill(0,128,0); } //rojo o verde.

//si se pasa en X del lienzo reseteo. y resto de variables.


if (recX > lienzo_sizeX / 2 )
{
dibuja_fondo ();
recX = 0;
}
recX = recX + size_punto_Temp; //incremento en X para siguente punto
//variables demo para pruebas y configuraciones--> borrar
println( "temp: " + temp_a_dibujar);

}
void dibujar_por_pantalla_Luz (int Luz_a_dibujar)
{
//dibujo por pantalla ---------------------------------------------------
--
//dibujo una imagen de bombilla segun la lectura de los datos.
if ( (Luz_a_dibujar >= 0) && (Luz_a_dibujar < Aviso_1_Luz) ){
image(medida_Bajo_Luz, lienzo_sizeX - size_imagen_bombillaX ,
lienzo_sizeY -size_imagen_bombillaY, medida_Bajo_Luz.width/reduce_images,
medida_Bajo_Luz.height/reduce_images); //la coloco cambiandole el tamao.
//tint(255, 126);
} else if ((Luz_a_dibujar > Aviso_1_Luz) && (Luz_a_dibujar <=
Aviso_2_Luz) )
{ image( medida_Mitad_Luz, lienzo_sizeX - size_imagen_bombillaX,
lienzo_sizeY -size_imagen_bombillaY, medida_Mitad_Luz.width/reduce_images,
medida_Mitad_Luz.height/reduce_images); tint(255, 126); } //la coloco cambiandole
el tamao.
else if ((Luz_a_dibujar >= Luz_critico) && (Luz_a_dibujar <=
9999999) )
{ image(medida_Alto_Luz, lienzo_sizeX - size_imagen_bombillaX,
lienzo_sizeY -size_imagen_bombillaY, medida_Alto_Luz.width/reduce_images,
medida_Alto_Luz.height/reduce_images); tint(255, 126); } //la coloco cambiandole
el tamao.
convert_dato = ref_arriba/2 + lienzo_sizeY/2 - Luz_a_dibujar ; //para
dibujar de abajo a arriba . justo en la mitad
ellipse(lienzo_sizeX/2 + recXX, convert_dato , size_punto_Luz,
size_punto_Luz);
if (Luz_a_dibujar >= Luz_critico)
{fill (193,15,27); } else { fill(#FFFF00); } //rojo o verde.
//si se pasa en X del lienzo reseteo. y resto de variables.
if (recXX > lienzo_sizeX / 2 )
{

66
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
dibuja_fondo ();
recXX = 0;
}
recXX = recXX + size_punto_Luz; //incremento en X para siguente punto
//variables demo para pruebas y configuraciones--> borrar
println( "temp: " + Luz_a_dibujar);

}
//fin de dibujar por pantalla ----------------------------------------
//--------------------------------------------------------------------funcion para
dibujar fondo
void dibuja_fondo ()
{
int color_lineas = #026C9E;
int size_grafica_mostrar = 200;
int ejeX = 0, ejeY =0;
background(background_color);
//pantalla del sistema grafico.
fill (#02344D);
stroke(#026C9E); // #02344D=azul oscuro #026C9E:azulclaro
rect(1, lienzo_sizeY - size_grafica_mostrar , lienzo_sizeX-1,
size_grafica_mostrar -1, 0); //255 es el valor mas grande que recojo de arduino.
pongo 300
line (lienzo_sizeX/2, lienzo_sizeY -size_grafica_mostrar , lienzo_sizeX/2 ,
lienzo_sizeY );
//primera grafica grafica - horizontales
for (int i = 1 ; i <= lienzo_sizeX/2/size_cuadricula_Temp ; i ++)
{
ejeY = ejeY + size_cuadricula_Temp;
fill(0);
stroke(#026C9E);
line (0 +ejeY, lienzo_sizeY - size_grafica_mostrar , 0 + ejeY ,
lienzo_sizeY );
}
//segunda grafica - verticales
ejeY = 0; // hago reset
for (int i = 1 ; i <= lienzo_sizeX/2/size_cuadricula_Luz ; i ++)
{
ejeY = ejeY + size_cuadricula_Luz;
fill(0);
stroke(#026C9E);
line (lienzo_sizeX/2 +ejeY, lienzo_sizeY - size_grafica_mostrar ,
lienzo_sizeX/2 + ejeY , lienzo_sizeY );
}
//primera grafica grafica - horizontales
for (int i = 1 ; i <= lienzo_sizeX/2/size_cuadricula_Temp ; i ++)
{
ejeX = ejeX + size_cuadricula_Temp;
fill(0);
stroke(#026C9E);
line ( 0, lienzo_sizeY - size_grafica_mostrar + ejeX , lienzo_sizeX/2 ,
lienzo_sizeY - size_grafica_mostrar + ejeX );
}
//segunda grafica - horizontales

67
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
ejeX = 0; // hago reset
for (int i = 1 ; i <= lienzo_sizeX/2/size_cuadricula_Temp ; i ++)
{
ejeX = ejeX + size_cuadricula_Luz;
fill(0);
stroke(#026C9E);
line ( lienzo_sizeX/2, lienzo_sizeY - size_grafica_mostrar + ejeX ,
lienzo_sizeX , lienzo_sizeY - size_grafica_mostrar + ejeX );
}
}

//----------------------------------------------------fin de dibujo fondo---------


---------------------
//------------------------------------------eventos de tecla pulsada--------------
----------------

//relativo a tecla pulsada.


void keyPressed()
{
switch(key)
{
case('1'):
console.pause(); //paramos la consola de datos
break;
case('2'):
console.play(); //activo consola de datos
break;
case('3'):
//console.clear(); //limpio consola
break;
case('b'):
text(datos3, textX +5 , textY+ 5); //en la pantalla grfica
if (lineas >= 5 )
{
textX = textX + 50;
textY = 0;
lineas = 0;
}
textY = textY + 10;
lineas ++ ;
break;
case('c'):
size_cuadricula = size_cuadricula + 10;
break;
case('t'):
//saca_consola_texto = true; // no me funciona ok. refresco. llamada de setup
no posible. puerto serie fallo. ocupado. se vuelve ciclico.
consola_texto();
break;
case('y'):
saca_consola_texto = false;
break;
}
}

68
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//----------------------------------fin de eventos de tecla pulsada --------------
------------------------
//----------------------------------evento de raton pulsado ----------------------
----------------
void mousePressed()
{

}
//----------------------------------fin de evento de raton pulsado ---------------
-----------------------
//----------------------------------configuracion_entorno_grafico ----------------
----------------------
//----------------------------------datos por consola grafica---------------------
----------------
void sacar_datos_consola ()
{
cp5 = new ControlP5(this);
cp5.enableShortcuts();
frameRate(100);
// consola de datos
myTextarea = cp5.addTextarea("txt")
.setPosition(350, 20)
.setSize(100, 250)
.setFont(createFont("", 10))
.setLineHeight(14)
.setColor(color(180))
.setColorBackground(color(0, 100))
.setColorForeground(color(255, 100));
;
console = cp5.addConsole(myTextarea);
}
//-------------------------texto informativo
void consola_texto()
{
cp5 = new ControlP5(this);
mi__texto_ayuda = cp5.addTextarea("txt")
.setPosition(475,50)
.setSize(200,200)
.setFont(createFont("arial",10))
.setLineHeight(14)
.setColor(color(128))
.setColorBackground(color(255,100))
.setColorForeground(color(255,100));
;
mi__texto_ayuda.setText("Cuadro de texto informativo. todas las teclas.
funciones, etc"
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc"
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc"
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc"

69
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc"
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc"
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc,"
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc"
+" Cuadeo de texto informativo. todas las teclas. funciones,
etc"
);
cp5.addSlider("Ancho")
.setRange(30,500)
.setValue(200)
.setPosition(475,10)
.setSize(100,15)
;

cp5.addSlider("Alto")
.setRange(30,500)
.setValue(200)
.setPosition(475,30)
.setSize(100,15)
;
}
void Ancho(int theValue) { mi__texto_ayuda.setWidth(theValue);}
void Alto(int theValue) { mi__texto_ayuda.setHeight(theValue);}
//--------------------------------------------------cuadros de texto - string -
solo informativos OJO , no integers--------------
void cuadros_texto_informativos()
{
String[][] s = new String[3][];
ControlP5 controlP5;
ListBox cuadro_informativo;
controlP5 = new ControlP5(this);
cuadro_informativo = controlP5.addListBox("Configuraciones",800,20,200,300);
//cuadro_informativo.actAsPulldownMenu(true);
cuadro_informativo.setItemHeight(23);

s[1] = new String[] {


"Baudios : " + baudios,
"Puerto Seleccionado : " + COM_serie,
"Buffer de Recepcion : " + size_buffer_recepcion_datos,
"d",
"e",
"f",
"Tamano del punto Temp : " + size_punto_Temp ,
"h",
"i",
"j",
"k",
"l",
"Cuadricula de Dibujo C : " + size_cuadricula,

70
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
"n"
};
for(int i=0;i<s[1].length;i++) {
cuadro_informativo.addItem(s[1][i],i);
}

}
//--------------------------------------potenciomeotros knob circulares ----------
---------------------
void potenciometros_circulares ()
{
cp5 = new ControlP5(this);
Knob size_punto_Temp;
size_punto_Temp = cp5.addKnob("size_punto_Temp")
.setRange(0,25)
.setValue(5)
.setPosition(250,333)
.setRadius(20)
.setDragDirection(Knob.VERTICAL)
;
Knob size_punto_Luz;
size_punto_Luz = cp5.addKnob("size_punto_Luz")
.setRange(0,15)
.setValue(2)
.setPosition(350,333)
.setRadius(20)
.setDragDirection(Knob.VERTICAL)
;
Knob Rejilla_T;
Rejilla_T = cp5.addKnob("Rejilla_T")
.setRange(0,100)
.setValue(20)
.setPosition(450,333)
.setRadius(20)
.setDragDirection(Knob.VERTICAL)
;
Knob Rejilla_L;
Rejilla_L = cp5.addKnob("Rejilla_L")
.setRange(0,100)
.setValue(8)
.setPosition(550,333)
.setRadius(20)
.setDragDirection(Knob.VERTICAL)
;
Knob Pot_Fondo;
Pot_Fondo = cp5.addKnob("Pot_Fondo")
.setRange(0,65000)
.setValue(0)
.setPosition(650,333)
.setRadius(20)
.setDragDirection(Knob.VERTICAL)
;
}

71
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//creo estas funciones para asignar las variables. lo puedo hacer directamente ,
pero asi se ve mejor.
void size_punto_Temp(int size_punto_Temperatura){
size_punto_Temp = size_punto_Temperatura; //con esto asigno al valor del
potenciometro , una de mis varibles para que las vaya modificiando.
}
void size_punto_Luz(int size_punto_Luces){
size_punto_Luz = size_punto_Luces; //con esto asigno al valor del potenciometro
, una de mis varibles para que las vaya modificiando.
}
void Rejilla_L (int Valor_Rejilla_L){
size_cuadricula_Luz = Valor_Rejilla_L; //con esto asigno al valor del
potenciometro , una de mis varibles para que las vaya modificiando.
}
void Rejilla_T (int Valor_Rejilla_T){
size_cuadricula_Temp = Valor_Rejilla_T; //con esto asigno al valor del
potenciometro , una de mis varibles para que las vaya modificiando.
}
void Pot_Fondo (int Pot_Fondo){
background_color = Pot_Fondo; //con esto asigno al valor del potenciometro , una
de mis varibles para que las vaya modificiando.
}

//-----------------------slides horizontales con muescas -------------------------


-------
void slides_horizontales_con_muescas ()
{
cp5 = new ControlP5(this);
noStroke();
cp5.addSlider("Aviso_1_Temp")
.setRange(0, 50)
.setValue(30)
.setPosition(120, 20)
.setSize(100, 15)
.setNumberOfTickMarks(5)
.setSliderMode(Slider.FLEXIBLE)
;
cp5.addSlider("Aviso_2_Temp")
.setRange(0, 50)
.setValue(40)
.setPosition(120, 60)
.setSize(100, 15)
.setNumberOfTickMarks(5)
.setSliderMode(Slider.FLEXIBLE)
;
cp5.addSlider("Temp_Critico")
.setRange(0, 50)
.setValue(50)
.setPosition(120, 100)
.setSize(100, 15)
.setNumberOfTickMarks(5)
.setSliderMode(Slider.FLEXIBLE)

72
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
;
}

//-----------------------slides horizontales sin muescas -------------------------


-------
void slides_horizontales ()
{
noStroke();
cp5 = new ControlP5(this);

cp5.addSlider("Aviso_1_Luz")
.setRange(0, 50)
.setValue(12)
.setPosition(120, 200)
.setSize(100, 15)
;
cp5.addSlider("Aviso_2_Luz")
.setRange(0, 50)
.setValue(20)
.setPosition(120, 240)
.setSize(100, 15)
;
cp5.addSlider("Luz_critico")
.setRange(0, 50)
.setValue(60)
.setPosition(120, 290)
.setSize(100, 15)
;
}
//----------------------------------fin de configuracion_entorno_grafico ---------
-----------------------------
//----------------------------------escribir datos en fichero PLANO---------------
-----------------------
void escribir_datos_fichero (int dato_a_escribir)
{
//Escribimos los datos de la temperatura con el tiempo (h/m/s) en el archivo de
texto. mismo directorio

fichero.print(dato_a_escribir + " C ");


fichero.print(hour( )+":");
fichero.print(minute( )+":");
fichero.println(second( ));
fichero.println("");
}
//---------------------------------fin escribir datos en fichero -----------------
---------------------

4.9.2.2.3 OTRAS FUNCIONES COMPARITDAS ENTRE APLICACIONES

//otras funciones
void dibuja_fondo_1_grafica_ajustable ()
{
//background(16776695); //#FFFDF7

73
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
background(background_color); //#FFFDF7
int desplazoX = lienzo_sizeX / size_cuadricula , desplazoY = lienzo_sizeY /
(size_cuadricula -5); //lo que desplazo para dibujar cuadricula
int ejeX = 0, ejeY =0;
int color_lineas = 90;

//pantalla del sistema grafico.


fill (0);
stroke(6);
rect(0, ref_arriba, lienzo_sizeX, lienzo_sizeY/3, 0);

//linea 0 y siguientes.
stroke(color_lineas);
fill(color_lineas);
stroke(color_lineas,color_lineas,color_lineas);
line (ejeX, ref_arriba/2 + lienzo_sizeY/2, lienzo_sizeX , ref_arriba/2 +
lienzo_sizeY/2);
stroke(color_lineas);
fill(color_lineas);
//text("0", 10, ref_arriba/2 + lienzo_sizeY/2);
for (int i =0 ; i <= ref_arriba/2/desplazoX/3 ; i ++)
{
ejeX = ejeX + desplazoX;
stroke(color_lineas);
fill(color_lineas);
stroke(color_lineas,color_lineas,color_lineas);
line (0, ref_arriba/2 + lienzo_sizeY/2 + ejeX, lienzo_sizeX , ref_arriba/2
+ lienzo_sizeY/2 + ejeX);
line (0, ref_arriba/2 + lienzo_sizeY/2 - ejeX, lienzo_sizeX , ref_arriba/2
+ lienzo_sizeY/2 - ejeX);
}
//linea 0 y siguientes.
stroke(color_lineas);
fill(color_lineas);
stroke(color_lineas,color_lineas,color_lineas);
line (lienzo_sizeX/2, ref_arriba , lienzo_sizeX/2 , lienzo_sizeY );

for (int i =0 ; i <= lienzo_sizeY/desplazoY ; i ++)


{
ejeY = ejeY + desplazoY;
stroke(color_lineas);
fill(color_lineas);
stroke(color_lineas,color_lineas,color_lineas);
line (lienzo_sizeX/2 + ejeY, ref_arriba , lienzo_sizeX/2 +ejeY ,
lienzo_sizeY );
line (lienzo_sizeX/2 - ejeY, ref_arriba , lienzo_sizeX/2 -ejeY ,
lienzo_sizeY );
}
}
void dibujar_por_pantalla_todo (int dato_a_dibujar)
{
//dibujo por pantalla ---------------------------------------------------
--
//dibujo una imagen de termometro segun la lectura de los datos.

74
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
if ( (dato_a_dibujar >= 0) && (dato_a_dibujar < Aviso_1_Temp) ){
image(medida_Bajo, lienzo_sizeX - size_imagen_termoX , lienzo_sizeY
-size_imagen_termoY, medida_Bajo.width/reduce_images,
medida_Bajo.height/reduce_images); //la coloco cambiandole el tamao.
tint(255, 126);
} else if ((dato_a_dibujar >= Aviso_1_Temp ) && (dato_a_dibujar <=
Aviso_2_Temp ) )
{ image( medida_Mitad, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Mitad.width/reduce_images,
medida_Mitad.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
else if ((dato_a_dibujar >= Temp_Critico) && (dato_a_dibujar <=
9999999) )
{ image(medida_Alto, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Alto.width/reduce_images,
medida_Alto.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
//dibujo una imagen de bombilla segun la lectura de los datos.
if ( (dato_a_dibujar >= 0) && (dato_a_dibujar < Aviso_1_Luz) ){
image(medida_Bajo_Luz, lienzo_sizeX - size_imagen_bombillaX ,
lienzo_sizeY -size_imagen_bombillaY, medida_Bajo_Luz.width/reduce_images,
medida_Bajo_Luz.height/reduce_images); //la coloco cambiandole el tamao.
//tint(255, 126);
} else if ((dato_a_dibujar >= Aviso_1_Luz) && (dato_a_dibujar <=
Aviso_2_Luz) )
{ image( medida_Mitad_Luz, lienzo_sizeX - size_imagen_bombillaX,
lienzo_sizeY -size_imagen_bombillaY, medida_Mitad_Luz.width/reduce_images,
medida_Mitad_Luz.height/reduce_images); tint(255, 126); } //la coloco cambiandole
el tamao.
else if ((dato_a_dibujar >= Luz_critico) && (dato_a_dibujar <=
9999999) )
{ image(medida_Alto_Luz, lienzo_sizeX - size_imagen_bombillaX,
lienzo_sizeY -size_imagen_bombillaY, medida_Alto_Luz.width/reduce_images,
medida_Alto_Luz.height/reduce_images); tint(255, 126); } //la coloco cambiandole
el tamao.
convert_dato = ref_arriba/2 + lienzo_sizeY/2 - dato_a_dibujar ; //para
dibujar de abajo a arriba . justo en la mitad
ellipse(recX, convert_dato , size_punto_Temp, size_punto_Temp);
if (dato_a_dibujar >= Temp_Critico)
{fill (193,15,27); } else { fill(0,128,0); } //rojo o verde.
//si se pasa en X del lienzo reseteo. y resto de variables.
if (recX > lienzo_sizeX )
{
dibuja_fondo ();
recX = 0;
textY =0;
textX =0;
lineas =0;
}
recX = recX + dist_recX ; //incremento en X para siguente punto
//variables demo para pruebas y configuraciones--> borrar
println( "Dato: " + paramostrarimagenes);
println( "consola: " + saca_consola_texto);
}

75
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.9.2.3 CONSOLA GPS

4.9.2.3.1 CONFIGURACION PRINCIPAL DE LA CONSOLA GPS


//-----------------------------variables de configuraciones TOTALES
//Importamos la librera Serial
import processing.serial.*;
Serial puerto; //Nombre del puerto serie
String COM_serie = "COM5"; //Serial.list()[1]; //se corresponde al com5 .
ejecutar y mirar esto cada vez
int baudios = 9600;
int size_buffer_recepcion_datos = 8;
int datos1 , datos2 , datos3, datos4, datos5, datos6, datos7, datos8;
boolean zoom_mapa_derecho = false ;
int cambio_proveedor_mapas = 1;
int salto_linea = 10;
int lienzo_sizeX = 800, lienzo_sizeY = 600; //tamao del lienzo
int size_cuadricula = 30 , size_cuadricula_Temp = 20 , size_cuadricula_Luz = 10 ;
//tamao de los cuadraditos. los cambio con teclado
int ref_arriba = 400; //referencia para poner una pantalla de medida
public int Aviso_1_Temp = 10 , Aviso_2_Temp = 40; //valors de los slides con
muescas
public int Temp_Critico = 50; //dato por el cual el color del
punto pasa a ser rojo y el termometro o lo que sea, se pone full
int convert_dato , dato_a_dibujar;
int recX = 0 , recXX =0;
int size_punto = 10 , size_punto_Luz = 2 , size_punto_Temp = 5 ; // tamao del
punto a dibujar

int size_buffer_datos_GPS_recogidos = 9 , recorro_buffer_datosGPS_recogidos = 0;


float[] buffer_latitudes = new float[size_buffer_datos_GPS_recogidos];
float[] buffer_longitudes = new float[size_buffer_datos_GPS_recogidos];

//tema de libreria GPS


import de.fhpotsdam.unfolding.*;
import de.fhpotsdam.unfolding.geo.*;
import de.fhpotsdam.unfolding.utils.*;
import de.fhpotsdam.unfolding.events.EventDispatcher;
import de.fhpotsdam.unfolding.interactions.MouseHandler;
import de.fhpotsdam.unfolding.providers.* ; // para cargar mapas de otros
proveedores.

UnfoldingMap map;
UnfoldingMap mapDetail;
UnfoldingMap mapOverview;
UnfoldingMap map_microsoft;

float nuevaX = 42.465f; //latitud horizontal


float nuevaY = -2.426f; //longitud vertical
Location locationUniversidadRioja = new Location(nuevaX , nuevaY); //42.465, -
2.426

76
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
Location locationLogrono = new Location(42.465, -2.426);
//Londres 51.5f, 0f

4.9.2.3.2 CONFIGURACIN 2 DE LA CONSOLA GPS SETUP


public void setup() {
size(800, 600, P2D);
noStroke();

//configuracion del puerto serie


puerto = new Serial(this, COM_serie, baudios); //otra forma de ponerlo con
variables - (this, "COM5", 9600);
puerto.buffer(size_buffer_recepcion_datos); //para preparar para size_buffer
datos que bienen de arduino

//configuracion basica de los mapas


map = new UnfoldingMap(this);
map.setTweening(true);
//zoom de entrada
//map.zoomToLevel(4);
//map.panTo(new Location(20f, -4f));
MapUtils.createDefaultEventDispatcher(this, map);

//para crear un mapa detallado---------------------------


mapDetail = new UnfoldingMap(this, "Detalle", 0, 0, 800, 400);
mapDetail.setTweening(true);
mapDetail.zoomToLevel(1);
mapOverview = new UnfoldingMap(this, "Vista", 600, 400, 200, 200);
mapOverview.setTweening(true);
EventDispatcher eventDispatcher = new EventDispatcher();
// Aado la iteracin del raton en ambos mapass
MouseHandler mouseHandler = new MouseHandler(this, mapDetail, mapOverview);
eventDispatcher.addBroadcaster(mouseHandler);
// Como cada mapa se escucha el uni al otro. cada iteracion en uno la duplico en
el otro
eventDispatcher.register(mapDetail, "pan", mapDetail.getId(),
mapOverview.getId());
eventDispatcher.register(mapDetail, "zoom", mapDetail.getId(),
mapOverview.getId());
eventDispatcher.register(mapOverview, "pan", mapDetail.getId(),
mapOverview.getId());
eventDispatcher.register(mapOverview, "zoom", mapDetail.getId(),
mapOverview.getId());

//carga de otro proveedor


map_microsoft = new UnfoldingMap(this, new Microsoft.AerialProvider());
map_microsoft.setTweening(true);
MapUtils.createDefaultEventDispatcher(this, map_microsoft );

77
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.9.2.3.3 FUNCION PARA EL CAMBIO DE PROVEEDOR DE MAPAS
switch( cambio_proveedor_mapas)
{
case(1):
map.draw(); //mapa normal.
break;
case(2):
dibuja_fondo ();
mapa_detallado_derecha (); // para este caso dibujo en el mapa con zooms
break;
case(3):
map_microsoft.draw(); // para este caso dibujo en el mapa de microsoft
break;
default:
map.draw();
break ;
}

4.9.2.3.4 PARTE DEL BUCLE DE LA FUNCIN MAIN


public void draw() {
background(0);
//por defecto mostrar el mapa de unfolding, pero aado diferentes mapas y
pantallas.

// Cdigo para ver encima del raton por donde ando.


Location location = map.getLocation(mouseX, mouseY);
text(location.toString(), mouseX, mouseY);

// Hago zoom dependiendo de marcas.


/*
ScreenPosition posLogrono = map.getScreenPosition(locationLogrono);
fill(200, 0, 0, 100);
float s = map.getZoom();
ellipse(posLogrono.x, posLogrono.y, s, s);
*/

//Draws locations on screen positions according to their geo-locations.


//Fixed-size marker
//ScreenPosition posUniversidadRioja =
map.getScreenPosition(locationUniversidadRioja);
//fill(0, 200, 0, 100);
//ellipse(posUniversidadRioja.x, posUniversidadRioja.y, 10 , 10);

//unos ejemplos de puntos para chequeo DDD


/*coloca_punto_en_mapa (42.465f, -2.427f);
coloca_punto_en_mapa (42.466f, -2.427f);
coloca_punto_en_mapa (42.46, -2.42);
coloca_punto_en_mapa (nuevaX, nuevaY);
coloca_punto_en_mapa (nuevaX, nuevaY+datos1);
text(20, 42.475, -2.426);
*/

78
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//compruebo en consola los datos que recibo.
println( "datos1: " + datos1); // grados_Latitud;
println( "datos2: " + datos2); // parteD;
println( "datos3: " + datos3); // parteE;
println( "datos4: " + datos4); // signo_Latitud;
println( "datos5: " + datos5); // grados_Longitud;
println( "datos6: " + datos6); // parteI
println( "datos7: " + datos7); // parteJ
println( "datos8: " + datos8); // signo_Longitud;

//compongo los 4 bytes de la latitud


float genero_latitudA;
genero_latitudA = (datos1 * 10000) ;
//println( "genero_latitudA: " + genero_latitudA);
float genero_latitudB;
genero_latitudB = (datos2 * 100);
//println( "genero_latitudB: " + genero_latitudB);
float genero_latitudAmasBmasC;
genero_latitudAmasBmasC = genero_latitudA +genero_latitudB + datos3;
//println( "genero_latitudAmasBmasC: " + genero_latitudAmasBmasC);
if (datos4 == 1) {
genero_latitudAmasBmasC = genero_latitudAmasBmasC * (-1) ; //si el signo es 1 lo
pongo negativo
} else genero_latitudAmasBmasC = genero_latitudAmasBmasC * (+1) ;
float Latitud_capturada = genero_latitudAmasBmasC / 10000 ;
println( "Latitud_capturada: " + Latitud_capturada);

//compongo los 4 bytes de la longitud


float genero_longitudA;
genero_longitudA = (datos5 * 10000) ;
//println( "genero_longitudA: " + genero_longitudA);
float genero_longitudB;
genero_longitudB = (datos6 * 100);
//println( "genero_longitudB: " + genero_longitudB);
float genero_longitudAmasBmasC;
genero_longitudAmasBmasC = genero_longitudA +genero_longitudB + datos7;
//println( "genero_longitudAmasBmasC: " + genero_longitudAmasBmasC);
if (datos8 == 1) {
genero_longitudAmasBmasC = genero_longitudAmasBmasC * (-1) ; //si el signo es 1
lo pongo negativo
} else genero_longitudAmasBmasC = genero_longitudAmasBmasC * (+1) ;
float Longitud_capturada = genero_longitudAmasBmasC / 10000 ;
println( "Longitud_capturada : " + Longitud_capturada);

// coloco el punto solo en el mapa correspondiente


if ( cambio_proveedor_mapas == 1 )
{ coloca_punto_en_mapa (Latitud_capturada, Longitud_capturada); }
if ( cambio_proveedor_mapas == 2 )
{ coloca_punto_en_mapa_Zoomeado (Latitud_capturada, Longitud_capturada); }
if ( cambio_proveedor_mapas == 3 )
{ coloca_punto_en_mapa_microsoft (Latitud_capturada, Longitud_capturada);}

79
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//guardo en un buffer X datos de recogida
buffer_latitudes [recorro_buffer_datosGPS_recogidos] = Latitud_capturada ;
buffer_longitudes [recorro_buffer_datosGPS_recogidos] = Longitud_capturada ;
recorro_buffer_datosGPS_recogidos ++ ;
if ((recorro_buffer_datosGPS_recogidos == size_buffer_datos_GPS_recogidos ) ||
(recorro_buffer_datosGPS_recogidos == buffer_latitudes.length) ||
(recorro_buffer_datosGPS_recogidos == buffer_longitudes.length))
{ recorro_buffer_datosGPS_recogidos = 0; } //por seguridad. comparo sizes de
todos arrays. desbordamiento.

//muestro el buffer
println( "Saco Buffer lat : " + buffer_latitudes
[recorro_buffer_datosGPS_recogidos]);
println( "Saco Buffer long : " + buffer_longitudes
[recorro_buffer_datosGPS_recogidos ]);
text("Buffer Lat: " + buffer_latitudes [recorro_buffer_datosGPS_recogidos ] ,
10, 50 + salto_linea );
text("Buffer Long: " + buffer_longitudes [recorro_buffer_datosGPS_recogidos ] ,
150, 50 + salto_linea );
salto_linea = salto_linea + 10;
if (salto_linea >= 100) {salto_linea = 0;}
delay (0);}

4.9.2.3.5 FUNCIONES LLAMADAS EN CONSOLA GPS

//----------------------------coloco datos en mapa ------------------


void coloca_punto_en_mapa (float dameX, float dameY)
{
int size_punto = 10;
Location locationUniversidadRioja = new Location(dameX , dameY); //42.465, -
2.426
ScreenPosition posUniversidadRioja =
map.getScreenPosition(locationUniversidadRioja);
ellipse(posUniversidadRioja.x, posUniversidadRioja.y, size_punto , size_punto);
fill(0, 200, 0, 100);
println( "Dato geolocalizado en: " + dameX + " " + dameY);
}
//--------------------------fin de--coloco datos en mapa -----------------
//----------------------------coloco datos en mapa de microsoft ------------------
void coloca_punto_en_mapa_microsoft (float dameXmicro, float dameYmicro)
{
int size_punto_micro = 10;
Location location_microsoft = new Location(dameXmicro , dameYmicro); //42.465, -
2.426
ScreenPosition pos_microsoft =
map_microsoft.getScreenPosition(location_microsoft);
ellipse(pos_microsoft .x, pos_microsoft .y, size_punto_micro , size_punto_micro);
fill(255,0,0);
println( "Dato geolocalizado en microsoft : " + dameXmicro + " " + dameYmicro);
}
//--------------------------fin de--coloco datos en mapa -----------------

80
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//----------------------------coloco datos en mapa cuando hago zoom sobre ella. --
----------------
void coloca_punto_en_mapa_Zoomeado (float dameXZoom, float dameYZoom)
{
int size_punto_Zoom = 10;
Location location_Zoom = new Location(dameXZoom , dameYZoom); //42.465, -2.426
ScreenPosition pos_Zoom = mapDetail.getScreenPosition(location_Zoom);
ellipse(pos_Zoom.x, pos_Zoom.y , size_punto_Zoom , size_punto_Zoom);
fill (#02344D);
println( "Dato geolocalizado en microsoft : " + dameXZoom + " " + dameYZoom);
}
//--------------------------fin de--coloco datos en mapa -----------------

//-----------------------------------------enventos en el puerto serie .


interrupcion.
int serialEvent(Serial puerto_serie)
{
//este sistema funciona mejor. es una INT. solo tener cuidado al poner el buffer.
datos1 = puerto_serie.read();
datos2 = puerto_serie.read();
datos3 = puerto_serie.read();
datos4 = puerto_serie.read();

datos5 = puerto_serie.read();
datos6 = puerto_serie.read();
datos7 = puerto_serie.read();
datos8 = puerto_serie.read();

return datos1 + datos2 + datos3 + datos4 +


datos5 + datos6 + datos7 + datos8 ;

// me devuelve los X datos que tenga en el buffer. en el orden de envio. FIFO.


}
//------------------------------------fin de-----enventos en el puerto serie .
interrupcion.
//----------------------------------- funcion de eventos con tecla pulsada -------
-----------------
void keyPressed()
{
switch(key)
{
case('1'):
nuevaX = nuevaX+ 0.001;
nuevaY = nuevaY+ 0.001;
break;
case('0'):
haz_un_recorrido ();
break;
case('8'):
zoom_mapa_derecho = false;
break;
case('9'):
zoom_mapa_derecho = true;

81
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
break;
case('z'):
cambio_proveedor_mapas = 1;
break;
case('x'):
cambio_proveedor_mapas = 2;
break;
case('c'):
cambio_proveedor_mapas = 3; //pongo tantas variables como proveedores de
mapas tenga.
break;
}
}

//------------------------------------------------------------------

void haz_un_recorrido ()
{
Location[] locations = new Location[]
{
new Location(52.5, 13.4),
new Location(53.6f, 10),
new Location(51.34, 12.37)
};
int currentLocation = 0;
for (currentLocation = 0; currentLocation < locations.length; currentLocation
++)
{
map.setTweening(true);
map.zoomAndPanTo(locations[currentLocation], 8);
map.panTo(locations[currentLocation]);
delay (100);
}
}

// mapa detalle
void mapa_detallado_derecha ()
{
mapDetail.draw();
mapOverview.draw();
fill (#02344D);
rect(0, 600 , 800, 600, 0);
line (0, 400, 800, 400); //dos lineas para separar mapa y datos graficos.
line (0, 401, 800, 401);
stroke(0); // #02344D=azul oscuro #026C9E:azulclaro
//dibujo dato recogido por sensor. temperatura, luz, etc
dibujar_por_pantalla_temp (20);
}

//-------------------------dibujo ejes para mostrar datos por pantalla.


//--------------------------------------------------------------------funcion para
dibujar fondo
void dibuja_fondo ()
{

82
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
int color_lineas = #026C9E;
int size_grafica_mostrar = 200;
int ejeX = 0, ejeY =0;
background(0);
//pantalla del sistema grafico.
fill (#02344D);
stroke(#026C9E); // #02344D=azul oscuro #026C9E:azulclaro
rect(1, lienzo_sizeY - size_grafica_mostrar , lienzo_sizeX-1,
size_grafica_mostrar -1, 0); //255 es el valor mas grande que recojo de arduino.
pongo 300
line (lienzo_sizeX/2, lienzo_sizeY -size_grafica_mostrar , lienzo_sizeX/2 ,
lienzo_sizeY );
//primera grafica grafica - horizontales
for (int i = 1 ; i <= lienzo_sizeX -200 ; i ++)
{
ejeY = ejeY + size_cuadricula_Temp;
fill(0);
stroke(#026C9E);
line (0 +ejeY, lienzo_sizeY - size_grafica_mostrar , 0 + ejeY ,
lienzo_sizeY );
}
//segunda grafica - verticales
/*
ejeY = 0; // hago reset
for (int i = 1 ; i <= lienzo_sizeX/2/size_cuadricula_Luz ; i ++)
{
ejeY = ejeY + size_cuadricula_Luz;
fill(0);
stroke(#026C9E);
line (lienzo_sizeX/2 +ejeY, lienzo_sizeY - size_grafica_mostrar ,
lienzo_sizeX/2 + ejeY , lienzo_sizeY );
}
*/
//primera grafica grafica - horizontales
for (int i = 1 ; i <= lienzo_sizeX - 200 ; i ++)
{
ejeX = ejeX + size_cuadricula_Temp;
fill(0);
stroke(#026C9E);
line ( 0, lienzo_sizeY - size_grafica_mostrar + ejeX , lienzo_sizeX - 200 ,
lienzo_sizeY - size_grafica_mostrar + ejeX );
}
//segunda grafica - horizontales - para sacar mas datos
/*
ejeX = 0; // hago reset
for (int i = 1 ; i <= lienzo_sizeX/2/size_cuadricula_Temp ; i ++)
{
ejeX = ejeX + size_cuadricula_Luz;
fill(0);
stroke(#026C9E);
line ( lienzo_sizeX/2, lienzo_sizeY - size_grafica_mostrar + ejeX ,
lienzo_sizeX , lienzo_sizeY - size_grafica_mostrar + ejeX );
}
*/

83
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
}
//----------------------------------------------------fin de dibujo fondo---------
---------------------
void dibujar_por_pantalla_temp (int temp_a_dibujar)
{
//dibujo por pantalla ---------------------------------------------------
--
/* //dibujo una imagen de termometro segun la lectura de los datos.
if ( (temp_a_dibujar >= 0) && (temp_a_dibujar < Aviso_1_Temp) ){
image(medida_Bajo, lienzo_sizeX - size_imagen_termoX , lienzo_sizeY
-size_imagen_termoY, medida_Bajo.width/reduce_images,
medida_Bajo.height/reduce_images); //la coloco cambiandole el tamao.
tint(255, 126);
} else if ((temp_a_dibujar >= Aviso_1_Temp ) && (temp_a_dibujar <=
Aviso_2_Temp ) )
{ image( medida_Mitad, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Mitad.width/reduce_images,
medida_Mitad.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
else if ((temp_a_dibujar >= Temp_Critico) && (temp_a_dibujar <=
9999999) )
{ image(medida_Alto, lienzo_sizeX - size_imagen_termoX,
lienzo_sizeY -size_imagen_termoY, medida_Alto.width/reduce_images,
medida_Alto.height/reduce_images); tint(255, 126); } //la coloco cambiandole el
tamao.
*/
convert_dato = ref_arriba/2 + lienzo_sizeY/2 - temp_a_dibujar ; //para
dibujar de abajo a arriba . justo en la mitad
ellipse(recX, convert_dato , size_punto_Temp, size_punto_Temp);
if (temp_a_dibujar >= Temp_Critico)
{fill (193,15,27); } else { fill(0,128,0); } //rojo o verde.

//si se pasa en X del lienzo reseteo. y resto de variables.


if (recX > lienzo_sizeX - 200 )
{
recX = 0;
}
recX = recX + size_punto_Temp; //incremento en X para siguente punto
//variables demo para pruebas y configuraciones--> borrar
println( "temp: " + temp_a_dibujar);

84
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.9.3 FUNCIONES BSICAS DE LA APLICACIN WEB

Se adjuntarn solo algunas de las funciones ms importantes

Se presentan a continuacin algunos de los cdigos usados en la aplicacin


web. Slo las funciones principales. Si se imprimieran todas las lneas de cdigo
sern varios cientos de pginas y no aportara nada al documento, si no que sera
ms farragosa su lectura. Los archivos se presentarn en formato digital y se
duplicarn online.

Por otro lado el cdigo de las libreras usadas se adjunta en formato digital,
pero no impreso ya que no es cdigo desarrollado por el alumno.

4.9.3.1 BOOSTRAP DE TWITTER MODIFICADO

Se considera que la modificacin no es suficiente para aadir el cdigo ya


que ha sido menor al 10%. Las funciones se cargan en formato externo en cdigo
embebido principalmente.

4.9.3.2 DESARROLLOS EN PHP MYSQL - HTML

4.9.3.2.1 HACER UN GET EXTERNO PARA INSERCCIN


<?php
//estos son mis datos de la base de datos. hosting, etc
//estos son mis daficheros de configuracion
//include '/ruta/al/fichero/externo.php';
//include '/config-hosting-localhost.php';
include 'config-hosting-zainder.php'; //si pongo la /config.... etc me da
problemas en algunos servidores

//variables para rellenar la base de datos


$temperatura = $_GET['temperatura']; // lo puedo coger de un formulario, por get
desde url, o de arduino

//con esto conecto con el servidor externo.


$conecta = mysql_connect ($hostDB, $usuarioDB , $passwordDB ) or die ("problemas
al conectar");

//asi, conecto ya con la base datos. pasando el nombre de la base de datos, y los
datos que acabo de conseguir de la instruccion anterior.

85
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
mysql_select_db ($base_datosDB, $conecta) or die ("problemas con la base de
datos");

//mysql_query("INSERT INTO $tabla_BD ($campo1 ,$campo2, $campo3) VALUES ('90' ,


now() , curtime() ) " , $conecta );
//ingreso desde formulario por get desde url, o de arduino
mysql_query("INSERT INTO $tabla_BD ($campo1 ,$campo2, $campo3) VALUES
($temperatura , now() , curtime() ) " , $conecta );
echo "insertados" ;

/*
echo "saco dato en concreto de la base de datos . </br> " ;
$datos = mysql_query("SELECT * FROM $tabla_BD WHERE temperatura ='18' ") or die
("problemas al leer" .mysql_error() );
while ( $reg = mysql_fetch_array ($datos))
{
echo "identificador: "; echo $reg [$campo0] ."</br>";
echo $reg [$campo1] ."</br>";
echo $reg [$campo2] ."</br>";
echo $reg [$campo3] ."</br>";
}
*/

?>

4.9.3.2.2 BORRAR UN DATO EN UNA BASE DE DATOS


<?php
//estos son mis datos de la base de datos. hosting, etc
//estos son mis daficheros de configuracion
//include '/config-hosting-localhost.php';
include 'config-hosting-zainder.php'; //si pongo la /config.... etc me da
problemas en algunos servidores

//con esto conecto con el servidor externo.


$conecta = mysql_connect ($hostDB, $usuarioDB , $passwordDB ) or die ("problemas
al conectar");

//asi, conecto ya con la base datos. pasando el nombre de la base de datos, y los
datos que acabo de conseguir de la instruccion anterior.
mysql_select_db ($base_datosDB, $conecta) or die ("problemas con la base de
datos");

echo "borro dato en concreto de la base de datos . </br> " ;


//ahora borro el dato que me viene de un formulario .
mysql_query("DELETE FROM $tabla_BD WHERE $campo1 = '$_GET[temperatura]' ",
$conecta );
echo " borrado el dato: $_GET[temperatura] " ;

?>

86
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.9.3.2.3 BORRAR TODA UNA BASE DE DATOS
<?php
//estos son mis datos de la base de datos. hosting, etc
//estos son mis daficheros de configuracion
//include '/config-hosting-zainder.php';
include 'config-hosting-locahost.php';

//con esto conecto con el servidor externo.


$conecta = mysql_connect ($hostDB, $usuarioDB , $passwordDB ) or die ("problemas
al conectar");

//asi, conecto ya con la base datos. pasando el nombre de la base de datos, y los
datos que acabo de conseguir de la instruccion anterior.
mysql_select_db ($base_datosDB, $conecta) or die ("problemas con la base de
datos");

mysql_query("DELETE FROM $tabla_BD") or die ("problemas al borrar" .mysql_error()


);

?>

4.9.3.2.4 CREAR UNA BASE DE DATOS DE PRUEBA


-- phpMyAdmin SQL Dump
-- version 4.1.4
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: May 05, 2014 at 11:01 AM
-- Server version: 5.6.15-log
-- PHP Version: 5.4.24

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";


SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;


/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `arduinodemos`
--

-- --------------------------------------------------------

--
-- Table structure for table `tabla_arduino_demo`
--

87
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
CREATE TABLE IF NOT EXISTS `tabla_arduino_demo` (
`identificador` int(32) unsigned NOT NULL AUTO_INCREMENT,
`temperatura` int(32) NOT NULL,
`fechayhora` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
`hora` time NOT NULL,
PRIMARY KEY (`identificador`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=76 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;


/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

4.9.3.2.5 INSERTAR UN DATO EN HTML POR GET


<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="arduino-get.php" method="get">
<table border="0" width="331">
<tbody>
<tr>
<td width="137">temperatura a ingresar</td>
<td width="184"><input name="temperatura" type="text"></td>
</tr>
<tr>
<td>Ingresa este Dato</td>
<td><input name="ingresar_dato" type="submit"></td>
</tr>
</tbody>
</table>
</form>

</body>
</html>

4.9.3.2.6 BORRAR UN DATO MEDIANTE FORMULARIO


<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="borrar-dato-temperatura.php" method="get">
<table border="0" width="331">
<tbody>

88
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
<tr>
<td width="137">temperatura a borrar</td>
<td width="184"><input name="temperatura" type="text"></td>
</tr>
<tr>
<td>Borra este Dato</td>
<td><input name="borra_dato" type="submit"></td>
</tr>
</tbody>
</table>
</form>

</body>
</html>

4.9.3.2.7 SACA POR PANTALLA EL VALOR DE LA TEMPERATURA


<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="saca-dato-concreto.php" method="get">
<table border="0" width="331">
<tbody>
<tr>
<td width="137">temperatura a buscar</td>
<td width="184"><input name="temperatura" type="text"></td>
</tr>
<tr>
<td>Busca este Dato</td>
<td><input name="busca_dato" type="submit"></td>
</tr>
</tbody>
</table>
</form>

</body>
</html>

4.9.3.2.8 MOSTRAR LA BASE DE DATOS


<?php
//estos son mis datos de la base de datos. hosting, etc
//estos son mis daficheros de configuracion
//include '/ruta/al/fichero/externo.php';
//include '/config-hosting-localhost.php';
include 'config-hosting-zainder.php'; //si pongo la /config.... etc me da
problemas en algunos servidores
//include '/arduino-get.php';

89
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
//con esto conecto con el servidor externo.
$conecta = mysql_connect ($hostDB, $usuarioDB , $passwordDB ) or die ("problemas
al conectar");

//asi, conecto ya con la base datos. pasando el nombre de la base de datos, y los
datos que acabo de conseguir de la instruccion anterior.
mysql_select_db ($base_datosDB, $conecta) or die ("problemas con la base de
datos");

echo "</br> saco todos los datos de la tabla . </br> " ;


$datos = mysql_query("SELECT * FROM $tabla_BD") or die ("problemas al leer"
.mysql_error() );
while ( $reg = mysql_fetch_array ($datos))
{
echo "identificador : "; echo $reg [$campo0] ."</br>";
echo "temperatura : "; echo $reg [$campo1] ."</br>";
echo "fecha y hora : "; echo $reg [$campo2] ."</br>";
echo "solo la hora : "; echo $reg [$campo3] ."</br>";
echo "_________________________________________. </br>";
}

?>

90
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.10 PENDIENTE

Aplicaciones, funcionalidades extras que no se han conseguido


implementar y hacer funcionar y que todava estn a la espera de respuesta en
forums.

1. GPS en modo Arduino


http://forum.arduino.cc/index.php?topic=243669.msg1745041#msg174
5041 aunque s que funciona va Matlab ms Simulink ms librera

Actualizacin 25 junio 2014. El problema se ha solucionado probando


otro modelo de GPS y otra placa arduino. Bajo el GPS GTPA 010, no
se consegua conexin. Pero con el modelo GTPA 013 el resultado ha
sido positivo.

2. Escribir datos via GET desde Arduino en modo local con un router sin
internet
http://forum.arduino.cc/index.php?topic=237411.msg1705701#msg170
5701

S que se hace enviando datos directos a un server de internet con un


router conectado.

3. Hacer live streaming con gopro3 via wifi y processing


http://forum.processing.org/two/discussion/5472/is-there-possible-a-
live-streaming-with-gopro3-wifi-and-processing-#Item 1

s que se hace funcionar va Url, y tambin con VLC bajo Ubuntu y


cdigo embeb.

4. Uso de las libreras unfolding de procesamiento de datos del GPS en


Windows http://forum.processing.org/two/discussion/5070/problems-
with-unfolding-some-scripts-goes-on-win8-but-not-in-win7-why-#Item_1

91
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

S que se funciona en windows8, pero solo en uno de los ordenadores


probados. S que es por las libreras OpenGL pero no se sabe cmo
solucionarlo.

92
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

4.11 OPEN SOURCE Y CREATIVE COMMONS

Dada la concienciacin del autor con el mundo del Open Source se ha


procurado que todo el desarrollo posible del proyecto se haga con software de
cdigo abierto. Adems el software seleccionado es GRATUITO (no confundir con
OS) tanto para uso educativo como comercial, por lo tanto no existe ningn coste de
licencias en el desarrollo de este proyecto ni en sus documentos.

4.11.1 OPEN HARDWARE

Protege y defiende la soberana, permitiendo a las naciones no


depender de ninguna otra que le provea los recursos necesarios para
su desarrollo e independencia tecnolgica.

Fomenta a que el hardware pueda ser de calidad, los estndares


abiertos y que sean ms econmicos.

La reutilizacin y la adaptacin de diseos permitiendo as innovar y


mejorar los diseos de forma colaborativa a nivel mundial.

Ayudara a las compaas a ahorrar costes y tiempos de diseo en sus


trabajos.

Existen comunidades de diseo, programacin, pruebas, y soporte que


da a da crecen de forma dinmica y participativa.

Evita la alianza trusted computing y la gestin digital de derechos


(DRM), que imponen restricciones a los dispositivos electrnicos como
por ejemplo electrodomsticos, computadoras, entre otras ms.

93
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Sirva de homenaje esta coleccin de logos de sus respectivos Programas


recopilados de los programas usados en este PFC.

Ilustracin 145 Frizting


Ilustracin 143 Open Source Ilustracin 144 Logo
Arduino

Ilustracin 146 Processing Ilustracin 147 Java Ilustracin 148 Javascript

94
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 151 Aptana Std


Ilustracin 149 Html5 Y CSS3 Ilustracin 150 PHP

Ilustracin 153 SO Linux


Ilustracin 152 MySQL Ilustracin 154 Distro Ubuntu

Ilustracin 156 Eclipse Ilustracin 157 PhP MyAdmin


Ilustracin 155 LESS CSS
Logo

Ilustracin 158 Boostrap d


Twitter Ilustracin 159 Jquery Ilustracin 160 Json

lustracin 161 Open Office


Ilustracin 163 Gimp
Ilustracin 162 Wamp

Ilustracin 165 Apache


Ilustracin 164 Phone GAP
Ilustracin 166 EasyPhp

95
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

96
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

FIN DE DOCUMENTO: ANEJOS

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

97
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

98
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

DOCUMENTO N5:

PLIEGO DE CONDICIONES

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5. PLIEGO DE CONDICIONES

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.1 PLIEGO DE CONDICIONES GENERAL

El presente pliego tiene por objeto describir los trabajos y enumerar las
materias que han de ser objeto de estudio, as como definir las condiciones y los
criterios tcnicos, y concretar los documentos en cuya realizacin ha de intervenir el
adjudicatario para que el trabajo pueda ser aceptado por el cliente final, y
previamente por la UR.

Condiciones generales de instalacin, configuracin, y puesta en marcha del


Hardware y Software del Proyecto para la medicin mediante UADs.

Condiciones de buen uso del material, de los componentes y de


funcionamiento de los equipos.

5.1.1 PLIEGO DE CONDICIONES LEGALES

Este documento contiene las condiciones legales que guiarn la realizacin, en


este proyecto, de Supervisin remota de parmetros medioambientales
capturados por UAV. En lo que sigue, se supondr que el proyecto ha sido
encargado por una empresa cliente a una empresa consultora con la finalidad de
realizar dicho sistema. Dicha empresa ha debido desarrollar una lnea de
investigacin con objeto de elaborar el proyecto. Esta lnea de investigacin, junto
con el posterior desarrollo de los programas est amparada por las condiciones
particulares del siguiente pliego.

Supuesto que la utilizacin industrial de los mtodos recogidos en el presente


proyecto ha sido decidida por parte de la empresa cliente o de otras, los servicios a
realizar se regular por las siguientes:

5.1.2 Condiciones generales

1. La modalidad de contratacin ser el concurso. La adjudicacin se har, por


tanto, a la proposicin ms favorable sin atender exclusivamente al valor econmico,

4
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

dependiendo de las mayores garantas ofrecidas. La empresa que somete el


proyecto a concurso se reserva el derecho a declararlo desierto.

2. El montaje y mecanizacin completa de los equipos que intervengan ser


realizado totalmente por la empresa licitadora.

3. En la oferta, se har constar el precio total por el que se compromete a


realizar los servicios y el tanto por ciento de baja que supone este precio en relacin
con un importe lmite si este se hubiera fijado.

4. Los servicios o servicios de vuelo, se realizar bajo la direccin tcnica de


un Ingeniero Superior Industrial, auxiliado por el nmero de Ingenieros Tcnicos y
Programadores que se estime preciso para el desarrollo de la misma. Se aconseja
uno por cada vehculo no tripulado a controlar, que tambin vigilar su ordenador
correspondiente de servidor de datos.

5. Aparte del Ingeniero Director, el contratista tendr derecho a contratar al


resto del personal, pudiendo ceder esta prerrogativa a favor del Ingeniero Director,
quien no estar obligado a aceptarla.

6. El contratista tiene derecho a sacar copias a su costa de los planos, pliego


de condiciones y presupuestos. El Ingeniero autor del proyecto autorizar con su
firma las copias solicitadas por el contratista despus de confrontarlas.

7. Se abonar al contratista los servicios que realmente ejecute con sujecin al


proyecto que sirvi de base para la contratacin, a las modificaciones autorizadas
por la superioridad o a las rdenes que con arreglo a sus facultades le hayan
comunicado por escrito al Ingeniero Director de servicios siempre que dicha obra se
haya ajustado a los preceptos de los pliegos de condiciones, con arreglo a los
cuales, se harn las modificaciones y la valoracin de las diversas unidades sin que
el importe total pueda exceder de los presupuestos aprobados. Por consiguiente, el
nmero de unidades que se consignan en el proyecto o en el presupuesto, no podr
servirle de fundamento para entablar reclamaciones de ninguna clase, salvo en los
casos de rescisin.

5
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

8. Tanto en las certificaciones de servicios como en la liquidacin final, se


abonarn los trabajos realizados por el contratista a los precios de ejecucin
material que figuran en el presupuesto para cada unidad de los servicios y-o
servicios de vuelo contratados.

9. Si excepcionalmente se hubiera ejecutado algn trabajo que no se ajustase


a las condiciones de la contrata pero que sin embargo es admisible a juicio del
Ingeniero Director de obra, se dar conocimiento a la Direccin, proponiendo a la
vez la rebaja de precios que el Ingeniero estime justa y si la Direccin resolviera
aceptar los servicios, quedar el contratista obligado a conformarse con la rebaja
acordada.

10. Cuando se juzgue necesario emplear materiales o ejecutar servicios que no


figuren en el presupuesto de la contrata, se evaluar su importe a los precios
asignados a otras servicios o materiales anlogos si los hubiere y cuando no, se
discutirn entre el Ingeniero Director y el contratista, sometindolos a la aprobacin
de la Direccin. Los nuevos precios convenidos por uno u otro procedimiento, se
sujetarn siempre al establecido en el punto anterior.

11. Cuando el contratista, con autorizacin del Ingeniero Director, emplee


materiales de calidad ms elevada o de mayores dimensiones de lo estipulado en el
proyecto, o sustituya una clase de fabricacin por otra que tenga asignado mayor
precio o ejecute con mayores dimensiones cualquier otra parte de las servicios, o
en general, introduzca en ellas cualquier modificacin que sea beneficiosa a juicio
del Ingeniero Director de servicios, no tendr derecho sin embargo, sino a lo que le
correspondera si hubiera realizado los servicios con estricta sujecin a lo
proyectado y contratado.

12. Las cantidades calculadas para servicios accesorios, aunque figuren por
partida alzada en el presupuesto final (general), no sern abonadas sino a los
precios de la contrata, segn las condiciones de la misma y los proyectos
particulares que para ellas se formen, o en su defecto, por lo que resulte de su
medicin final.

6
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

13. El contratista queda obligado a abonar al Ingeniero autor del proyecto y


director de servicios as como a los Ingenieros Tcnicos, el importe de sus
respectivos honorarios facultativos por formacin del proyecto, direccin tcnica y
administracin en su caso, con arreglo a las tarifas y honorarios vigentes.

14. Concluida la ejecucin de los servicios, ser reconocida por el Ingeniero


Director que a tal efecto designe la empresa.

15. La garanta definitiva ser del 4% del presupuesto y la provisional del 2%.

16. La forma de pago ser por certificaciones mensuales de los servicios


ejecutada, de acuerdo con los precios del presupuesto, deducida la baja si la
hubiera.

17. La fecha de comienzo de las servicios ser a partir de los 15 das naturales
del replanteo oficial de las mismas y la definitiva, al ao de haber ejecutado la
provisional, procedindose si no existe reclamacin alguna, a la reclamacin de la
fianza.

18. Si el contratista al efectuar el replanteo, observase algn error en el


proyecto, deber comunicarlo en el plazo de quince das al Ingeniero Director de
servicios, pues transcurrido ese plazo ser responsable de la exactitud del proyecto.

19. El contratista est obligado a designar una persona responsable que se


entender con el Ingeniero Director de servicios, o con el delegado que ste
designe, para todo relacionado con ella. Al ser el Ingeniero Director de servicios el
que interpreta el proyecto, el contratista deber consultarle cualquier duda que surja
en su realizacin.

20. Durante la realizacin de los servicios, se girarn visitas de inspeccin por


personal facultativo de la empresa cliente, para hacer las comprobaciones que se
crean oportunas. Es obligacin del contratista, la conservacin de los servicios ya
ejecutados hasta la recepcin de la misma, por lo que el deterioro parcial o total de
ella, aunque sea por agentes atmosfricos u otras causas, deber ser reparado o
reconstruido por su cuenta.

7
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

21. El contratista, deber realizar los servicios en el plazo mencionado a partir


de la fecha del contrato, incurriendo en multa, por retraso de la ejecucin siempre
que ste no sea debido a causas de fuerza mayor. A la terminacin de los servicios,
se har una recepcin provisional previo reconocimiento y examen por la direccin
tcnica, el depositario de efectos, el interventor y el jefe de servicio o un
representante, estampando su conformidad el contratista.

22. Hecha la recepcin provisional, se certificar al contratista el resto de los


servicios, reservndose la administracin el importe de los gastos de conservacin
de la misma hasta su recepcin definitiva y la fianza durante el tiempo sealado
como plazo de garanta. La recepcin definitiva se har en las mismas condiciones
que la provisional, extendindose el acta correspondiente. El Director Tcnico
propondr a la Junta Econmica la devolucin de la fianza al contratista de acuerdo
con las condiciones econmicas legales establecidas.

23. Las tarifas para la determinacin de honorarios, reguladas por orden de la


Presidencia del Gobierno el 19 de Octubre de 1961, se aplicarn sobre el
denominado en la actualidad Presupuesto de Ejecucin de Contrata y
anteriormente llamado Presupuesto de Ejecucin Material que hoy designa otro
concepto.

5.1.3 CONDICIONES PARTICULARES.

La empresa consultora, que ha desarrollado el presente proyecto, lo entregar


a la empresa cliente bajo las condiciones generales ya formuladas, debiendo
aadirse las siguientes condiciones particulares:

1. La propiedad intelectual de los procesos descritos y analizados en el


presente trabajo, pertenece por entero a la empresa consultora representada por el
Ingeniero Director del Proyecto.

2. La empresa consultora se reserva el derecho a la utilizacin total o parcial


de los resultados de la investigacin realizada para desarrollar el siguiente proyecto,

8
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

bien para su Proyecto Fin de Carrera: publicacin o bien para su uso en trabajos o
proyectos posteriores, para la misma empresa cliente o para otra.

3. Cualquier tipo de reproduccin aparte de las reseadas en las condiciones


generales, bien sea para uso particular de la empresa cliente, o para cualquier otra
aplicacin, contar con autorizacin expresa y por escrito del Ingeniero Director del
Proyecto, que actuar en representacin de la empresa consultora.

4. En la autorizacin se ha de hacer constar la aplicacin a que se destinan


sus reproducciones as como su cantidad.

5. En todas las reproducciones se indicar su procedencia, explicitando el


nombre del proyecto, nombre del Ingeniero Director y de la empresa consultora.

6. Si el proyecto pasa la etapa de desarrollo, cualquier modificacin que se


realice sobre l, deber ser notificada al Ingeniero Director del Proyecto y a criterio
de ste, la empresa consultora decidir aceptar o no la modificacin propuesta.

7. Si la modificacin se acepta, la empresa consultora se har responsable al


mismo nivel que el proyecto inicial del que resulta el aadirla.

8. Si la modificacin no es aceptada, por el contrario, la empresa consultora


declinar toda responsabilidad que se derive de la aplicacin o influencia de la
misma.

9. Si la empresa cliente decide desarrollar industrialmente uno o varios


productos en los que resulte parcial o totalmente aplicable el estudio de este
proyecto, deber comunicarlo a la empresa consultora.

10. La empresa consultora no se responsabiliza de los efectos laterales que se


puedan producir en el momento en que se utilice la herramienta objeto del presente
proyecto para la realizacin de otras aplicaciones.

11. La empresa consultora tendr prioridad respecto a otras en la elaboracin


de los proyectos auxiliares que fuese necesario desarrollar para dicha aplicacin
industrial, siempre que no haga explcita renuncia a este hecho. En este caso,
deber autorizar expresamente los proyectos presentados por otros.

9
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

12. El Ingeniero Director del presente proyecto, ser el responsable de la


direccin de la aplicacin industrial siempre que la empresa consultora lo estime
oportuno. En caso contrario, la persona designada deber contar con la
autorizacin del mismo, quien delegar en l las responsabilidades que ostente.

5.1.4 SEGURIDAD Y CONFIDENCIALIDAD

El adjudicatario estar obligado a mantener la ms absoluta confidencialidad


y reserva de todos aquellos datos y documentos que maneja. A estos tendrn
acceso, exclusivamente, aquellas personas estrictamente imprescindibles para el
desarrollo de las tareas inherentes a este contrato. Todas ellas sern advertidas del
carcter confidencial y reservado de la informacin.

Todos los ficheros que se pongan a disposicin del personal de la


empresa, para la ejecucin de los servicios contratados son propiedad de la
Universidad de La Rioja y estarn registrados y sometidos a la salvaguardia que
establece la legislacin vigente, en especial la relativa a la proteccin de datos
personales (LOPD). Toda utilizacin con propsito distinto del contratado y, en
especial, toda cesin de informacin a terceros sern perseguidas ante los
tribunales.

El adjudicatario estar obligado a poner en conocimiento del responsable


designado por el rgano de Contratacin, inmediatamente despus de ser
detectado, cualquier sospecha de errores eventuales que pudieran producirse en
el sistema de seguridad de la informacin.

10
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.2 NORMAS LEYES Y REGLAMENTOS

El proyecto tambin cumple las siguientes normativas UNE:

UNE 157001:2002 sobre criterios generales para la elaboracin de


proyectos, que establece las consideraciones generales que permitan
precisar las caractersticas que deben satisfacer los proyectos de
productos servicios y edificios, instalaciones, servicios o software, para
que sean conformes al fin que estn destinados.

IEEE 802.11b define el uso de los dos niveles inferiores de la


arquitectura OSI (capas fsica y de enlace de datos), especificando sus
normas de funcionamiento en una WLAN. Los protocolos de la rama
802.x definen la tecnologa de redes de rea local y redes de rea
metropolitana.

ISO/IEC 25000, conocida como SQuaRE (System and Software


Quality Requirements and Evaluation), es una familia de normas que
tiene por objetivo la creacin de un marco de trabajo comn para
evaluar la calidad del producto software.

ISO/IEC 25001 - Planning and Management: establece los requisitos y


orientaciones para gestionar la evaluacin y especificacin de los
requisitos del producto software.

11
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.3 PROPIEDAD INTELECTUAL DEL SOFTWARE.

La propiedad intelectual del autor y director del Proyecto o Trabajo Fin de


Carrera se regir por el Real Decreto Legislativo 1/1996, de 12 de abril, por el que
se aprueba el texto refundido de la Ley de Propiedad Intelectual

El autor de este proyecto permitir la distribucin del software en formato


Open Source..GPLY aunque se permitir su distribucin y copia Creative
Commons derivativa..etc al autor se la asignar la Propiedad Intelectual de creacin
del software y rseto de material que acompaa este PFC.

5.3.1 COMPETENCIAS REFERIDAS A LA PROGRAMACIN

Artculo 1.

Los programas de ordenador sern protegidos mediante los derechos de


autor como servicios literarias tal como se definen en el Convenio de Berna para la
proteccin de servicios literarias y artsticas.

A los efectos de la presente Ley, la expresin programas de ordenador


comprender tambin su documentacin preparatoria.

El programa de ordenador ser protegido nicamente si fuese original, en el


sentido de ser una creacin intelectual propia de su autor.

La proteccin prevista en la presente Ley se aplicar a cualquier forma de


expresin de un programa de ordenador, salvo aqullas creadas con el fin de
ocasionar efectos nocivos a un sistema informtico. Las ideas y principios en los que
se base cualquiera de los elementos de un programa de ordenador, incluidos los
que sirven de fundamento a sus interfaces, no estarn protegidos mediante los
derechos de autor con arreglo a la presente Ley.

Artculo 2. Titularidad de los derechos.

12
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ser considerado autor del programa de ordenador la persona o grupo de


personas fsicas que lo hayan creado, o la persona jurdica que sea contemplada
como titular de los derechos de autor en los casos expresamente previstos por la
Ley de Propiedad Intelectual.

Cuando se trate de servicios colectivas tendr la consideracin de autor,


salvo pacto en contrario, la persona fsica o jurdica que la edite y divulgue bajo su
nombre.

Los derechos de autor sobre un programa de ordenador que sea resultado


unitario de la colaboracin entre varios autores sern propiedad comn y
correspondern a todos stos en la proporcin que determinen.

Cuando un trabajador asalariado cree un programa de ordenador, en el


ejercicio de las funciones que le han sido confiadas o siguiendo las instrucciones de
su empresario, la titularidad de los derechos econmicos correspondientes al
programa de ordenador as creado -tanto el programa fuente como el programa
objeto- correspondern, exclusivamente, al empresario, salvo pacto en contrario.

Artculo 3. Beneficiarios de la proteccin.

La proteccin se conceder a todas las personas fsicas y jurdicas que


cumplan los requisitos establecidos en la Ley de Propiedad Intelectual para la
proteccin de los derechos de autor.

Artculo 4. Actos sujetos a restricciones.

Sin perjuicio de lo dispuesto en los artculos 5 y 6, los derechos


exclusivos de la explotacin del programa de ordenador por parte de quien sea su
titular con arreglo al artculo 2, incluirn el derecho de realizar o de autorizar:

a) La reproduccin total o parcial de un programa de ordenador por


cualquier medio y bajo cualquier forma, ya fuere permanente o transitoria. Cuando la
carga, presentacin, ejecucin, transmisin o almacenamiento de un programa
necesiten tal reproduccin deber disponerse de autorizacin para ello, que otorgar
el titular del derecho.

13
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

b) La traduccin, adaptacin, arreglo o cualquier otra transformacin de un


programa de ordenador y la reproduccin de los resultados de tales actos, sin
perjuicio de los derechos de la persona que transforme el programa de ordenador.

c) Cualquier forma de distribucin pblica incluido el alquiler del programa


de ordenador original o de sus copias. La primera venta en la Comunidad de una
copia de un programa por el titular de los derechos o con su consentimiento, agotar
el derecho de distribucin de dicha copia, salvo el derecho de controlar el
subsiguiente alquiler del programa o de una copia del mismo.

Artculo 5. Excepciones a los actos sujetos a restricciones.

No necesitarn autorizacin del titular, salvo disposicin contractual en


contrario, la reproduccin o transformacin de un programa de ordenador incluida la
correccin de errores, cuando dichos actos sean necesarios para la utilizacin del
mismo por parte del usuario legtimo, con arreglo a su finalidad propuesta.

La realizacin de una copia de seguridad por parte de quien tiene derecho a


utilizar el programa no podr impedirse por contrato en cuanto resulte necesaria
para dicha utilizacin.

El usuario legtimo de la copia de un programa estar facultado para


observar, estudiar o verificar su funcionamiento, sin autorizacin previa del titular,
con el fin de determinar las ideas y principios implcitos en cualquier elemento del
programa, siempre que lo haga durante cualquiera de las operaciones de carga,
visualizacin, ejecucin, transmisin o almacenamiento del programa que tiene
derecho a hacer.

Artculo 6. Decompilacin.

No ser necesaria la autorizacin del titular del derecho cuando la


reproduccin del cdigo y la traduccin de su forma en el sentido de las letras a) y b)
del artculo 4 de la presente Ley, sea indispensable para obtener la informacin
necesaria para la interoperabilidad de un programa creado de forma independiente
con otros programas, siempre que se cumplan los siguientes requisitos:

14
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

a) que tales actos sean realizados por el usuario legtimo o por cualquier
otra persona facultada para utilizar una copia del programa, o, en su nombre, por
parte de una persona debidamente autorizada;

b) que la informacin necesaria para conseguir la interoperabilidad no haya


sido puesta previamente, y de manera fcil y rpida, a disposicin de las personas a
que se refiere la letra anterior;

c) que dichos actos se limiten a aquellas partes del programa original que
resulten necesarias para conseguir la interoperabilidad.

La excepcin contemplada en el nmero 1 de este artculo ser aplicable


siempre que la informacin as obtenida:

a) se utilice nicamente para conseguir la interoperabilidad del programa


creado de forma independiente;

b) slo se comunique a terceros cuando sea necesario para la


interoperabilidad del programa creado de forma independiente, y

c) no se utilice para el desarrollo, produccin o comercializacin de un


programa sustancialmente similar en su expresin, o para cualquier otro acto que
infrinja los derechos de autor.

Las disposiciones del presente artculo no podrn interpretarse de manera que


permitan que su aplicacin perjudique de forma injustificada los legtimos intereses
del titular de los derechos o sea contraria a una explotacin normal del programa
informtico.

Artculo 7. Duracin de la proteccin.

Los derechos reconocidos en esta Ley sern protegidos en los trminos


establecidos en el artculo 97 de la Ley de Propiedad Intelectual en el caso de que el
autor sea una persona jurdica y durante la vida del autor y cincuenta aos despus
de la muerte o declaracin de fallecimiento del mismo o del ltimo coautor
sobreviviente cuando sea una persona fsica.

15
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Cuando el programa de ordenador sea una obra annima o bajo seudnimo,


el plazo de proteccin ser de cincuenta aos desde el momento en que se puso
legalmente por primera vez a disposicin del pblico, considerndose que el plazo
de proteccin comienza el 1 de enero del ao siguiente al de este hecho.

Artculo 8. Infraccin de los derechos.

A efectos de la presente Ley y sin perjuicio de lo establecido en los artculos 5


y 6 de la misma, tendrn la consideracin de infractores de los derechos de autor
quienes, sin autorizacin del titular de los mismos, realicen los actos previstos en el
artculo 4 y, en particular:

a) quienes pongan en circulacin una o ms copias de un programa de


ordenador conociendo o pudiendo presumir su naturaleza ilegtima,

b) quienes tengan con fines comerciales una o ms copias de un programa


de ordenador, conociendo o pudiendo presumir su naturaleza ilegtima, o

c) quienes pongan en circulacin o tengan con fines comerciales cualquier


medio cuyo nico uso sea facilitar la supresin o neutralizacin no autorizadas de
cualquier dispositivo tcnico utilizado para proteger un programa de ordenador.

Artculo 9. Medidas especiales de proteccin.

El titular de los derechos reconocidos por la presente Ley, sin perjuicio de


otras acciones que le correspondan, podr instar el cese de la actividad ilcita del
infractor, exigir una indemnizacin acorde con los daos materiales y morales
causados, y solicitar del Juez la adopcin de medidas cautelares de proteccin
urgente en los trminos del Ttulo I del Libro III de la Ley de Propiedad
Intelectual.

A los efectos de esta Ley, y antes de dar traslado a las partes del escrito de
solicitud de medidas cautelares, tal y como previene el artculo 127 de la Ley de
Propiedad Intelectual, el Juez podr requerir los informes u ordenar las
investigaciones que estime oportunas.

16
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Las medidas cautelares para la proteccin urgente de los derechos de autor


podrn comprender el secuestro de los medios a que se refiere la letra c) del artculo
8 en los trminos establecidos por el artculo 126 de la Ley de Propiedad
Intelectual.

El cese de la actividad ilcita podr comprender la inutilizacin y, en caso


necesario, destruccin de los instrumentos referidos en el nmero anterior.

17
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.4 PLIEGO DE CONDICIONES PARA EL TRATAMIENTO


ESTANDARIZADO DE LOS DATOS

OPEN DATA

La gestin de la informacin es algo de suma relevancia para el


aprovechamiento y reutilizacin de la misma. Una ptima gestin de la informacin,
no slo ir destinada a una mejora de la experiencia de los usuarios finales y las
operarios de captura y de los controladores de la APP en Processing y web, sino
que deber tener en cuenta el procesado automtico por parte de las mquinas y
aplicaciones que acta como efecto multiplicador y aliado a la hora de incrementar
el uso de los servicios.

5.4.1 SEMNTICA Y LINKED DATA

Con la evolucin de la Web, existen mecanismos que permiten describir la


informacin de forma que no slo sea legible y comprensible por las personas, sino
que tambin permite que las mquinas interpreten los conceptos que esa
informacin representa. Dentro de la Web existen diferentes creadores de
informacin y servicios especializados en sus mbitos que ofrecen sus datos para
que sean reutilizados por otras entidades, lo que permite a los consumidores,
centrarse en sus objetivos de negocio sin preocuparse por las reas que
desconoce. Los datos que se relacionan entre s podrn ser reutilizados por otros de
forma recursiva. Esto se conoce como Linked Data o datos enlazados en la Web.
En este caso la mezcla de diferentes hardwares como Arduinos y Softwares en
diferentes plataformas.

18
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.4.2 REUTILIZACIN DE INFORMACIN

Para la informacin generada desde las placas microcontroladoras de Arduino;


el 16 de noviembre se decret la Ley 37/2007 sobre reutilizacin de la
informacin, que pretende promover la puesta a disposicin de los documentos de
inters a travs de medios electrnicos. De esta forma, es importante que los datos
que sean susceptibles de ser publicados queden a disposicin del pblico en
formato electrnico para as poder sacar un mayor rendimiento a toda la
informacin y fomentar la participacin democrtica.

Una buena estructuracin y definicin de los datos es de suma importancia


para que se consiga una interoperabilidad entre las distintas partes interesadas en
integrar y compartir esta informacin, siendo un objetivo del proyecto la potenciacin
de dicha interoperabilidad

5.4.3 JUSTIFICACIN Y ENFOQUE

Se considera la necesidad de crear un sistema que favorezca la promocin,


la optimizacin y un incremento del uso de los servicios electrnicos. Capturas en
hardware y uso en software incluido.

Los usuarios debern poder consumir dicha informacin en formatos


estructurados y fcilmente procesables (p.e., RSS, ATOM o cualquier otro
mecanismo que favorezca el procesado automtico de los datos) en este caso se
opt por JSON y que permita las suscripciones selectivas a los temas de inters.
Con ello se persigue la contextualizacin del servicio a las preferencias concretas
de quien lo utiliza, enfocando y acercando la informacin en el proceso.

La informacin relacionada deber estar enlazada entre s, a travs de


enlaces que se permita el acceso entre las partes, y as poder enriquecer
cualquier dato con datos especficos en un rea. En este caso haciendo especial
hincapi en que esa informacin en modo web de los datos ya almacenados por los
Apps generadas en Processing puedan generar histricos compatibles.

19
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Por ltimo, la plataforma deber tener en cuenta aspectos como el acceso a


la informacin y a los servicios desde dispositivos mviles, cada vez ms
relevante en la proporcin del nmero de accesos a los sitios web as como
creacin de widgets, o pequeas aplicaciones web, que permitan tratar los datos
o combinaciones de los mismos. Ser en este caso un RWP como se ha
explicado en la memoria, y por ello no ser necesaria la creacin de Apps propias.

5.4.4 ALCANCE Y OBJETIVOS

Se debe desarrollar un sistema que sea fcilmente integrable e


interoperable.

5.4.5 CLASIFICACIN Y SEGUIMIENTO DE LOS SERVICIOS


ELECTRNICOS

Esta informacin, adems de ser legible por las personas, deber poder ser
tratada de forma automtica mediante el procesamiento de los metadatos de
clasificacin.

La publicacin de esta informacin se lleva a cabo mediante un servicio web


que, ante una peticin web, devuelva la informacin estructurada en formatos
legibles para las mquinas (XML, RSS, RDF, json para files etc.). La llamada al
servicio web debe hacerse mediante una direccin web (URL) y la respuesta
obtenida debe estar claramente identificada. En el caso de devolver un fichero
XML o RDF, el usuario debe tener la posibilidad de conocer el esquema que sigue
para la representacin. En la llamada al servicio web, se debe poder especificar
los criterios de seleccin de los servicios a mostrar, en funcin de sus
categoras y los formatos entregados estarn sujetos a negociacin automtica.

Adems de esta informacin accesible desde un punto de entrada concreto,


la informacin sobre los trmites electrnicos, que est expresada en XHTML,
HTML5 deber incluir metadatos sencillos y, en la medida de lo posible,

20
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

estndares en el etiquetado (fechas, datos adquiridos por sensores), que permita


a las mquinas hacer procesamientos automatizados sobre los servicios.

La informacin deber tener un punto de consulta sobre la totalidad de los


servicios y su informacin a travs de un lenguaje de consulta estndar, que
permita obtener datos especficos.

5.4.6 DATOS ENLAZADOS

El sistema de introduccin de los datos, debe tener presente la posibilidad


de enriquecer la informacin existente con otros datos ya presentes, incluso de
terceros, como informacin geogrfica de GPS suplementaria o datos estadsticos
de historiales. Esta informacin, si es susceptible de ser enlazada, no es necesario
que sea replicada, sino que sera suficiente aadir un enlace.

Cabe destacar que estos enlaces, siguiendo el paradigma de los Datos


Enlazados o Linked Data, no son enlaces de hipertexto, sino que en lugar de
enlazar a documentos textuales, lo hacen a datos procesables automticamente
(documentos XML, RDF, etc.).

Esta funcionalidad del sistema debe de ser aplicable a la hora de la


introduccin de informacin sobre nuevos servicios en el backoffice que se disee
en web y bajo Processing y debe permitir aadir y modificar esa informacin en
los trmites ya existentes.

Para enriquecer los servicios, se valorar la identificacin y representacin


de informacin relacionada con las reas de competencia prximas a los mismos,
utilizando mecanismos y formatos estndares abiertos. Esta informacin otorgar
al servicio un valor adicional tras la vinculacin entre s.

Para el acceso a la informacin ser necesario establecer un modelo de


acceso a los datos unvoco y persistente en el tiempo a travs de URIs
(Identificador de Recurso nico). Dicho sistema de URIs deber abstraer la
estructura corporativa que presta el servicio.

21
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.4.7 FACILIDAD AL USUARIO Y MULTICANALIDAD

Para facilitar el consumo de la informacin, y dada la diversidad de


dispositivos que pueden solicitar la informacin, es requisito de este PFC que en el
proceso se apliquen estndares que faciliten este objetivo.

La publicacin de los datos reutilizables se realizar siguiendo formatos


abiertos y estndares. sto facilita la creacin de aplicaciones con datos enlazados
(mashups) y widgets (pequeas aplicaciones que se pueden incrustar en los sitios
web).

Es una de las funcionalidades ms avanzadas de este proyecto, que un PFC


muestre mashups tan potentes como las usadas a travs de las APIs bajo
Unfolding.

5.4.8 REQUISITOS TCNICOS

Todas las acciones recogidas en la propuesta debern cumplir los requisitos


en cuanto a la Ley 11/2007 de Acceso Electrnico de los Ciudadanos a los
Servicios Pblicos y la 37/2007 para la Reutilizacin de Informacin.

Cualquier actuacin que suponga un enriquecimiento semntico de la


informacin debern seguir las recomendaciones del W3C en materia de Web
Semntica.

En todo lo referente a independencia de dispositivo, se tendr en cuenta


las recomendaciones propuestas por la Iniciativa de Web Mvil del W3C.

En la parte de accesibilidad de los contenidos Web, se deber cumplir con


las recomendaciones de Accesibilidad Web (WCAG 2.0) del WAI-W3C. En este
sentido, cualquier actuacin del proyecto que sea de aplicacin sobre la capa de
presentacin web, deber tener en cuenta y alienarse con la poltica de
accesibilidad Web que se concreta en la Certificacin de Accesibilidad UNE-
139803,

22
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La accesibilidad deber tenerse en cuenta en dos aspectos:

El desarrollo basado en XHTML, HTML5 deber ser accesible doble A


segn la normativa actual y las WCAG 2.0.

Los formatos para reutilizacin debern ser igualmente accesibles.

Idem para el tratamiento en php, html5, y su vinculacin entre apps.

5.4.9 PLATAFORMA CLIENTE

El sistema desarrollado deber poder ser ejecutado en su totalidad desde


navegadores Web estndar. El sistema garantizar su funcionamiento al 100%
al menos en los siguientes navegadores:

Internet Explorer 6 o superior

Mozilla Firefox 2.0 o superior

Safari versin 3 o superior

Google Chrome

Opera

Adems, los datos debern poder ser consultados a travs de


navegadores semnticos como los siguientes:

Marbles

Disco

23
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.4.10 Listado de navegadores en diferentes versiones y su compatibilidad

Para comprobar la compatibilidad de nuestra aplicacin web se le somete a


un test de compatibilidad en todos los navegadores del mercado en sus diferentes
versiones.

Al estar desarrollada principalmente en html5, Jquery, Javascript se ve que la


compatibilidad es del 99%.

Ilustracin 167 Compatibilidad Navegadores

24
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 168 Compatibilidad Navegadores

Ilustracin 169 Compatibilidad Navegadores

25
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Ilustracin 170 Compatibilidad Navegadores

26
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.4.11 PERFILES Y PERSONAS

Los perfiles requeridos para desarrollar el proyecto son los que especifican
a continuacin:

5.4.12 CONSULTOR SEMNTICO

Ingeniero tcnico informtico o superior, o licenciatura similar. Este perfil de


consultor debe tener conocimientos y experiencia demostrable sobre tecnologas y
mecanismos de Web Semntica, ontologas, arquitectura de la Web.

5.4.13 ANALISTA FUNCIONAL

Ingeniero tcnico informtico o superior, o licenciatura similar. Este perfil


desarrolla la funcin de analista que permite identificar las necesidades del
sistema, contando con conocimientos y experiencia demostrable en proyectos sobre
tecnologas semnticas y en la reutilizacin de datos.

5.4.14 PROGRAMADOR

Ingeniero tcnico informtico o superior, o licenciatura similar. Este perfil


representa a un desarrollador que dispone de conocimientos y experiencia
demostrable en tecnologas de la Web Semntica, tratamiento de RDF, RDFa,
Esquemas XML, Servicios Web, OWL, Esquemas RDF, json, php, mysql , etc.

5.4.15 EXPERTO EN A RQUITECTURA DE LA INFORMACIN

Lingista. Este perfil define a un experto con experiencia demostrable que


permita la integracin de los datos semnticos con los datos existentes, con
experiencia en la gestin de ontologas. Debe tener un dominio de los vocabularios
estndares, que se usan en la representacin semntica de la informacin.

27
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.4.16 CONDICIONES DEL SERVICIO

Cualquier actuacin sobre los servicios en produccin (cambios, pruebas,


etc.), deber realizarse fuera del horario laboral, en las condiciones que el servicio
por su criticidad determine. Todas estas acciones debern ser valoradas y
aceptadas por el Dtor Principal del proyecto y creador del cdigo similar a la figura
del committer de Debian.

5.4.17 REPOSITORIO DOCUMENTAL

El proveedor utilizar el repositorio de la Universidad de La Rioja designe


en el que el adjudicatario mantendr y actualizar toda la informacin relativa al
proyecto. En este repositorio se recopilar, al menos, la informacin siguiente:

Configuracin detallada de los sistemas y servicios

Registro de los cambios efectuados en la configuracin.

Documentacin del proyecto

Contactos autorizados para el servicio

A esta herramienta acceder el equipo de soporte del proveedor as como


las personas designadas por la Universidad de La Rioja.

5.4.18 PROPIEDAD INTELECTUAL, SEGURIDAD YCONFIDENCIALIDAD.

PROPIEDAD INTELECTUAL

El adjudicatario aceptar expresamente que la propiedad intelectual de todos


los documentos y resultados de los trabajos realizados quedarn en poder
compartido en La Universidad de La Rioja, que podr reproducirlos o divulgarlos
total o parcialmente.

Toda la documentacin quedar en copropiedad de la Universidad de La


Rioja sin que el adjudicatario pueda conservarla o facilitarla a terceros sin la expresa

28
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

autorizacin de este centro directivo, que le dara en su caso previa peticin formal
del contratista con expresin del fin.

El adjudicatario deber entregar obligatoriamente a la Universidad de La


Rioja el cdigo fuente actualizado de la aplicacin y proporcionar una solucin de
continuidad, en caso de cese en su actividad o bajo cualquier otra circunstancia
imputable a dicha empresa que impida el correcto mantenimiento de los
programas. La Universidad de La Rioja tendr en consideracin los intereses
legtimos del prestador del servicio en lo referente a la proteccin de los secretos
tcnicos o comerciales de su empresa, comprometindose especficamente en
relacin con las fuentes de la aplicacin a no distribuir las mismas y a hacer uso
de ellas exclusivamente en el mbito propio.

Se entregar un planning temporal y formal detallado y exhaustivo que


incluya todos los hitos de desarrollo, coordinacin, puesta en marcha, formacin,
etc.

Toda la informacin ha de estar disponible, al menos, en formato ODT, PDF


y HTML Todos los documentos que componen la documentacin estarn
estructurados de la misma forma. Toda la documentacin estar en castellano.

29
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.5 PLIEGO DE CONDICIONES ADMINISTRATIVAS

5.5.1 DOCUMENTACIN DEL PROYECTO

Este proyecto consta de los siguientes documentos que nos ayudarn a


comprender el desarrollo del mismo. Estos documentos y planos son:

Un ndice General con cada uno de los ndices individuales de los diferentes
documentos bsicos del proyecto. En l se incluyen datos del proyecto, de quin
encarga el mismo y de sus autores.

Una Memoria donde se consideran las necesidades a satisfacer y los


factores tcnicos a tener en cuenta entrando en profundidad en las posibles
soluciones tcnicas y en la justificacin de la solucin elegida.

Anexos donde se recoge la documentacin considerada para establecer los


requisitos de diseo. Clculos y decisiones donde se justifiquen las soluciones
adoptadas en cuanto a eleccin de valores en los diferentes componentes ( placas
Arduinos , cuatricopteros etc ) del esquema electrnico y otros documentos como
catlogos, datasheets, etc.

Una serie de Planos de Montaje (carga de sensores en el cuatrirotor) los


cuales deben servir para la perfecta realizacin de la PCB, este caso presentada
bajo Fritzing as como su instalacin, expresando con exactitud la distribucin de
los componentes por la placa y las medidas de la misma. Incluyendo un
diagrama de bloques que facilite la comprensin de los vnculos fsicos entre los
diferentes elementos.

Pliego de Condiciones y Especificaciones del Sistema donde se


establecern las diferentes condiciones tcnicas, econmicas y administrativas para
que el objeto del proyecto pueda materializarse en las correspondientes condiciones
especficas y especificadas, evitando posibles mal interpretaciones
referentes a cualquier tema.

30
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Presupuesto donde se recoge el coste de todos los componentes utilizados y


la suma total que junto a la mano de obra dar el coste final del proyecto.
Dicho presupuesto contendr la valoracin econmica global, desglosada y
ordenada por partidas. Asimismo el presupuesto tendr opciones diferentes para la
salida de este trabajo y su posterior implantacin, ya sea venta, alquiler de los
equipos de vuelo o rgimen concursal

5.5.2 CONDICIONES DE SEGURIDAD

Software de conola o web obra de nuestro proyecto forma parte de las


instalaciones interiores o receptoras segn dice el manual electrotcnico para baja
tensin. Las instalaciones interiores o receptoras son las que, alimentadas por una
red de distribucin o por una fuente de energa propia, tienen como finalidad
principal la utilizacin de la energa elctrica. Dentro de este concepto hay que
incluir cualquier instalacin receptora aunque toda ella o alguna de sus partes est
situada a la intemperie, como nuestro caso que es totalmente intemperie que
ser principalmente el tema de vuelos de estos multirotores.

En toda instalacin interior o receptora que se proyecte y realice se


alcanzar el mximo equilibrio en las cargas que soportan los distintos
conductores que forman parte de la misma, y sta se subdividir de forma que las
perturbaciones originadas por las averas que pudieran producirse en algn punto
de ella afecten a una mnima parte de la instalacin. Esta subdivisin deber
permitir tambin la localizacin de las averas y facilitar el control del aislamiento de
la parte de la instalacin afectada.

Los sistemas de proteccin para las instalaciones interiores o receptoras para


baja tensin impedirn los efectos de las sobreintensidades y
sobretensiones que por distintas causas cabe prever en las mismas y
resguardarn a sus materiales y equipos, principalmente ordenadores , placas
microcontroladoras, etc .de las acciones y efectos de los agentes externos.
Asimismo, y condiciones que deben a efectos de seguridad general, se

31
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

determinarn las cumplir dichas instalaciones para proteger de los contactos


directos e indirectos.

En la utilizacin de la energa elctrica para instalaciones receptoras se


adoptarn las medidas de seguridad, tanto para la proteccin de los usuarios como
para la de las redes, que resulten proporcionadas a las caractersticas y potencia de
los aparatos receptores utilizados en las mismas.

5.5.3 SEGURIDAD Y PREVENCIN

Durante la realizacin de los servicios de vuelos en rgimen de Alquiler de


Multirotores se estar de acuerdo en todo momento con el "Reglamento de
Seguridad e Higiene en el Trabajo" y, en general, con todas aquellas normas y
ordenanzas encaminadas a proporcionar el ms alto grado de seguridad, tanto al
personal, como al pblico en general. Si fuera necesario licencias o permisos de
vuelo se est al da en normativa, incluyendo las nuevas disposiciones que
estn pendientes para este 2014 en sistemas de vuelo de Drones.

El instalador efectuar a su cargo el plan de seguridad y el seguimiento


correspondiente a sus trabajos, debiendo disponer de todos los elementos de
seguridad, auxiliares y de control exigidos por la legislacin vigente. Todo ello con la
debida coordinacin en relacin al resto de los servicios, por lo que ser preceptiva
la compatibilidad y aceptacin de este trabajo con el plan de seguridad general de
los servicios y, en cualquier caso, deber contar con la conformidad de la Direccin
Tcnica responsable en obra de esta materia y el contratista general. En cualquier
caso, queda enterado el instalador, por este pliego de condiciones tcnicas, que es
de su total responsabilidad vigilar y controlar que se cumplen todas las medidas de
seguridad descritas en el plan de seguridad, as como las normas relativas a
montajes y otras indicadas en este apartado.

32
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.5.4 NORMATIVA Y REGLAMENTACIN

El proyecto est supeditado tanto a normativa espaola como a normas de


uso internacional. Una de las principales normas que debemos tener en cuenta para
la realizacin de este proyecto es La normativa del RBT (Reglamento de Baja
Tensin). Considerndose pequeas tensiones a aquellas inferiores o iguales a
50 V eficaces. Asimismo el RBT nos indica que las instalaciones que puedan
producir perturbaciones debern de estar dotadas de sistemas correctores.

Respecto al desarrollo de productos electrnicos, se pueden encontrar en


AENOR (Asociacin Espaola de Normalizacin y Certificacin) las siguientes
normativas:

Norma UNE1302-2:1973. Vocabulario electrotcnico. Electrnica.

Norma UNE-EN-50090-2-1:1996. Sistemas electrnicos para


viviendas y edificios.

Norma UNE-EN61000-4-3-1998. Compatibilidad electromagntica.

Norma EB123500:1992. Placas de circuitos impresos flexibles con


taladros para insercin de componentes.

UNE 20-050-74. Cdigo para las tolerancias. Valores y marcas de


resistencia y condensadores.

UNE 20-531-73. Series de colores nominales para resistencias y


condensadores.

Otras normas para la fabricacin y empleo de placas de circuitos


impresos (PCB) son las siguientes:

NORMAS DIN:

DIN40801. Parte 1. Circuitos impresos, fundamentos, retculos.

DIN 40801. Parte 2. Circuitos impresos, fundamentos, orificios y


espesores nominales.

33
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

DIN 40803. Parte 1. Circuitos impresos, placas de circuito


impreso, requisitos generales y comprobaciones, tablas de tolerancias.

DIN 40803. Parte 2. Circuitos impresos, placas de circuito


impreso, documentacin.

DIN40804. Circuitos impresos, conceptos.

DIN 41494. Formas de construccin para dispositivos electrnicos,


placas de circuito impreso, medidas.

NORMAS UNE

UNE 20-524-75. Tcnica circuitos impresos. Parmetros


fundamentales. Sistema de cuadrcula.

UNE 20-524. Equipos electrnicos y sus componentes. Soldabilidad de


circuitos impresos.

UNE20-524. Tcnica de circuitos impresos. Terminologa.

UNE 20 552 75. Diseo y utilizacin de componentes para cableados y


circuitos impresos.

UNE 20620-1:1993. Material base para circuitos impresos. Mtodos de


ensayo.

UNE 20621-3:1984. Circuitos impresos. Diseo y utilizacin de placas


impresas.

Otra de las normas que sustentan este proyecto es la normativa RoHS


(Restriction of use of certain Hazardous Substances), su objetivo consiste en la
reduccin de sustancias peligrosas usadas en la fabricacin. Se disminuyen con su
aplicacin los riesgos del tratamiento de los residuos, con lo que se requieren
menos precauciones de manipulacin.

34
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La RoHS es una directiva de la UE que restringe el uso de 6 materiales


peligrosos en la fabricacin de diversos tipos de equipos elctricos y
electrnicos, obligando a los fabricantes a demostrar que sus productos
contienen valores de concentracin por debajo de los valores de concentracin
mximos (VCM), en las siguientes substancias: plomo, mercurio, cadmio, cromo
hexavalente, bifenilos (PBDE). policromados (PBB) y ter de bifenilo
policromado.

Es una directiva de mercado nico, es decir, establece estndares de


productos y se aplica a todos los estados miembros, debindose implantar de la
misma manera en todos ellos.

5.5.5 MBITO DE ACTUACIN

La adquisicin de este proyecto de mediciones medioambientales mediante


UAD est relacionada con la necesidad de conocer datos medioambientales
determinados de un lugar de transito ciudadano, ya que su misin principal es la
de proporcionar informacin. Su mbito de aplicacin puede ser cualquier punto del
territorio nacional o territorio internacional, tanto para empresas privadas como para
entidades pblicas como ayuntamientos.

Variable Lmite inferior Lmite superior


Temperatura -20C 100C
Humedad relativa 5% RH 85%RH
Dixido de Azufre 0 ppm 500 ppm
Ozono 0 ppm 500 ppm
Dixido de Nitrgeno 0 ppm 500 ppm
Sulfuro de Hidrgeno 0 ppm 500 ppm
Monxido de Carbono 0 ppm 1000 ppm
Tabla: Lmites vlidos.

35
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.6 PLIEGO DE CONDICIONES TCNICAS

En este apartado se analizan los pasos a seguir para la correcta consecucin


del producto mediante la explicacin del proceso de fabricacin del mismo, junto a
las precauciones que se debern tener en cuenta tanto en su manejo como en su
fabricacin, en relacin a la verificacin del conjunto.

Se har referencia a las caractersticas de las que deben disponer los


sensores y el propio software de medicin de Processing las cuales sern de
obligado cumplimiento.

5.6.1 VERIFICACIONES PREVIAS

Una vez que se han realizado sobre el los ensayos fijados por la normativa
vigente y los especificados en el apartado de normas de mediciones e inspeccin de
partidas de materiales, y se han superados todos y cada uno de ellos, se
proceder a verificar que el resultado cumple los requerimientos impuestos por
el cliente.

A tal efecto se revisar:

Facilidad de uso

Fiabilidad del conjunto del sistema

El marcado CE indica que estas revisiones han sido realizadas y que el


producto es seguro de acuerdo con la Normativa Europea, esta normativa ser
quien establezca las normas y criterios que rijan estas verificaciones.

La Direccin de Obra y/o la propiedad podrn solicitar cualquier tipo de


Certificacin Tcnica de materiales y/o montajes. Asimismo, podrn realizar todas
las revisiones o inspecciones que consideren. Especialmente las relacionadas con
dispositivos de vuelo, que pueden generar problemas de altos riesgo.

Las mencionadas inspecciones pueden ser totales o parciales, segn los


criterios que la direccin de obra dictamine al respecto para cada caso.

36
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.6.2 CONDICIONES GENERALES DE LOS MATERIALES

Todos los componentes utilizados en el proyecto cumplen las


especificaciones tcnicas que aparecern descritas tanto en la Memoria, como en
los planos, estando presente en estos ltimos las particularidades tcnicas
referentes a valores, referencias y dems especificaciones relevantes utilizadas en
resistencias, condensadores, sensores, transformador, etc.

5.6.3 COMPONENTES ELECTRNICOS

Todos los componentes electrnicos empleados en la elaboracin del


Proyeco de Medicin y Supervisin remota de parmetros ambientales mediante
UAD deben atender a los requerimientos de potencia, tensin y corriente
demandados por el sistema. Todos los elementos deben cumplir al menos con las
especificaciones del sistema, incluso las podrn mejorar si eso no afecta de manera
constatable al aumento del coste final del proyecto.

Vendr convenientemente especificado en el Listado de Materiales (Bill of


Materials) especifico en cada plano y adjunta documentacin listada. Asimismo
adjunta en los listados del software Fritzing, si los distintos componentes son SMD
(Surface Mounted Device) o THD (Through-Hole Device), donde cada elemento
electrnico usado ir asociado con su encapsulado y dimensiones.

5.6.4 SENSORES

Los sensores a utilizar, deben atender a los requerimientos elctricos del


sistema y a las condiciones tecnolgicas que se les exigen. Adems deben
ajustarse a las caractersticas exigidas por el sistema para la medicin precisa de las
diferentes variables. Explicadas en la memoria, y adjuntos un anexo un listado
de sensores alternativos a usar para estas mediciones.

Sensores para la medida de la calidad del aire:

37
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Este proyecto est pensado para una finalidad real de mediciones


ambientales. Para la medida de la calidad del aire, se utilizan sensores de gas
qumicos que se basan fundamentalmente en la toma de una muestra de partculas
que produce un cambio fsico o qumico de un material sensible, el que, mediante
una circuitera de interface, provoca una seal elctrica que constituye la
respuesta del sensor.

Se tratan de sensores, en la mayora de los casos (salvo el sensor de


deteccin de ozono de la serie MQ, del Anejo ) electroqumicos en modo
amperimtrico, es decir, generan una corriente lineal proporcional a la fraccin de
volumen de gas detectado

Esto da como resultado un sensor fcilmente ajustable a los niveles de


entrada de la unidad de procesamiento sin necesidad de mucha circuitera de
adaptacin que eleve el coste. En este caso, la salida es corriente y resulta
fcilmente ajustable a los niveles de tensin del microprocesador. Adems todos los
sensores utilizados son adaptables para la placa Arduino. Compatibles, probados y
con so cdigo de Arduino fcilmente operable.

En el caso del sensor de deteccin de ozono, el problema resulta menor


todava, ya que se trata de un sensor con una salida de tensin analgica, el cual
sin ms que adaptar esa tensin a los niveles del microprocesador, tenemos la
adaptacin.

En cuanto a la durabilidad de los sensores, al tratarse de sensores e


electroqumicos, no tienen una durabilidad relativamente elevada, ya que el gas que
entra en contacto con el sensor, reacciona sobre la superficie del electrodo sensor
generando una reaccin de oxidacin o reduccin. Los materiales del electrodo,
especficamente desarrollados para el gas de inters, catalizan estas reacciones.

Dada esta tecnologa, debern cambiarse los sensores cada 2 aos para
obtener una medida fiable. Siempre consultando las Hojas de especificaciones del
fabricante. Adjuntas todas las series MQ en los Anejos de este proyecto en
formato de link directo.

38
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.6.5 MATERIAL DE LOS CABLES

El cable que se utiliza para la instalacin ser un cable de 0,75 milmetros


de seccin de hilo y ser rojo para llevar la alimentacin, negro para la masa, verde
para el cable de conexin de tierra y el resto de cables sern de color azul para no
confundirlos con el resto. Los colores vendrn especificados en los planos,
especiales para GPS, Xbee, etc.

5.6.6 CARACTERSTICAS DE LOS SERVICIOS CIVIL

De acuerdo con el BOE-A-2010-4057, se entiende por mobiliario urbano el


conjunto de elementos existentes en los espacios pblicos urbanizados y reas de
uso peatonal, cuya modificacin o traslado no genera alteraciones sustanciales. Los
elementos de mobiliario urbano de uso pblico se disearn y ubicarn para que
puedan ser utilizados de forma autnoma y segura por todas las personas. Su
ubicacin y diseo responder a las siguientes caractersticas: No existe obra civil
pero se regir por la normativa actual de vuelo de equipos multirotores
actualizada en previsiones para 2014.

5.6.7 ENSAMBLADO E INTERCONEXIONADO DE LOS DISTINTOS ELEMENTOS

El ensamblado e interconexionado de los distintos elementos integrados en


las placas, ambas separadas, lo llevar a cabo el instalador segn la
disposicin indicada en los planos correspondientes.

5.6.8 TEST DE VALIDACIN DE DATOS

La informacin mostrada relativa a la medida de cada sensor debe ser


validada como paso previo a cualquier aplicacin. Esta validacin asegura que la
informacin est siendo generada adecuadamente, identifica los registros

39
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

errneos y permite detectar problemas para resolverlos mediante las oportunas


labores de mantenimiento, reparacin, calibracin o sustitucin de las partes que
ocasionen contrariedades.

Validacin de los datos segn lmites. En este nivel de validacin se


comprueba el rango de los valores de concentracin lmite de cada sensor. Por
rango entendemos el lmite superior y el inferior entre los que debe estar el valor de
un dato para ser considerado como vlido. Se definen dos tipos de lmites: lmites
fsicos e instrumentales y lmites flexibles (efemrides meteorolgicas).

Lmites rgidos: fsicos e instrumentales. Se aplicarn los lmites que


resulten ms restrictivos de los fsicos e instrumentales. Cualquier dato fuera de los
lmites establecidos ser un dato no vlido. En la tabla se indican los lmites fsicos
de cada medida.

Variable Unidad Rango


Temperatura del aire C -20C / 100C
Humedad relativa del % 0/100
aire
Dixido de Azufre 0 ppm 500 ppm
Ozono 0 ppm 500 ppm
Dixido de Nitrgeno 0 ppm 500 ppm
Sulfuro de Hidrgeno 0 ppm 500 ppm
Monxido de Carbono 0 ppm 500 ppm
Tabla Lmites fsicos de cada medida.

Limites flexibles: efemrides meteorolgicas Estos lmites se basarn


en los valores extremos que las distintas variables puedan tomar en la zona
donde est ubicada la estacin o el vuelo del multirotor. Lo ideal es contar con un
conjunto de efemrides meteorolgicas para cada mes, que sean representativas
del entorno de donde provienen los datos que se validan. Si el dato no superase
este test de lmites flexibles ser calificado como sospechoso y se deber hacer una
inspeccin visual para considerarlo vlido o no.

40
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.6.8.1 Validacin de la coherencia interna de los datos. Relaciones entre


variables.

Los procedimientos denominados de coherencia interna estn basados en la


verificacin de la coherencia fsica o climatolgica de cada variable observada o
tambin de la consistencia entre variables. Valores medidos al mismo tiempo y en el
mismo lugar no pueden ser incoherentes entre ellos. En este caso, puesto que no se
puede discernir cul de las variables involucradas es la responsable, se considerar
que ambas observaciones no han superado este test.

Inspeccin visual. Para llevar a cabo una inspeccin visual sobre los datos
que se pretende analizar, resulta muy til representar la evolucin temporal de las
distintas variables en varios niveles de agregacin, especialmente cuando se trate
de determinar si un dato sospechoso es vlido o no vlido. Igualmente, resulta muy
til cartografiar valores mximos, mnimos, acumulados, etc. de las distintas
variables as como de parmetros derivados. Para identificar problemas sutiles, en
el caso de la temperatura, se recomienda un anlisis de valores promedio a una
hora especfica del da. En el caso de la humedad relativa, la media de los mximos
y la media de los mnimos.

5.6.9 PUESTA EN MARCHA Y MANTENIMIENTO

El cliente deber verificar el buen estado de los elementos que hayan sido
instalados, placas, rotores, trasnsmisin, arduino, etc comprobando que no han
recibido ningn golpe durante el transporte, ni que hayan llegado defectuosos.

El cliente deber leer detenidamente el manual de instrucciones de este


Proyecto de mediciones ambientales mediante UAD, en caso de tener dudas deber
ponerse en contacto con el distribuidor del equipo.

Una vez realizados los dos pasos anteriores, el usuario deber poner en
marcha y comprobar el funcionamiento de los equipos verificando que este sea
correcto y viendo que cumple con las expectativas previstas. En caso de no ser as

41
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

se deber poner en contacto con el distribuidor si detecta cualquier fallo o un mal


funcionamiento para que se proceda a la subsanacin del mismo o a la retirada del
equipo en caso de insatisfaccin del comprador.

Si el sistema no fuese manipulado conforme a lo establecido por el


fabricante, este no se hace cargo de los posibles fallos venideros. El fabricante se
compromete a llevar a cabo un mantenimiento anual durante los dos primeros mese
corriendo a su cargo el gasto originado por la sustitucin de componentes de parte
del equipo.

Por otra parte, debe haber una serie de operaciones a realizar por el personal
de mantenimiento del mismo, con la intencin de evitar posibles fallos del sistema.

* Las operaciones que se tienen que realizar con una frecuencia


trimestral son: Las tpicas revisiones de cableado de sensores que se monten el
UAD, estado de hlices y tren de aterrizaje, bateras, y en resumen todo lo indicado
en los catlogos oficiales de los equipos.

5.6.10 PRECAUCIONES DE USO

Las regidas por la norma vigente sobre rotores menores de 5 kilos en vuelo,
mas las bsicas sobre dispositivos electrnicos.

5.6.11 PLIEGO DE CONDICIONES ECONMICAS

5.6.11.1 DERECHOS Y DEBERES DEL CONTRATISTA

A continuacin se enumeran los diferentes derechos y deberes del


contratista entendindose tal como la persona fsica o jurdica que asume
contractualmente ante el promotor, con medios humanos y materiales propios o
ajenos, el compromiso de ejecutar la totalidad o parte de los servicios con sujecin
al proyecto y al contrato.

42
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.6.11.2 DERECHOS

1. Derecho al abono del precio del contrato ejecutado con el arreglo a las
clusulas del presente pliego, dentro del trmino de dos meses a contar desde la
expedicin de los documentos que acrediten la realizacin total o parcial del contrato
y entrada de la factura en el Registro General.

2. Derecho a cobrar el inters legal del dinero incrementado en 1,5 puntos


sobre las cantidades adecuadas, si se demorase el pago del precio, a partir del
incumplimiento de dicho plazo.*

3. Derecho a la suspensin del cumplimiento del contrato en el supuesto de


que la demora del pago fuera superior a cuatro meses, debiendo comunicar a la
Administracin con un mes de antelacin tal circunstancia, a efectos del
reconocimiento de derechos que pudiera derivarse de la suspensin, en los
trminos establecidos en la ley 13/95 del 18 de Mayo.

4. Derecho a resolver el contrato y al resarcimiento de los perjuicios que como


consecuencia de ello se originen, si la demora fuera superior a ocho meses.

5. Derecho a transmitir los derechos de cobro en los trminos de los


artculos 101 de la Ley 13/95 de 18 de Mayo.

* No obstante, respecto a lo indicado en el segundo apartado, en el


supuesto de que algn documento de los exigidos para efectuar el pago contuviera
algn error u omisin, y el contratista no hubiera advertido en el momento de prestar
conformidad a la recepcin, expresamente y por escrito la existencia del mismo, el
plazo para exigir el inters de demora no se iniciara hasta que se subsanen los
defectos u errores que contuviera el expediente de pago, computndose por lo tanto
el plazo para exigir el inters legal del dinero a partir de la expedicin de la
documentacin subsanada.

De igual modo, si la factura contuviera algn error u omisin, el plazo para


exigir inters de demora no se iniciar hasta que se subsanen los defectos que
contuviera la factura.

43
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.6.11.3 DEBERES

1. El contratista deber de cumplir las especificaciones descritas en el


Pliego de Condiciones y en el documento de Especificaciones del sistema.

2. El contratista deber de cumplir o realizar los servicios en el plazo


estipulado en el Pliego de Condiciones.

3. El contratista deber avisar o notificar cualquier cambio que quiera que sea
realizado tanto en el diseo del prototipo como en el diseo del producto final.

5.6.12 DERECHOS Y DEBERES DEL CONTRATANTE

Entenderemos contratante como la persona natural o jurdica, que se


compromete mediante su firma a pagar el precio del proyecto, siendo por lo tanto
su dueo. Tiene tambin el derecho de nombrar los beneficiarios y disponer de
los valores garantizados del proyecto.

5.6.13 DERECHOS

1. Derecho a obtener unos beneficios a partir del tiempo estipulado para la


realizacin del proyecto.

2. Derecho a poder elegir un contratista para la ejecucin o realizacin de la


puesta en funcionamiento del proyecto que l ha diseado.

3. Derecho al control y supervisin en todo momento de la realizacin del


proyecto, as como poder permitir variaciones en ellos, hacindose cargo en la parte
correspondiente a su cargo, de la valoracin monetaria variada en el proyecto.

5.6.14 DEBERES

1. Deber notificar todos los cambios producidos en el diseo del proyecto as


como asimilar los gastos correspondientes.

2. Deber comprobar que el contratista realiza las acciones segn el Pliego


de Condiciones.

44
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3. Deber de haber realizado un Pliego de Condiciones segn la Ley 13/95


de 18 de Mayo.

4. Deber en todo momento de cumplir y hacer cumplir las especificaciones


impuestas en el Pliego de Condiciones que l mismo ha diseado.

5.6.15 FORMALIZACIN DEL CONTRATO

El contrato se ejecutar a riesgo del contratista aunque ambas partes han de


estar conformes en el contenido del contrato as como en las responsabilidades que
se deriven de dicho contrato, las cuales estn expuestas en este Pliego de
Condiciones.

Una vez se hayan puesto en contacto ambas partes se notificar al contratista


para la formalizacin del oportuno contrato. En el contrato debern estipularse,
adems de las condiciones ya descritas en el Pliego de Condiciones,

5.6.16 EXTINCIN DEL CONTRATO

En caso de abandono, incumplimiento de contrato o de retraso en la


finalizacin del proyecto, la empresa o usuario contratante podr penalizar a la
empresa encargada de la fabricacin del panel informativo medioambiental con
multas y hasta incluso con la anulacin del contrato.

El contrato se extinguir por conclusin o cumplimiento, o bien por


resolucin. Siendo causas de resolucin las siguientes:

1. El incumplimiento de las clusulas contenidas en el Pliego de Condiciones.

2. La muerte del contratista individual, salvo que los herederos ofrezcan llevar
a cabo el contrato bajo las condiciones estipuladas en el mismo.

3. La extincin de la personalidad jurdica de la sociedad mercantil del


contratista, salvo que el patrimonio y organizacin de la sociedad extinguida sea
incorporado a otra entidad, asumiendo sta ltima las obligaciones de aqulla y

45
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

siempre que la nueva entidad, en el plazo de un mes, ofrezca llevar a cabo el


contrato en las condiciones estipuladas.

4. El mutuo acuerdo entre el contratista y contratante.

5. La cesin a terceros del contrato sin autorizacin del contratante.

6. La declaracin de quiebra del contratista o suspensin de pagos al


contratista.

7. Cualquier otra causa que se establezca expresamente en el Pliego de


Condiciones o en el contrato.

5.6.17 PLAZOS DE EJECUCIN

El plazo de ejecucin se establecer despus de la firma del contrato por


parte de las partes correspondientes. En nuestro caso el plazo ser de 3 das para
la instalacin del equipo, la realizacin del cableado y la puesta en marcha y
funcionamiento de todo el sistema elctrico-electrnico, El Software, equipos de
vuelo, y personalizacin de consolas de captura de datos bajo Processing.

El plazo de entrega se ha considerado haciendo un desmenuzamiento de


los plazos parciales de entrega de los servicios en das, siendo los siguientes:

5.6.18 FORMA DE PAGO

Las condiciones de pago del proyecto realizado sern determinadas por


medio de la voluntad de las partes que deber ponerse de manifiesto a travs de
dicho contrato. En este debern figurar los datos de la persona fsica que ha
encargado el proyecto tales como: nombre y apellidos de su representante legal,
D.N.I., direccin profesional, etc. tambin debern aparecer los datos del autor o
autores del proyecto, la fecha de encargo, la fecha de entrega, as como

46
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

cualquier otro aspecto que las partes deseen de mutuo acuerdo que conste en dicho
documento.

La forma de pago adoptada debe de constar claramente en el contrato


firmado por ambas partes pudiendo ser al contado, mediante taln bancario, tarjeta
de crdito u otras opciones segn se convenga.

5.6.19 FIANZA

El contratista viene obligado a constituir y acreditar una fianza, previa a la


formalizacin del contrato, siendo como mnimo de un 10% del precio del contrato,
en el plazo de diez 10 das desde que se firme el contrato garantizando as
su ejecucin con el valor y en el plazo estipulado en el mismo.

La fianza podr constituirse en metlico o mediante aval prestado por alguno


de los bancos, cajas de ahorros, cooperativas de crdito, establecimientos
financieros de crdito operar en Espaa.

El importe de la y sociedades de garanta recproca autorizados para


fianza se destinar al resarcimiento de los daos y perjuicios que por cualquier
causa pudieran incurrir en la ejecucin del contrato o durante el perodo de vigencia
de la garanta fijada.

Cuando a consecuencia de la modificacin del contrato, este experimente


alguna variacin en el valor total, si ambas partes deciden seguir adelante con l, se
ajustar la fianza constituida en la cuanta necesaria para que se mantenga la
debida proporcionalidad entre la fianza y el presupuesto del contrato.

Dentro del plazo de seis meses a partir de la finalizacin de la instalacin, se


proceder a la devolucin del importe de la fianza, en cancelacin del aval
ejecutable.

47
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.6.20 GARANTAS Y PLAZOS DE GARANTA

Tanto los componentes de la instalacin, como su montaje y funcionabilidad,


quedarn garantizados por el tiempo indicado por la legislacin vigente, a partir de la
recepcin provisional y, en ningn caso, esta garanta cesar hasta que sea
realizada la recepcin definitiva. Se dejar a criterio de la direccin de obra
determinar ante un defecto de maquinaria su posibilidad de reparacin o el cambio
total de la unidad.

Este concepto aplica a todos los componentes y materiales de las


instalaciones, sean stos los especificados, de modo concreto, en los documentos
de proyecto o los similares aceptados.

El software y sus respectivas aplicaciones asociadas pose un plazo de


garanta total de 12 meses, a partir de la fecha de finalizacin de montaje y puesta
en marcha de la misma. Esta garanta incluye la posible sustitucin de materiales y
el servicio tcnico, adems de los desplazamientos. No se aplica para el rgimen de
alquiler para vuelos espordicos.

El plazo de garanta se extiende a 24 meses para el servicio tcnico, la


garanta quedar totalmente anulada en el caso de que el aparato sufra daos por la
manipulacin inadecuada por parte del cliente o haya sido manipulado por personas
ajenas a nuestros Servicios Tcnicos Oficiales. Para el primer caso se incluye en el
Manual de Instrucciones una gua de precauciones de uso.

No estn incluidas las reparaciones concernientes a averas debidas a


causas accidentales: incendios, inundaciones, rayos, etc., siempre que se
demuestre que su origen es independiente del normal funcionamiento del panel
medioambiental; tampoco estarn incluidas aquellas averas ocasionadas por actos
vandlicos. En estos u otros supuestos de avera, el contratista estar obligado a
suministrar a la parte contratante, antes de quince das, un presupuesto de
reparacin de averas.

De encontrarse elementos defectuosos en el momento de la entrega, estos


sern sustituidos sin coste alguno para el usuario en un plazo inferior a 48 horas por

48
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

parte del servicio tcnico, para el caso de pedidos nacionales y en un tiempo inferior
a una semana en el caso de pedidos internacionales.

5.7 CALIDAD

Cualquier elemento, Drone, tarjetas, sensores, material y, en general,


cualquier concepto en el que pueda ser definible una calidad, sta ser la indicada
en el proyecto, bien determinada por una marca comercial o por una especificacin
concreta. Si no estuviese definida una calidad, la direccin de obra podr elegir la
que corresponda en el mercado a niveles considerados similares a los del resto de
los materiales especificados en proyecto. En este caso, el instalador queda
obligado, por este pliego de condiciones tcnicas, a aceptar el material que le
indique la Direccin de Obra.

Si el instalador propusiese una calidad similar a la especificada en proyecto,


corresponde exclusivamente a la direccin de obra definir si sta es o no similar.

Por tanto, toda marca o calidad que no sea la especficamente indicada en el


documento de medicin y presupuesto o en cualquier otro documento del proyecto
deber haber sido aprobada por escrito por la direccin de obra previamente a su
instalacin, pudiendo ser rechazada, por tanto, sin perjuicio de ningn tipo para la
propiedad, si no fuese cumplido este requisito.

Todos los materiales y equipos debern ser productos normalizados de


catlogo de fabricantes dedicados con regularidad a la fabricacin de tales
materiales o equipos y debern ser de primera calidad y del ms reciente diseo del
fabricante que cumpla con los requisitos de estas especificaciones y la normativa
vigente. Salvo indicacin expresa escrita en contrario por la direccin de obra, no se
aceptar ningn material y/o equipo cuya fecha de fabricacin sea anterior, en 9
meses o ms, a la fecha de contrato del instalador.

Todos los componentes principales de equipos debern llevar el nombre, la


direccin del fabricante y el modelo y nmero de serie en una placa fijada con

49
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

seguridad en un sitio visible. No se aceptar la placa del agente distribuidor. En


aquellos equipos en los que se requiera placa o timbre autorizados y/o colocados
por la delegacin de industria o cualquier otro organismo oficial, ser competencia
exclusiva del instalador procurar la correspondiente placa y abonar cualquier
derecho o tasa exigible al respecto.

Durante los servicios, el instalador queda obligado a presentar a la direccin


de obra cuantos materiales o muestras de los mismos le sean solicitados. En el
caso de materiales voluminosos, se admitirn catlogos que reflejen perfectamente
las caractersticas, terminado y composicin de los materiales de que se trate.

5.7.1 NORMAS DE CALIDAD

Los sistemas se disearn de forma que cumplan las normas UNE, CEI y EN
aplicables a este tipo de productos, as como las normas ETSI (European
Telecommunications Standards Institute) para sistemas de radiofrecuencia.

Normas de seguridad e higiene. El proyecto cumplir con la Ley 31/95 de


Prevencin de Riesgos Laborales.

Vida til del producto Los sistemas se disearn para una vida til no
inferior a 2 aos en funcionamiento continuo.

Equipo Informtico El equipo informtico debe estar homologado conforme a


la normativa Europea y Espaola a fecha de Junio de 2009. El equipo informtico
debe instalarse conforme a las indicaciones del fabricante, manteniendo las
condiciones de humedad y temperatura entre los lmites marcados.

Los programas informticos empleados han de contar con la licencia


preceptiva y cumplir con las condiciones de la misma.

En caso de usar programas de licencia GNU, se debern respetar las


condiciones de la misma. La mayor parte del software de este proyecto se presenta
bajo GNU GPL.

50
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Elementos electrnicos os sistemas electrnicos habrn de conectarse y


manejarse conforme a las especificaciones del administrador. Adems, se
emplearn componentes normalizados para los circuitos electrnicos.

Sistema de radiofrecuencia. El sistema de radio frecuencia cumplir con los


requisitos establecidos en la normativa Europea (R&TTE Directive 1999-5-EC). El
sistema de radiofrecuencia se atendr a la normativa vigente de proteccin del
espacio radioelctrico y proteccin de la salud: LEY GENERAL DE
TELECOMUNICACIONES 11/1998, DE 24 DE ABRIL DE 1998. Aplicable 3DR.
Xbee, seales wifi, etc.

5.8 CONCEPTOS COMPRENDIDOS

Es competencia exclusiva del Instalador y, por lo tanto, queda totalmente


incluido en el precio ofertado, el suministro de todos los elementos y materiales,
mano de obra, medios auxiliares y, en general, todos aquellos elementos y/o
conceptos que sean necesarios para el perfecto acabado y puesta a punto del
Proyecto de Mediciones Ambientales mediante UAD instalaciones, segn se
describen en la memoria, son representadas en los planos, quedan relacionadas de
forma bsica en el presupuesto y cuya calidad y caractersticas de montaje se
indican en el Pliego de Condiciones Tcnicas.

Queda entendido que los ocho Documentos de Proyecto, es decir, Memoria,


Mediciones y Presupuesto, Planos y Pliego de Condiciones Tcnicas etc forman
todo un conjunto. Si fuese advertida o existiese alguna discrepancia entre estos
cuatro documentos, su interpretacin ser la que determine la Direccin de Obra, en
el da del montaje por su Director de Proyecto, el creador del software y
documentacin.

Salvo indicacin contraria en su oferta, lo que debe quedar explcitamente


indicado en contrato, queda entendido que el instalador acepta este criterio y no

51
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

podr formular reclamacin alguna por motivo de omisiones y/o discrepancias entre
cualquiera de los cuatro documentos que integran el proyecto

Cualquier exclusin, incluida implcita o explcitamente por el instalador en su


oferta y que difiera de los conceptos expuestos en los prrafos anteriores, no tendr
ninguna validez, salvo que en el contrato, de una forma particular y explcita, se
manifieste la correspondiente exclusin.

Es responsabilidad del Instalador el cumplimiento de toda la normativa oficial


vigente aplicable al proyecto. Durante la realizacin de este proyecto se ha puesto el
mximo empeo en cumplir toda la normativa oficial vigente al respecto. No
obstante, si en el mismo existiesen conceptos que se desviasen o no cumpliesen
con las mismas, es obligacin del instalador comunicarlo en su oferta y en la forma
que se describir ms adelante. Queda, por tanto, obligado el instalador a efectuar
una revisin del proyecto, previo a la presentacin de su oferta, debiendo indicar,
expresamente, en la misma, cualquier deficiencia a este respecto o, en caso
contrario, su conformidad con el proyecto en materia de cumplimiento de toda la
normativa oficial vigente aplicable al mismo.

El instalador efectuar a su cargo el plan de seguridad y el seguimiento


correspondiente a sus trabajos, debiendo disponer de todos los elementos de
seguridad, auxiliares y de control exigidos por la legislacin vigente, todo ello con la
debida coordinacin en relacin al resto de los servicios, por lo que ser preceptiva
la compatibilidad y aceptacin de este trabajo con el plan de seguridad general de
los servicios y, en cualquier caso, deber contar con la conformidad de la Direccin
Tcnica y el contratista general.

Quedan incluidos tambin, como parte de los trabajos del instalador, la


preparacin de todos los planos de las placas de Arduino, as como la gestin y
preparacin de toda la documentacin tcnica necesaria, incluido visado y
legalizado de proyectos y certificados de obra, as como su tramitacin ante los
diferentes organismos oficiales, al objeto de obtener todos los permisos requeridos
de acuerdo a la legislacin.

52
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Tambin quedan incluidas la realizacin de todas las pruebas de puesta en


marcha de las instalaciones bsicas de sensores, realizadas segn las indicaciones
de la direccin de obra.

No se proceder a efectuar la recepcin provisional si todo lo anterior no


estuviese debidamente cumplimentado a satisfaccin de la direccin de obra.

Asimismo, quedan incluidos todos los trabajos correspondientes a la


definicin, coordinacin e instalacin de todas las acometidas de servicios, tales
como sensores, rotores, palas, arduinos, y otros que pudieran requerirse, ya sean
de forma provisional para efectuar los montajes en obra o de forma definitiva para
satisfacer las necesidades del proyecto. Se entiende, por tanto, que estos trabajos
quedan plenamente incluidos en la oferta del instalador, salvo que se indique
expresamente lo contrario.

Queda, por tanto, el Instalador enterado por este pliego de condiciones que
es responsabilidad suya la realizacin de las comprobaciones indicadas, previo a la
presentacin de la oferta, as como la presentacin en tiempo, modo y forma de
toda la documentacin mencionada y la consecucin de los correspondientes
permisos. El instalador, en caso de subcontratacin, o la empresa responsable de
su contratacin, no podrn formular reclamacin alguna con respecto a este
concepto, ya sea por omisin, desconocimiento o cualquier otra causa.

5.8.1 CONCEPTOS NO COMPRENDIDOS

En general, solamente quedan excluidos de realizacin por parte del


instalador los conceptos que responden a actividades de albailera, salvo que en
los documentos de proyecto se indicase expresamente lo contrario. Los conceptos
excluidos son los que se indican a continuacin.

53
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.8.2 INTERPRETACIN DEL PROYECTO

La interpretacin del proyecto corresponde en primer lugar al ingeniero autor


del mismo o, en su defecto, a la persona que ostente la Direccin de Obra. Se
entiende el proyecto en su mbito total de todos los documentos que lo integran, es
decir, memoria, planos, mediciones y presupuesto y pliego de condiciones tcnicas
quedando, por tanto, el instalador enterado por este pliego de condiciones tcnicas
que cualquier interpretacin del proyecto para cualquier fin y, entre otros, para una
aplicacin de contrato, debe atenerse a las dos figuras (Autor o Director), indicadas
anteriormente. Cualquier delegacin del autor o director del proyecto, a efectos de
una interpretacin del mismo, debe realizarse por escrito y as solicitarse por la
persona o entidad interesada.

5.8.3 COORDINACIN DEL PROYECTO

Ser responsabilidad exclusiva del instalador la coordinacin de las


instalaciones de su competencia. El instalador pondr todos los medios tcnicos y
humanos necesarios para que esta coordinacin tenga la adecuada efectividad
consecuente, tanto con la empresa constructora, como con los diferentes oficios o
instaladores de otras especialidades que concurran en los montajes de placas en el
Drone. Por tanto, cada instalador queda obligado a coordinar las instalaciones de su
competencia con las de los otros oficios. Por coordinacin de las instalaciones se
entiende su representacin en planos de obra, realizados por el instalador a partir
de los planos de proyecto adaptados a las condiciones reales de obra y su posterior
montaje, de forma ordenada, de acuerdo a estos planos y dems documentos de
proyecto.

En aquellos puntos concurrentes entre dos oficios o instaladores y que, por lo


tanto, pueda ser conflictiva la delimitacin de la frontera de los trabajos y
responsabilidades correspondientes a cada uno, el instalador se atendr a lo que
figure indicado en proyecto o, en su defecto, a lo que dictamine sobre el
particularmente la Direccin de Obra. Queda, por tanto, enterado el instalador que
no podr efectuar o aplicar sus criterios particulares al respecto.

54
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.8.4 MODIFICACIONES AL PROYECTO

Slo podrn ser admitidas modificaciones a lo indicado en los documentos de


proyecto por alguna de las causas que se indican a continuacin.

Mejoras en la calidad, cantidad o caractersticas del montaje de los diferentes


componentes de la instalacin, siempre y cuando no quede afectado el presupuesto
o, en todo caso, sea disminuido, no repercutiendo, en ningn caso, este cambio con
compensacin de otros materiales. En este caso, la variacin de instalaciones se
sensores en placas, marcha puesta en vuelo ser exclusivamente la que defina la
direccin de obra o, en su caso, el instalador con aprobacin de aqulla.

Cualquier modificacin al proyecto, ya sea en concepto de interpretacin del


proyecto, cumplimiento de normativa o por ajuste de obra, deber atenerse a lo
indicado en los apartados correspondientes del pliego de condiciones tcnicas y, en
cualquier caso, deber contar con el consentimiento expreso y por escrito del autor
del proyecto y/o de la Direccin de Obra. Toda modificacin que no cumpla
cualquiera de estos requisitos carecer de validez.

5.8.5 REGLAMENTACIN DE OBLIGADO CUMPLIMIENTO

Con total independencia de las prescripciones indicadas en los documentos


del proyecto, es prioritario para el instalador el cumplimiento de cualquier
reglamentacin de obligado cumplimiento que afecte, directa o indirectamente, a su
instalacin, bien sea de ndole nacional, autonmico, municipal, de compaas o, en
general, de cualquier ente que pueda afectar a la puesta en marcha legal y
necesaria para la consecucin de las funciones previstas en el vuelo del Drone. El
concepto de cumplimiento de normativa se refiere no slo al cumplimiento de toda
normativa del propio equipo o instalacin, sino tambin al cumplimiento de cualquier
normativa exigible durante el montaje, funcionamiento y/o rendimiento del equipo y/o
sistema.

Es, por tanto, competencia, obligacin y responsabilidad del instalador la


previa revisin del proyecto antes de la presentacin de su oferta y, una vez

55
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

adjudicado el contrato, antes de que realice ningn pedido, ni que ejecute ningn
montaje.

Esta segunda revisin del proyecto, a efectos de cumplimiento de normativa,


se requiere tanto por si hubiera habido una modificacin en la normativa aplicable
despus de la presentacin de la oferta, como si, con motivo de alguna modificacin
relevante sobre el proyecto original, sta pudiera contravenir cualquier normativa
aplicable. Si esto ocurriera, queda obligado el instalador a exponerlo ante la
direccin tcnica y la propiedad. Esta comunicacin deber ser realizada por escrito
y entregada en mano a la direccin tcnica de obra.

5.8.6 DOCUMENTACIN GRFICA

A partir de los planos del proyecto es competencia exclusiva del instalador


preparar todos los planos de Arduino, incluyendo tanto los planos de coordinacin,
como los planos de montaje necesarios, mostrando en detalle las caractersticas de
construccin precisas para el correcto montaje de los equipos

5.8.7 DOCUMENTACIN FINAL DE OBRA

Previo a la recepcin provisional de las instalaciones, cada instalador queda


obligado a presentar toda la documentacin de proyecto, ya sea de tipo legal y/o
contractual, segn los documentos de proyecto y conforme a lo indicado en este
pliego de condiciones. Como parte de esta documentacin, se incluye toda la
documentacin y certificados de tipo legal, requeridos por los distintos organismos
oficiales y compaas suministradoras.

En particular, esta documentacin se refiere a lo siguiente: Certificados de


cada instalacin, presentados ante la Delegacin del Ministerio de Industria y
Energa. Incluye autorizaciones de suministro, boletines, etc dem ante Compaas
Suministradoras. Protocolos de pruebas completos de las instalaciones (original y
copia). Manual de instrucciones (original y copia), incluyendo fotocopias de catlogo
con instrucciones tcnicas de funcionamiento, mantenimiento y conservacin de

56
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

todos los equipos de la instalacin. propuesta de stock mnimo de recambios. Libro


oficial de mantenimiento Legalizado. Proyecto actualizado (original y copia),
incluyendo planos as-built de las instalaciones.

57
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9 PLIEGO DE CONDICIONES PARA ESTANDARES DEL


SOFTWARE

5.9.1 PLAN DE ASEGURAMIENTO DE LA CALIDAD IEEE STD 730-2002

La calidad se puede definir como el conjunto de las propiedades de un


producto, procesos o servicio que le confieren aptitud para satisfacer las
necesidades declaradas o implcitas del cliente.

Quin ser responsable de la calidad, que documentacin se requiere, que


tcnica se usar para asegurar la calidad, qu procedimientos se seguirn para
administrar el proyecto, pruebas, informe de problemas y accin correctiva,
herramientas tcnicas y metodologas, control de proveedores, capacitacin, gestin
de riesgos. Se dirige hacia el desarrollo y mantenimiento de software.

A menudo los desarrolladores no se basan tanto en los deseos del mercado,


como en lo que el ingeniero considera tcnicamente fabricable u ptimo, segn los
criterios de calidad. El cumplir las exigencias que el cliente impone al producto en lo
relativo a su funcionamiento, solidez, estabilidad, diseo, etc., es decir, su idea de la
calidad, es ms valorado en la compra que el aspecto econmico. As lo prueban
varios estudios sobre la estrategia del mercado, realizados a principios de los 80.

5.9.1.1 LA CALIDAD EN INGENIERA DEL SOFTWARE

Lo primero que se debe considerar a la hora de abordar el tema de la calidad


del software es que ste constituye un producto con unas caractersticas muy
especficas.

Se desarrolla, no se fabrica en el sentido clsico del trmino. Todo el coste de


su produccin se centra en el diseo de la primera copia, ya que la replicacin de un
programa es una tarea trivial.

Se trata de un producto lgico, sin existencia fsica. El verdadero producto del


software es el diseo de una serie de instrucciones para el computador. Su

58
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

existencia en papel (listado) o en soporte magntico (fichero) no es ms que una


representacin en un cdigo o en lenguaje de su autntica naturaleza, las
instrucciones. De hecho, est protegido por leyes de propiedad intelectual al igual
que la msica o las servicios escritas.

No se degrada con el uso. La naturaleza lgica del software permite que


permanezca inalterable por muy intensa que sea su utilizacin. Se puede degradar
su representacin magntica pero no su esencia.

La complejidad del software, la ausencia de controles adecuados y el


mercado actual lleva a que sea un producto que muchas veces se entrega
conscientemente con defectos, incluso pblicamente declarados.

Un porcentaje muy grande de la produccin se hace an a medida, en vez de


emplear componentes existentes y ensamblarlos, aunque las bibliotecas de
funciones o componentes estn ya cambiando en parte esta situacin.

Es muy flexible. Se puede cambiar con facilidad e incluso, se pueden


reutilizar trozos de un producto para construir otro. Sin embargo la facilidad para
cambiarlo, aunque es un peligro, que hay que controlarlo.

5.9.1.2 DEFINICIN DE LA CALIDAD DEL SOFTWARE

Segn el estndar IEEE std.610-1991 [IEE, 1991a] indica que calidad es el


grado con el que un sistema, componente o proceso cumple:

a) Los requisitos especificados.

b) Las necesidades o expectativas del cliente o usuario.

Hay que recordar que:

a) Los requisitos establecidos SRS pueden ser: o Requisitos funcionales, que


determinan funciones a realizar por el software o Requisitos de otros tipos: De
rendimiento, de seguridad, de interfaz, etc.

b) Los estndares y las normas de desarrollo determinan como se debe


realizar el proceso de desarrollo de software. Su seguimiento permite que se

59
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

consiga una calidad tcnica en el software producido, que influye en la calidad de


cara al usuario, es decir, conformidad con requisitos.

c) Existen requisitos explcitos, no expresamente declarados, es decir, en la


SRS o en un contrato; pero que el usuario del software desea obtener.

5.9.1.3 EL MODELO SPICE

El proyecto SPICE (Software Process Improvement and Capability


Determination: Determinacin del mejoramiento y capacidad del proceso de
software), representa el mayor marco de colaboracin internacional establecido con
la finalidad de desarrollar un estndar de evaluacin de procesos de software. Se
inici con tres objetivos claves:

- Desarrollar un marco de trabajo comn para la evaluacin y mejora de


procesos de software.

- Aplicar el estndar desarrollado en la industria del software.

- Promover la transferencia de conocimiento y de tecnologa sobre


procesos de software entre todas las empresas.

Proporciona un marco conceptual de valoracin que cumple con ISO/IEC 15504:


2003 e ISO/IEC 12207. ISO/IEC 15504, es un estndar internacional que es
aplicable a cualquier organizacin/empresa que quiere conocer y mejorar la
capacidad de sus procesos, independientemente del tipo de organizacin, del
modelo del ciclo de

El estndar completo vigente hoy en da se denomina ISO/IEC 15504,


Information Technology-Process Assessment: Evaluacin de Procesos de la
tecnologa de la informacin. vida adoptado, de la metodologa de desarrollo y de la
tecnologa utilizada.

1.ISO/IEC 15504-1:2004. Conceptos y vocabulario. Representa una


introduccin de la norma, proporciona un gua de uso de la misma. Se
incluyen trminos definidos especficamente para la norma.

60
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2.ISO/IEC 15504-2:2003/Cor 1:2004.Desarrollo de la evaluacin. Define los


requisitos que debe cumplir una evaluacin para que produzca
resultados repetibles, fiables y consistentes.

3.ISO/IEC 15504-3:2004. Orientacin sobre cmo realizar una evaluacin.


Proporciona una gua para poder utilizar los resultados de una
evaluacin en la mejora de los procesos evaluados.

4.ISO/IEC 15504-5. Ejemplar del proceso de evaluacin del modelo.


Proporciona un modelo totalmente compatible con la parte normativa,
incluye un conjunto de indicadores que facilitan el clculo de la
capacidad de los procesos.

De ISO/IEC 12207 se obtienen todos los procesos que una organizacin puede
realizar para comprar, suministrar, desarrollar, operar, mantener y dar soportar
software. La dimensin de la capacidad, formada por seis niveles de capacidad y
nueve atributos de procesos, proporciona una base para medir la capacidad de
dichos procesos, en funcin del grado de cumplimiento de sus atributos.

5.9.1.4 DESCRIPCIN DE LOS REQUISITOS DEL SOFTWARE (SRD)

El SRD debe especificar los requisitos para un determinado producto de


software, proyecto o conjunto de proyectos que realizan ciertas funciones en un
entorno especfico. Por tanto el SRD es un documento fundamental y es el punto de
partida del desarrollo de cualquier sistema software, debe cubrir todos los objetivos
en el anlisis de requisitos del software preferiblemente se recomienda el uso del
estndar IEEE 830-1998 ya analizado.

5.9.1.5 DOCUMENTACIN DEL USUARIO

La documentacin de usuario debe describir el control de entradas de datos,


secuencias de entrada, opciones, las limitaciones del programa, y cualquier otra
informacin esencial para el producto de software. La documentacin de usuario
forma parte de las especificaciones de requisitos. IEEE 828-2005

61
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9.1.6 PLAN DE GESTIN DE CONFIGURACIN DEL SOFTWARE (SCMP)

El SCMP debe documentar, las actividades y formas que deben llevarse a


cabo, quin es el responsable de distintas tareas, calendario de eventos, y qu
recursos se utilizarn.

5.9.1.7 VERSIONES DEL SOFTWARE

Conforme un proyecto evoluciona lo hacen al mismo tiempo los elementos de


software. Una versin de un elemento del software es un elemento identificado,
debe definirse una forma no ambigua de identificar cada versin de los
componentes para asegurar que se incluyan los componentes adecuados, no se
puede usar el nombre del elemento de la configuracin para identificar las versiones
debido a que hay diferentes versiones para cada elemento de la configuracin,
existen tres tcnicas bsicas utilizadas para la identificacin de los componentes.

5.9.1.8 BIBLIOTECA DE SOFTWARE

La biblioteca de software es una coleccin donde se almacena el software


para ofrecer un adecuado manejo de cdigo de software, documentacin, medios de
comunicacin, manejo de versiones, datos relacionados en diversas formas,
mltiples desarrolladores y est diseada para ayudar en el desarrollo del software
uso y mantenimiento. Para cada biblioteca se deber determinar el formato, los
requisitos de documentacin, requisitos de recepcin e inspeccin, procedimientos
de control de acceso, localizacin, etc.

5.9.1.9 CONTROL DE LA CONFIGURACIN DEL SOFTWARE

El control de configuracin del software le corresponde durante el ciclo de


vida del software a la gestin de cambios, el control de cambios es vital, son de gran
importancia los cambios porque una pequea transformacin en el cdigo puede
crear un gran fallo en el producto, el cambio incontrolado conduce al caos, esta
actividad es primordial y su principal objetivo es realizar un mecanismo para el

62
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

control de cambios, combina procedimientos humanos y herramientas


automatizadas.

Tareas especficas en el plan de gestin de configuracin

- Identificacin y documentacin de la necesidad del cambio.

- Anlisis y evaluacin de la peticin de cambio.

- Aprobacin o desaprobacin de la peticin.

- Verificacin, implementacin y liberacin del cambio.

5.9.2 ESPECIFICACIN DE LOS REQUISITOS SOFTWARE IEEE 830 1998

Se concretan las necesidades que se desean cubrir y se fijan las restricciones


con las que debe trabajar el software a desarrollar. El anlisis se realiza dentro de la
primera fase (fase de definicin) del ciclo de vida y tiene una importancia decisiva
para conseguir que el sistema que se construya finalmente sea realmente el que se
deseaba.

En este apartado se hace una descripcin de lo que va a contener el


documento. Para ello definiremos la importancia de los requisitos:

Una condicin o necesidad del usuario para resolver un problema o alcanzar


un objetivo.(Std 610.12-1900,IEEE62).

Condicin o capacidad que debe estar presente en un sistema o


componente del sistema para satisfacer un contrato, estndar, especificacin u otro
documento formal (Std 610.12-1900,IEEE62).

5.9.2.1 CABE DESTACAR:

El contrato: Es un documento legal obligatorio en el cual estn implicados el


cliente y proveedor. Se incluyen los requisitos tcnicos, requisitos de la
organizacin, costo y tiempo para un producto. Un contrato tambin puede contener

63
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

la informacin informal pero til como los compromisos o expectativas de las partes
involucradas.

Cliente y Proveedor: Establecer las bases para un acuerdo entre los clientes
y los proveedores en lo que se refiere al producto del software en que se va realizar,
descripcin completa de las funcionalidades para una buena especificacin de
requisitos del software, esto es muy importante ya que ayudar a los usuarios
potenciales a satisfacer sus necesidades, y esto conlleva modificaciones que
pueden reducir el esfuerzo del desarrollo y revisiones de los requisitos ya que puede
revelar omisiones, malentendidos y contradicciones a principios del ciclo de
desarrollo cuando los problemas son ms fciles de corregir.

5.9.2.2 REFERENCIAS

a) Especificar las fuentes de las cuales pueden obtenerse los documentos


referenciados.

b) Especificar las fuentes de las referencias obtenidas. Esta informacin


puede ofrecerse haciendo alusin a un apndice o hacia otro documento.

c) Identificar cada documento por ttulo, nmero de informe, fecha y editorial.


Como parte de documentacin utilizada mencionamos la siguiente documentacin:

- Descripcin del diseo del software (DDS).

- Plan de aseguramiento de la calidad del software (PAQS).

- Plan de documentacin del usuario de software (PDUS).

- Documentacin de pruebas de software.

- IEEE 1233- 1998 Gua para el desarrollo de especificaciones.

Establecer una gestin y entornos de ingeniera basados en los requisitos de calidad


de ISO / IEC 12119: 1994 (E).

64
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9.2.3 ELABORACIN DE LOS PERFILES DE USUARIO

No se puede disear correctamente una interfaz de usuario sin saber para


quin se hace, ya que un diseo apropiado para un usuario (en sentido colectivo) no
puede ser para otro. Hay que evitar en especial el error de que los desarrolladores
del software diseen la interfaz de usuario como si los usuarios fueran ellos mismos,
ya que tienen una cultura profesional y unos conocimientos de informtica muy
diferentes a los de la gran mayora de los usuarios.

1. Experiencia en torno hardware y software (ratn, teclado, ventanas etc.).

2. Experiencia en el trabajo.

3. Frecuencia de uso del software y grado de rotacin del personal

5.9.2.4 FIABILIDAD

Especificar los factores requeridos para establecer la fiabilidad requerida del


sistema del software al momento de la entrega. Definicin. La norma ISO / IEC
9126: 2004 define la "fiabilidad" como: "Un conjunto de atributos que influyen en la
capacidad de software para mantener su nivel de desempeo bajo las condiciones
establecidas para un perodo determinado de tiempo. "

5.9.2.5 USABILIDAD

Definicin. La norma ISO / IEC 9126:2004 define la "usabilidad" como: "Un


conjunto de atributos que influyen en el esfuerzo necesario para su uso, y en la
evaluacin individual de tal uso, implcita por un conjunto de usuarios. Se proponen,
adems, las definiciones de sub-caractersticas: comprensibilidad, facilidad de
aprendizaje y operatividad.

65
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9.2.6 SEGURIDAD

Especificar los factores que protegen el software del acceso accidental o


malvolo, uso, modificacin, destruccin o revelacin. La integridad de los datos
recogidos debe ser protegida.

5.9.2.7 MANTENIMIENTO

La norma ISO / IEC 9126: 2004 define el "mantenimiento", como "un conjunto
de atributos que influyen en el esfuerzo necesario para realizar las modificaciones
especificadas." Se propone, adems, las definiciones de sub-caractersticas:
anlisis, variabilidad, estabilidad y la capacidad de prueba. Para una entidad
adquiriente, el mantenimiento es especialmente importante cuando un objetivo es
adquirir el producto completo, incluyendo trazas del proceso de desarrollo de
software, con el fin de ser capaz de mantener el software despus de su entrega

5.9.2.8 PORTABILIDAD

Especificar atributos de software que relacionan la facilidad de portar el


software a otra computadora (servidor) y/o sistemas operativos. Definicin. La
norma ISO / IEC 9126:2004 define "portabilidad" como: "Un conjunto de atributos
que influyen en la capacidad del software para ser transferido de un entorno a otro."
Las definiciones de sub-caractersticas: capacidad de adaptacin, facilidad de
instalacin, la conformidad y reemplazo.

5.9.3 DESCRIPCIONES DEL DISEO DE SOFTWARE IEEE STD 1016 2009

En el diseo se inicia en el estudio de las etapas de desarrollo. Despus de


haber especificado QU se quiere resolver durante la especificacin, las etapas de
desarrollo se dedican a determinar CMO se debe resolver el proyecto.

66
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9.3.1 MBITO DE APLICACIN

Esta norma describe los diseos de software y establece el contenido de la


informacin y la organizacin de una descripcin del diseo de software (SDD). El
SDD es una representacin de un diseo de software que se utilizar para el
registro de informacin sobre el diseo y la comunicacin de la informacin de
diseo a las partes interesadas claves en el diseo.

5.9.3.2 PROPSITO

Esta norma especfica los requisitos sobre el contenido de la informacin y la


organizacin de las SDD. La norma especfica los requisitos para la seleccin de
lenguajes de diseo que se utilizarn para SDD, y los requisitos para la
documentacin de puntos de vista de diseo que se utilizarn en la organizacin de
un SDD.

5.9.4 FUNDAMENTOS DE LAS PRUEBAS. ADAPTADO DEL ESTNDAR IEEE


729

El propsito del software basado en pruebas de sistemas es ayudar a la


organizacin de desarrollo de la calidad a la construccin del software y al sistema
durante los procesos del ciclo de vida y para comprobar que la calidad se ha
logrado.

5.9.4.1 INTRODUCCIN

Se ha tomado de referencia el estndar IEEE 729-2008, el propsito de esta


norma est basado en pruebas del software, ayuda a la organizacin de desarrollo
de la calidad a la construccin del software y al sistema durante los procesos del
ciclo de vida y a comprobar que la calidad se ha logrado. La prueba del software
determina si los productos de una actividad del ciclo de vida cumplen con las
expectativas de los requisitos y adems el producto cumple con el uso previsto y las
necesidades del usuario. Para ello he suscitado algunos aspectos de mayor

67
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

importancia con respecto a esta norma adecundolos al estudio del siguiente


esquema:

Ilustracin 171 divisin de los temas para el KA de las Pruebas de Software

Se ha decidido optar por este esquema para su estudio porque me aporta


mayor claridad, est orientado a la confiabilidad del software y por ende las
pruebas del software es uno de los procesos fundamentales dentro del control
de la calidad de software.

La complejidad del software causa que los procesos de prueba jueguen


un papel primordial para aumentar la calidad del producto final, a lo largo de
este captulo se describen aspectos que estn relacionados con la prueba del
software.

La fase de las pruebas del software es un elemento crtico para la


garanta de la calidad del software y representa revisiones de las
especificaciones, del diseo y de la codificacin. La importancia de las pruebas
del software supone un 40% del coste total de desarrollo.

68
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9.4.2 PRUEBAS DE ACEPTACIN

Implican la planeacin y ejecucin de pruebas funcionales, de desempeo y de


tensin para demostrar que el sistema implantado satisface sus requisitos. A
menudo, se hacen correr en el programa dos conjuntos de prueba de aceptacin:

1. Aquellas pruebas desarrolladas por el grupo de control de calidad.

2. Y las que desarrolla el cliente

5.9.4.3 ERRORES VS FALLOS

Se define formalmente un error como la discrepancia entre un valor o


condicin calculado, observado o medido y el valor o condicin especfica o
tericamente correcta.

Se define formalmente un fallo: que comete el desarrollador.

Se define un defecto como la desviacin de estndares, y finalmente, fallo es


la consecuencia de un defecto. Por lo tanto estos dos trminos tienden a la
confusin y se utiliza uno de ellos de forma genrica.

5.9.4.4 CRITERIOS PARA DAR POR FINALIZADAS LAS PRUEBAS

Partiendo de la base, estadsticamente no hay ningn software entregado y


dado por finalizado que est libre de errores, s es necesario que exista un alto
porcentaje de confianza en el sistema desarrollado. Estadsticamente se acepta un
95% como porcentaje vlido.

En cualquier caso, un buen diseo de caso de prueba ayuda a elevar el grado


de confianza escogiendo aquellos casos de prueba que tengan ms probabilidades
de tener errores y cubran el espectro de pruebas de la forma ms amplia posible.

5.9.4.5 REALIZAR PRUEBAS PARA LA IDENTIFICACIN DE DEFECTOS

Una de las consideraciones ms importantes en la aplicacin del sistema de


prueba es determinar quin debe hacerlo. Para responder a esto de una manera
negativa, los programadores no deben realizar una prueba del sistema, y todas las

69
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

fases de prueba, en que la organizacin responsable del desarrollo de los


programas definitivamente no debe realizarse.

El primer punto se deriva del hecho de que una persona que realiza una
prueba del sistema debe ser capaz de pensar como un usuario final, lo que implica
un conocimiento profundo de las actitudes del usuario final y de cmo el programa
se utilizar.

Obviamente, si es posible, un candidato a prueba es uno o ms usuarios


finales. Sin embargo, debido a que el usuario final tpico no tiene la capacidad ni la
experiencia para realizar muchas de las categoras de las pruebas descritas
anteriormente, un equipo de sistema de prueba ideal podra estar compuesto por
unos pocos expertos profesionales del sistema de prueba (las personas que pasan
su vida en la realizacin de pruebas del sistema).

El segundo punto se deriva del hecho de que una prueba del sistema es un
"todo vale, no todo vale" de actividad. Una vez ms, la organizacin de desarrollo
tiene vnculos psicolgicos con el programa que van en contra de este tipo de
actividad.

5.9.4.5.1 Pruebas vs depuracin

Las pruebas tienen sus intentos de provocar fallos con el fin de detectar
fallos, mientras que la depuracin implica tanto el anlisis de fallos para localizar e
identificar las fallas asociadas y correccin de fallos posteriores. Las pruebas
pueden necesitar los resultados de anlisis de fallos de depuracin para decidir
sobre un curso de accin. Estas acciones pueden incluir la terminacin de la prueba
o una solicitud de cambios en los requerimientos o correccin de fallo.

5.9.4.5.2 Pruebas y certificacin

El enfoque de certificacin involucra los siguientes aspectos:

1. Creacin de escenarios de uso.

2. Especifica un perfil de uso.

70
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3. Generacin de casos de uso a partir del perfil

4. Las pruebas se ejecutan y los datos de fallo se registran y analizan

Se calcula la confiabilidad y se certifica

5.9.4.6 CONCLUSIONES

Se destacan los siguientes puntos:

- El objetivo de las pruebas del software es detectar el mayor nmero


posible de errores. Para lograrlo existen diferentes tcnicas de pruebas:
procedimientos tcnicos o de gestin que ayudan en la ejecucin, evaluacin y
mejora de los procesos de desarrollo software

- Tcnicas de caja blanca denominadas pruebas estructurales, utilizan el


cdigo fuente del programa y especialmente su estructura de control para
seleccionar casos de prueba. Tcnicas de caja negra o funcional, obtienen casos a
partir de los requisitos funcionales del programa a probar, por lo que no se tiene en
cuenta la forma en que se codifica esa funcionalidad, sino que se consideran
nicamente las entradas y las salidas.

5.9.4.7 PRUEBAS DE SISTEMA

La prueba del sistema es el proceso de prueba de un sistema integrado en su


entorno hardware y software para verificar que cumple con los requisitos
especificados, es decir:

- Cumplimiento de todos los requisitos funcionales, considerado el producto


software final al completo, en un entorno del sistema.

- Funcionamiento y rendimiento en las interfaces hardware, software, usuario,


operador.

- Acondicionamiento de la documentacin de usuario.

- Ejecucin y rendimiento en condiciones lmite y de sobrecarga

En ocasiones se realiza antes que las pruebas de validacin.

71
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Entre otras pruebas consta de:

- Pruebas de interfaces externas (hardware, software, usuario).

- Prueba de volumen.

- Pruebas de funcionamiento (funciones que desempea)

- Pruebas de recuperacin.

- Pruebas de seguridad.

- Pruebas de resistencia (condiciones de sobrecarga o lmite).

- Prueba de rendimiento / pruebas de comportamiento (condiciones


normales).

- Pruebas de fiabilidad.

- Pruebas de documentacin.

Las pruebas del sistema presentan tres fuentes principales para su diseo:

- Basado en los requisitos gracias a la tcnica de caja negra aplicada a las


especificaciones.

- Casos para probar el rendimiento del sistema y su capacidad funcional.

- Casos basados en el diseo de alto nivel, gracias a la tcnica de caja


blanca, aplicada a flujos de datos de alto nivel.

5.9.4.8 PRUEBAS DE INSTALACIN

Las pruebas de instalacin deben ser desarrolladas por la organizacin que


produjo el sistema, entregadas como parte del sistema, y ejecutar despus de que el
sistema est instalado. Entre otras cosas, los casos de prueba pueden comprobar
que un conjunto compatible de opciones ha sido seleccionado, que todas las partes
del sistema existen, que todos los archivos han sido creados y tienen los contenidos
necesarios, y que la configuracin de hardware es la adecuada.

La prueba de instalacin consiste en probar la aplicacin en su configuracin


de hardware final. Esto implica instalar la aplicacin en su entorno operativo real,

72
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

despus de ejecutar el conjunto de pruebas del sistema. Para las aplicaciones


comprimidas, las pruebas de instalacin consisten en ejecutar la aplicacin en
plataformas que tipificaran los entornos de los clientes.

Acontecimientos que se producen en la instalacin de sistemas de software.


Una breve lista de ejemplos incluye lo siguiente:

- El usuario debe seleccionar una variedad de opciones.

- Los archivos y las bibliotecas deben ser asignados y cargados.

- Las configuraciones de hardware vlidas deben estar presentes.

- Los programas pueden necesitar una conectividad de red para conectarse a


otros programas.

5.9.4.9 PRUEBAS ALFA Y BETA

Para comprobar que un producto software es realmente til para sus usuarios
es conveniente que estos ltimos intervengan tambin en las pruebas finales del
sistema. De esta manera se pueden poner de manifiesto nuevas deficiencias no
caracterizadas hasta entonces. Ejemplo:

- Mensajes ininteligibles para el usuario.

- Presentacin inadecuada de resultados.

- Deficiencias en el manual de usuario.

- Procedimientos de operacin inusuales

- etc.

Para la realizacin de estas pruebas se pueden necesitar semanas o meses


porque el usuario necesita ir aprendiendo el manejo del nuevo sistema. Es probable
que los problemas ms graves aparezcan ya al comienzo y por ello es aconsejable
que alguien del equipo de desarrollo acompae al usuario durante la primera toma
de contacto.

73
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Se denominan pruebas alfa a unas primeras pruebas que se realizan en un


entorno controlado donde el usuario tiene el apoyo de alguna persona del equipo de
desarrollo y a su vez esta misma persona puede seguir muy de cerca la evolucin
de las pruebas. En las pruebas beta, uno o varios usuarios trabajan con el sistema
en su entorno normal, sin apoyo de nadie, y anotando cualquier problema que se
presente.

Las versiones alfa: Se dan a los usuarios internos o a un grupo selecto y


confiable de usuarios externos para los primeros usos antes de la liberacin. Su
propsito es proporcionar retroalimentacin a la organizacin de desarrollo e
informacin de defectos de un grupo ms grande que el de los probadores, sin
afectar la reputacin del producto no liberado. Despus de repartir las versiones
alfa, se liberan las versiones beta.

Las versiones beta: Se dan a parte de la comunidad de clientes con el


entendimiento de que informarn acerca de los errores encontrados. Adems, las
versiones alfa y beta se usan para convencer a los clientes potenciales de que en
realidad se trata de un producto que respalda las promesas de los proveedores

5.9.4.10 PRUEBAS DE RENDIMIENTO

Sirven para comprobar las prestaciones del sistema que son crticas en el
tiempo. Estas pruebas son fundamentales para los sistemas de tiempo real o
sistemas embebidos. Para medir los tiempos se necesitan equipos de
instrumentacin. Ejemplo, se puede forzar al sistema provocando mltiples
interrupciones simultneamente para medir el tiempo mximo que se emplea en
tratarlas. La prueba de rendimiento ocurre a lo largo de todos los pasos de prueba e
incluso en el nivel de unidad, se puede acceder al rendimiento de un mdulo
individual a medida que se desarrollan las pruebas. Todas estas pruebas se han
realizado en este software tanto a nivel de Processing como Arduino ms Web y se
adjuntan resultados en el Anejo correspondiente.

74
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9.4.11 PRUEBAS DE CONFIGURACIN

Programas tales como sistemas operativos, sistemas de gestin de datos y


programas de conmutacin de mensajes de apoyo de gran variedad de hardware de
configuraciones, incluyendo diferentes tipos y nmeros de E/S y dispositivos de
lneas de comunicacin, o de distintos tamaos de memoria.

A menudo, el nmero de configuraciones posibles es demasiado grande para


poner a prueba cada una de ellas, pero por lo menos, debe probar el programa con
cada tipo de dispositivo de hardware y con la configuracin mnima y mxima. Si el
propio programa puede ser configurado para omitir los componentes del programa,
o si el programa puede ejecutarse en equipos diferentes, de cada posible
configuracin del programa debe hacerse la prueba

5.9.4.12 PRUEBAS DE FACILIDAD DE USO

Las pruebas de uso se disean para determinar el grado de la interfaz que


facilita la vida del usuario. Las pruebas finales las realizar el usuario final siguiendo
para ello la siguiente secuencia de pasos:

- Definir un conjunto de prueba de uso mediante categoras e identificar las


metas que se persiguen de cada una.

- Diseo de pruebas que conllevan la evaluacin de cada una de las metas


que se deben alcanzar.

- Seleccionar al usuario que desarrollar las pruebas.

- Realizar un mecanismo para valorar el uso

5.9.4.13 ANLISIS DE LOS VALORES LMITE

El anlisis de los valores lmites se centra en el lmite del espacio de entrada


para identificar casos de prueba. El fundamento de las pruebas de valor de lmite es
que los errores tienden a ocurrir cerca de los valores lmites de una variable de
entrada.

75
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La idea bsica del anlisis de valores lmite es el uso de valores de entrada,


es obtener un valor nominal mnimo y valor nominal mximo para controlar el valor
de las variables fronteras.

5.9.4.14 PRUEBAS ORIENTADAS A LA CONFIABILIDAD DEL SOFTWARE

La meta de todo tipo de pruebas es la mejora de la fiabilidad del programa,


pero si los objetivos del programa incluyen declaraciones especficas sobre la
confiabilidad, las pruebas especficas de fiabilidad pueden ser desarrolladas.

Las pruebas en los objetivos de confiabilidad pueden ser difciles. Por


ejemplo, en una red de rea extensa (WAN), un proveedor de servicios de Internet
tiene generalmente un tiempo de actividad especfica del 99,97 por ciento durante la
vida til del sistema. No se conoce ninguna manera de que se podra poner a
prueba este objetivo con un perodo de prueba de meses o incluso aos. Los
sistemas crticos en el software de hoy en da tienen estndares de confiabilidad, y
el hardware de hoy posiblemente se podra esperar para apoyar estos objetivos.

5.9.4.15 BASADAS EN COMPONENTES

Denominada prueba de funcin, permite un enfoque mediante un conjunto de


pruebas que intentan descubrir errores en funciones webapps (web del conjunto de
aplicaciones de productividad. Las aplicaciones web permiten a los usuarios acceder
a sus documentos directamente desde cualquier parte dentro de un navegador web
as como compartir archivos y colaborar con otros usuarios en lnea).

Cada funcin webapps es un componente del software implantado en uno o


varios lenguajes de programacin y se prueban utilizando tcnicas de caja negra y
en algunos casos de caja blanca. A continuacin especificaremos los casos de
prueba en los siguientes mtodos aunque los hemos explicado con ms detalle en
apartados anteriores:

76
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.9.4.16 PRUEBAS PARA INTERNET

Las aplicaciones de Internet son esencialmente aplicaciones cliente-servidor


en las que el cliente es un navegador web y el servidor es un servidor web o
aplicacin.

La complejidad de estas aplicaciones es muy dispar. Algunas empresas han


construido aplicaciones para el negocio-a-consumidor y utilizan como servicios
bancarios o tiendas al por menor, mientras que otros tienen las aplicaciones de
negocio como la gestin de la cadena de suministro. Desarrollo y presentacin de
usuario/estrategias de interfaz de usuario varan para los distintos tipos de sitios
web, y por lo tanto el enfoque de las pruebas vara para los diferentes tipos de sitios.

El objetivo de las pruebas de aplicaciones basadas en Internet no es diferente


de la de las aplicaciones tradicionales. Es necesario para descubrir errores en la
aplicacin antes de implementarla en Internet. Dada la complejidad de estas
aplicaciones y la interdependencia de los componentes.

5.9.4.17 LAS ESTRATEGIAS DE EVALUACIN

Desarrollar una estrategia de pruebas para aplicaciones basadas en Internet


requiere de una slida comprensin de cada uno de los componentes de hardware y
software que componen la aplicacin.

Capa a nivel de presentacin

La capa de presentacin consiste en encontrar errores en la gua de interfaz


de usuario (GUI). Esta capa es importante porque proporciona el encanto de la
aplicacin, el detectar y corregir errores en esta capa son crticos al presentar un
enfoque de calidad. Las pruebas de capa a nivel de presentacin son muy
laboriosas. Se identifican tres grandes reas de pruebas en capa de presentacin:

- Contenido de prueba: Esttica general, las fuentes, el color, la ortografa, la


exactitud del contenido, los valores por defecto.

- Sitio web de arquitectura: Los enlaces rotos o grficos.

77
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

- Entorno de usuario: Versiones del navegador web y la configuracin del


sistema operativo.

Capa a nivel de negocio

La Prueba de la capa de negocio se centra en la bsqueda de errores, en la


lgica de negocio de la aplicacin de Internet. Es muy similar a las pruebas de
aplicaciones independientes en las que se pueden emplear tanto tcnicas de caja
blanca como de caja negra. Se crean planes de pruebas y procedimientos que
detectan errores en los requisitos de rendimiento de la aplicacin, adquisicin de
datos y procesamiento de transacciones.

Capa a nivel de datos

La prueba de la capa de datos consiste principalmente en probar el sistema


de gestin de base de datos que utiliza la aplicacin para almacenar y recuperar
informacin.

Sitios ms pequeos pueden almacenar datos en archivos de texto, pero ms


grandes, es decir los sitios ms complejos utilizan todas las funciones de nivel
empresarial de bases de datos. Dependiendo de sus necesidades, se pueden
utilizar ambos mtodos.

Uno de los mayores desafos relacionados con las pruebas de esta capa es
duplicar el entorno de produccin. Deben utilizarse las plataformas de hardware y
las versiones equivalentes de software para realizar pruebas vlidas. Una vez que
se obtienen los recursos, tanto financieros como de trabajo, se debe desarrollar una
metodologa para el mantenimiento de produccin y pruebas sincronizadas. Al igual
que con los dems niveles, deben buscarse errores en ciertas reas cuando se
prueba la capa de datos

5.9.4.18 PRUEBAS PARA GUI

La caracterstica principal de cualquier interfaz grfica de usuario (GUI) es


que est orientado a eventos. Los usuarios pueden causar cualquiera de varios
eventos en cualquier orden. Aunque es posible crear aplicaciones GUI en secuencia

78
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

de eventos, muchas interfaces grficas de usuario son deficientes en este sentido.


Las pruebas de interfaz de usuario hombremquina. Existen dos roles bien
diferenciados:

- Probar la interfaz de usuario para garantizar que funciona correctamente


desde el punto de vista tcnico y que cumple los estndares y requisitos definidos.

- Usabilidad de la interfaz. La usabilidad se deriva de una comunicacin


efectiva de la informacin. Por ende, es necesario tener en cuenta los requisitos de
usuario y desarrollar la interfaz de usuario de acuerdo con ellos.

Las principales GUIs de este PFC estn basadas en Processing, y existe una
aplicacin web con interface multiplataforma. La compatibilidad se adjunta en el
Anejo anteriormente citado.

5.9.4.19 GUAS PARA LAS PRUEBAS

Para la mayora de las empresas la gua para un plan de pruebas es una


parte muy importante en la gestin del proceso de pruebas.

Objetivos Los objetivos de cada fase de prueba deben ser definidos

Los criterios de terminacin: Los criterios deben ser diseados para


especificar cada fase de pruebas y deber evaluarse si son completos.

Horarios: La agenda planifica el tiempo necesario para cada fase. Se deben


indicar los casos de prueba diseados, escritos y ejecutados. Algunas metodologas
de software, tales como la programacin extrema exigen que se diseen los casos
de prueba y pruebas unitarias antes de codificar la aplicacin y antes de
comenzarlas.

Responsabilidades: Para cada fase, las personas que disean, escriben,


ejecutan y controlan los casos de prueba, y las personas que se comprometen a
reparar los errores descubiertos, deben ser identificados. Ya que en los grandes
proyectos las disputas por desgracia pueden surgir en torno si los resultados de la

79
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

prueba en particular representan los errores, para no entrar en discusin deben ser
identificados.

Bibliotecas de casos de prueba y las normas: En un proyecto grande, los


mtodos sistemticos para identificar, escribir y almacenar casos de prueba son
necesarios.

Herramientas: Las herramientas de prueba necesarias deben ser


identificadas, incluyendo un plan de desarrollo, adquisicin, cmo se van a utilizar, y
cuando se necesitan.

Tiempo en el ordenador: Este es un plan para la cantidad de tiempo de


ordenador necesario en cada fase de pruebas. Esto incluye los servidores utilizados
para compilar aplicaciones, si es necesario, las mquinas de escritorio necesarias
para las pruebas de instalacin, los servidores web para aplicaciones basadas en
web, los dispositivos de red, si son necesarios, y as sucesivamente.

Configuracin de hardware: Si las configuraciones especiales de hardware


o dispositivos son necesarios, un plan es necesario que se describen los requisitos,
la forma en que se cumplen, y cuando se necesitan.

Integracin: Parte del plan de pruebas es una definicin de cmo el


programa ser reconstruido. Un sistema que contiene los principales subsistemas o
programas puede ser reconstruido de forma incremental, utilizando el enfoque de
arriba hacia abajo o de abajo hacia arriba, por ejemplo, los bloques de construccin
son los programas o subsistemas, en lugar de los mdulos. Si este es el caso, un
plan de integracin de sistemas es necesario. El plan de integracin del sistema
define el orden de integracin, la capacidad funcional de cada versin del sistema, y
las responsabilidades para la produccin y el cdigo que simula el funcionamiento
de los componentes no existentes.

Seguimiento de los procedimientos: Los medios deben ser identificados


para realizar un seguimiento de diversos aspectos del progreso de las pruebas,
incluyendo la ubicacin de mdulos propensos a errores y la estimacin de los
avances con respecto al calendario, los recursos y los criterios de terminacin.

80
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Depuracin de procedimientos: Los mecanismos de depuracin deben ser


definidos mediante un informe en el cual se ha detectado el seguimiento del
progreso de las correcciones, y el aadir las correcciones al sistema. Horarios,
responsabilidades, herramientas, equipo y tiempo, recursos tambin deben ser parte
del plan de depuracin.

Pruebas de regresin: Se llevan a cabo despus de realizar una mejora


funcional o reparacin para el programa. Su propsito es determinar si el cambio ha
retrocedido en otros aspectos del Programa. Por lo general se vuelve a ejecutar un
subconjunto de casos de prueba del programa. Las pruebas de regresin son
importantes porque los cambios y correcciones de errores tienden a ser mucho ms
propensos al error que el cdigo del programa original. Un plan para las pruebas de
regresin, quin, cmo, cundo, tambin es necesario.

5.9.5 ESTNDARES

INTERNATIONAL STANDARD IEEE Std 12207-2008. Systems and


Software

Engineering Software life cycle processes. Second edition 2008-02-01,


138 p.

INTERNATIONAL STANDARD IEEE Std 1016-2009. IEEE Standard


for Information Technology Systems Design Software Design
Descriptions. 20 July

2009, 40 p.

INTERNATIONAL STANDARD IEEE Std 15288-2008. Systems and


software

engineering System life cycle processes. Second edition 2008-02-01,


84p.

INTERNATIONAL STANDARD IEEE Std 1471-2000. Systems and


software engineering Recommended practice for architectural

81
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

description of software intensive systems. First edition 2007-07-15,


34p.

lEEE Std 610.12-1990 IEEE Standard Glossary of Software


Engineering Terminology. 84p.

IEEE Std 1320.1-1998 IEEE Standard for Functional Modeling


Language Syntax and Semantics for IDEF0. 115 p.

INTERNATIONAL STANDARD IEEE Std 1465-1998(R2004). Adoption


of

International Standard ISO/IEC 12119: 1994(E) Information Technology


Software Packages Quality requirements and testing. Reaffirmed 8
December 2004, 25 p.

INTERNATIONAL STANDARD IEEE Std 1465-1998(R2004) [Adoption


of ISO/IEC 12119: 1994(E)]. Information Technology Software
packages Quality requirements and testing. Reaffirmed 8 December
2004, 25 p.

INTERNATIONAL STANDARD IEEE Std 1028-2008 (Revision of IEEE


Std 1028-1997). IEEE Standard for Software Reviews and Audits.
Approved 16 June 2008, 52 p.

INTERNATIONAL STANDARD IEEE Std 828-2005 (Revision of IEEE


Std 828- 1998). IEEE Standard for Software Configuration
Management Plans. 12 August 2005, 27 p.

82
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

5.10 ERRORES EN EL PROYECTO

En el caso de existir errores de diseo se dar cuenta al proyectista para dar


con la solucin al problema.

Adems se prohibir el uso de la aplicacin por posibles daos que pueda


ocasionar hasta que el error se vea subsanado.

5.11 LIQUIDACIN

Terminada la elaboracin del proyecto se proceder a la liquidacin, donde se


incluyen los importes correspondientes a la elaboracin del proyecto.

En el caso de que surgiera alguna posible modificacin aprobada por la


direccin del proyecto el contratante ser el encargado de abonar este importe
ntegramente.

En el momento de que el cliente manifieste su conformidad con el producto


recibido se consideran concluidos los compromisos por ambas partes, exceptuando
el anterior periodo de garanta, que ser de obligado cumplimiento por parte del
proyectante.

Los tiempos y porcentajes estn explicados en este mismo documento en


captulos anteriores

5.12 DISPOSICIN FINAL

Las partes contratantes, se ratifican en el contenido del pliego de


condiciones, el cual tiene igual validez a todos los efectos, que una escritura pblica,
prometiendo fiel cumplimiento.

83
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

84
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

FIN DE DOCUMENTO:

PLIEGO DE CONDICIONES

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

85
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

86
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

DOCUMENTO N 6: PRESUPUESTO

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6. PRESUPUESTO

6.1 INTRODUCCIN

Este presupuesto no incluye amortizaciones de material, ni otro tipo de gastos


bsicos como ordenadores personales de sobremesa, porttiles, o telfonos
mviles. Siendo prcticos, se sobreentiende que se dispone de dicho material.
Tampoco se tiene en cuenta gastos como conexiones a internet, wifi, etc.

De la misma forma no se ha contado para ello, un Beneficio Industrial de lo


supondra la venta de este proyecto, principalmente porque ste PFC es slo una
base de partida de lo que se puede llegar a implantar con las aplicaciones que aqu
se desarrollan o que se pueden llegar a crear usando las funciones bsicas
programadas.

Igualmente, no se han contado las horas de programacin, puesto que se


desconoca por completo el funcionamiento de Processing, Arduino ,etc . Y aunque
se tenan conocimientos altos en programacin, comenzar el estudio de un nuevo
lenguaje siempre es un reto complejo. Se podra estimar:

Horas dedicadas a aprendizaje y posterior programacin: 250-275 horas.

a un coste terico de 40 euros la hora (10 euros real), disparara el precio


del proyecto en 10.000 euros, lo que lo hace inviable.

Tambin es cierto que si ahora se tuviera que desarrollar este mismo paquete
de software las horas que haran falta seran alrededor de 100 horas, lo que ya
acercan el precio a un valor de mercado, a un pago real de 10 euros la hora, el
incremento del presupuesto sera de 1.000 euros, asumible perfectamente para
cualquier empresa interesada.

Pero, como se ha explicado, una vez desarrolladas las apps principales, y las
configuraciones de sensores, etc. Todo el sistema est preparado implantar nuevas
aplicaciones a partir de las funciones creadas. Si ahora se recibiera un encargo de
instalar dos sensores cualesquiera en la placa y crear una aplicacin personalizada

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

las horas dedicadas apenas seran unas 25 si no surgen complicaciones. Lo que


incrementa el coste de material, en 250 euros. Correcto.

Por otro lado hay que pensar con mentalidad de empresarios y no de


ingenieros. Para hacer viable un proyecto de este tipo habr que pensar en generar
unos costes constantes. Vender una aplicacin en un pago nico, no licenciada
como este caso no sera viable a nivel comercial. Se explica en el siguiente captulo
algunas opciones para ofertar este producto.

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.2 ESTADO DE MEDICIONES

Unidades necesarias de material.


DESCRIPCIN DEL MATERIAL UNIDADES
FUTABA 14 SG (FASSTEST 2.4GHz) 1
Estabilizador Naza 1
GPS V2 kit DJI Naza H 1
Pareja porta helice cw + cww 2
Leopard 730 Kv LC2835 4
MN3508 700KV Brushless 4
Regulador DJI 15A (ESC) 3-4 Lipo 4
T-Motor ESC S35A 2-6S 600 Hz 4
E600 (6*Motor/ESC; props; Accessories) 1
T-Mot 15-5.5 V2 CF MULTIROTOR PROPS 2
Bateria lipo 5100mAh 11.1V 3S 35C 1
bateria lipo 3000 mA 4S 40C 1
Phantom 2 y Vision DJI F 330 1
Lipo 2650mAh 3S 30C Lipo Pack 1
bateria lipo 3000 mA 4S 40C 1
Chasis DJI F550 1
Cableado 20
Completo Phantom 2 - 330 + Tx - RTF 1
GoPro Hero3 Wifi 1
Tarjeta ultra fast class 10 1
Maletines de transporte 1
Licencia IDE de Arduino 3
Licencia Hardware Arduino 3
Licencia del IDE Processing 3
Licencia GIMP 1
Licencia Bootstrap 1
Licencia html5 1
Licencia CSS3 1
Licencia J2me 1
Licencia JavaScript 1
Licencia LSS 1
Licencia Json 1
Licencia PHPtriad 1
Licencia WAMP 1
Licencia Easy PHP 1
Licencia Linux Ubuntu 13 1
Licencia Windows 7 OEM 1
Licencia Google Chrome 1
Licencia Mozilla Firefox 1
Licencia Libreria Adafruit 1
Licencia Eclipse 1
Licencia Librera MTK GPS 1
Licencia Librera Control IP5 1
Licencia Librera Unfolding 1
Licencia Notepad ++ 1
Licencia Sublime Text 1
Licencia Brackets LSS 1
Licencia 3DR radion config 1
Licencia XCTU para Xbee 1
Licencia OpenGL 1
Editor CSS 1
Editor LSS 1

4
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
Licencia Json Edit 1
Licencia Blue Griffon 1
Licencia Open Office 1
Licencia PHP 1
Licencia php My Admin 1
Licencia Apache 1
Licencia JS 1
FUTABA 14 SG (FASSTEST 2.4GHz) 1
Estabilizador Naza 1
GPS V2 kit DJI Naza H 1
Pareja porta helice cw + cww 2
Leopard 730 Kv LC2835 4
MN3508 700KV Brushless 4
Regulador DJI 15A (ESC) 3-4 Lipo 4
T-Motor ESC S35A 2-6S 600 Hz 4
E600 (6*Motor/ESC; props; Accessories) 1
T-Mot 15-5.5 V2 CF MULTIROTOR PROPS 2
Bateria lipo 5100mAh 11.1V 3S 35C 1
bateria lipo 3000 mA 4S 40C 1
Phantom 2 y Vision DJI F 330 1
Lipo 2650mAh 3S 30C Lipo Pack 1
bateria lipo 3000 mA 4S 40C 1
Chasis DJI F550 1
Cableado 20
Completo Phantom 2 - 330 + Tx - RTF 1
GoPro Hero3 Wifi 1
Tarjeta ultra fast class 10 1
Maletines de transporte 1

5
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.3 LISTA DE PRECIOS

Actualizado julio 2014.


DESCRIPCIN DEL MATERIAL COSTE UNITARIO

Arduino Ethernet 45

Router de 4 Puertos 35

Cable de Red 12

Fuente de Alimentacin 21

Pila 9v. 3

Conectores Pila Arduino 1

Cabel usb 9

Resistencia 10k 0,1

Ardupilot Mega 2. 50

Arduino Uno 39

LM35 0,99

Xbee explorer usb 22

3DR 80

Xbee 115

Sonda NTC 19

Sensor LDR 0,54

Potenciometro 0,25

GPS GTPA 010 35

GPS GTPA 013 39

Cableado 0,1

Protoboards 1

Licencia IDE de Arduino 0

Licencia Hardware Arduino 0

Licencia del IDE Processing 0

Licencia GIMP 0

Licencia Bootstrap 0

Licencia html5 0

Licencia CSS3 0

6
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Licencia J2me 0

Licencia JavaScript 0

Licencia LSS 0

Licencia Json 0

Licencia PHPtriad 0

Licencia WAMP 0

Licencia Easy PHP 0

Licencia Linux Ubuntu 13 0

Licencia Windows 7 OEM 0

Licencia Google Chrome 0

Licencia Mozilla Firefox 0

Licencia Libreria Adafruit 0

Licencia Eclipse 0

Licencia Librera MTK GPS 0

Licencia Librera Control IP5 0

Licencia Librera Unfolding 0

Licencia Notepad ++ 0

Licencia Sublime Text 0

Licencia Brackets LSS 0

Licencia 3DR radion config 0

Licencia XCTU para Xbee 0

Licencia OpenGL 0

Editor CSS 0

Editor LSS 0

Licencia Json Edit 0

Licencia Blue Griffon 0

Licencia Open Office 0

Licencia PHP 0

Licencia php My Admin 0

Licencia Apache 0

Licencia JS 0

FUTABA 14 SG (FASSTEST 2.4GHz) 529

7
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

Estabilizador Naza 155

GPS V2 kit DJI Naza H 161

Pareja porta helice cw + cww 19,9

Leopard 730 Kv LC2835 38

MN3508 700KV Brushless 65

Regulador DJI 15A (ESC) 3-4 Lipo 22,99

T-Motor ESC S35A 2-6S 600 Hz 40

E600 (6*Motor/ESC; props; Accessories) 450

T-Mot 15-5.5 V2 CF MULTIROTOR PROPS 121

Bateria lipo 5100mAh 11.1V 3S 35C 79

bateria lipo 3000 mA 4S 40C 26

Phantom 2 y Vision DJI F 330 109

Lipo 2650mAh 3S 30C Lipo Pack 49

bateria lipo 3000 mA 4S 40C 65

Chasis DJI F550 55

Cableado 0,5

Completo Phantom 2 - 330 + Tx - RTF 625

GoPro Hero3 Wifi 350

Tarjeta ultra fast class 10 65

Maletines de transporte 210

8
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.4 LISTA DE MATERIAL

Se adjuntan listas de materiales necesarios para fabricacin y pruebas. Para


listas definitivas habra que contar solo con el material imprescindible. Por ejemplo,
en este caso se han montado dos equipos para vuelo, uno personalizado, y otro
comercial, cada uno con una serie de caractersticas.

Asimismo, al hacer pedidos de material en componentes electrnicos no se


compran por unidades si no por packs en parejas, o decenas. De los cuales
sobraran luego bastantes elementos.

Se podra estudiar si fuera preciso el coste por unidad. Desestimado, por ser
insignificante.

Estos costes de materiales se podra decir que son para estudio y


anlisis. No para el proyecto final de cada situacin, de un cliente en
particular.

9
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.4.1 PLACAS, ARDUINOS Y COMPONENTES

Este es un listado expandido. Hay ms componentes de los que realmente


necesita el proyecto. Pero este material es importante para fabricacin y montaje.

PFC - 2014 FECHA: 16/07/2014


N DE
Presupuestos PRESUPUESTO: 1

PARA: Universidad de La Rioja


Direccin : Logroo
Ciudad, Cdigo postal FACTURAR A: Nombre : Universida de La Rioja
Telfono: 629486109
Fax: 629486109 Direccin
Ciudad, Cdigo postal
Telfono: 629486109

DESCRIPCIN DEL
UNIDADES COSTE UNITARIO IMPORTE
MATERIAL
Arduino Ethernet 1 45 45,00
Router de 4 Puertos 1 35 35,00
Cable de Red 1 12 12,00
Fuente de Alimentacin 1 21 21,00
Pila 9v. 4 3 12,00
Conectores Pila Arduino 4 1 4,00
Cabel usb 3 9 27,00
Resistencia 10k 10 0,1 1,00
Ardupilot Mega 2. 1 50 50,00
Arduino Uno 1 39 39,00
LM35 1 0,99 0,99
Xbee explorer usb 1 22 22,00
3DR 1 80 80,00
Xbee 1 115 115,00
Sonda NTC 1 19 19,00
Sensor LDR 1 0,54 0,54
Potenciometro 1 0,25 0,25
GPS GTPA 010 2 35 70,00
GPS GTPA 013 1 39 39,00
Cableado 20 0,1 2,00
Protoboards 2 1 2,00
SUBTOTAL 596,78
IVA 21,00%
OTROS -
TOTAL 722,10

10
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.4.2 LICENCIAS EN EL SOFTWARE

El 99% del proyecto se realiza sobre licencias OS. Y el resto, son de uso
gratuito aunque no de acceso al cdigo. Vase, Windows OEM

PFC - 2014 FECHA: 16/07/2014


N DE
Presupuestos PRESUPUESTO: 2

PARA: UR
Direccin : Logroo
Ciudad, Cdigo postal FACTURAR A: Nombre :
Telfono: 629486109 Universidad de La Rioja
Fax: Direccin
Ciudad, Cdigo postal
Telfono:

DESCRIPCIN DEL MATERIAL UNIDADES COSTE UNITARIO IMPORTE


Licencia IDE de Arduino 3 0 -
Licencia Hardware Arduino 3 0 -
Licencia del IDE Processing 3 0 -
Licencia GIMP 1 0 -
Licencia Bootstrap 1 0 -
Licencia html5 1 0 -
Licencia CSS3 1 0 -
Licencia J2me 1 0 -
Licencia JavaScript 1 0 -
Licencia LSS 1 0 -
Licencia Json 1 0 -
Licencia PHPtriad 1 0 -
Licencia WAMP 1 0 -
Licencia Easy PHP 1 0 -
Licencia Linux Ubuntu 13 1 0 -
Licencia Windows 7 OEM 1 0 -
Licencia Google Chrome 1 0 -
Licencia Mozilla Firefox 1 0 -
Licencia Libreria Adafruit 1 0 -
Licencia Eclipse 1 0 -
Licencia Librera MTK GPS 1 0 -
Licencia Librera Control IP5 1 0 -
Licencia Librera Unfolding 1 0 -
Licencia Notepad ++ 1 0 -
Licencia Sublime Text 1 0 -
Licencia Brackets LSS 1 0 -
Licencia 3DR radion config 1 0 -

11
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
Licencia XCTU para Xbee 1 0 -
Licencia OpenGL 1 0 -
Editor CSS 1 0 -
Editor LSS 1 0 -
Licencia Json Edit 1 0 -
Licencia Blue Griffon 1 0 -
Licencia Open Office 1 0 -
Licencia PHP 1 0 -
Licencia php My Admin 1 0 -
Licencia Apache 1 0 -
Licencia JS 1 0 -
Donaciones a Proyectos Open
5 2 10,00
Source
SUBTOTAL 10,00
IVA 21,00%
OTROS -
TOTAL 12,10

12
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.4.3 LISTADO DE MATERIAL RELATIVO AL VUELO

Este es un listado expandido. Hay ms componentes de los que realmente


necesita el proyecto. Pero este material es importante para fabricacin y montaje.

PFC - 2014 FECHA: 16/07/2014


N DE
Presupuestos PRESUPUESTO: 3

PARA: Universidad de La Rioja


Direccin : Logroo
Ciudad, Cdigo postal FACTURAR A: Universidad de La Rioja
Telfono: 629486109 Universidad de La Rioja
Fax: Direccin
Ciudad, Cdigo postal
Telfono: 629486109

DESCRIPCIN DEL MATERIAL UNIDADES COSTE UNITARIO IMPORTE


FUTABA 14 SG (FASSTEST 2.4GHz) 1 529 529,00
Estabilizador Naza 1 155 155,00
GPS V2 kit DJI Naza H 1 161 161,00
Pareja porta helice cw + cww 2 19,9 39,80
Leopard 730 Kv LC2835 4 38 152,00
MN3508 700KV Brushless 4 65 260,00
Regulador DJI 15A (ESC) 3-4 Lipo 4 22,99 91,96
T-Motor ESC S35A 2-6S 600 Hz 4 40 160,00
E600 (6*Motor/ESC; props; Accessories) 1 450 450,00
T-Mot 15-5.5 V2 CF MULTIROTOR
2 121 242,00
PROPS
Bateria lipo 5100mAh 11.1V 3S 35C 1 79 79,00
Bateria lipo 3000 mA 4S 40C 1 26 26,00
Phantom 2 y Vision DJI F 330 1 109 109,00
Lipo 2650mAh 3S 30C Lipo Pack 1 49 49,00
Nateria lipo 3000 mA 4S 40C 1 65 65,00
Chasis DJI F550 1 55 55,00
Cableado 20 0,5 10,00
Completo Phantom 2 - 330 + Tx - RTF 1 625 625,00
GoPro Hero3 Wifi 1 350 350,00
Tarjeta ultra fast class 10 1 65 65,00
Maletines de transporte 1 210 210,00
SUBTOTAL 3.883,76
IVA 21,00%
OTROS -
TOTAL 4.699,35

13
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.5 RESUMEN DEL PRESUPUESTO.

El coste necesario para crear las placas, montajes, componentes


asciende a 596,78 Quinientos noventa y seis euros y setenta y ocho
cntimos. IVA no incluido.

El coste en licencias de software asciende a: 10 . Diez euros. IVA no


incluido. Desgravable por ser donacin.

El coste de material de vuelo asciende a 3.883,76 Tres mil


ochocientos ochenta y tres euros y setenta y seis cntimos. IVA no
incluido.

Firmado:

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

14
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.6 PRECIO PARA VENTA COMO PACK

No sera viable vender un solo pack de este producto. Para amortizarlo se


deberan vender miles de unidades y eso sera realmente difcil por la infraestructura
que conllevara una empresa de dichas caractersticas de stock, ingenieros tcnicos
y programadores de alto nivel.

6.7 PRECIO PARA ALQUILER

La nica salida de este proyecto sera en licencia de alquiler. Una


contratacin mensual, o salidas discretas previa contratacin personalizada. Se ven
algunos ejemplos:

Una salida para tomar mediciones de humos en una fbrica: 300 euros
la media jornada. Incluyendo viajes, seguros de vuelo, licencias, etc.

Contratacin mensual que incluya una salida de urgencia 24horas, y 3


programadas: 1.000 euros/mensuales. Incluyendo viajes, seguros de
vuelo, licencias, etc.

Sistema de Arduino conectado a Ethernet sin equipo de vuelo: Dando


mediciones en una bodega de las humedades y temperaturas de la
misma; incluyendo apps, servicio web, hosting, dominio, etc : 300
euros mensuales.

Con este tipo de servicios este PFC podra llegar a ser viable, y as lo cree su
autor.

15
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

6.8 PRESENTACIN A CONCURSOS PUBLICOS. RGIMEN


CONCURSAL

Sin incurrir en baja temeraria se mantendr el precio de listado de material


del proyecto y se cambiarn las horas de programacin para convertirlo en un
proyecto realista. Se usaran las horas dedicadas a software como se ha explicado
en el segundo punto. Descartando por completo todo el periodo de aprendizaje o de
creacin de las aplicaciones.

Se eliminan las horas de los programadores y tcnicos que tuvieran que


desarrollar y montar el proyecto y se parte desde cero en este punto. Se calcularn
las horas necesarias solo para la aplicacin personalizada del cliente basndose
en el cdigo ya existente. Por otro lado el precio por hora como se indica bajar a
precio de mercado.

*Los precios no incluyen IVA.

*Los precios y presupuesto no incluyen retenciones de IRPF u otros


impuestos o gravmenes.

16
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

FIN DE DOCUMENTO:
PRESUPUESTOS

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

17
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

18
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

PROYECTO FIN DE CARRERA:

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

DOCUMENTO N7:

ESTUDIOS CON ENTIDAD PROPIA

Peticionario: DEPARTAMENTO DE INGENIERA ELECTRICA

Informantes: Eduardo Garbayo Herce

Alumno de Ingeniera Industrial

Universidad de La Rioja

Lugar y Fecha: Logroo, 12 de Julio de 2014

1
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

7. ESTUDIOS CON ENTIDAD PROPIA

La norma UNE 157001 (aplicada como segunda norma en este proyecto,


pero siendo en la que se basa la norma aplicada) Criterios Generales para la
Elaboracin de Proyectos establece que el proyecto constar de los documentos
presentados en los captulos anteriores (Memoria, Planos, Pliego de Condiciones y
Presupuesto) y cuando proceda de Estudios con Entidad Propia.

Los Estudios con Entidad Propia tienen como misin incluir los documentos
requeridos por exigencias legales. Como indica la norma UNE anteriormente
mencionada en su apartado 12.2, NO se incluirn en este documento entre otros y
sin carcter limitativo:

Estudios de Seguridad y Salud.

Estudios de Impacto Ambiental.

Dadas las condiciones y especificaciones de este proyecto no ser necesario


la incursin documental de estudios con entidad propia relativos a Impacto
Ambiental ni Seguridad y salud.

Estudios de Seguridad y Salud.

Estudios de Impacto Ambiental

3
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

7.1 MARCO NORMATIVO BSICO SOBRE SEGURIDAD Y SALUD

La Ley 31/1995, de 8 de noviembre de 1995, de Prevencin de Riesgos


Laborales tiene por objeto la determinacin del cuerpo bsico de garantas y
responsabilidades, preciso para establecer un adecuado nivel de proteccin de la
salud de los trabajadores. Su finalidad es hacer frente a los riesgos derivados de las
condiciones de trabajo.

Como ley establece un marco legal a partir del cual se han definido normas
reglamentarias que han ido fijando y concretando los aspectos ms tcnicos de las
medidas preventivas. En el amplio conjunto de normas complementarias
desarrolladas destacan, en el campo de la actividad proyectual, las siguientes:

REAL DECRETO 1627/1997, de 24 de octubre, por el que se establecen


disposiciones mnimas de seguridad y salud en las obras de construccin.

REAL DECRETO 486/1997, de 14 de abril, por el que se establecen las


disposiciones mnimas de seguridad y salud en los lugares de trabajo.

REAL DECRETO 485/1997, 14 de abril, sobre disposiciones mnimas en


materia de sealizacin de seguridad y salud en el trabajo. Real Decreto
1215/1997, de 18 de julio, por el que se establecen las disposiciones mnimas
de seguridad y salud para la utilizacin por los trabajadores de los equipos de
trabajo.

REAL DECRETO 773/1997, 30 de mayo, sobre disposiciones mnimas de


seguridad y salud relativas a la utilizacin por los trabajadores de equipos de
proteccin individual.

Del Real Decreto 1627/1997, que establece las disposiciones mnimas de


seguridad y de salud aplicables a las obras de construccin, destacan en relacin a
la obligatoriedad de la elaboracin de los documentos del proyecto y en concreto de
los Estudios con Entidad propia los siguientes artculos:

Artculo 1. Objeto y mbito de aplicacin.

4
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1. El presente Real Decreto establece, en el marco de la Ley 31/1995, de 8


de noviembre, de Prevencin de Riesgos Laborales, las disposiciones mnimas de
seguridad y de salud aplicables a las obras de construccin.

2. Este Real Decreto no ser de aplicacin a las industrias extractivas a cielo


abierto o subterrneas o por sondeos, que se regularn por su normativa especfica.

3. Las disposiciones del Real Decreto 39/1997, de 17 de enero, por el que se


aprueba el Reglamento de los Servicios de Prevencin, se aplicarn plenamente al
conjunto del mbito contemplado en el apartado 1, sin perjuicio de las disposiciones
especficas previstas en el presente Real Decreto.

Artculo 4. Obligatoriedad del estudio de seguridad y salud o del estudio


bsico de seguridad y salud en las obras.

1. El promotor estar obligado a que en la fase de redaccin del proyecto se


elabore un estudio de seguridad y salud en los proyectos de obras en que se den
alguno de los supuestos siguientes: a. Que el presupuesto de ejecucin por contrata
incluido en el proyecto sea igual o superior a 75 millones de pesetas.

b. Que la duracin estimada sea superior a 30 das laborables, emplendose


en algn momento a ms de 20 trabajadores simultneamente.

c. Que el volumen de mano de obra estimada, entendiendo por tal la suma de


los das de trabajo del total de los trabajadores en la obra, sea superior a 500.

d. Las obras de tneles, galeras, conducciones subterrneas y presas.

2. En los proyectos de obras no incluidos en ninguno de los supuestos


previstos en el apartado anterior, el promotor estar obligado a que en que en la
fase de redaccin del proyecto se elabore un estudio bsico de seguridad y salud.

5
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

7.2 PROYECTOS SOMETIDOS A EVALUACIN DE IMPACTO


AMBIENTAL

El artculo 3 del REAL DECRETO LEGISLATIVO 1/2008, de 11 de enero, por


el que se aprueba el texto refundido de la Ley de Evaluacin de Impacto Ambiental
de proyectos establece que:

Artculo 3. mbito.

1. Los proyectos, pblicos y privados, consistentes en la realizacin de obras,


instalaciones o cualquier otra actividad comprendida en el anexo I debern
someterse a una evaluacin de impacto ambiental en la forma prevista en esta ley.

Anexo I

Grupo 3. Industria energtica.

a. Refineras de petrleo bruto (con la exclusin de las empresas que


produzcan nicamente lubricantes a partir de petrleo bruto), as como las
instalaciones de gasificacin y de licuefaccin de, al menos, 500 toneladas de
carbn de esquistos bituminosos (o de pizarra bituminosa) al da.

b. Centrales trmicas y nucleares

Instalaciones industriales para la produccin de electricidad, vapor y agua


caliente con potencia trmica superior a 300 MW.

f. Tuberas para el transporte de gas y petrleo con un dimetro de ms de


800 milmetros y una longitud superior a 40 kilmetros. g. Construccin de lneas
areas para el transporte de energa elctrica con un voltaje igual o superior a 220
kV y una longitud superior a 15 kilmetros.

h. Instalaciones para el almacenamiento de productos petrolferos mayores


de 100.000 toneladas.

i. Instalaciones para la utilizacin de la fuerza del viento para la produccin de


energa (parques elicos) que tengan 50 o ms aerogeneradores, o que se
encuentren a menos de 2 kilmetros de otro parque elico.

6
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

2. Slo debern someterse a una evaluacin de impacto ambiental en la


forma prevista en esta ley, cuando as lo decida el rgano ambiental en cada caso,
los siguientes proyectos: a) Los proyectos pblicos o privados consistentes en la
realizacin de las obras, instalaciones o de cualquier otra actividad comprendida en
el anexo II.

Anexo II

Grupo 4. Industria energtica.

a. Instalaciones industriales para el transporte de gas, vapor y agua caliente;


transporte de energa elctrica mediante lneas areas (proyectos no incluidos en el
anexo I), que tengan una longitud superior a 3 kilmetros

b. Fabricacin industrial de briquetas de hulla y de lignito

c. Instalaciones para la produccin de energa hidroelctrica (cuando, segn


lo establecido en el anexo I, no lo exija cualquiera de las obras que constituyen la
instalacin).

d. Instalaciones de oleoductos y gasoductos (proyectos no incluidos en el


anexo I), excepto en suelo urbano, que tengan una longitud superior a 10 kilmetros.

e. Almacenamiento de gas natural sobre el terreno. Tanques con capacidad


unitaria superior a 200 toneladas.

f. Almacenamiento subterrneo de gases combustibles. Instalaciones con


capacidad superior a 100 metros cbicos.

g. Instalaciones para el procesamiento y almacenamiento de residuos


radiactivos (que no estn incluidas en el anexo I).

h. Parques elicos no incluidos en el anexo I.

i. Instalaciones industriales para la produccin de electricidad, vapor y agua


caliente con potencia trmica superior a 100 MW.

b) Los proyectos pblicos o privados no incluidos en el anexo I que pueda


afectar directa o indirectamente a los espacios de la Red Natura 2000.

7
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

La decisin, que debe ser motivada y pblica, se ajustar a los criterios


establecidos en el anexo III. La normativa de las comunidades autnomas
(Comunidad Autnoma de Murcia. Ley 1/1995, de Proteccin del Medio Ambiente
de la Regin de Murcia) podr establecer, bien mediante el anlisis caso a caso,
bien mediante la fijacin de umbrales, y de acuerdo con los criterios del anexo III,
que los proyectos a los que se refiere este apartado se sometan a evaluacin de
impacto ambiental.

8
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

SUPERVISIN REMOTA DE
PARMETROS MEDIOAMBIENTALES
CAPTURADOS POR UAV

FIN DE DOCUMENTO:

ESTUDIOS CON ENTIDAD PROPIA

Eduardo Garbayo Herce

Logroo, a 16 de Julio de 2014

9
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

10
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

1. MEMORIA ............................................................................................... 16

1.1 OBJETO .................................................................................................................................... 17


1.1.1 PALABRAS CLAVE .................................................................................................................. 17
1.1.2 KEYWORDS ........................................................................................................................... 17
1.1.3 APARTADOS DE LA MEMORIA .............................................................................................. 18

1.2 ANTECEDENTES ........................................................................................................................ 21


1.2.1 ANTECEDENTES DEL AUTOR ................................................................................................. 21
1.2.2 ANTECEDENTES DEL PROYECTO ........................................................................................... 24
1.2.2.1 QU ES ARDUINO Y SUS ALTERNATIVAS: ........................................................................ 24
1.2.2.2 VEHCULO AREO NO TRIPULADO UAV. DRONE............................................................. 25

1.3 OBJETIVOS DEL PROYECTO ....................................................................................................... 28


1.3.1 OBJETIVOS CUMPLIDOS ........................................................................................................ 29
1.3.2 EXTRAS AADIDOS ............................................................................................................... 31
1.3.3 CONOCIMIENTOS PREVISO NECESARIOS .............................................................................. 32
1.3.4 CONOCIMIENTOS A ADQUIRIR ............................................................................................. 32

1.4 CONCLUSIONES Y VAS DE CONTINUACIN .............................................................................. 34


1.4.1 APLICACIONES ...................................................................................................................... 34

1.5 TIMELINE ................................................................................................................................. 38

1.6 ARDUINO ................................................................................................................................. 40


1.6.1 SELECCIN DE LA TARJETA USADA ....................................................................................... 40
1.6.2 ALTERNATIVA CON EL MODULO ETHERNET ........................................................................ 41
1.6.3 POWER OVER ETHERNET, POE ............................................................................................. 42
1.6.4 SALIDA VIA ROUTER A RED ................................................................................................... 42
1.6.5 MODO SERVIDOR EN LOCAL LOCALHOST .......................................................................... 42
1.6.6 MODO SERVIDOR EN INTERNET ........................................................................................... 44
1.6.7 SENSORES INSTALADOS. ....................................................................................................... 46
1.6.7.1 OTROS SENSORES............................................................................................................ 47

1.7 NUEVO PARADIGMA ................................................................................................................ 48

11
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
1.7.1 RECOGIDA DE DATOS EN PUERTO SERIE .............................................................................. 49
1.7.2 MODULOS INALAMBRICOS ................................................................................................... 54
1.7.3 SISTEMA 3DR ........................................................................................................................ 54
1.7.4 SISTEMA XBEE - ZIGBEE ........................................................................................................ 56
1.7.5 POSICIONAMIENTO GLOBAL GPS ......................................................................................... 58
1.7.6 EMISIN Y RECEPCIN DE DATOS ........................................................................................ 60
1.7.7 EMISIN DESDE ARDUINO.................................................................................................... 62

1.8 PROCESSING RECEPCIN DE DATOS - .................................................................................... 63


1.8.1 USO DEL PUERTO SERIE COM ............................................................................................... 65
1.8.2 CONSOLAS DE CONTROL EN PROCESSING ............................................................................ 67
1.8.3 CONSOLA BSICA.................................................................................................................. 67
1.8.4 CONSOLA COMPLETA DE CONTROL PARA MUESTRESO REALTIME ...................................... 68
1.8.5 CONSOLA COMPLETA DE CONTROL PARA POSICIONAMIENTO GPS .................................... 73
1.8.6 ALTERNATIVAS A ARDUINO-PROCESSING (JAVA,PHP) ......................................................... 80

1.9 PANEL DE ADMIN WEB ............................................................................................................ 82


1.9.1 CAMARA WIFI MONTADA EN DRONE ................................................................................... 83
1.9.2 LIVE STREAMING................................................................................................................... 88
1.9.3 ANGULARES DE GRABACIN ................................................................................................ 89
1.9.4 EFECTO FLAN GELATINA O ROLLING SHUTTER .................................................................. 89
1.9.5 RECEPCIN DE VIDEO LIVE STREAMING ............................................................................... 89

1.10 CAPACIDAD DE TRABAJAR EN TIEMPO REAL........................................................................ 92


1.10.1 EN MODO CONSOLA LOCAL.................................................................................................. 92
1.10.2 EN MODO ONLINE. ............................................................................................................... 92

1.11 FLUJO DE DATOS Y OPEN DATA ........................................................................................... 95


1.11.1 OPEN DATA ........................................................................................................................... 96
1.11.2 TIEMPO REAL DE LAS APLICACIONES .................................................................................. 101
1.11.3 FUNCIONAMIENTO MODELO 1 TIEMPO REAL .................................................................... 103
1.11.4 FUNCIONAMIENTO MODELO 2 Y 3 TIEMPO REAL .............................................................. 104
1.11.5 ALTERNATIVA PARA EL MODELO 2 Y 3 ............................................................................... 105

1.12 BOOTSTRAP DE TWITTER .................................................................................................. 107


1.12.1 VISUALIZACIN EN INTERNET DE LOS DATOS .................................................................... 110
1.12.2 COMO RESULTADO UN SISTEMA MULTIPLATAFORMA ...................................................... 112

12
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
1.12.3 FORMATOS GRAFICOS DE LOS DATOS ................................................................................ 113

1.13 VERSIONES DEL SOFTWARE ............................................................................................... 116

1.14 REQUISITOS DE EXPOSICIN-PRESENTACIN .................................................................... 118

1.15 ORDEN DE PRIORIDAD DOCUMENTAL ............................................................................... 120


1.15.1 COMPATIBILIDAD Y RELACION ENTRE DICHOS DOCUMENTOS .......................................... 120

1.16 BIBLIOGRAFA ................................................................................................................... 120


1.16.1 REFERENCIAS BIBLIOGRFICAS DE ESTUDIOS CON ENTIDAD PROPIA. ............................... 121

1.17 DEFINICIONES Y ABREVIATURAS........................................................................................ 122

1.18 NORMAS Y REFERENCIAS .................................................................................................. 128


1.18.1 NORMAS PARA CONSULTA ................................................................................................. 128

1.19 INDICE DE ILUSTRACIONES ................................................................................................ 137

2. PLANOS ................................................................................................... 3

2.1 INTRODUCCIN ......................................................................................................................... 3

SONDA DE TEMPERATURA NTC ........................................................................................................... 4

SENSOR LDR ........................................................................................................................................ 4

SENSOR LM35 ..................................................................................................................................... 4

POTENCIOMETRO................................................................................................................................ 4

SISTEMA INALAMBRICO XBEE ............................................................................................................. 4

GPS GTPA 013 ..................................................................................................................................... 4

GPS GTPA 013 + LM 35 ....................................................................................................................... 4

LDR + LM35 + XBEE + GPS + ARDUINO ETHERNET ................................................................................ 4

POTENCIOMETRO + GPS + XBEE + ARDUINO....................................................................................... 4

13
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado

3. ESPECIFICACIONES DEL SISTEMA ...................................................... 3

3.1 CONFIGURACIONES BSICAS ..................................................................................................... 3

3.2 CONFIGURACIN PUESTA EN MARCHA DEL DRONE ................................................................... 3


3.2.1 SOFTWARE DE CONFIGURACION ............................................................................................ 7

3.3 ARDUINO ................................................................................................................................... 8


3.3.1 PUESTA EN MARCHA .............................................................................................................. 8
3.3.2 PUERTO SERIE ......................................................................................................................... 8
3.3.3 IDE DE ARDUINO ..................................................................................................................... 9
3.3.4 INSTALACIN EN WINDOWS XP-7-8-8.1................................................................................. 9
3.3.5 INSTALACIN EN LINUX - UBUNTU ....................................................................................... 10
3.3.6 DRIVERS DE ARDUINO. ......................................................................................................... 11
3.3.7 PUERTOS SERIE. .................................................................................................................... 11
3.3.8 PROBLEMAS DE INSTALACIN. IDE, DRIVERS, ETC ............................................................... 12
3.3.9 NO DETECTA DRIVERS........................................................................................................... 12
3.3.10 PUERTO OCUPADO ............................................................................................................... 13
3.3.11 MUY LENTO EL IDE BAJO WINDOWS 7 ................................................................................. 14
3.3.12 ARRCANCA LA IDE DE ARDUINO ........................................................................................... 14
3.3.13 USO DE LA SHIELD ETHERNET ............................................................................................... 15
3.3.14 LIBRERAS PARA ARDUINO.................................................................................................... 15
3.3.15 CONFIGURANDO LA RED EN MODO LOCALHOST E INTERNET DIRECTO .............................. 16
3.3.15.1 CONFIGURACIN DEL ROUTER ..................................................................................... 21

3.4 CONVERTIR EL ORDENADOR EN UN SERVIDOR ........................................................................ 23


3.4.1 CREACIN DE UN WAMP ...................................................................................................... 24
3.4.2 CREACIN DE UN LAMP ....................................................................................................... 24
3.4.3 COMPROBACIN .................................................................................................................. 25
3.4.4 COMUNICACIN BSICA- COMPROBACIONES ..................................................................... 26
3.4.5 CODIGO BASICO PARA ENVIAR DATOS VIA ETHERNET CON GET A UNA SQL ....................... 26

3.5 ENVO DE DATOS DESDE ARDUINO A PROCESSING VIA SERIAL ................................................ 27


3.5.1 DESDE PHP ............................................................................................................................ 29

3.6 INSTALACIN DE SENSORES ..................................................................................................... 31


3.6.1 ENTRADAS. SALIDAS PVM. .................................................................................................... 31

14
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
3.6.2 POTENCIOMETRO ................................................................................................................. 33
3.6.2.1 CODIGO BSICO EN ARDUINO PARA UN POTENCIOMETRO ........................................... 34
3.6.3 SONDA NTC DE TEMPERATURA ............................................................................................ 35
3.6.3.1 CODIGO ARDUINO PARA NTC STEINHARHART............................................................. 38
3.6.3.2 CODIGO ARDUINO PARA NTC MTODO 2 - .................................................................. 39
3.6.4 INSTALACIN DE UNA LDR ................................................................................................... 41
3.6.4.1 ACONDICIONAMIENTO DE SEAL ................................................................................... 42
3.6.5 SENSOR LM35 ....................................................................................................................... 45
3.6.6 CONFIGURACIN DEL GPS .................................................................................................... 49
3.6.6.1 CONFIGURACIN HARDWARE ........................................................................................ 49
3.6.6.2 CODIGO ARDUINO PARA LECTURA DEL GPS ................................................................... 50
3.6.7 OTROS SENSORES ................................................................................................................. 54

3.7 IDE PARA PROCESSING ............................................................................................................. 55


3.7.1 LIBRERIAS PARA PROCESSSING ............................................................................................. 55
3.7.2 CONDICIONES DE EJECUCIN DE PROCESSING .................................................................... 56
3.7.3 PROBLEMAS DE EJECUCIN DE PROCESSING ....................................................................... 57
3.7.4 LIBRERIAS PARA PROCESSING............................................................................................... 61
3.7.5 CONDICIONES DEL SISTEMA GRFICO .................................................................................. 62

3.8 CONFIGURACION DE XBEE ....................................................................................................... 65


3.8.1 CONFUSIN ZIGBEE, Y PROTOCOLO 802.15.4 EN MDULOS XBEE...................................... 67
3.8.2 CARACTERSTICAS ................................................................................................................. 67
3.8.3 CONFIGURACIN DE LOS JUMPERS ...................................................................................... 68
3.8.4 SOFTWARE ............................................................................................................................ 68
3.8.5 HARDWARE........................................................................................................................... 70

3.9 CONFIGURACIN DE 3DR ......................................................................................................... 72


3.9.1 SOFTWARE ............................................................................................................................ 72
3.9.1.1 AJUSTES. .......................................................................................................................... 73
3.9.1.2 CONDICIONES TCNICAS PARA QUE FUNCIONE PROCESSING........................................ 75
3.9.2 PLANOS ................................................................................................................................. 76
3.9.3 HARDWARE........................................................................................................................... 76

3.10 GPS PARA ARDUINO ............................................................................................................ 77


3.10.1 LIBRERIAS PARA GPS ............................................................................................................. 77

15
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
3.10.2 INSTALACIN DE LIBRERAS PARA ARDUINO........................................................................ 79
3.10.3 PROTOCOLO NMEA .............................................................................................................. 80
3.10.4 CONVERSIN PERSONALIZADA DE DATOS DMM , DDD ....................................................... 82

3.11 LIVE STREAMING VIA WIFI ................................................................................................... 83


3.11.1 WLAN, LA RED INALAMBRICA ............................................................................................... 85
3.11.2 802,11G ................................................................................................................................ 86
3.11.3 802.11A................................................................................................................................. 86
3.11.4 802.11N ................................................................................................................................ 87
3.11.5 COMPATIBILIDAD DE LOS DOSPOSITIVOS WLAN N .............................................................. 88

3.12 VUELO DEL DRONE .............................................................................................................. 89


3.12.1 CONCICIONES MNIMAS DEL DRONE ................................................................................... 89
3.12.2 COMPAS, GPS, IMUS ............................................................................................................. 90
3.12.3 POR QU CALIBRAR LA BRJULA? ...................................................................................... 90
3.12.4 CUNDO HACERLO?............................................................................................................ 90
3.12.5 AVISOS .................................................................................................................................. 90
3.12.6 PROCDIMIENTO DE CALIBRACIN ........................................................................................ 91
3.12.7 SOFTWARE DE CONFIGURACION DE EMISORA Y DRONE ..................................................... 92

4. ANEXOS ................................................................................................... 2

4.1 ARDUINO ................................................................................................................................... 2


4.1.1 ARDUINO MEGA 2 ARDUPILOT ............................................................................................ 2
4.1.2 IDE DE ARDUINO ..................................................................................................................... 4
4.1.3 ARDUINO LENTO ..................................................................................................................... 4

4.2 SENSORES EXTRA ....................................................................................................................... 7


4.2.1 DHT 11 - HUMEDAD................................................................................................................ 7
4.2.2 SERIE MQ X ............................................................................................................................. 8
4.2.3 MQ2. ....................................................................................................................................... 9
4.2.4 MQ3. ..................................................................................................................................... 10
4.2.5 MQ4. ..................................................................................................................................... 10
4.2.6 MQ-5..................................................................................................................................... 10
4.2.7 MQ-6..................................................................................................................................... 11
4.2.8 MQ-7..................................................................................................................................... 11

16
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.2.9 MQ-8..................................................................................................................................... 12
4.2.10 MQ-9..................................................................................................................................... 12
4.2.11 MQ131 .................................................................................................................................. 12
4.2.12 MQ135 .................................................................................................................................. 12
4.2.13 MQ136 .................................................................................................................................. 13
4.2.14 MQ137 .................................................................................................................................. 13
4.2.15 MQ138 .................................................................................................................................. 13
4.2.16 MQ214 .................................................................................................................................. 13
4.2.17 MQ216 .................................................................................................................................. 13
4.2.18 MQ303A ............................................................................................................................... 13
4.2.19 MQ306A ............................................................................................................................... 14
4.2.20 MQ307A ............................................................................................................................... 14
4.2.21 MQ309A ............................................................................................................................... 14
4.2.22 MG811 .................................................................................................................................. 14
4.2.23 AQ-104 .................................................................................................................................. 14
4.2.24 AQ-2 ...................................................................................................................................... 14
4.2.25 AQ-3 ...................................................................................................................................... 15
4.2.26 AQ-7 ...................................................................................................................................... 15

4.3 OTROS FORMATOS .................................................................................................................. 15

4.4 COMUNICACIN PUERTO SERIE ............................................................................................... 15


4.4.1 PUERTOS SERIE MODERNOS................................................................................................. 16
4.4.2 USB ESTNDAR ..................................................................................................................... 16
4.4.2.1 PATILLAJE ........................................................................................................................ 18

4.5 MODULOS INALAMBRICOS ...................................................................................................... 18


4.5.1 COMUNICACIN XBEE .......................................................................................................... 20
4.5.2 XBEE 1MW SERIE 1 ............................................................................................................ 21
4.5.3 XBEE 2MW SERIE 2 ............................................................................................................ 21
4.5.4 ARQUITECTURA BSICA DE UNA RED XBEE. ......................................................................... 22
4.5.5 MODOS RECIBIR/TRANSMITIR. ............................................................................................. 24
4.5.6 MS FUNCIONES .................................................................................................................. 25
4.5.7 MDULOS PRO ..................................................................................................................... 30
4.5.8 DIGI EN ESPAA, LOGROO, LA RIOJA. ................................................................................ 30
4.5.9 LIBRERIA SERIAL. COMUNICACIONES PUERTO SERIE ........................................................... 31

17
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.5.10 CREACIN DE UN TIMELINE ................................................................................................. 32

4.6 GPS .......................................................................................................................................... 35


4.6.1 GPS GTPA 013 BASADO EN MTK3339 - .............................................................................. 35
4.6.2 DETALLES TCNICOS ............................................................................................................. 37
4.6.3 DESCARGAS DE HOJAS TECNICAS DRIVERS Y SOFTWARE .................................................... 38
4.6.4 PROTOCOLO NMEA .............................................................................................................. 38
4.6.5 RECEPCIN E INTERCAMBIO DE DATOS DEL GPS ................................................................. 39
UTM COORDINADAS....................................................................................................................... 39
COORDENADAS GEOGRFICAS (LATITUD, LONGITUD) ................................................................. 40

4.7 ANEJOS NO IMPRESOS PRESENTADOS EN FORMATO DIGITAL ENLAZADO ............................... 40


4.7.1 CUADRO NACIONAL DE ATRIBUCIN DE FRECUENCIAS (CNAF) ........................................... 40
4.7.2 SOLUCIONES WIFI DE LARGO ALCANCE ................................................................................ 41
4.7.3 CONFIGURACIN CON VERSIN CLSICA ............................................................................ 41
4.7.4 CONFIGURACIN CON VERSIN ACTUALIZADA 2014 .......................................................... 44

4.8 IMPORTAR UNA LIBRERA PARA FRITZING ............................................................................... 48

4.9 LISTADO DE CODIGOS .............................................................................................................. 49


4.9.1 FUNCIONES BSICAS DE ARDUINO ....................................................................................... 49
4.9.1.1 LOCALIZAR LA IP DE MI ARDUINO DHCP - .................................................................... 49
4.9.1.2 COMUNICACIN ARDUINO CON SERVIDORES LOCALES Y REMOTOS............................. 50
4.9.1.2.1 ALGUNOS RESULTADOS DE DIFERENTES CONEXIONES........................................... 51
4.9.1.2.2 LECTURAS BSICAS Y CONVERSIONES EN ARDUINO ETHERNET ............................. 52
4.9.2 FUNCIONES BSICAS DE PROCESSING .................................................................................. 58
4.9.2.1 CONSOLA 1...................................................................................................................... 58
4.9.2.1.1 VARIABLES DE CONFIGURACIN ............................................................................. 58
4.9.2.1.2 PARTE DE LA FUNCIN MAIN .................................................................................. 59
4.9.2.1.3 FUNCIONES PARA DIBUJAR FONDOS Y REJILLAS ..................................................... 59
4.9.2.2 CONSOLA PRINCIPAL ....................................................................................................... 64
4.9.2.2.1 DECLARACIN DE VARIABLES Y CONFIGURACIONES .............................................. 64
4.9.2.2.2 ALGUNAS FUNCIONES DEL SISTEMA ....................................................................... 65
4.9.2.2.3 OTRAS FUNCIONES COMPARITDAS ENTRE APLICACIONES ..................................... 73
4.9.2.3 CONSOLA GPS ................................................................................................................. 76
4.9.2.3.1 CONFIGURACION PRINCIPAL DE LA CONSOLA GPS ................................................. 76

18
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
4.9.2.3.2 CONFIGURACIN 2 DE LA CONSOLA GPS SETUP ............................................... 77
4.9.2.3.3 FUNCION PARA EL CAMBIO DE PROVEEDOR DE MAPAS ........................................ 78
4.9.2.3.4 PARTE DEL BUCLE DE LA FUNCIN MAIN ............................................................... 78
4.9.2.3.5 FUNCIONES LLAMADAS EN CONSOLA GPS.............................................................. 80
4.9.3 FUNCIONES BSICAS DE LA APLICACIN WEB ..................................................................... 85
4.9.3.1 BOOSTRAP DE TWITTER MODIFICADO............................................................................ 85
4.9.3.2 DESARROLLOS EN PHP MYSQL - HTML......................................................................... 85
4.9.3.2.1 HACER UN GET EXTERNO PARA INSERCCIN ......................................................... 85
4.9.3.2.2 BORRAR UN DATO EN UNA BASE DE DATOS ........................................................... 86
4.9.3.2.3 BORRAR TODA UNA BASE DE DATOS ...................................................................... 87
4.9.3.2.4 CREAR UNA BASE DE DATOS DE PRUEBA ................................................................ 87
4.9.3.2.5 INSERTAR UN DATO EN HTML POR GET .................................................................. 88
4.9.3.2.6 BORRAR UN DATO MEDIANTE FORMULARIO ......................................................... 88
4.9.3.2.7 SACA POR PANTALLA EL VALOR DE LA TEMPERATURA ........................................... 89
4.9.3.2.8 MOSTRAR LA BASE DE DATOS ................................................................................. 89

4.10 PENDIENTE .......................................................................................................................... 91

4.11 OPEN SOURCE Y CREATIVE COMMONS................................................................................ 93


4.11.1 OPEN HARDWARE ................................................................................................................ 93

5. PLIEGO DE CONDICIONES .................................................................... 3

5.1 PLIEGO DE CONDICIONES GENERAL ........................................................................................... 4


5.1.1 PLIEGO DE CONDICIONES LEGALES ........................................................................................ 4
5.1.2 CONDICIONES GENERALES ..................................................................................................... 4
5.1.3 CONDICIONES PARTICULARES. ............................................................................................... 8
5.1.4 SEGURIDAD Y CONFIDENCIALIDAD ..................................................................................... 10

5.2 NORMAS LEYES Y REGLAMENTOS ............................................................................................ 11

5.3 PROPIEDAD INTELECTUAL DEL SOFTWARE. .............................................................................. 12


5.3.1 COMPETENCIAS REFERIDAS A LA PROGRAMACIN ............................................................. 12

5.4 PLIEGO DE CONDICIONES PARA EL TRATAMIENTO ESTANDARIZADO DE LOS DATOS ............... 18


5.4.1 SEMNTICA Y LINKED DATA ................................................................................................. 18
5.4.2 REUTILIZACIN DE INFORMACIN ....................................................................................... 19

19
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.4.3 JUSTIFICACIN Y ENFOQUE ................................................................................................ 19
5.4.4 ALCANCE Y OBJETIVOS ...................................................................................................... 20
5.4.5 CLASIFICACIN Y SEGUIMIENTO DE LOS SERVICIOS ELECTRNICOS .............................. 20
5.4.6 DATOS ENLAZADOS ............................................................................................................. 21
5.4.7 FACILIDAD AL USUARIO Y MULTICANALIDAD .................................................................. 22
5.4.8 REQUISITOS TCNICOS....................................................................................................... 22
5.4.9 PLATAFORMA CLIENTE ........................................................................................................ 23
5.4.10 LISTADO DE NAVEGADORES EN DIFERENTES VERSIONES Y SU COMPATIBILIDAD ............... 24
5.4.11 PERFILES Y PERSONAS ....................................................................................................... 27
5.4.12 CONSULTOR SEMNTICO .................................................................................................... 27
5.4.13 ANALISTA FUNCIONAL ......................................................................................................... 27
5.4.14 PROGRAMADOR ................................................................................................................... 27
5.4.15 EXPERTO EN A RQUITECTURA DE LA INFORMACIN ....................................................... 27
5.4.16 CONDICIONES DEL SERVICIO.............................................................................................. 28
5.4.17 REPOSITORIO DOCUMENTAL .............................................................................................. 28
5.4.18 PROPIEDAD INTELECTUAL, SEGURIDAD YCONFIDENCIALIDAD. ....................................... 28

5.5 PLIEGO DE CONDICIONES ADMINISTRATIVAS .......................................................................... 30


5.5.1 DOCUMENTACIN DEL PROYECTO....................................................................................... 30
5.5.2 CONDICIONES DE SEGURIDAD .............................................................................................. 31
5.5.3 SEGURIDAD Y PREVENCIN .................................................................................................. 32
5.5.4 NORMATIVA Y REGLAMENTACIN ....................................................................................... 33
5.5.5 MBITO DE ACTUACIN ....................................................................................................... 35

5.6 PLIEGO DE CONDICIONES TCNICAS ......................................................................................... 36


5.6.1 VERIFICACIONES PREVIAS ..................................................................................................... 36
5.6.2 CONDICIONES GENERALES DE LOS MATERIALES .................................................................. 37
5.6.3 COMPONENTES ELECTRNICOS ......................................................................................... 37
5.6.4 SENSORES ............................................................................................................................. 37
5.6.5 MATERIAL DE LOS CABLES .................................................................................................... 39
5.6.6 CARACTERSTICAS DE LOS SERVICIOS CIVIL .......................................................................... 39
5.6.7 ENSAMBLADO E INTERCONEXIONADO DE LOS DISTINTOS ELEMENTOS.............................. 39
5.6.8 TEST DE VALIDACIN DE DATOS........................................................................................... 39
5.6.8.1 VALIDACIN DE LA COHERENCIA INTERNA DE LOS DATOS. RELACIONES ENTRE
VARIABLES. 41
5.6.9 PUESTA EN MARCHA Y MANTENIMIENTO ........................................................................... 41

20
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.6.10 PRECAUCIONES DE USO........................................................................................................ 42
5.6.11 PLIEGO DE CONDICIONES ECONMICAS .............................................................................. 42
5.6.11.1 DERECHOS Y DEBERES DEL CONTRATISTA .................................................................... 42
5.6.11.2 DERECHOS ..................................................................................................................... 43
5.6.11.3 DEBERES ........................................................................................................................ 44
5.6.12 DERECHOS Y DEBERES DEL CONTRATANTE .......................................................................... 44
5.6.13 DERECHOS ............................................................................................................................ 44
5.6.14 DEBERES ............................................................................................................................... 44
5.6.15 FORMALIZACIN DEL CONTRATO ........................................................................................ 45
5.6.16 EXTINCIN DEL CONTRATO .................................................................................................. 45
5.6.17 PLAZOS DE EJECUCIN ......................................................................................................... 46
5.6.18 FORMA DE PAGO .................................................................................................................. 46
5.6.19 FIANZA .................................................................................................................................. 47
5.6.20 GARANTAS Y PLAZOS DE GARANTA .................................................................................... 48

5.7 CALIDAD .................................................................................................................................. 49


5.7.1 NORMAS DE CALIDAD........................................................................................................... 50

5.8 CONCEPTOS COMPRENDIDOS .................................................................................................. 51


5.8.1 CONCEPTOS NO COMPRENDIDOS ........................................................................................ 53
5.8.2 INTERPRETACIN DEL PROYECTO ........................................................................................ 54
5.8.3 COORDINACIN DEL PROYECTO........................................................................................... 54
5.8.4 MODIFICACIONES AL PROYECTO .......................................................................................... 55
5.8.5 REGLAMENTACIN DE OBLIGADO CUMPLIMIENTO ............................................................ 55
5.8.6 DOCUMENTACIN GRFICA ................................................................................................. 56
5.8.7 DOCUMENTACIN FINAL DE OBRA ...................................................................................... 56

5.9 PLIEGO DE CONDICIONES PARA ESTANDARES DEL SOFTWARE ................................................. 58


5.9.1 PLAN DE ASEGURAMIENTO DE LA CALIDAD IEEE STD 730-2002 .......................................... 58
5.9.1.1 LA CALIDAD EN INGENIERA DEL SOFTWARE .................................................................. 58
5.9.1.2 DEFINICIN DE LA CALIDAD DEL SOFTWARE .................................................................. 59
5.9.1.3 EL MODELO SPICE ........................................................................................................... 60
5.9.1.4 DESCRIPCIN DE LOS REQUISITOS DEL SOFTWARE (SRD) .............................................. 61
5.9.1.5 DOCUMENTACIN DEL USUARIO ................................................................................... 61
5.9.1.6 PLAN DE GESTIN DE CONFIGURACIN DEL SOFTWARE (SCMP)................................... 62
5.9.1.7 VERSIONES DEL SOFTWARE ............................................................................................ 62

21
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.9.1.8 BIBLIOTECA DE SOFTWARE ............................................................................................. 62
5.9.1.9 CONTROL DE LA CONFIGURACIN DEL SOFTWARE ........................................................ 62
5.9.2 ESPECIFICACIN DE LOS REQUISITOS SOFTWARE IEEE 830 1998 ..................................... 63
5.9.2.1 CABE DESTACAR: ............................................................................................................. 63
5.9.2.2 REFERENCIAS .................................................................................................................. 64
5.9.2.3 ELABORACIN DE LOS PERFILES DE USUARIO ................................................................ 65
5.9.2.4 FIABILIDAD ...................................................................................................................... 65
5.9.2.5 USABILIDAD..................................................................................................................... 65
5.9.2.6 SEGURIDAD ..................................................................................................................... 66
5.9.2.7 MANTENIMIENTO ........................................................................................................... 66
5.9.2.8 PORTABILIDAD ................................................................................................................ 66
5.9.3 DESCRIPCIONES DEL DISEO DE SOFTWARE IEEE STD 1016 2009 .................................... 66
5.9.3.1 MBITO DE APLICACIN ................................................................................................. 67
5.9.3.2 PROPSITO ..................................................................................................................... 67
5.9.4 FUNDAMENTOS DE LAS PRUEBAS. ADAPTADO DEL ESTNDAR IEEE 729 ............................ 67
5.9.4.1 INTRODUCCIN ............................................................................................................... 67
5.9.4.2 PRUEBAS DE ACEPTACIN .............................................................................................. 69
5.9.4.3 ERRORES VS FALLOS ........................................................................................................ 69
5.9.4.4 CRITERIOS PARA DAR POR FINALIZADAS LAS PRUEBAS .................................................. 69
5.9.4.5 REALIZAR PRUEBAS PARA LA IDENTIFICACIN DE DEFECTOS......................................... 69
5.9.4.5.1 PRUEBAS VS DEPURACIN ..................................................................................... 70
5.9.4.5.2 PRUEBAS Y CERTIFICACIN .................................................................................... 70
5.9.4.6 CONCLUSIONES ............................................................................................................... 71
5.9.4.7 PRUEBAS DE SISTEMA ..................................................................................................... 71
5.9.4.8 PRUEBAS DE INSTALACIN ............................................................................................. 72
5.9.4.9 PRUEBAS ALFA Y BETA .................................................................................................... 73
5.9.4.10 PRUEBAS DE RENDIMIENTO.......................................................................................... 74
5.9.4.11 PRUEBAS DE CONFIGURACIN ..................................................................................... 75
5.9.4.12 PRUEBAS DE FACILIDAD DE USO ................................................................................... 75
5.9.4.13 ANLISIS DE LOS VALORES LMITE ................................................................................ 75
5.9.4.14 PRUEBAS ORIENTADAS A LA CONFIABILIDAD DEL SOFTWARE ..................................... 76
5.9.4.15 BASADAS EN COMPONENTES ....................................................................................... 76
5.9.4.16 PRUEBAS PARA INTERNET ............................................................................................. 77
5.9.4.17 LAS ESTRATEGIAS DE EVALUACIN............................................................................... 77
5.9.4.18 PRUEBAS PARA GUI ....................................................................................................... 78

22
Supervisin remota de parmetros medioambientales capturados por vehculo areo no tripulado
5.9.4.19 GUAS PARA LAS PRUEBAS ............................................................................................ 79
5.9.5 ESTNDARES ......................................................................................................................... 81

5.10 ERRORES EN EL PROYECTO .................................................................................................. 83

5.11 LIQUIDACIN ...................................................................................................................... 83

5.12 DISPOSICIN FINAL ............................................................................................................. 83

6. PRESUPUESTO ....................................................................................... 2

6.1 INTRODUCCIN ......................................................................................................................... 2

6.2 ESTADO DE MEDICIONES............................................................................................................ 4

6.3 LISTA DE PRECIOS....................................................................................................................... 6

6.4 LISTA DE MATERIAL.................................................................................................................... 9


6.4.1 PLACAS, ARDUINOS Y COMPONENTES ................................................................................. 10
6.4.2 LICENCIAS EN EL SOFTWARE ................................................................................................ 11
6.4.3 LISTADO DE MATERIAL RELATIVO AL VUELO ........................................................................ 13

6.5 RESUMEN DEL PRESUPUESTO. ................................................................................................. 14

6.6 PRECIO PARA VENTA COMO PACK ........................................................................................... 15

6.7 PRECIO PARA ALQUILER ........................................................................................................... 15

6.8 PRESENTACIN A CONCURSOS PUBLICOS. RGIMEN CONCURSAL ........................................... 16

7. ESTUDIOS CON ENTIDAD PROPIA........................................................ 3

7.1 MARCO NORMATIVO BSICO SOBRE SEGURIDAD Y SALUD ....................................................... 4

7.2 PROYECTOS SOMETIDOS A EVALUACIN DE IMPACTO AMBIENTAL .......................................... 6

23

También podría gustarte