Sistema remoto de medición de temperaturas usando internet
Tropea, S.; Brengi D.
Centro de Investigación y Desarrollo en Telecomunicaciones, Electrónica e Informática (CITEI)
En este trabajo se expone como metodología de trabajo el uso de herramientas open source y generadores de código para el desarrollo de aplicaciones con microcontroladores PIC de Microchip.
En este trabajo se expone el desarrollo de un sistema de medición remoto de temperaturas. El mismo utiliza la red internet como medio de comunicación y la world wide web como interfaz de usuario.
Este equipo fue desarrollado para uso interno del CITEI en ensayos de seguridad eléctrica. Uno de los puntos fundamentales del desarrollo fue el de poder usar los componentes disponibles en el laboratorio.
REQUERIMIENTOS
El equipo se desarrolló para automatizar ensayos en los cuales un equipo es sometido a condiciones particulares y la temperatura de ciertas partes es medida en forma constante hasta su estabilización. Esta es una tarea pesada ya que se debe monitorear periódicamente la temperatura en varios puntos del equipo y determinar si la misma se ha estabilizado o no. Dichos ensayos son prolongados y duran varias horas, pudiendo llegar a durar más de un día. Por estas razones es muy útil automatizarlos.
Otro requerimiento importante era que el equipo fuera fácil de usar para que no se necesitara capacitar gente para su uso.
Asimismo el tiempo de desarrollo debía ser el menor posible.
Limitaciones
Debido a limitaciones presupuestarias era preferible que el equipo fuera realizado con materiales ya existentes.
SELECCIÓN DE LOS COMPONENTES
Para lograr cumplir con los requerimientos de que el equipo fuera fácil de usar, el tiempo de desarrollo fuera corto y que el mismo tuviera características como el almacenamiento de los resultados de varios ensayos se decidió que debía llevarse a cabo con una computadora PC.
El recinto donde se realizan los ensayos tiene una temperatura elevada, alrededor de 40 grados Celsius, y el personal que realiza los ensayos no se encuentra cerca de dicho recinto. Por estas razones era deseable que el mismo pudiera ser operado remotamente.
Se disponía de una PC 486DX4 100 y de una placa de adquisición para termocuplas fabricada en 1985 para el bus ISA.
A la hora de decidir que sistema operativo utilizar se evaluaron los siguientes puntos:
Poder funcionar en un equipo 486DX sin problemas.
Poseer un buen manejo de red para poder comunicar los datos sin un esfuerzo de desarrollo importante.
No impactar en el costo del desarrollo que debía tratar de mantenerse lo más bajo posible. Idealmente que el mismo fuera nulo.
Muy pocos sistemas operativos pueden cumplir con estos requisitos, Debian[1] GNU[2]/Linux[3] es uno de ellos.
Para lograr una interfaz de usuario simple, y aprovechando las excelentes capacidades como servidor de GNU/Linux, se decidió utilizar páginas web como interfaz de usuario.
Por razones de experiencia se seleccionó el lenguaje C para el programa de bajo nivel y el PHP[4] para la generación de las páginas web.
4º Jornadas de Desarrollo e Innovación, Noviembre 2002
1
IMPLEMENTACIÓN
Control de la placa de termocuplas
El programa se llevó a cabo utilizando lenguaje C ya que el mismo es apto para realizar operaciones de bajo nivel. Por otro lado no es el más apto para tareas como la generación de páginas web para lo que se usó PHP.
Por razones de tiempo se decidió no crear un módulo para el kernel de Linux (driver) sino simplemente incorporarlas al programa. Debido a esto es que el mismo debía asegurarse de que ninguna otra copia estuviera accediendo a la placa de termocuplas al mismo tiempo. Por esto y debido a que el programa debía correr en background (segundo plano) se utilizaron técnicas comunes a los daemons (demonios) UNIX. Como base se utilizó el código del daemon atd[5].
Este programa se encarga de controlar la placa de termocuplas y de determinar cuando la temperatura se estabilizó. Cuando el ensayo ha llegado a su fin el mismo envía un e-mail al operador indicándolo e informando los resultados del mismo.
Acortar los tiempos de desarrollo gracias a disponer de código fuente a usar como base.
Cabe destacar que no sólo el sistema operativo sino también las herramientas de desarrollo usadas (editor de texto SETEdit[8], compilador de C/C++ gcc, etc.) son libres (freesoftware). Por libres se entiende lo definido en el proyecto GNU[2] y no simplemente gratuito.
Gracias al desarrollo de este equipo se logró:
Reducir los tiempos de los ensayos ya que es el mismo equipo que mide es el que detecta que el ensayo llegó a su fin.
Liberar a los técnicos que realizan los ensayos de tareas monótonas permitiendo usar su tiempo en otros ensayos que necesitan intervención humana.
Todo esto utilizando equipamiento reciclado y logrando las prestaciones de un equipo de miles de dólares.
Interfaz de usuario
Como servidor de páginas web se utilizó el apache[6] y como lenguaje el PHP que permite intercalar resultados en el texto de una página web (ver Fig. 1).
Desde las páginas web se permite iniciar o detener un ensayo y consultar los resultados actuales o de ensayos anteriores.
Para facilitar la interpretación de los datos se agregó la generación de gráficos de las temperaturas que pudieran consultarse a través de las páginas web. Para realizar los gráficos se utilizó el programa gnuplot[7].
Apagado
Debido a que el equipo no posee monitor ni teclado y a que no puede ser apagado interrumpiendo la alimentación se creó un demonio especial que usa el botón de reset y el led de turbo de la PC.
Fig. 1: Menú principal del controlador.
Referencias
[1] Debian project http://www.debian.org/ [2] GNU http://www.gnu.org/ [3] Linux http://www.linux.org/ [4] PHP http://www.php.net/ [5] at by Thomas Koenig [6] Apache web server http://www.apache.org/ [7] Gnuplot Central http://www.gnuplot.info/ [8] Editor de texto orientado a programación http://setedit.sf.net/
Para mayor información contactarse con: Ing. Salvador E. Tropea - salvador@inti.gov.ar
CONCLUSIONES Gracias al uso de software libre como el
GNU/Linux, apache, PHP, etc. se logró:
Que no hubiera costo adicional de software. Que se pudiera usar el hardware disponible.
Volver a página principal
2
4º Jornadas de Desarrollo e Innovación, Noviembre 2002
Ver+/-