Foros del Web » Programación para mayores de 30 ;) » Java »

Calcular Temperatura del CPU en Java

Estas en el tema de Calcular Temperatura del CPU en Java en el foro de Java en Foros del Web. Hola a todos los lectores :). Necesito saber si hay alguna forma de obtener la temperatura del cpu con algun codigo de java. he buscado ...
  #1 (permalink)  
Antiguo 23/10/2015, 10:34
 
Fecha de Ingreso: octubre-2015
Mensajes: 1
Antigüedad: 8 años, 6 meses
Puntos: 0
Busqueda Calcular Temperatura del CPU en Java

Hola a todos los lectores :).
Necesito saber si hay alguna forma de obtener la temperatura del cpu con algun codigo de java. he buscado pero solo encuentro aplicaciones que necesitan un dispositivo de externo para trabajar y lo q necesito es nada mas tener la temperatura y que esta se este actualizando algo asi como el ping xD.

Si alguien ya ha hecho algo por el estilo y tiene conocimientos de esto, por favor, sea tan amable de explicarlo por aqui o enviarme algun mensaje.
  #2 (permalink)  
Antiguo 25/10/2015, 15:17
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: Calcular Temperatura del CPU en Java

Tienes que contactar con el driver de la placa base, y ver qué interfaz ofrece para usarla, y como usarla. Pero como ningún sistema operativo ofrece ninguna interfaz al respecto, es mas complicado.

Por ejemplo, si quieres trabajar con gráficos, Windows te ofrece un DirectX. Pero en el caso de los componentes de la placa base no tiene nada. Ni Windows ni ningún otro SO. Por lo tanto, esa interfaz te la tienes que programar tú, accediendo a los métodos del driver.

La ventaja que tiene Windows, desde Windows XP es el WDM (Windows Driver Model), que no es más que un modelo a seguir para el diseño de los drivers. De forma que los drivers están organizados de una u otra manera, para que Windows pueda utilizarlos. Así pues, eso te puede ayudar a que, cuando hagas el programa para contactar con un driver, es muy posible que te valga para cualquier otro. Y por lo tanto tu programa valga para cualquier ordenador. Pero no estoy tan seguro de esto. Esa es solo la teoría.

Así pues, lo mejor es que te cojas tu driver, y mires los archivos de texto que contienen. Sea un leame, o un archivo .info,.inf o .conf... etc. Y ahí podrás ver los datos que contiene tu driver de la placa. Entre ellos, la temperatura del microprocesador. (si es que dicho driver trabaja con ella)
  #3 (permalink)  
Antiguo 26/10/2015, 04:00
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Calcular Temperatura del CPU en Java

No lo he hecho nunca y no sé si funciona

http://henryranch.net/software/jwmi-...wmi-from-java/

o

http://openhardwaremonitor.org/documentation/
Cita:
The Open Hardware Monitor publishes all sensor data to WMI (Windows Management Instrumentation). This allows other applications to read and use the sensor information as well. A preliminary documentation of the interface can be found here.
Cita:
Iniciado por Kritik
Tienes que contactar con el driver de la placa base, y ver qué interfaz ofrece para usarla, y como usarla. Pero como ningún sistema operativo ofrece ninguna interfaz al respecto, es mas complicado.

Por ejemplo, si quieres trabajar con gráficos, Windows te ofrece un DirectX. Pero en el caso de los componentes de la placa base no tiene nada. Ni Windows ni ningún otro SO. Por lo tanto, esa interfaz te la tienes que programar tú, accediendo a los métodos del driver.

La ventaja que tiene Windows, desde Windows XP es el WDM (Windows Driver Model), que no es más que un modelo a seguir para el diseño de los drivers. De forma que los drivers están organizados de una u otra manera, para que Windows pueda utilizarlos. Así pues, eso te puede ayudar a que, cuando hagas el programa para contactar con un driver, es muy posible que te valga para cualquier otro. Y por lo tanto tu programa valga para cualquier ordenador. Pero no estoy tan seguro de esto. Esa es solo la teoría.

Así pues, lo mejor es que te cojas tu driver, y mires los archivos de texto que contienen. Sea un leame, o un archivo .info,.inf o .conf... etc. Y ahí podrás ver los datos que contiene tu driver de la placa. Entre ellos, la temperatura del microprocesador. (si es que dicho driver trabaja con ella)
¿Dejarás en algún momento de decir tontería sobre temas de los que no tienes ni idea?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #4 (permalink)  
Antiguo 26/10/2015, 04:25
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Calcular Temperatura del CPU en Java

Buenas,

La temperatura no se puede obtener directamente con Java puro, sino que es necesario obtenerla mediante las APIs que proporciona el sistema operativo ya se a nivel de api de usuario o api driver. Al final siempre deberas hacer una llamada jni a un componente especifico del sistema operativo.

En windows, en teoria los drivers de la placa base deberian informar el registro WMI con la informacion de la temperatura. Pero en la practica casi ninguna lo hace, lamentablemente.
Eso obliga a consultar cada modelo de placa, comprobar el sensor utilizado y seguir las especificaciones del driver. Un trabajo de chinos.

En Linux es algo mas sencillo, ya que el kernel expone estos datos como si de ficheros se tratase. El problema es que la ruta en la que expone esos datos depende de la version del nucleo utilizado. Normalmente basta con que hacer un cat de /sys/bus/platform/devices/coretemp.0/ pero eso puede variar (y de hecho varia mucho), como comento.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #5 (permalink)  
Antiguo 26/10/2015, 04:26
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Calcular Temperatura del CPU en Java

Cita:
Iniciado por Xerelo Ver Mensaje
Yo he trabajado con WMI (aunque no con Java) y no tendría que haber problema. Te me has adelantado en proponérselo xD

Cita:
Iniciado por Xerelo Ver Mensaje
¿Dejarás en algún momento de decir tontería sobre temas de los que no tienes ni idea?
+1 (tienes más razón que un santo)
__________________
Aviso: No se resuelven dudas por MP!
  #6 (permalink)  
Antiguo 26/10/2015, 12:52
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: Calcular Temperatura del CPU en Java

Cita:
Iniciado por Xerelo Ver Mensaje
¿Dejarás en algún momento de decir tontería sobre temas de los que no tienes ni idea?
"Las opiniones son como los culos, todo el mundo tiene una." - Sargento Highway. (Sargento de hierro)

Etiquetas: cpu, netbeans, temperatura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:54.