Sei sulla pagina 1di 5

Segundo Congreso Virtual, Microcontroladores y sus Aplicaciones

IPreset
Monitoreo y control automático de equipos IP

Nicolás Mariano Morini


UTN Facultad Regional Paraná / BM Soluciones S.R.L.
Argentina
Correo-e: nicolasmorini@gmail.com

Abstract. Este proyecto consiste en el diseño e implementación de un dispositivo capaz de conectarse a


una red TCP/IP mediante Ethernet para monitoreo y control de otros equipos conectados a la misma
red. El objetivo es controlar la fuente de alimentación de los equipos monitoreados para que ante la
eventual falla o “cuelgue” de alguno de ellos, se lo pueda, por ejemplo, reiniciar. El monitoreo se
realiza mediante solicitudes de eco a través del protocolo ICMP y el control de la fuente de
alimentación se realiza mediante dos relays, uno para corriente continua y otro para corriente
alterna. También cuenta con un registro de eventos (log), notificaciones por e-mail, servidor HTTP,
cliente de DNS dinámico, cliente NTP y cliente TFTP. El servidor HTTP permite alojar páginas web
que muestran información de estado y permiten la configuración del dispositivo. El cliente TFTP
permite la actualización del firmware remotamente.

1 Introducción Uno de los requisitos de diseño es la


estabilidad del dispositivo, ya que su principal
Las redes de comunicaciones actuales están función es la de detectar y resolver el mal
compuestas por una variedad muy amplia de equipos funcionamiento de otros equipos. Esto se logró
electrónicos. Es un problema común que dichos utilizando una fuente de alimentación en dos etapas,
equipos en determinados momentos dejen de adecuadamente filtrada. También se colocaron
funcionar correctamente o como se suele decir, se capacitores de desacople en todos los pines de
“cuelguen”. alimentación del microcontrolador y memoria
utilizados. Por último el diseño del firmware es tal
Las dos principales causas de estas fallas que ante un reinicio inesperado del microcontrolador,
son: problemas relacionados con ruido en la fuente de el mismo retoma su ejecución en el estado previo al
alimentación y sobrecarga computacional. reinicio.

En dichos casos, los cuelgues no son fallas Otras características importantes son: la
permanentes, sino que en la mayoría de los casos se capacidad de actualizar tanto el firmware como la
solucionan reiniciando el equipo en cuestión. El página web remotamente a través de la red TCP/IP a
reinicio consiste simplemente en desconectar el la cual está conectado; llevar un registro histórico de
dispositivo de la fuente de alimentación, esperar unos eventos para análisis posterior; enviar notificaciones
segundos y volver a conectarlo. por e-mail ante eventos; utilizar relays en
configuración normal cerrado, para que en caso de
El reinicio manual significa una pérdida de falla del IPreset no se altere el normal
tiempo y, en algunos casos, económica inaceptable. funcionamiento de los demás equipos de la red.
Es ahí donde nace este proyecto, que se bautizó como
IPreset. Cabe destacar que este proyecto se
desarrolla como proyecto final de la carrera
El objetivo es el diseño e implementación de ingeniería en electrónica de la Facultad Regional
un dispositivo capaz de conectarse a una red TCP/IP Paraná de la UTN y en conjunto con la empresa BM
mediante Ethernet para monitorear de forma Soluciones S.R.L. [1] de la ciudad de Paraná. El
permanente los equipos conectados a la red y, ante mismo se encuentra en su etapa de prueba final.
una eventual falla, actuar en consecuencia. Con esto
se logra una respuesta casi inmediata en presencia del
problema planteado.

Congreso 2010, Página 1


2 Diseño e implementación Debido a la flexibilidad del Stack TCP/IP
provisto por Microchip, sólo se implementaron los
A continuación se muestra un diagrama protocolos que se utilizan, liberando de este modo
esquemático del dispositivo y se describen sus memoria de programa para la aplicación principal.
principales componentes:
El Stack implementado es el siguiente:
2.1 Microcontrolador
TFTP
El sistema está basado en un NBNS
microcontrolador PIC18F67J60 de la empresa SNTP SMTP
Microchip [2]. Sus características más significativas DDNS HTTP
para este proyecto son las siguientes: DNS
UDP TCP
• Arquitectura de 8 bits optimizada para ICMP
programación en lenguaje C. IP
ARP
• Entorno de desarrollo gratuito. ETHERNET
Fig.2: Stack TCP/IP implementado.
• 128KB de memoria de programa (flash).
El protocolo ICMP se utiliza para permitir al
• 4KB de memoria de datos (RAM estática) dispositivo responder a solicitudes de eco (ping) y a
su vez enviar solicitudes de eco a los equipos
• Conversor analógico-digital de 10 bits de monitoreados.
resolución.
El protocolo SNTP se utiliza para
• Controlador Ethernet compatible con IEEE sincronizar la hora del reloj interno con un servidor
802.3, con MAC y 10Base-T PHY integrados y un NTP a través de la red.
buffer de transmisión y recepción de paquetes de
8KB implementado como memoria RAM estática. El protocolo NBNS permite que el equipo
sea accedido a través de un nombre de host además
de su dirección IP.

Memoria
Memoria Conector
Conector El protocolo TFTP permite actualizar el
EEPROM
EEPROM 8P8C (RJ45)
8P8C (RJ45)
firmware remotamente.
Fuentede
Fuente de
alimentación
alimentación
El protocolo HTTP permite alojar un sitio
Microcontrolador
web, donde se muestra información de estado y se
Microcontrolador
permite la configuración del equipo.
ADC

El protocolo SMTP permite enviar


notificaciones por e-mail ante determinados eventos.
Relay
Relay Relay
Relay
También permite las notificaciones vía SMS en caso
DC
DC AC
AC de que el proveedor de telefonía celular cuente con
un Gateway adecuado.

Salida Salida El firmware desarrollado se puede resumir a


Entrada
Entrada DC Entrada
Entrada AC través del diagrama de flujo de la Figura 3. Los
DC
DC AC
AC
bloques que lo componen son:
Fig.1: Esquema del IPreset
• Inicializar hardware: se encarga de
Se utiliza el conversor analógico-digital del configurar el oscilador, los puertos de entrada salida
microcontrolador para medir el nivel de tensión y los periféricos utilizados del microcontrolador.
continua de entrada.
• Inicializar stack TCP/IP: inicializa la base
2.2 Firmware de tiempo utilizada por el stack, como así también los
diferentes clientes y servidores utilizados. Además
Para el desarrollo del firmware se utilizó el configura las direcciones MAC, IP, máscara de
compilador MPLAB C Compiler for PIC18 MCU [3] subred, puerta de enlace y servidor DNS.
bajo el entorno de desarrollo MPLAB IDE de
Microchip [4]. También se utilizó el Stack TCP/IP
v5.25 el cual forma parte del Microchip Application
Libraries v2010-08-04 [5].

2
Segundo Congreso Virtual, Microcontroladores y sus Aplicaciones
Tarea de control de AC
Inicializar hardware

Tarea de control de DC
Inicializar stack TCP/IP

Tarea de control de leds


Inicializar aplicación principal

Verificación de conexión a Internet


Tareas del stack

Tarea de envío de e-mail


Tareas de protocolos

Tarea de monitoreo
Tareas de aplicación principal
Fig.4: Diagrama de flujo de la aplicación principal
Fig.3: Diagrama de flujo principal
• Tarea de control de AC y DC: son las
funciones que controlan los pines de entrada/salida
• Inicializar aplicación principal: aquí se
conectados a los relays. Su función más importante es
inicializan todas las estructuras y variables utilizadas
permitir suspender alguna de las fuentes de
por la aplicación principal.
alimentación temporalmente sin bloquear la
ejecución de las demás tareas.
• Tareas del stack: esta es una función
provista por el Stack TCP/IP que se debe ejecutar
• Tarea de control de leds: controla el
periódicamente. Se encarga de las características de
encendido, apagado y parpadeo de los leds
conectividad de bajo nivel, como lo son el manejo de
indicadores de estado.
las capas MAC y física del controlador Ethernet.
• Verificación de conexión a Internet:
• Tareas de protocolos: es otra función
verifica periódicamente que el dispositivo cuenta con
provista por el Stack. Se encarga de realizar todas las
conexión a Internet y lo muestra en la página de
tareas correspondientes a los protocolos utilizados.
estado.
Funciona como un nexo entre las tareas de la
aplicación principal y las tareas del Stack.
• Tarea de envío de e-mail: se encarga de
armar el e-mail correspondiente con los datos del
• Tareas de aplicación principal: esta
evento que se está notificando e inicia el envío del
función ejecuta las tareas propias de la aplicación,
mismo.
como el control de las fuentes de AC y DC y el
monitoreo de los equipos de red configurados.
• Tarea de monitoreo: es la tarea más
importante de la aplicación. Se encarga de realizar el
Se debe remarcar que las funciones que
monitoreo de los equipos configurados, actuar en
conforman el Stack TCP/IP están implementadas
caso de falla, registrarlo en el log y notificarlo por e-
como máquinas de estado, permitiendo una ejecución
mail.
multitarea cooperativa. Es por esto que en cada ciclo
del bucle principal se debe llamar a las funciones
correspondientes a las tareas del Stack y a las tareas La Figura 5 se presenta el diagrama de
de protocolos para permitir su correcto estados resumido de la tarea de monitoreo.
funcionamiento.

Las funciones correspondientes a la


aplicación principal también se deben diseñar de esta
forma, de modo que no bloqueen la ejecución
periódica de las funciones correspondientes al Stack.

Las tareas que ejecuta la aplicación principal


se resumen en el diagrama de flujo de la Figura 4.

Fig.5: Diagrama de estados de la tarea de monitoreo


Congreso 2010, Página 3
El punto de inicio es el estado retardo Para realizar dicha configuración se debe
inicial, el cual espera un tiempo determinado antes de ingresar al equipo a través de la dirección IP por
comenzar con el monitoreo. A continuación se pasa defecto mediante cualquier navegador web.
al estado de selección de host a monitorear. Aquí se
verifica la configuración de los mismos y el estado Para acceder a la interfaz web se requiere de
general del dispositivo. Luego se envía una solicitud un nombre de usuario y de una contraseña. Existen
de eco a la dirección IP correspondiente. El siguiente dos usuarios, admin, el cual posee control total sobre
estado analiza la respuesta a la solicitud de eco el equipo, y user, que solamente tiene permitido
enviada y en base a esto procede a realizar la acción visualizar la información de estado y el registro
configurada en caso de falla o vuelve al estado de histórico.
selección de host. En caso de que se haya realizado
una acción, se vuelve al estado de retardo inicial. Una vez en la interfaz web, se puede realizar
la configuración de red (MAC, IP, máscara de
2.3 Memoria subred, puerta de enlace, servidor DNS), la
configuración de DNS dinámico (soporta los
Se utiliza una memoria EEPROM servidores dyndns, no-ip y dns-o-matic), la
25LC1024 de la empresa Microchip [6]. La misma configuración de notificaciones por email (se requiere
cuenta con interfaz de comunicación serie SPI y de un servidor SMTP propio), la configuración de
1Mbit de capacidad (128KBytes). fecha y hora (en caso de que no se tenga acceso al
servidor NTP para sincronización automática) y el
Esta memoria no volátil se utiliza para cambio de contraseñas de acceso para los usuarios
almacenar la configuración del equipo, el registro admin y user.
histórico de eventos (log) y la página web.
Una vez realizadas todas estas
2.4 Conector 8P8C (RJ45) configuraciones, se procede a configurar el monitor.
El mismo permite establecer el tiempo de espera
Es un conector RJ45 hembra con
entre el inicio del sistema y el comienzo del
encapsulado metálico. Cuenta con los
monitoreo, como así también el tiempo que dura un
transformadores de adaptación y aislación de línea y
reset.
los leds correspondientes integrados.
Finalmente se puede configurar los equipos
2.5 Relays a monitorear. Dicha configuración permite
Se utilizan dos relays electromecánicos especificar:
doble inversor para comandar las dos interfaces de
alimentación disponibles. Se los utiliza en una • el estado del dispositivo como habilitado
configuración normal cerrado para que en caso de (se lo monitorea activamente) o deshabilitado (se
falla del IPreset no se interrumpa la alimentación de almacena la configuración pero no se lo monitorea);
los demás equipos.
• la dirección IP del equipo a monitorear
2.6 Fuente de alimentación (debe pertenecer a la misma subred que el IPreset);
La fuente de alimentación consta de dos • el período entre solicitudes de eco en
etapas. La primera utiliza un regulador conmutado, el segundos;
LM2575T-5.0 [7], de la empresa National
Semiconductors. En cascada con el mismo se conecta
• la cantidad de fallas consecutivas que
un regulador lineal de la empresa Microchip, el
deben ocurrir antes de realizar la acción configurada;
1825S33 [8], el cual provee una tensión de salida
regulada de 3.3V para alimentación de toda la lógica.
• el tipo de falla que se monitorea, que
puede ser No responde (cuando el equipo no
La fuente se encuentra filtrada y estabilizada
responde a las solicitudes de eco) o Retardo excesivo
según las sugerencias de los fabricantes.
(cuando el equipo no responde o lo hace con un
retardo excesivo a las solicitudes de eco);

• el máximo retardo de respuesta permitido


3 Funcionamiento (en milisegundos);
3.1 Configuración inicial
• la cantidad de acciones consecutivas
En su configuración por defecto el equipo permitidas antes de suspender temporalmente al
tiene una dirección MAC y una dirección IP equipo en cuestión;
preestablecidas, las cuales deben ser configuradas
apropiadamente en su primer uso. • la fuente de alimentación sobre la que se
actuará (AC, DC o ambas);

4
Segundo Congreso Virtual, Microcontroladores y sus Aplicaciones
• y el tipo de acción a realizar (reset, Agradecimientos
encendido o apagado). Se permite configurar hasta 10 Se agradece al Ingeniero César Minni,
equipos a monitorear. docente de la UTN-FRP por su apoyo y guía durante
todo el desarrollo del proyecto, como así también al
Una vez realizadas todas las configuraciones Ingeniero Pablo Gustavo Barrios de la empresa BM
el IPreset las almacena en la memoria EEPROM Soluciones S.R.L. por el apoyo técnico y la
externa. oportunidad de llevar a cabo este emprendimiento.

3.2 Monitoreo
La aplicación principal se encarga de enviar
solicitudes de eco a los equipos monitoreados con la Referencias
frecuencia configurada. Cuando algún equipo alcanza
[1] BM Soluciones S.R.L. Soluciones de Ingeniería.
la cantidad de fallas consecutivas máxima, se procede
http://www.bmsolucionessrl.com.ar/
a realizar la acción configurada, escribir una entrada
en el registro (log) y en caso de estar habilitado,
enviar una notificación por e-mail del evento. [2] PIC18F97J60 Family Data Sheet (10/22/2009).
http://www.microchip.com/wwwproducts/Devic
es.aspx?dDocName=en026445
En caso de que algún equipo falle
repetidamente y provoque un cierto número de
acciones consecutivas, se procederá a suspenderlo [3] MPLAB C Compiler for PIC18 MCUs.
temporalmente, lo que significa que se lo deja de http://www.microchip.com/stellent/idcplg?IdcSe
monitorear. Esto se hace para evitar actuar rvice=SS_GET_PAGE&nodeId=1406&dDocNa
constantemente sobre las fuentes de alimentación en me=en010014
caso de mala configuración o de que el equipo
monitoreado haya dejado de funcionar [4] MPLAB Integrated Development Environment.
permanentemente. Este estado suspendido se puede http://www.microchip.com/stellent/idcplg?IdcSe
reestablecer al estado de habilitado o deshabilitado rvice=SS_GET_PAGE&nodeId=1406&dDocNa
desde la interfaz web o reiniciando el IPreset. me=en019469&part=SW007002

Se cuenta con un botón de reset del equipo. [5] Microchip Application Libraries.
Al presionar el mismo por un tiempo menor a 5 http://www.microchip.com/stellent/idcplg?IdcSe
segundos, se reinicia el microcontrolador. Si se rvice=SS_GET_PAGE&nodeId=2680&dDocNa
presiona por un tiempo mayor a 5 segundos, se me=en547784
reinicia el microcontrolador y se carga la
configuración por defecto, es decir, se cargan las [6] 25LC1024 1 Mbit SPI Bus Serial EEPROM.
direcciones MAC e IP por defecto y se elimina toda http://www.microchip.com/wwwproducts/Devic
la configuración de los equipos monitoreados. es.aspx?dDocName=en520389

[7] LM2575 - SIMPLE SWITCHER 1A Step-


Down Voltage Regulator - 08/25/1989.
http://www.national.com/JS/searchDocument.do
4 Comentarios finales ?textfield=LM2575T-5.0&x=0&y=0
El proyecto se encuentra en su etapa de
prueba final. Durante su desarrollo se armaron dos [8] MCP1825S - 500 mA, Low Voltage, Low
prototipos, el último de los cuales se probó en campo Quiescent Current LDO Regulator.
durante dos semanas, obteniéndose muy buenos http://www.microchip.com/wwwproducts/Devic
resultados y permitiendo detectar y corregir algunos es.aspx?dDocName=en531456
errores presentes en el firmware.

Con esto se logró el objetivo de construir un


dispositivo a medida, que permita resolver una
problemática existente concreta y a un costo
competitivo en el mercado de equipamiento para
redes.

“Copyright ©2010. Nicolás Mariano Morini: El autor delega a la Organización del Segundo Congreso Virtual de
Microcontroladores la licencia para reproducir este documento para los fines del Congreso ya sea que este
artículo se publique en el sitio web del congreso, en un CD o en un documento impreso de las ponencias del
Segundo Congreso Virtual de Microcontroladores.
Congreso 2010, Página 5

Potrebbero piacerti anche