节点 JS,读取 CPU 温度
Node JS, Read CPU temperature
我目前正在做一个项目,我想读取 CPU 的温度,但我不知道如何在不使用 "CpuTemp" 等外部程序的情况下正确读取温度。根据一些消息来源,我应该能够将 Node JS 与一个包一起使用来读取 CPU 温度。我设法通过包 "OS" 读取了我 PC 上的总内存和正常运行时间。有没有我可以用来显示 CPU 温度的软件包,或者我应该做其他事情来读取它吗?
有人告诉我应该将 Node JS 与 WMI 一起使用,但我不知道如何继续。
简单的网络搜索将 return 一堆用于跟踪 CPU 温度的 nodeJS 包。例如https://github.com/sebhildebrandt/systeminformation
尚未测试,但看起来确实像您要找的东西。
如果你是 运行宁 linux 它可以是:
创建一个名为 "temp.js" 的文件并插入以下代码:
var spawn = require('child_process').spawn;
temp = spawn('cat', ['/sys/class/thermal/thermal_zone0/temp']);
temp.stdout.on('data', function(data) {
console.log('Result: ' + data/1000 + ' degrees Celcius');
});
在控制台中 运行:
node temp.js
结果应该如下所示:
Result: 46.16 degrees Celcius
这里有一个 CPU temp 和其他统计数据的 NPM 包:
https://www.npmjs.com/package/systeminformation
该软件包有详细的文档记录,并会告诉您确切的操作。否则,只需 google 错误代码或您可能遇到的其他问题就很容易了。
您可以使用以下代码,它以 5 秒的间隔获取温度-
const si = require('systeminformation');
setInterval(()=>{
si.cpuTemperature()
.then(tmp=>{
console.log(tmp);
});
},5000);
Note. The system should support this API, otherwise it'll show -1 in output
WINDOWS 10 位用户在 CPU 温度请求方面遇到问题。
得到这样的东西
{ 主要:-1,核心:[],最大:-1 }
我以管理员身份运行 cmd 并在那里执行脚本,它为我解决了这个问题。
Windows Temperature, Battery, ... wmic - which is used to determine
temperature and battery sometimes needs to be run with admin
privileges. So if you do not get any values, try to run it again with
according privileges. If you still do not get any values, your system
might not support this feature. In some cases we also discovered that
wmic returned incorrect temperature values.
我目前正在做一个项目,我想读取 CPU 的温度,但我不知道如何在不使用 "CpuTemp" 等外部程序的情况下正确读取温度。根据一些消息来源,我应该能够将 Node JS 与一个包一起使用来读取 CPU 温度。我设法通过包 "OS" 读取了我 PC 上的总内存和正常运行时间。有没有我可以用来显示 CPU 温度的软件包,或者我应该做其他事情来读取它吗?
有人告诉我应该将 Node JS 与 WMI 一起使用,但我不知道如何继续。
简单的网络搜索将 return 一堆用于跟踪 CPU 温度的 nodeJS 包。例如https://github.com/sebhildebrandt/systeminformation
尚未测试,但看起来确实像您要找的东西。
如果你是 运行宁 linux 它可以是:
创建一个名为 "temp.js" 的文件并插入以下代码:
var spawn = require('child_process').spawn;
temp = spawn('cat', ['/sys/class/thermal/thermal_zone0/temp']);
temp.stdout.on('data', function(data) {
console.log('Result: ' + data/1000 + ' degrees Celcius');
});
在控制台中 运行:
node temp.js
结果应该如下所示:
Result: 46.16 degrees Celcius
这里有一个 CPU temp 和其他统计数据的 NPM 包:
https://www.npmjs.com/package/systeminformation
该软件包有详细的文档记录,并会告诉您确切的操作。否则,只需 google 错误代码或您可能遇到的其他问题就很容易了。
您可以使用以下代码,它以 5 秒的间隔获取温度-
const si = require('systeminformation');
setInterval(()=>{
si.cpuTemperature()
.then(tmp=>{
console.log(tmp);
});
},5000);
Note. The system should support this API, otherwise it'll show -1 in output
WINDOWS 10 位用户在 CPU 温度请求方面遇到问题。 得到这样的东西 { 主要:-1,核心:[],最大:-1 }
我以管理员身份运行 cmd 并在那里执行脚本,它为我解决了这个问题。
Windows Temperature, Battery, ... wmic - which is used to determine temperature and battery sometimes needs to be run with admin privileges. So if you do not get any values, try to run it again with according privileges. If you still do not get any values, your system might not support this feature. In some cases we also discovered that wmic returned incorrect temperature values.