Actualización con mejora de monitoreo:
Debido a que me estaban sobrando dos sensores de temperatura DS18B20 e inspirado en este post:
http://www.raspberrypi.org/forums/viewt ... 79#p622279 , decidi ampliar la medicion de la temperatura y agregar el disco y el Regulador de tension de la Raspi al monitoreo.
Tambien resulta que salió la nueva versión de RPI-Monitor 2.91 que permite visualizar los valores en una forma mas agradable, ofreciendo nuevos estilos graficos incluso con indicadores de diferentes colores:
http://rpi-experiences.blogspot.fr/2014 ... lable.html
En el post se hace referencia a un estudio de la medicion de temperatura de los chips de Raspberry Pi, a saber: 1-Regulador de tension, 2-SOC y 3-LAN:
Dado que la temperatura del SOC se puede medir internamente y ya estaba agregada al monitoreo y aunque en el post en realidad se pedia información para medir la temperatura del chip de LAN, a mi me pareció mas interesante medir la del regulador que es el que da energia a la Raspberri, asi que opté por usar uno de los sensore allí.
El otro sensor lo iba a destinar al disco USB externo, que desafortunadamente no trae la caracteristica S.M.A.R.T que permite mediciones internas del disco, de lo contrario podria haber utilizado el programa HDD-temp que incluso se puede demonizar:
https://wiki.archlinux.org/index.php/Hddtemp
Siguiendo las instrucciones de la pagina de RPI-Monitor para actualizar a la nueva version, tuve cuidado al finalizar de responder que NO queria sobreescribir los archivos de configuracion que ya tenia instalados, ya que mi intencion era modificar la configuracion para utilizar los medidores nuevos por lo que deberia hacerlo manualmente.
En principio lo que debia hacer era cambiar las lineas de apartado de temperatura en la seccion web y utilizar la nueva caracteristica llamada "JustGageBar" para visualizar lo que ya estaba definido, pasando de este formato:
Code: Select all
web.status.1.content.4.line.1="CPU Temperature: <b>"+data.soc_temp+"°C</b>"
web.status.1.content.4.line.2="Room Temperature: <b>"+data.room_temp+"°C</b>"
web.status.1.content.4.line.3="Room Humidity: <b>"+data.room_hum+"%</b>"
A este otro que utiliza una sola linea para todo:
Code: Select all
web.status.1.content.4.line.1=JustGageBar("CPU", "*C",0, data.soc_temp , 100,100,80,percentColors,60,70)+" "+JustGageBar("Room", "*C",0, data.room_temp , 100,100,80,percentColors,35,45)+" "+JustGageBar("Humidity", "%",0, data.room_hum , 100,100,80,percentColors,60,80)
Como se ve es totalmente "customizable" y se pueden definir los valores limites asi como tambien los umbrales a partir de los cuales cambian los colores para indicar un posible sobrecalentamiento o exceso de humedad por ejemplo.
Luego procedi a conectar ambos sensores en paralelo con este esquema:
http://www.reuk.co.uk/wordpress/tempera ... pberry-pi/
Como bien se menciona aquí:
http://www.raspberrypi.org/forums/viewt ... 41#p625241 utilicé la cara plana de los sensores para apoyarlos sobre la superficie a monitorear.
Para el disco rigido usé una de las bridas que sostiene el disco sobre la bandeja para sostener uno de los DS18B20, mientras que para el regulador usé pasta disipadora de calor al apoyarlo.
Ahora faltaba crear un programa en Python que leyera los datos de los sensores y los grabara en un archivo que a su vez, leeria el programa del display led y RPI-Monitor.
Para ello volvi a la fuente de Adafruit y usé este codigo:
https://learn.adafruit.com/adafruits-ra ... g/software
Luego lo modifiqué para agregarle que pueda leer dos sensores y genere dos archivos que se van renovando cada 5 segundos, uno llamado "/run/pmu-temp" y el otro "/run/hdd-temp", tambien en un programa demonizado llamado "temp-daemon.py".
Con esos archivos generandose ya era posible agregar a la visualizacion de RPI-Monitor la temperatura del disco USB (al menos un aproximado) y el Regulador de tension (lo mismo) en la misma linea de codigo con un par mas de variables:
Code: Select all
web.status.1.content.4.line.1=JustGageBar("CPU", "*C",0, data.soc_temp , 100,100,80,percentColors,55,65)+" "+JustGageBar("PMU", "*C",0, data.pmutemp , 100,100,80,percentColors,55,65)+" "+JustGageBar("Disk", "*C",0, data.hddtemp , 100,100,80,percentColors,45,50)+" "+JustGageBar("Room", "*C",0, data.room_temp , 100,100,80,percentColors,35,45)+" "+JustGageBar("Humidity", "%",0, data.room_hum , 100,100,80,percentColors,60,80)
Hice lo propio con el programa del display led para que al menos fuera mostrando la temperatura del disco en intervalos de 10 minutos.
Con tantos "demonios" corriendo y algunos generando archivos y debido a que la velocidad de procesamiento de la Raspberry no es muy grande, suele haber errores o saltos en el registro de informacion que pueden llegar a causar que esos daemons dejen de funcionar.
De alli que también tuve que ampliar el espectro de programas monitoredos por "Monit", para que los reinicie si encuentra algún error.
Al final todo quedo funcionando para ser visualizado por web, como se puede apreciar en estas capturas tanto de RPI-Monitor como Monit (click para agrandar):
Agrego también algunas fotos del montaje de los sensores DB18S20 y un video del display mostrando la temperatura de disco y demás al iniciar (click para ampliar):



Hasta la próxima!
Slds!