首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使oshi.hardware.Sensors信息可用来获取。这是可以做到的吗?

如何使oshi.hardware.Sensors信息可用来获取。这是可以做到的吗?
EN

Stack Overflow用户
提问于 2020-03-03 20:22:19
回答 1查看 363关注 0票数 0

我正在尝试使用OSHI获取cpu温度、电压和风扇速度,但结果显示这些信息不可用。下面是我的代码:

代码语言:javascript
复制
    public static void main(String... args) {
    SystemInfo si = new SystemInfo();
    HardwareAbstractionLayer hal = si.getHardware();
    Sensors sensors = hal.getSensors();
    System.out.println(sensors.toString());
    }

这是在Windows 10上的输出:

代码语言:javascript
复制
    CPU Temperature=0.0°C, Fan Speeds=[0, 0, 0], CPU Voltage=0.0

以下是传感器界面:

代码语言:javascript
复制
public interface Sensors {
/**
 * CPU Temperature
 *
 * @return CPU Temperature in degrees Celsius if available, 0 otherwise.
 */
double getCpuTemperature();

/**
 * Fan speeds
 *
 * @return Speed in rpm for all fans. May return empty array if no fans detected
 *         or 0 fan speed if unable to measure fan speed.
 */
int[] getFanSpeeds();

/**
 * CPU Voltage
 *
 * @return CPU Voltage in Volts if available, 0 otherwise.
 */
double getCpuVoltage();
}

如果信息不可用,接口中的三个函数将返回0。

我的问题是,你能提供这些信息吗?如果可以,如何提供?

EN

回答 1

Stack Overflow用户

发布于 2020-03-03 20:47:28

我找到了一个解释:

Windows传感器(温度、风扇、电压)读数取自Microsoft的Windows Management Instrumentation ( WMI ) API;但是,大多数硬件制造商不会将这些读数发布到WMI。如果无法通过Microsoft API获得值,Oshi将尝试检索Open Hardware Monitor发布的值(如果它正在运行)。使用coretemp在FreeBSD上仅检测到温度传感器。

我试着用欧姆运行它,它在温度下工作,这对我来说已经足够了。请让我知道,如果你找到了其他两个变量的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60507183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档