PDF de programación - Monitoreo de temperatura con Linux

Imágen de pdf Monitoreo de temperatura con Linux

Monitoreo de temperatura con Linuxgráfica de visualizaciones

Actualizado el 23 de Julio del 2017 (Publicado el 17 de Julio del 2017)
645 visualizaciones desde el 17 de Julio del 2017
467,2 KB
6 paginas
Creado hace 19a (10/01/2005)
LinuxFocus article number 315
http://linuxfocus.org

Monitoreo de temperatura con Linux

by Stefan Blechschmidt
<sb(at)sbsbavaria.de>

About the author:

Electricista confirmado, me
encontré a mi mismo en
1990 delante de una
estación de trabajo CAD
para desarrollar una estación
de control y conmutación.
Obviamente, me infecté
por un 'virus' entonces
desconocido.

Translated to English by:
Jürgen Pohl
<sept.sapins(at)verizon.net>

Abstract:

Los servidores Linux funcionan de una manera fiable y segura, no necesitan
ninguna atención especial, funcionan y funcionan y funcionan. Pero qué
ocurre si el pequeño pingüino se calienta. El verano pasado nos lo
mostró: deberÃ-amos dar a nuestro pequeño amigo un sistema de
monitoreo de temperatura. Este artÃ-culo le mostrará cómo instalar uno
con un esfuerzo pequeño, por unos 10 euros.

_________________ _________________ _________________

Los componentes

Brian C.Lane ha escrito un programa para el sensor de temperatura DS1820 de DALLAS Semiconductor. No
es difÃ-cil ensamblar un sistema de monitoreo de temperatura con estos dos componentes y algunas que otras
partes.

Nota:
Brian C.Lane ha modificado su página y eliminó la versión que uso. De todas formas puede bajarlo desde
aquÃ-: digitemp−1.3.tar.gz

Aquellos que deseen usar su versión actual digitem−3.2.0.tar.gz, pueden bajarlo desde
http://www.digitemp.com/software.shtml.

1/6

El sensor

El sensor fue producido en principio por DALLAS Semiconductor quien se ha fusionado a Maxim/Dallas
Semiconductor. De acuerdo con la especificación de datos, el sensor puede medir temperaturas desde
−55°C a 125°C. Los datos de las mediciones son generados como una señal digital con un ancho de 9
bits. Además cada sensor posee un número de identificación de 64 bits, permitiendo interconectar a
través de un bus varios sensores. Es posible utilizar 100 sensores en un bus de una longitud de 300m.
El circuito que estamos presentando aquÃ- funcionará con sólo 10 sensores en un bus de 60m. Actualmente
estoy usando 4 sensores en un bus de unos 12m.

Puede encontrar mas información sobre el sensor en esta hoja de especificaciones.

Quiero añadir que el circuito presentado aquÃ- puede medir sólo hasta 75°C, lo cual debe ser adecuado
para nuestra aplicación.

Los otros componentes

Para poder conectar el sensor a la interfaz serie, necesitamos componentes adicionales. Los encontrará en la
mayorÃ-a de los minoristas de componentes de electrónica, en Internet o −incluso mejor− en la tienda de
electrónica de la esquina.

Cantidad Identificación
1
2
1
1
1
1
1
1

Resistencia
Diodo Schottky 1N5818
1N5228
Diodo Zener
Diodo Zener
1N5234
DS18S20
Sensor
Socket, Serial
RS232C/9
Connector Shell SUB−D/9
Breadboard

Tipo
1,5 k Ohm

alter.Tipo
−−−−−−−−
BAT 43
ZPY 3,9V
ZPY 6,2V
−−−−−−−−
−−−−−−−−
−−−−−−−−
Papel laminado −−−−−−−−

Diseño de la interfaz

2/6

Puesto que el circuito de la interfaz es muy simple, elegÃ- ensamblarlo en un circuito experimental. Me
disculpo por mi trabajo de soldadura :−).

Con un poco de habilidad, los componentes pueden ser instalados en el conector de la interfaz serie.

Nota
En esta página de LinuxNetMag podemos encontrar un artÃ-culo de digitemp, también un foro
describiendo un circuito para mediciones por encima de 75°C. No he comprobado todavÃ-a ese circuito.

El circuito de la interfaz serie

Para nuestro circuito de intefaz sólo se requieren dos contactos del sensor, el conector VDD se puede
eliminar. Simplemente lo corté :−).

3/6

AquÃ- se muestra una tabla del circuito de la tarjeta de la interfaz, los sensores y el interfaz serie.

Descripción DB−25 DB−9 Sensor
DTR
RXD
TXD
GND

4
20
2
3
2
3
1 and 7 5

Data (PIN 2)
GND (PIN 1)

Instalación del software

El software esta disponible como un archivo tar,se puede instalar con el comando:

tar −xvzf digitemp−1.3.tar.gz

en el directorio actual.

En el nuevo directorio instalado digitemp1−3 encontraremos el código fuente, documentación y algunos
scripts en PERL, pero también los binarios digitemp, que se usarán tal como son.

Si se invoca a digitemp sin parámetros obtendremos una visión general de los parámetros.

DigiTemp v1.3 Copyright 1997−99 by Nexus Computing

Usage: digitemp −s [−i −d −l −r −v −t −p −a]
−i Initalize .digitemprc file
−s/dev/ttyS0 Set serial port
−l/var/log/temperature Send output to logfile
−f5 Fail delay in S
−r500 Read delay in mS
−v Verbose output
−t0 Read Sensor #
−a Read all Sensors
−d5 Delay between samples (in sec.)
−n50 Number of times to repeat
−o2 Output format for logfile
−o"output format string" See description below

Logfile formats: 1 = One line per sensor, time, C, F (default)
2 = One line per sample, elapsed time, temperature in C
3 = Same as #2, except temperature is in F
#2 and #3 have the data seperated by tabs, suitable for import
into a spreadsheet or other graphing software.

The format string uses strftime tokens plus 3 special ones for
digitemp − %s for sensor #, %C for centigrage, %F for fahrenheight.
The case of the token is important! The default format string is:
"%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F" which gives you an
output of: May 24 21:25:43 Sensor 0 C: 23.66 F: 74.59

Tal y como nos indica la 'ayuda', los sensores instalados necesitan ser inicializados. Para esto necesitamos
definir la interfaz a la cual se conectará nuestro circuito, asÃ- como los parámetros para la inicialización.

El comando

4/6

digitemp −i −s/dev/ttyS0

consigue eso, en este caso la interfaz del circuito se conecta a la primera interfaz serie.

El software detecta los sensores, aparece un mensaje similar a este:

DigiTemp v1.3 Copyright 1997−99 by Nexus Computing

ROM #0 : 1032724700080086
ROM #1 : 1092214400080089

Nos damos cuenta que el software detectó 2 sensores. Además el archivo .digitemprc se creará en el
directorio actual, contrendrá los datos de los sensores, la interfaz y el formato de salida.

Con el comando ./digitemp −a ahora podremos leer la salida de los sensores. Observe el caracter ./,
aún estamos en un directorio que no es parte de la ruta actual.

Salida de la medición

DigiTemp v1.3 Copyright 1997−99 by Nexus Computing

Sep 24 21:53:35 Sensor 0 C: 37.94 F: 100.29
Sep 24 21:53:38 Sensor 1 C: 10.62 F: 51.129

Adaptando el sistema

Para integrar nuestro programa a nuestro sistema necesitamos hacer algunos ajustes.

Primero, necesitamos copiar los binaros, p.e. digitemp, en un directorio que nos permita la ejecución de
programas sin tener que definir la ruta absoluta. Yo he seleccionado /usr/local/bin/ para esto.
Aquellos que no estén seguros sobre esto pueden encontrar las rutas con echo $PATH. Además, el
archivo .digitemprc con los datos de inicialización necesita copiarse en el directorio del usuario que va
a llevar a cabo las mediciones. Para grabar los datos en un archivo y no en la consola, se debe aplicar la
opción −l[PATH/FILE NAME].

Mediciones automáticas

Ahora necesitamos automatizar nuestras mediciones, el bien probado cron lo hará. Con crontab −u
[USUARIO] −e podemos establecerlo por cada usario. La entrada

0−59/15 * * * * /usr/local/bin/digitemp −a −l/var/log/digitemp.log

inicia digitemp para ejecutar una medición cada 15 minutos y escribirlas en /var/log/digitemp.log.

Con el comando tail /var/log/digitemp.log podemos leer las últimas lÃ-neas de las mediciones.
Si el archivo /var/log/digitemp.log no está siendo generado, por favor compruebe los permisos de
acceso al archivo.

5/6

Comentarios finales

El archivo contiene algunos scripts en PERL para la interpretación gráfica. No los voy a describir aquÃ-.
Estoy barajando la idea de escribir otro artÃ-culo sobre cómo recoger los datos del sensor en la base de datos
MySQL y cómo interpretarlos a través de una interfaz web.

Esto se hará principalmente con PERL, MySQL, y CGIs.

Descarga



digitemp−1.3.tar.gz

Enlaces/Referencias










http://www.fli4l.de/ − Página web de fli4l
http://www.perl.org/ − Página web de PERL
Vista general de DS1820
Hoja de especificaciones de DS18S20
Página de Digitemp de Brian C.Lane
Página web de Brian C.Lane
Página web de Maxim/Dallas Semiconductor
ArtÃ-culo y foro de LinuxNetMag

Webpages maintained by the LinuxFocus Editor team

© Stefan Blechschmidt

"some rights reserved" see linuxfocus.org/license/

http://www.LinuxFocus.org

Translation information:
de −−> −− : Stefan Blechschmidt <sb(at)sbsbavaria.de>
de −−> en: Jürgen Pohl <sept.sapins(at)verizon.net>
en −−> es: Carlos Mayo (homepage)

2005−01−10, generated by lfparser_pdf version 2.51

6/6
  • Links de descarga
http://lwp-l.com/pdf5482

Comentarios de: Monitoreo de temperatura con Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad