UNIVERSIDAD NACIO�AL DE INGENIERIA
FACULTAD DE INGENIERÍA ELÉCTRICA Y
ELECTRÓNICA
ENLACE TELEMÉTRICO DE ESTACIONES METEOROLOGICAS
REMOTAS CON UN COMPUTADOR CENTRAL VÍA INTERNET
INFORME DE SUFICIENCIA
PARA OPTAR EL TÍTULO PROFESIONAL DE:
INGENIERO ELECTRÓNICO
PRESENTADO POR:
IVOR NIRO MANRIQUE GONZALES
PROMOCIÓN
1984 - D
En tiempos actuales cada vez más son los ámbitos de la actividad humana que e en de alguna manera potenciados por los aportes tecnológicos en electrónjca y telecomunicaciones. No ajena a este concepto se encuentra la agricultura en nuestro paí . El presente trabajo pretende integrar los esfuerzos aislados de muchos agricultores de modo que ellos puedan incorporar a sus actividades los aportes del desarrollo tecnológico. Proporcionando herramientas que permitan mejorar procesos como son; el riego, control de plagas humedad del suelo, etc. se conseguirá aumentar la productividad minimizando los costos y riesgos de producción.
Para este propósito, los datos proporcionados por estaciones meteorológicas aisladas, son recogidos y enviados a un servidor central por medio de un equipo materia del presente informe valiéndose de Internet como medio de comunicación. Estos datos son posteriormente analizados y procesados por un software con el cual se desarrollan las herramientas que proporcionarán al agricultor de la información necesaria para elevar la calidad de sus procesos agregando a la información puntual un espectro panorámico que pem1ita pronosticar futuros eventos y tomar las medidas preventivas correctivas que aseguren una mayor productividad y mejores costos en el desarrollo de su actividad.
INDICE
Introducción ... 1
CAPITULO I BASE TEÓRICA Y DESCRIPCIÓN DEL SISTEMA ... 3
1.1. Descripción del Problema ... 3
1.2. Objetivo del Trabajo ... 3
1.3. Principios de la Transmisión de la Información ... 3
1.3 .1 Introducción ... 3
1.3.2 Modelo de un Sistema de Transmisión de Información ... 4
1.4. ¿Qué es Telemetría? ... 6
1.5. Visión General ... 7
1.6. Descripción del Sistema Telemétrico "Agrosensing" ... 9
1.6.1 Sistema Transmisor ... 9
1.6.2 Sistema Receptor ... 1 O 1.6.3 Sistema de Comunicaciones ... 11
CAPITULO II DESARROLLO DEL HARDWARE ... 13
2 .1. Introducción ... 13
2.2. CPU ... 15
2.3. Fuente de Poder ... 15
2.4. Módem Celular ... � ... 15
2.5. Circuito de Control de Reset.. ... 17
2.6. Circuito Display ... 18
2.7. Estación Meteorológica ... 19
2.8. Proceso de _Ensamblaje ... 20
CAPITULO 111 DESARROLLO DEL SOFTWARE DE CONTROL ... 26
3 .1 Introducción ... 26
3 .2 Programas Complementarios ... 28
3.2.1 Windows 98 ... 28
3.2.3 Deepfrezze ···;··· 30
3 .2.4 MSocketSupport ... 31
3.3 Software de Control "Vantage Pro2" ... 32
3.3.1 Formularios ... 32
3 .3 .2 Descripción del Software ... 3 7 CONCLUSIONES ... 44
ANEXO A CARACTERÍSTICAS TÉCNICAS DE MÓDEM CELULAR ANYDATA EM II-800 ... 45
ANEXO B COMANDOS DE CONTROL DE ESTACIÓN METEOROLÓGICA DAVIS "V ANT AGE PRO2" ... 48
ANEXO C FORMATO DE DATOS COMANDO LOOP DE ESTACIÓN METEOROLÓGICA DA VIS "V ANT AGE PRO2" ... 52
ANEXO D FORMA TO DE DATOS PARA CREACIÓN DE ARCHIVO DE COMAS
*
.CVS ... 56INTRODUCCION
El motivo del presente trabajo está basado en la necesidad de recopilar datos de fuentes remotas, en nuestro caso de centros de producción agrícola, y transportarlos a hacia un centro distante donde serán procesados. Como es de notar, se trata de un sistema de telemetría. En el capítulo I abordaremos, de manera sucinta, los principios de la telemetría a manera de introducción al tema. Dentro de este contexto, luego describiremos en forma global el sistema telemétrico particular que se aplica a nuestro caso. Todo el sistema en si es extenso y complejo, y muchas de sus partes ya están implementadas y ofrecidas por terceros, motivo por el cual solo se mencionará su uso.
Dentro de todo el sistema, el presente trabajo versa sobre el desarrollo de la unidad TE2, la cual es presentada en el capítulo I, acápite 1.6; que, al momento de la concepción del proyecto "Agrosensing", era el elemento que faltaba desarrollar para poder implementar dicho proyecto.
Se decidió utilizar Internet como medio para efectuar las comunicaciones por ser un medio fiable y de amplio uso. Dentro de este contexto, Movistar de la empresa telefónica, fue elegida como nuestro proveedor de servicios de Internet (ISP). Para la transmisión de los datos se decidió utilizar los módems celular "Anydata", de tecnología COMA, que fueron en su momento, los recomendados por el ISP. Con estos dos aspectos resueltos, la mayor parte del esquema de telemetría, descrito en el capítulo I ya estaba implementado, por lo
que la única parte que faltaba por abordar era el desarrollo de la unidad que se encargará de tomar los datos y transmitirlos vía modem celular e Internet hacia un centro remoto. Esta unidad, como mencionamos anteriormente, es la unidad TE2.
De este modo, y fijado nuestro objetivo, que es el desarrollo de la unidad TE2, en los siguientes capítulos nos dedicamos a exponer el desarrollo del hardware y del software de dicha unidad respectivamente.
de ser lo menos extenso posible, pues las partes que lo componen, por ser partes comunes
de computadoras, son de amplio conocimiento, y su explicación detallada no sería de gran
aporte. Se termina exponiendo brevemente el proceso de ensamblaje de la unidad.
La integración y coordinación de las distintas funciones implementadas por las partes .que componen la unidad, está a cargo del Soft"1are de control. Este es ampliamente tratado en el capítulo III "Desarrollo del Software". Además, en este capítulo se exponen otros programas que sirven de complemento al funcionamiento del Software de control.
CAPITULO I
BASE TEÓRICA Y DESCRIPCIÓN DEL SISTEMA
1.1 Descripción del Problema
En la actualidad, en la mayoría de valles agrícolas del país muchos agricultores poseen estaciones meteorológicas que les sirven para monitorear diversos aspectos del clima relacionados con su actividad. Sin embrago, cada uno de ellos trabaja aisladamente, de modo que la información que maneja un agricultor no la conoce su vecino y así sucesivamente. Como consecuencia, se generan efectos adversos a la producción como son: deficiente control de plagas, uso inadecuado de los recursos hídricos, manejo deficiente de los tiempos de siembra y de cosecha: entre otros.
1.2 Objetivo del Trabajo
Desarrollar una Unidad de Control que nos permita establecer un enlace telemétrico por medio del cual podamos recopilar los datos meteorológicos aislados de cada agricultor.
1.3 Principios de la Transmisión de la Información 1.3.1 Introducción
Se puede definir la comunicación como el proceso mediante el cual se transfiere información desde un punto en el espacio y en el tiempo, denominado "fuente de información", hasta otro punto denominado "destino de la información", con el mínimo de pérdidas o perturbaciones (1 ).
precisión requerida por los demás elementos del sistema. En todo caso, en el proceso de transmisión la información t?Xperimentará siempre una cierta degradación, cuyos límites dependerán del empleo que se haga de la información.
La mayor parte de los sistemas de comunicación actuales se caracteriza por la presencia de personas en los extremos del sistema. Los sistemas de comunicación pueden considerarse entonces como una prolongación de nuestros sentidos. El teléfono, por ejemplo, hace posible la conversación entre dos personas alejadas entre sí como si ellas estuvieran frente a frente. Por otro lado, las perturbaciones en la mayoría de los sistemas de comunicación se parecen a las perturbaciones a las cuales nuestros sentidos están adaptados, y por ello los sistemas clásicos de comunicación dan resultados satisfactorios aún con un equipo terminal reducido o de muy baja resolución. Se sabe que cuando hay mucho ruido en un ambiente ruidoso, entonces se habla más fuerte, se pronuncian las palabras lentamente y con más claridad empleándose un vocabulario más limitado y con las palabras más usuales. En otras palabras, la fuente de información se adapta a las condiciones del canal de comunicación disponible. Sin embargo, en la comunicación entre máquinas esta "codificación" natural no existe, lo que implica un aumento en la complejidad de los equipos terminales a fin de obtener el grado de precisión o resolución requeridas en el proceso de transmisión.
1.3.2 Modelo de un Sistema de Transmisión de Información
Un sistema completo de transmisión de información se puede representar entonces como se muestra en la Fig. 1.1
1
1
Sistema ele Transmisión -->t""' .---... ,
1 Ruido ,
Fuente de
Información Transductor de Entrada 1
._ __ � 1
1
____
1ransmisor Canal
____
Receptor 1
L---I ransduct01 de Salida
Fig. 1.1 Diagrama de Bloques de un Sistema de Comunicación
a) Fuente de Información
5
La información o intt:?ligencia a transmitir se origina en la fuente de información. Esta información se materializa como un conjunto, que sin perder generalidad supondremos finito y discreto, de N símbolos o mensajes distintos e independientes cuyo significado es conocido en el destino del sistema. La fuente de información así definida se
denomina "fuente discreta sin memoria".
Hay muchas clases de fuentes de información, incluyendo personas y máquinas, de manera que los símbolos o mensajes pueden tomar una gran variedad de formas: una secuencia de símbolos discretos o letras, una magnitud que varía en el tiempo, etc.; pero cualquiera que sea el mensaje, el propósito del sistema de comunicación es el de proporcionar una réplica más o menos exacta del mismo en otro punto distinto de este denominado destino.
b) Transductor de Entrada y Transductor de Salida
Como regla, el mensaje que produce la fuente no es de naturaleza eléctrica y, por lo tanto, es necesaria la presencia de un "transductor" o "codificador" que convierta el mensaje en una "señal". Esta última es una magnitud eléctrica variable en el tiempo (corrientes o voltajes) compatible con el tipo particular de sistema de transmisión que se emplee.
Nótese entonces la diferencia entre información, mensaje y señal: información es la inteligencia o significado que se va a transmitir; es una entidad intangible. Mensaje es la materialización de la información en una cantidad mensurable: el mensaje es el soporte de la información. Señal es la magnitud eléctrica que resulta de la transformación de una magnitud no eléctrica portadora de información en una magnitud eléctrica variable en el tiempo. A este respecto, el número de elementos del conjunto de las señales de salida del transductor debe ser igual al número de elementos del conjunto de símbolos o mensajes de la fuente de información. La señal de salida del transductor se conoce también con el no_mbre de "señal mensaje".
e) Transmisor
Aunque no deja de �er frecuente encontrar el transductor de entrada acoplado directamente al canal, como sucede, por ejemplo, en un sistema telefónico local, generalmente es necesario "modular" una señal sinusoidal con la señal del transductor de entrada, sobre todo para transmisión a gran distancia. La "modulación" es la variación sistemática de alguna característica de una señal, denominada "portadora", en concordancia con la señal mensaje o "señal modulante". El transmisor es el encargado de enviar esta señal modulada, a través del canal de transmisión, hacia el receptor.
d) Canal
El canal de transmisión es el enlace eléctrico entre el transmisor y el receptor. Puede ser un par de conductores, un cable coaxial, una fibra óptica o sencillamente el espacio libre en el cual la señal se propaga en forma de una onda electromagnética. Al propagarse a través del canal, la señal transmitida se distorsiona debido a las no linealidades y/o las imperfecciones en la respuesta de frecuencia del canal. Otras fuentes de degradación son el "ruido" y la "interferencia" que recoge la señal a su paso por el canal.
e) Receptor
El objeto del receptor es el de extraer la señal deseada a partir de la señal degradada transmitida por el canal. Como las señales recibidas son en general débiles y plagadas de ruido, una primera operación del receptor es la amplificación y filtrado de dichas señales para poderlas procesar. Pero la operación fundamental del receptor es la "demodulación" o "detección", que es el proceso inverso de la modulación en el transmisor. Debido a la degradación de la señal recibida, el receptor no puede reconstruir exactamente la señal original, aunque el tipo de degradación que resulta depende del sistema de modulación que se utilice.
1.4 ¿Qué es Telemetría?
La telemetría es un conjunto de procedimientos para medir magnitudes físicas y químicas desde una posición distante al lugar donde se producen los fenómenos cuando existen limitaciones de acceso.
7
equivalentes. El envío de información hacia el operador en un sistema de telemetría se realiza típicamente mediante _comunicación inalámbrica, aunque también se puede realizar por otros medios (teléfono, redes de ordenadores, enlace de fibra óptica, Internet, etc.).
Una de las principales aplicaciones de la telemetría es la meteorología. Los equipos
instalados en sondas y globos meteorológicos permiten obtener medidas de las capas altas
de la atmósfera y realizar mapas que ayudan a predecir el clima. En el presente informe se
tratará sobre estaciones meteorológicas terrenas enlazadas por medio de Internet como
medio de comunicación.
Un proceso similar, aunque más sofisticado, es el que realizan los satélites meteorológicos, que obtienen imágenes y medidas tanto de las capas altas de la atmósfera como de la superficie con imágenes ópticas, en los espectros visible e infrarrojo normalmente. En ocasiones cuentan con detectores radar. Las señales de los sensores se envían mediante una emisora de radio a la tierra. (2).
La telemetría como la conocemos actualmente fue desarrollada en 1915 a mediados de la primera guerra mundial por el alemán Khris Osterhein y el italiano Franchesco Di Buonanno para medir a que distancia se encontraban objetivos de artillería, esta tecnología nos permite la medición remota de magnitudes fisicas y el posterior envío de la información hacia el operador del sistema. La palabra telemetría procede de las palabras griegas tele ("lejos") y metron ("medida"). (3)
1.5 Visión General
Hoy en día los sistemas telemétricos son construidos como productos específicos y no de uso general, y pese a que contienen muchos elementos comunes, estos son configurados de manera específica para una determinada aplicación, tal como nuestro caso en el que datos de estaciones meteorológicas distantes son transmitidos vía Internet hacia un Servidor central.
Un sistema telemétrico es a menudo visto como dos componentes, un sistema
trasmisor (Fig. 1.2), que se encarga de recolectar los datos y transmitirlos, y un sistema
receptor (Fig. 1.3) en una posición remota, que se encarga de recibir y procesar los datos
recolectados.
Sensors &
Transducers---Time
--
Dig
ita
l
Da1a
--
C
�o
rnpu
fr
r .lnte
r
fac
es
-
--Fig. 1.2 Sistema Transmisor
producen un voltaje directamente tales como termocuplas o elementos piezoeléctricos,
mientras que otros requieren de una fuente externa de excitación ( elementos resistencia
presión, potenciómetros para rotación, etc.). Acondicionadores de señal (drivers) son
conectados a los sensores para proveerles de medios de calibración y adaptación con las
etapas siguientes. Para evitar la elevación de los costos, por lo general, las señales son
multiplexadas en lugar de ser tratadas por separado. De este modo, bloques posteriores
tratan las señales como paquetes que serán debidamente codificados y modulados para su
posterior transmisión vía radio, cable coaxial, línea telefónica y más actualmente vía
Internet. El tipo de transmisión tratada en el presente informe es la que utiliza como vía
enlace el sistema de comunicación por Internet. Establecida la conexión con un proveedor
de Servicios de Internet (ISP), se usa el protocolo FTP para realizar la transferencia de
archivos.
En la estación receptora, la data recibida es amplificada y reconstruida aplicando
los métodos de demodulación y decodificación previamente escogidos de acuerdo a la
aplicación que se esté implementando. Posteriormente y mediante computadoras y
programas específicos la data es procesada para producir señales de realimentación, tanto
para el control del sistema remoto, así como para generar elementos de análisis requeridos
por el usuario, ya sea que se quiera aplicar procesos en tiempo real, archivo de datos,
'·'\Ur ._,_ ..
Fig. 1.3 Sistema Receptor
1.6. Descripción del Sistema Telemétrico "Agrosensing"
9
-La figura 1.4 nos muestra de manera gráfica el sistema de telemetría usado en el proyecto Agrosensing. El Sistema transmisor está compuesto por: la estación meteorológica, la consola, la unidad TE2 y el modem celular MT2. El Sistema receptor, está conformado por: el sistema base transreceptor (BTS), la estación de control (BSC), el controlador de estación móvil (MSC), la unidad IWF, la red de paquetes de datos (PON) y el servidor FTP.
1.6.1 Sistema Transmisor
:\IISC
Estación
Til MI?
PD�
\
!D
Consola
---
�IWFp p p link
O TE2 - Data termina] O MT2 - Mobile Station
O BIS - Base Tramceiver System O BSC - Base Station Controller
Packet Data application
O M'5C - Mobile Station ControUer O I'wT -Inter-Worlcing Function O PDK - Packet Data �etwork
Figura 1.4 Sistema Telemétrico Agrosensig
La unidad TE2, por otra parte, contiene todo el software necesario para ejecutar las tareas que aseguren la transferencia de datos desde la estación meteorológica hacia el Servidor remoto. El desarrollo del software involucrado es tratado a detalle en el Capítulo 3 "Desarrollo del Software de Control". Este constituye una parte vital del sistema, y sin el cual, no sería posible conseguir los objetivos trazados.
1.6.2 Sistema Receptor
11
1.6.3 Sistema de Comunicaciones
El sistema de comunicaciones está basado en el Servicio de transmisión de datos
por paquetes vía inalámbrica a través de una red COMA (acceso múltiple por división de
código o en inglés Code Division Mu/tiple Access).
Los servicios de Paquetes de Datos pueden ser de dos tipos. El tipo 1 provee
conexiones basadas en Internet y protocolos ISO estándar, mientras que el tipo 2 provee
conexiones basadas en protocolos CDPD (Cellular Digital Packet Data). Las redes COMA soportan el tipo 1 que es el tipo de servicio de paquetes de datos que se usa en nuestro
caso. La arquitectura de red de paquetes de datos incluye interfaces a unidades IWF (lnter
Working Function) que proveen puertas de entrada hacia la red de paquetes de datos. Estos
IWF sirven como terminales de conexión para los paquetes de datos desde la red de
Internet y proveen conexiones directas a la capa de enlace PPP (Point-to-Point Protocol)
para aplicaciones de estaciones móviles.
.-\pplicatiou Laye1· Network Laye1· Link Laye1· Rela�· Laye1· / / Packet Data App / ---1P / --- ---ppp /
---RS-232 1
}'_ 1
Rm Data Terminal (TE2)
.
.
/ /I�//
RLPRS-232 1S-95 l\Iobile Tenninal (.\JT2) T / / �/1/
---RLP Relay 1 1
.
IS-95 !ayer.
-+·-'-
- !" 1 • j1
Um L
BSC/MSC
/ /
Packet
Data App
V
---1P 1P
V
---ppp !ayerLink
!/ ---Relay Relay
!ayer !ayer )_'.'_ ----Packet data / / Packet Data App V IP V !ayer Relay !ayer Remote Host n.etwork imerface
La figura 1.4 muestra un esquema típico de arquitectura de red CDMA que soporta
servicios de paquetes de dato_s. Los datos de aplicaciones móviles típicamente residen en la
unidad TE2 (Terminal Equipment 2), el cual es un terminal de datos conectado fisicamente
a la estación móvil (MT2). Esta posee una interface tal como una RS-232 que puede ser
conectada a la unidad TE2. Esta interface está referida como la interface-Rm.
En el lado de infraestructura, la unidad BSC (Base Station Controller) provee la
interface de enlace aéreo Um para la estació móvil y las fuentes de radio asociadas a la
llamada de paquetes de datos. La unidad MSC (Mobile Station Controller) está involucrada
solo en la configuración de la llamada y no participa en la transferencia de datos.
Más allá de la unidad BSC, la unidad IWF provee las funciones necesarias de los servicios
de paquetes de datos para el terminal móvil. Ésta establece capas de enlace confiables para
la estación móvil usando protocolos de capas de enlace comunes tal como protocolos PPP
y además provee las rutas de trabajo. La interface-L conecta las unidades BSC/MSC con
las funciones IWF.
La figura 1.5 muestra un esquema de la pila de protocolos usados en una aplicación de paquetes de datos móviles entre un terminal de datos móvil y un servidor remoto. La pila está dividida principalmente en la capa fisica, la capa de enlace, la capa de red y la capa de aplicaciones. La capa de aplicaciones incluye la capa de transporte y otros protocolos de alto nivel.
La capa fisica (Relay Layer) es la principal responsable en la transmisión de datos a
través de varias interfaces que conectan las entidades dentro de la red inalámbrica y la red
de paquetes de datos. Típicamente, la conexión entre la unidad TE2 y la unidad MT2 es del
tipo RS-232, aunque puede ser de cualquier otro tipo. Para proveer un mejor enlace de
datos en la interface aérea, un Protocolo de Enlace de Radio (RLP) es usado para
encapsular la capa de enlace de paquetes de datos y formatear la información dentro
cuadros de canales de radio CDMA. RLP usa también retransmisiones para reducir las
relaciones de error.
La capa de enlace es la responsable de establecer una conexión fiable y de bajo
error entre el terminal de datos TE2 y el servidor remoto. El protocolo PPP es comúnmente
usado para proveer un método de transporte de paquetes IP sobre una conexión serie.
Todos estos protocolos deben ser implementados dentro de la unidad TE2 así como
2.1 Introducción
CAPITULO U
DESARROLLO DEL HARDWARE
La Unidad TE2 está formada por los componentes indicados en el diagrama de
bloques de la figura 2.1. Por razones de ensamblaje el modem celular, que correspondería a
la unidad MT2 ha sido incluida dentro de esta unidad. El corazón de la unidad lo forma la
CPU, que por medio del software de control se encargará de ejecutar las funciones
necesarias para enviar cada cierto período los datos colectados hacia el Servidor Remoto.
Los módulos de Fuente de Poder y CPU (formado por la Mainboard, Procesador,
memoria RAM y disco duro) son del tipo PC compatible por lo que no necesitan de un
desarrollo particular.
El principio de funcionamiento es el siguiente: Los datos de los sensores contenidos
en la estación meteorológica Davis V antage Pro2 son transmitidos de forma inalámbrica
hacia la Consola Davis. Esta se conecta a la CPU vía puerto USB. Cada cierto período,
determinado por el software de Control, se establece comunicación con la Consola y se
bajan los datos de la estación meteorológica. Estos datos son procesados y guardados en
una base de datos. Cada 30 minutos, o el tiempo que se determine en el software de
control, se crea un archivo en formato de comas que será transmitido hacia el servidor
remoto por medio de un módem celular. Este módem se conecta a la CPU a través del
puerto serie COMMI.
Las acciones realizadas por la CPU son informadas a través de un display
conectado al puerto paralelo. Esto permite monitorear en todo momento la actividad del
equipo. Esta actividad, es además, monitoreada por un circuito de reset, el cual cuando
detecta una inactividad prolongada, debido a una falla en el sistema, apaga el equipo y tras
un lapso de tiempo de aproximadamente 4 minutos lo vuelve a encender. Esta es una
función muy conveniente, ya que, debido a que el equipo carece de toda asistencia
procesador u otro este se auto asistirá permitiendo que siga trabajando y no se quede
colgado permanentemente.
El control de Reset está alimentado por la línea +5VSB de la fuente de poder,
permitiendo que esté siempre activo.
Fuente
Consola Davis
Puerto USB
Estación
Meteorológica Davis
• -·- ·-·-. -·-. --- • --- ·---. --- • - ·-. --- - ·- - -· - - --- -- • --- • --- • --- • --- --- ---- --- --- ---• 1
Puerto Serie COMM1
¡
@
de Poder ---
CPU
�::=.===-=:�
ModemCelular
+5VSB V
Control
de Reset Reset
Puerto Paralelo
��--�� Display
i i
. ---. ---. ---. ---. ---. -. -. ---. ---. ---. ---. ---. ---. ---. ---. ---· ---. ---. -·-. -- . Figura 2.1 Componentes de Unidad TE2
Básicamente, los únicos módulos que necesitan de desarrollo de hardware en la
Unidad TE2 son: la tarjeta de Control de Reset y el conexionado del Display a los pines del
puerto paralelo. Los otros módulos están constituidos por elementos pre-fabricados que
solo n�cesitan ser conectados al sistema, tal como; la CPU conformada por el mainboard,
la memoria RAM y el disco duro, la fuente de poder y el MODEM celular que se encargará
de establecer la comunicación con el servidor remoto vía Internet. A continuación se hace
2.2 CPU
15
Debido a lo poco exigentes requerimientos del sistema para funcionar y teniendo en
cuenta el aspecto económico y la disponibilidad en el mercado local se optó por la
siguiente configuración:
Procesador: Intel Pentium 3 de 500 Mhz
Memoria RAM: 128 MB
Disco Duro: 10 GB
Marca: Dell
La CPU cuenta con puertos serie, paralelo y USB necesarios para la interconexión
con los demás componentes del sistema.
El sistema operativo elegido es Windows 98, ya que este provee todas las
herramientas necesarias para el correcto funcionamiento del sistema y además ocupa muy
poco espacio en el disco duro, así como recursos de hardware, dejando así libre la mayor
parte de la memoria para uso del programa de control.
2.3 Fuente de Poder.
La fuente de poder está constituida por una fuente para PC compatible con salidas
estándar para +5vdc, + 12 vdc y -12 vdc.
Puesto que los requerimientos de consumo de corriente de los componentes
adicionales son muy pequeños; no es de necesidad de una fuente con características
especiales.
2.4 Módem Celular.
Para establecer la comunicación inalámbrica con el proveedor de Servicios de
Internet, en nuestro caso Telefónica, se emplea un módem celular de tecnología CDMA
(Code Division Multiple Access). El modelo escogido, recomendado por el ISP, es el siguiente:
Marca: AnyData
Modelo: iPort EMII - 800
Las ·características técnicas de este equipo están indicadas en el Anexo A "Módem
Celular AnyData".
El módem responde a los comandos AT estándar especificados en la norma 1S707.
Tabla 2.1 Comandos básicos AT IS-707
Parm Description Explanation
EO Do not echo commands in command state or online command state.
El Echo commands in command state
or online command state.
LO
Low speaker volume. Mobile audio streamLI Low speaker volume. Mobile audio stream
L2 Med speaker volume. Mobile audio stream
L3 High speaker volume. Mobile audio stream
MO
Speaker off. Mobile audio streamMI Speaker on until carrier reported Mobile audio stream not used
( sunnort of this feature is ootional). for Async Data or G3 Fax
QO
Return result codes.Ql Do not return result codes.
vo
Display result codes as numbers.Vl Display result codes as words.
XI Enable additional result code CONNECT <rate>. Remote Async/Fax command Disable dial tone and busy detection.
*
X2 Enable additional result codes CONNECT <rate-::. Remote Async/Fax command
and NO DIALTONE. Disable busy detection.
Enable dial tone detection.
*
X3 Enable additional result codes CONNECT <rate-::. Remote Async/Fax command and BUSY. Enable busy detection.
Disable dial tone detection.
*
X4 Enable additional result codes CONNECT <rate-::. , Remote Async/Fax command
BUSY and NO DIALTONE. Enable busy and dial
tone detection.
*
zo
Reset to default configuration. &CO Circuit 109 (CF) always ON. &Cl Circuit 109 (CF) ON in accordancewith the soecified service.
&C2 Circuit 109 (CF) always on except QUALCOMM implementation wink on channel disconnect.
&DO Ignore circuit 108/2 (CD).
&DI Enter online command state following Async service: as stated Pkt: ON-to-OFF transition of circuit 108/2.
&D2 Enter command state following On-to- End call following On-to-Off
Off transition of circuit 108/2. transition of 108/2.
T Select tone dialing.
p Select pulse dialing. Pulse dialing
17
Una lista completa de los comandos que puede soportar este equipo se encuentran
en el siguiente documento: "AT Command User Manual AT02-V13.pdf "que se puede
bajar gratuitamente desde Internet. No se ha incluido como anexo en el presente informe
por la extensión del mismo.
2.5 Circuito de Control de Reset
Básicamente, el circuito de reset se encarga de monitorear la actividad del sistema.
Cuando está desaparece por un determinado tiempo quiere decir que, por algún motivo, el
software o el hardware han dejado de funcionar. Debido a que los equipos, en la mayoría
de las veces, serán colocados en lugares donde no habrá persona alguna que les de
asistencia, esta situación podría generar pérdida de datos, que en el mejor de los casos sería
de algunas cuantas horas y podría llegar hasta varios días ocasionando grave perjuicio al
modelo global. Es aquí donde, al detectarse una inactividad prolongada, el circuito de reset
activa un switch que simula apretar el botón de power de la CPU. Luego de un
determinado tiempo vuelve a activar el switch para encender la CPU y restaurar las
funciones del sistema.
El diagrama esquemático se muestra en la figura 2.2. Aprovechando que el
programa de control está constantemente enviando información al circuito de display, una
forma de monitorear indirectamente la actividad del sistema sería monitorear la actividad
del display. Para esto se toma la señal de Enable (alimentada por el pin Cl del puerto
paralelo) como señal de entrada del circuito de Reset. Q 1 sirve como driver para la señal
de entrada. Con cada flanco de bajada en la señal de entrada se activa el transistor Q2 el
cual descarga el condensador C2 a través de R5. El circuito integrado U 1 es un timer
NE555 en configuración astable. Mientras C2 no se cargue a 2/3 VSB, la salida del timer
permanecerá en estado alto "1" y el transistor Q3 se encontrará en estado de corte. Puesto
que el colector de Q3 alimenta la entrada del Switch bilateral U2 este permanecerá abierto.
De acuerdo a los valores de los componentes indicados en la figura 2.2 la constante
de tiempo T = 0.7(Rl + R2)C2 es aproximadamente 2.57 minutos. Esto quiere decir que;
si en 2.57 minutos no se produce ningún pulso en la entrada del circuito de reset, C2 se
cargará a 2/3 VSB y la salida cambiará a "O". Con esto Q3 entrará en saturación activando
el switch bilateral y a su vez se activará el botón de power apagando el CPU. Para que se
vuelva a accionar el botón de power por efecto del timer deberá pasar un tiempo T =
volverá a encender y el sistema se restablecerá continuando con la lectura y envío de datos
desde la estación meteorológica.
�B
R6
U2:A 1.5k
74HC4066 R1
470k
Q3
To Power Button e
R ü
R7 CV DC
R2
1.5k z TH
(!)
R5 U1
R3 NE555
4.7k 1.5k
C1
Q2 C2
Q1 470uF
2N3904
01
1N4004
Figura 2.2 Circuito de Control de Reset
El circuito de control de reset debe permanecer energizado aún cuando la fuente de
poder este en "standby" ya que deberá actuar para encender la misma ( accionamiento de
señal de Power-Up de la fuente), razón por la cual se alimenta a través de la línea +5VSB.
Esta línea, en las fuentes de poder para computadoras PC compatible, provee 5 voltios
regulados aún cuando la PC este apagada. Solo necesita estar conectada a la red AC
doméstica.
2.6 Circuito Display.
El circuito de display esta formado por una pantalla LCD de 2 líneas por 16
caractere� modelo TS1620-1 conectada al puerto paralelo (DB-25) tal como se indica en la
RS 10 K
17
1-Display TS 1620-1
16 1:5 14 13 12 11 10 9 8 7 6 5 4 3 2 1
BL- BL+ D7 D6 D5 D4 D3 D2 D1 DO E RIW' RS Vo WD Gnd
D7 D6 D5 D4 03 D2 D1 DO C1 Gnd co
9 8 7 6 5 4 3 2
u
21 1 PinPuerto Para lelo (D8-25)
Figura 2.3 Conexión de Display al Puerto Paralelo
2. 7 Estación Meteorológica.
19
Pin
..n
"U Gnd +5v
La estación meteorológica es de marca Davis, modelo: V antage Pro2 con consola
de tecnología inalámbrica. La consola se comunica con la PC vía puerto USB. Gracias al
software "WeatherLink" incluido con la consola, el puerto USB emula un puerto serie
virtual con las siguientes características: Baud Rate 19200, 8 bits de datos, 1 bit de inicio,
1 bit de parada y No paridad.
Los comandos, con los cuales se maneja la consola, son primariamente cadenas de
caracteres ASCII. Una lista con los principales comandos están indicados en el anexo B.
Los comandos básicos con los cuales trabajaremos y a partir de los cuales obtendremos
todos los datos que necesitamos son: el comando LOOP, el comando EEBRD y el
comando BARDATA. De estos tres el principal es el comando LOOP. El formato en el
cual devuelve los datos la consola está especificado en el Anexo C.
Una descripción más detallada de los comandos y su uso se encuentra en el
documento "Vantage Serial Protocol Docs v2.l.0.pdf' el cual se puede bajar directamente
desde la página web de la compañía Davis "www.davisnet.com". La figura 2.4 muestra
a) Consola b) Estación Meteorológica
Figura 2.4 Estación Meteorológica Davis V antage Pro2
2.8 Proceso de Ensamblaje.
A continuación se muestra, a través de fotografías, la secuencia de ensamblaje de la unidad de control TE2. Esta parte no pretende ser un manual de ensamblaje, smo, una muestra gráfica de la secuencia que se empleó en la construcción del equipo.
Tal como se indicó anteriormente la placa base, procesador, memoria, disco duro y fuente de alimentación se obtienen de una CPU marca Dell (Figura 2.5). Estos se colocan dentro de un gabinete previamente preparado tal como se muestra en las figuras 2.6 y 2.7. El gabinete se ha diseñado para albergar los componentes de una manera compacta mostrando por la parte delantera el display que mostrará la actividad del sistema y en la parte posterior la conexión AC, la salida de antena del módem, la conexión USB y los botones de encendido y reset.
21
Figura 2.5 Placa base, procesador, memoria y fuente de alimentación
(a) (b)
a) Base de Gabinete b) Soporte, Mainboard y fuente
e) Sopone en la base d) Mainboard Instalado
Figura 2. 7 Instalación de mainboard en gabinete
---a) Preparación de gabinete b) Instalación de Display
---c) Conexión de cables
Figura 2.9 Instalación de circuito de displa)
Figura 2.10 Instalación de Fuente de Poder
Luego de instalado y conectado el circuito de Display, se procede a instalar la fuente de poder, tal como se muestra en la figura 2.10. A continuación se instala y conecta el disco duro en el receptáculo especialmente preparado para él en el gabinete. Ver figura 2.11. Sobre el receptáculo se instala el circuito de Reset como se indica en la figura 2.12. A continuación se procede a instalar y conectar el módem celular figura 2.13. En la parte lateral derecha se instalan los botones de power y reset y el cable de extensión para la salida USB.
Figura 2.11 Instalación de Disco Duro
,
r
a) Módem Celular Anydata b) Módem instalado
Figura 2.13 Instalación de Modem Celular
La figura 2.14 muestra el equipo terminado junto con la consola Vantage Pro 2.
a) Vista Frontal b) ista Posterior
Figura 2.14 Unidad de control TE y Consola antage Pro2
3.1 Introducción
El software de Control, nombrado "Vantage Pro2", constituye la parte central del
sistema. Desde aquí se gestionarán y controlarán las diferentes funciones que ha de realizar
el equipo. Para llevar a cabo las mismas se utilizan también otros programas como el
control de conexión a Internet del sistema operativo Windows 98, el programa NetLaunch
que nos sirve para efectuar la conexión a Internet sin asistencia externa y el módulo
MSocketSupport, desarrollado por Oleg Gdalevich, que nos proporciona acceso a
transferencia de archivos vía protocolo FTP desde Visual Basic, que es el lenguaje de
programación en el que está desarrollado el software de Control.
El programa deberá realizar las siguientes acciones, las cuales se verán en detalle
más adelante en este mismo capítulo, de manera secuencial de acuerdo a los tiempos
marcados por un timer que proporciona la hora real. El diagrama de bloques mostrado en la
figura 3.1 nos indica la secuencia de acciones que debe ejecutar el software de Control.
Cada 5 minutos la CPU se conecta con la Consola V antage Pro2 y descarga los
datos enviados por la estación meteorológica. Estos datos son almacenados en la base de
datos nombrada "Agrosensing.mdb". Posteriormente, cada media hora, el programa tomará
los datos de la base de datos y los procesará, calculando en algunos casos los promedios de
los datos tomados en la última media hora, y convirtiendo todos los datos a las unidades
requeridas por el programa que los procesará en el servidor remoto. Todas estas acciones
las ejecuta la subrutina "GetArchivoComasDB". El resultado es un archivo que se
depositará en la carpeta "FilesToSend".
Posteriormente, el equipo envía una serie de comandos A T al módem celular para
inicializarlo. Acto seguido se procede a efectuar los procedimientos necesarios para
establecer una conexión a Internet por medio de un ISP establecido. El software
27
inicialización del módem celular, los parámetros de configuración del puerto serie, a través
del cual se comunica el módem, así como los datos del ISP necesarios para establecer la
conexión a Internet.
Inicio
1 Carga de Programas
Toma de Datos Consola Estación Meteorológica
Conexión a Internet
Transmisión de Datos
Desconexión Internet
Figura 3.1 Funciones del Software de Control
Realizada la conexión a Internet, se procede a establecer la conexión con el
Servidor Remoto vía protocolo FTP. Si la conexión se realiza sin errores se procede a
enviar todos los archivos ubicados en la carpeta "FilesToSend". Si no se puede establecer
la conexión, los datos permanecerán en esta carpeta hasta que se produzca con éxito la
misma. Finalmente se procede a cerrar la conexión a Internet para que el tiempo utilizado
Más adelante en la sección 3 .3 se detallan cada uno de los procedimientos
involucrados en los bloques que se indican en la figura 3.1.
3.2 Programas Complementarios
Para poder cumplir con su labor, el software de control se vale de otros programas,
como por ejemplo "Windows 98", "NetLaunch", "MSocketSupport" y "Deepfrezze". El
último le da características de automatización al sistema; y el módulo "MSocketSupport"
sirve para implementar las transferencias de archivos por medio del protocolo "FTP" y la
API de Windows 98.
3.2.1 Windows 98
Como vimos en el capítulo 11, para que los costos sean los mínimos posibles, se
eligió el hardware más económico pero que a su vez cumpla con todos los requisitos
exigidos por el sistema. A su vez, el sistema operativo deberá ser tal que funcione bien en
este hardware y que nos proporcione las herramientas necesanas para el correcto
funcionamiento del mismo. El sistema operativo que me3or se adecua a estos
requerimientos es Windows 98. Este sistema operativo además ocupa la mínima cantidad
de recursos, los cuales quedan disponibles para su utilización por parte del software de
control.
Windows 98 provee, además, la implementación de todos los protocolos del
modelo OSI necesarios para establecer un enlace vía Internet con el servidor de un
Proveedor de Servicios de Internet (ISP).
Lo primero que tenemos que hacer es crear, desde Windows 98, una nueva
"Conexión a Internet". Para esto, utilizamos el "Asistente para nueva conexión a Internet".
Para iniciar esta aplicación vamos al menú Inicio y sucesivamente elegimos las siguientes
opciones: Programas, Accesorios, Comunicaciones, Asistente para la comunicación a
Internet. Aquí ingresamos los datos proporcionados por el ISP:
Número de Teléfono: # 777
Nombre Usuario: "nombre de usuario"
Password : "password"
29
Estos datos pueden cambiar según el ISP elegido. En nuestro caso hemos optado
por llamar a esta conexión como "Movistar". En adelante, esta conexión será invocada con
este nombre. En condiciones normales, para abrir la conexión, se necesitaría hacer clic
sobre el icono creado para la misma, luego ingresar los datos de usuario y password, y
posteriormente hacer click en conectar o marcar. Puesto que; como expusimos
anteriormente, el sistema carece de asistencia externa, todo esto deberá hacerse de manera
automática. Para evitar que se nos pidan los datos de usuario y password así como hacer
click en el botón conectar, en la ventana Propiedades del Acceso Telefónico a Redes
elegimos las siguientes opciones: Conexiones, Configuración. Aquí desmarcamos la
opción "Solicitar información antes de marcar". Con esto se obtendrá acceso a intemet solo
con invocar la conexión "MoviStar".
3.2.2 NetLaunch
Para iniciar la conexión "MoviStar" debemos hacer click sobre el icono de la
misma. ¿Cómo hacemos esto?. Para hacer click en un icono, de manera virtual, e iniciar la
ejecución de un programa, hacemos uso del programa "NetLaunch". Una versión gratuita
del mismo se puede bajar desde http://netlaunch.archivospc.com/ .
Primero instalamos el programa. Haciendo click, con el botón derecho del mouse,
sobre el icono recién creado en la barra de tareas, escogemos la opción "Preferences" del
menú desplegado. Entonces aparece la ventana que se muestra en la figura 3.2. Para añadir
la conexión "Movistar", que creamos anteriormente con Windows, a la lista de programas
que puede abrir Netlaunch, desde el escritorio, arrastramos el icono de la conexión
"Movistar" hacia el cuadro "Launch list" de la ventana del programa Netlaunch y listo.
Para invocar desde Visual Basic el inicio de la conexión "Movistar" usamos el
comando "Shell" en la siguiente fracción de código:
Dim RetVal as V ariant
Dim Estilo as Integer
Estilo= 1
RetVal = Shell( RutaArchivo, Estilo)
Donde, RutaArchivo, es una cadena que contiene la ruta del archivo ejecutable
Netlaunch y el nombre del programa que debe abrir. Por ejemplo:
Con esto, desde Visual Basic podemos abrir la conexión "Movistar" a Internet, tal como si hiciéramos click sobre el icono respectivo desde el escritorio.
Para terminar la conexión volvemos a invocar al comando Shell, pero esta vez, la última parte de la cadena RutaArchivo deberá ser: "Launch.exe desconectar Movistar".
Es importante terminar la conexión adecuadamente, ya que de otra manera se consumiría tiempo innecesario de conexión, con el perjuicio económico que esto traería consigo.
�b Netlaunch Options
m
�
Launch ] Connections ] Progr am ]
e Apply to all connections
Ci" Configure connections independently
IMovistar
e Apply to all programs
r. Configure programs independently
Launch List
IJ
MovistarConte:-:t t...f enu ---� í [1on't .. h,:,,,..,, 1n c-onte:-:t ri"Pnu
r
Only ._h,:,1,1 .. 1 if e C ,nnected<� r·Jot conne,:,ted
r
L,:iunchr
.Ju::t prior to ----� e C:,nnecte [,j,c-onnect
¡o-
·Pe dela1,ií Cl,_,�e í
e Connect
e D1 ... connect
í IJnl_,,, orie 1n tan,:e
í No foc,r
J1rt prior to ---,
í Di conned v,.'1-,et, progr.:irn i .. _lo::·ed
r
Clo·i;; \·1.11ndov,.1Í [1 e -tr,-,y 1.-.,i1nd,:,,,..,
.Í Ou1t program
e Fir$t r P.11 e F1r0t e 1�.II
Aceptar Cancelar Aplicar¿ 1
Figura 3.2 Programa Netlaunch
3.2.3 Deepfrezze
31
hubiese pasado. En condiciones normales, sin este programa activado, si ocurre alguna
falla y el equipo se reinicia, entonces el sistema operativo Windows mostraría un mensaje
de error exigiendo intervención externa, lo cual en nuestro caso no puede ser, ya que el
equipo carece de teclado o mouse que permitan ingresar datos. Por lo tanto, este programa,
de manera indirecta, nos ayuda con la autonomía del sistema evitando la asistencia externa.
3.2.4 MSocketSupport
El módulo MSocketSupport, desarrollado por Oleg Gdalevich, nos proporciona
acceso a transferencia de archivos vía protocolo FTP desde Visual Basic. Una versión
completa del mismo puede ser bajada desde el sitio:http://www.vbip.com.
Básicamente, este módulo, agregado a nuestro programa en visual basic, nos
permitirá tres cosas:
a) Establecer una sesión FTP con un servidor FTP. Este procedimiento incluye tres
operaciones: establecer la conexión TCP con el host remoto FTP, autenticación del
usuario, y establecer el directorio de trabajo remoto previamente asignado por la empresa
Agrosensing.
b) Iniciar la transferencia de archivos hacia el host remoto.
c) Cerrar la conexión.
Para efectuar todas estas operaciones este módulo se vale de otros módulos que
deberán ser agregados a nuestro proyecto. Estos son:
MSocketSupport
MTimeOutSupport
CFtpClient
CFtpError
CFtpFile
CFtpFiles
CSocket
CTimeout
El desarrollo de estos módulos es bastante extenso y complejo motivo por el cual
tratarán de forma global los aspectos que nos ayuden a establecer la comunicación con el
host remoto.
3.3 Software de Control "Vantage Pro2"
El software de Control constituye la parte central del sistema. Desde aquí se
gestionarán y controlarán las diferentes funciones que ha de realizar el equipo y que
básicamente ejecutarán las tareas necesarias para implementar los bloques indicados en la
figura 3.1.
Todo programa en Visual Basic consta de formularios, objetos (como: botones,
cuadros de texto, menús, etc.), procedimientos, funciones y módulos de código entre otros.
Explicar cada uno de estos puntos por separado seria, no solamente tedioso, sino
principalmente anti didáctico y no contribuiría al entendimiento de manera sencilla del
funcionamiento global del sistema. Por esta razón se expondrán solamente aquellos puntos,
que por su importancia, contribuyen a este fin. En una primera parte subtitulada
"Formularios" daremos a conocer los formularios que forman parte del programa así como
los principales menús y objetos que contienen. Así mismo, se dará una breve explicación
de cada uno de ellos y de cómo contribuyen a lograr los objetivos del sistema. En una
segunda parte subtitulada "Descripción del software" se expondrán los procedimientos
que implementan cada uno de los bloques que aparecen en la figura 3 .1.
3.3.1 Formularios
Si bien es cierto, el programa es totalmente automatizado, este cuenta con
formularios y controles que nos permiten monitorear, controlar y configurar diferentes
funciones y escenarios; ya sea que queramos cambiar el nombre del proveedor de Internet
(ISP), el nombre del host remoto, la contraseña, configurar algún modem celular diferente
o que simplemente queramos observar que está sucediendo en un determinado momento.
A continuación damos una explicación del funcionamiento de cada uno de ellos y
de los objetos que contienen.
a) Formulario Principal
-., Vantage Pro2
�
©]
�
Configuración Salir
Estación = 000-1
Servidor FTP = 200.89. HA3
User ID = agrosen
Conexion Internet = MovistarENFORA
LlilliTu.l
tlMil
j
19:42:20
°
•Mllffl:I
_1
Borrar RutaNetlaunch = C:\Archivos de programa\Netlaunch\launch.exe Reiniciar PUERTO CONSOLA
NumPuerto = ,4
Protocolo = 2 Enviar Archivo
Bits/Seg = 19200
Paridad = N Comandos AT
Bits Datos = 8
Bits Stop = 1 SendCommAT
PUERTO MODEM NumPuerto = ,4 Protocolo = 2 Bits/Seg = 19200
Paridad = N
v¡
RichTextBox1
Figura 3.3 Formulario principal del Programa de Control "Vantage Pro2"
33
En la parte superior, en la barra de menús, tenemos dos opciones: Configuración y.
Salir. La segunda nos permite salir del programa. El menú Configuración nos presenta las siguientes alternativas:
Puerto de Comunicaciones consola V antage Pro Puerto de Comunicaciones modem Anydata Configuración
Comandos de Inicio
Las dos primeras alternativas nos permiten configurar los parámetros de
Serial" que nos permite ingresar los parámetros del puerto serie a usar y que se expondrá
con mayor detalle más adel�te. Las otras dos alternativas abren respectivamente los
formularios "Co,nfiguración" y "Comandos de Inicialización del Modem" que también
serán tratados con mayor profundidad en este mismo capítulo.
Cuando se inicia el programa, los parámetros de configuración de los distintos
elementos que conforman el sistema, son cargados y se muestran en la ventana de texto
ubicada al centro del formulario. A la derecha del mismo se ubican una serie de controles
(5 botones), que implementan otra herramienta de ayuda del programa. Esta nos permite
transmitir comandos a través del puerto serie tal como el programa HyperTerminal de
Windows. El botón "Abrir Puerto" nos permite, manualmente, abrir el puerto de
comunicación serie asignado al modem. Los comandos transmitidos y las respuestas
recibidas se muestran en esta ventana.
Finalmente, el cuadro de texto, en la parte inferior del formulario principal, sirve
para mostrar las acciones que toma el programa cuando establece una comunicación FTP
vía Internet. El reloj en la parte superior, no solo sirve para indicar la hora, sino que,
principalmente, nos sirve para marcar los tiempos en los que se deberá ejecutar tal o cual
procedimiento según se requiera. Esto se verá más adelante en el apartado "Descripción del
Software"
b) Formulario "Configuración de Puerto Serial"
La figura 3.4 nos muestra el formulario que nos permite ingresar los parámetros de
configuración del puerto de comunicación serial. En el podemos indicar el número de
puerto que utilizaremos, la velocidad de transferencia (bits por segundo o baudios), el
número de bits por dato transmitido, si se utiliza paridad o no, el número de bits de parada
y qué tipo de control de flujo se va a utilizar (ninguno, control por software, control por
hardware, o control por software y hardware). Los cuadros de texto son del tipo
ComboBox, esta nos presentan una lista previamente llenada que nos facilita la tarea de
configuración del puerto escogido. Los datos son grabados en los archivos
"PuertoConsola.txt" y "PuertoModem.txt", respectivamente, según se trate de la
configuración del puerto asignado a la Consola o al modem. Estos archivos son cargados
automáticamente al iniciarse el programa, por lo que no es necesario volver a
llii, Configuración de Puerto Serial
GJ
�['.BJ
Puerto (CommPort):
8 its por segundo: ]19200 �
8 its de Datos:
Je
�Paridad: lNinguno
3
8 its de parada: 11 �
Control de Flujo: jHardware
3
Cancelar Aceptar
Figura 3.4 Formulario de Configuración de Puerto de Comunicación Serial
e) Formulario "Configuración"
35
liii. Configuración
(:;]
[Q]
�
Estación Número 0001
�SERVIDOR FTP-------
Server IP
User ID
Contraseña
Verificar contraseña
Conei<ión a Internet IMovistar
Ruta Netlaunch
j200.89.14.43
Jagrosen
!
**********
1
···�····
Cancelar
Figura 3.5 Formulario Configuración
d) Formulario "Comandos de Inicialización del Modem"
Ei<aminar. ... 1
Aceptar
Aunque no son de vital importancia para el funcionamiento del sistema, el
programa nos brinda algunas herramientas interesantes para verificar o diagnosticar el
correcto funcionamiento de los elementos conectados a la Unidad de control. Uno de ellos
es la última opción del menú de configuración llamada "Comandos de Inicio" y que abre el
formulario "Comandos de Inicialización del Modem". En ciertas ocasiones el modem
podría perder sus parámetros de configuración, lo cual lo imposibilitaría de establecer
conexión cuando se le requiera. Para subsanar esta posible deficiencia se ha creado este
formulario en el que de manera secuencial se escriben los comandos que permiten
37
vez que se requiera de este modero. El formulario nos permite guardar diferentes
secuencias con los nombres de archivo que deseemos gracias al botón Guardar. Asimismo
podemos abrir una secuencia anteriormente creada con el botón Abrir. El formulario se
muestra en la figura 3.6.
lii, Comandos de Inicialización del Modem
GJ
§
�
AT
AT&F
AT+CGDCONT =1, ªipª, ªmovistar.pe•, .. ,0,0
AT%CGPC0=1, •movistar@datos,movistar•, 1
AT
AT+CSQ=?
AT
l¡ ... Abr
.
ir ... ¡,
, ... , Guardar Borrar Aceptar
Figura 3.6 Formulario "Comandos de Inicialización del Modero"
3.3.2 Descripción del Software
La figura 3.1 muestra los bloques que se deben ejecutar dentro del programa para
lograr los objetivos del sistema.
Para marcar los tiempos de ejecución de los diferentes procedimientos que forman
parte del programa nos valemos de un objeto Timer. Dentro de este, diversos
procedimientos desarrollarán de manera secuencial los bloques antes mencionados, los
cuales serán descritos más adelante.
El objeto que se encarga de activar el reloj, y que a su vez constituye el director de
orquesta de todo el sistema, es el objeto Timer llamado "Timer2". El procedimiento que lo
Private Sub Timer2_Timer()
DoEvents
Reloj.Caption = Format(Now, "hh:mm:ss")
Cal! DisplayHora
Dim Minutos As Integer Dim Segundos As Integer Minutos = Minute(Now) Segundos= Second(Now)
Dim i As Integer If Segundos < 2 Then
For i = O To 55 Step 5
If Minutos = i Then
Call DownLoadConsolaToDB
IfMinutos = O Or Minutos= 30 Then
Call GetArchivoComasDB
Cal! SendA TCommands
Call Conectarlntemet
Cal I Enviar Archivo Cal l Desconectar Internet End If
WriteReg (1) 'Borrar pantalla
DisplayWordl " AGROSENSING " DisplayWord2 "
End If
"
Next
End If
End Sub
a) Toma de Datos Consola Estación Meteorológica
39
A grandes rasgos, el procedimiento "DownLoadConsolaToDB", descarga los datos
de la consola meteorológica y_ los almacena en una base de Datos.
Veamos más a detalle cómo se realiza esto. El procedimiento comienza por abrir el
puerto serie que se asignó a la consola meteorológica. Luego, valiéndose de los
procedimientos "WakeUpConsola" (el cual prepara la consola para lectura y escritura),
BARDATA, EEBRD y LOOPI se bajan los datos almacenados en la consola. Los
comandos que acepta la consola están indicados en el Anexo B, y el formato en el que
llegan los datos se muestra en el Anexo C. Tomando como referencia este último anexo,
los datos recibidos son procesados y almacenados en la base de datos llamada
"Agrosensing.mdb". Este procedimiento se repite cada 5 minutos.
Cada treinta minutos se implementan los bloques "Conexión a Internet",
"Transmisión de Datos" y "Desconexión Internet" por medio de los procedimientos
"Conectarlnternet", "EnviarArchivo" y "Desconectarlnternet" respectivamente.
Previamente los datos almacenados en la base de datos "Agrosensing.mdb" son
preparados de acuerdo al formato indicado en el Anexo D por medio del procedimiento
"GetArchivoComasDB". El resultado es un archivo cuyo nombre tendrá el formato
indicado en la figura 3. 7.
S00040807012300.csv
Número de Estac/
r �
Hora. hh: mmFecha. aa/mm/dd
Figura 3.7 Formato de Nombre de Archivo
En el ejemplo anterior, el archivo de datos fue creado por la Estación Nº 0004, el
día primero de julio de 2008 y corresponde a las 23 horas 00 minutos. Este formato es
particularmente interesante porque nos permite identificar de manera única cada archivo
con solo tener su nombre, además nos permite su manipulación posterior sin tener
Una vez obtenido el archivo, este es depositado en la carpeta "FilesToSend" para su
posterior transmisión. Los archivos permanecerán en esta carpeta hasta que se realice con
éxito su transmisión al Host Remoto.
b) Conexión a Internet
El bloque "Conexión a Internet" es implementado por el procedimiento
"Conectarlnternet" que se muestra a continuación:
Prívate Static Sub ConectarinternetO
On Enor Resume ext
ErrorProceso = O
Display Word 1 "Conectando DisplayWord2 "a Internet .... " Dim Cadena As String
Dim RetVal As Variant
"
TxtComandos.Text = "Abriendo Conexión a Internet:
N ameConexionlnternet & LineaRetorno
Cadena= RutaNetLaunch & "" & NameConexionlnternet
RetVal = Shell(Cadena, 1)
11 &
TxtComandos.Text = TxtComandos.Text & "Conexión a Internet: " & NameConexionlnternet & " Abierta ... " & LineaRetorno
Timer 1.Interval = 1000
Pausa= O
Timerl .Enabled = True
Do Until Pausa= 15
DoEvents
Loop
Timerl .Enabled = False
Pausa= O
If Err Then
TxtComandos.Text = TxtComandos.Text & "Error al Conectar a
Internet.."
lse
DisplayWordl "Conexion OK!. .. "
DisplayWord2" "
Endlf
End Sub
41
La parte más importante de este procedimiento lo constituye la invocación del comando "Shell" al cual se le proporciona una cadena con la ruta del programa NetLaunch y el nombre de la conexión a Internet creada en Windows. En nuestro caso es "Movistar". La cadena tiene la forma siguiente:
"C:\Ruta NetLaunch .. \Launch.exe Movistar"
El commando Shell ejecuta el programa Launch.exe y éste a su vez m1cia la
conexión llamada "Movistar". Luego de unos 20 a 30 segundos la conexión queda
establecida con el proveedor de servicios de internet indicado en la conexión Movistar. De
este modo estamos listos para ejecutar el siguiente bloque que se encargará de transmitir
los archivos hacia el Host Remoto.
e) Transmisión de Datos
El bloque "Transmisión de Datos" está implementado por el procedimiento
"EnviarArchivo". Este procedimiento, a su vez, utiliza los procedimientos;
"EstablecerConexión", "CargarArchivo" y "CerrarConexión" para realizar la transmisión
de datos.
El procedimiento "EstablecerConexión" se encarga de establecer la conexión con el
servidor FTP remoto. Por medio de este se proporcionan las credenciales ServerIP,
UsuarioID y contraseña necesarios para iniciar la conexión.
En las siguientes líneas de código se muestra como se pasan estos parámetros al
objeto "m _ objFtpClient" previamente creado para este fin.
With m_objFtpClient
.FtpServer = ServerIP
.RemotePort = 21