【问题标题】:Node JS, Read CPU temperature节点 JS,读取 CPU 温度
【发布时间】:2018-04-18 13:44:54
【问题描述】:

我目前正在从事一个项目,我想读取 CPU 的温度,但如果不使用“CpuTemp”等外部程序,我不知道如何正确读取。根据一些消息来源,我应该能够将 Node JS 与一个包一起使用来读取 CPU 温度。我设法通过包“OS”读取了我的电脑上的总内存和正常运行时间。有没有可以用来显示 CPU 温度的软件包,或者我应该做其他事情来读取它吗?

有人告诉我应该将 Node JS 与 WMI 一起使用,但我不知道如何继续。

【问题讨论】:

  • 如果您正在运行 linux,您可能会遇到类似的情况: cat /sys/class/thermal/thermal_zone0/temp 。将结果除以 1000 即可得到 CPU 温度。
  • 很确定这是一个 Windows 问题(提到 WMI?)
  • 是的,我说的是 Windows,因为我已经知道如何在 Linux 上执行此操作。 @dpetrini

标签: node.js windows cpu temperature


【解决方案1】:

这里有一个用于 CPU 温度和其他统计信息的 NPM 包: https://www.npmjs.com/package/systeminformation
该软件包有据可查,并会告诉您确切的操作。否则,只需用谷歌搜索错误代码或您可能遇到的其他问题就很容易了。

【讨论】:

    【解决方案2】:

    简单的网络搜索会返回一堆用于跟踪 CPU 温度的 nodeJS 包。例如https://github.com/sebhildebrandt/systeminformation

    尚未对其进行测试,但看起来确实像您要寻找的东西。

    【讨论】:

      【解决方案3】:

      如果你运行的是 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
      

      【讨论】:

      • 是的,我已经阅读了有关此解决方案的信息,但由于该项目是为 Windows 制作的,我相信我必须通过 WMI 或 Node Package 工作。
      【解决方案4】:

      您可以使用以下代码,它以 5 秒的间隔获取温度-

      const si = require('systeminformation');
      setInterval(()=>{
          si.cpuTemperature()
              .then(tmp=>{
                  console.log(tmp);
              });
          },5000);
      

      注意。系统应该支持这个API,否则输出会显示-1

      【讨论】:

      • 我不确定这是否是您的意思,但是当我以非管理员身份运行此程序时,我也会得到 -1 作为输出?
      【解决方案5】:

      遇到 CPU 温度请求问题的 WINDOWS 10 用户。 得到这样的东西 { 主要:-1,核心:[],最大:-1 }

      我以管理员身份运行 cmd 并在那里执行脚本,它为我解决了这个问题。

      Windows 温度、电池、... wmic - 用于确定 温度和电池有时需要管理员运行 特权。因此,如果您没有得到任何值,请尝试再次运行它 根据特权。如果你仍然没有得到任何值,你的系统 可能不支持此功能。在某些情况下,我们还发现 wmic 返回的温度值不正确。

      【讨论】:

      • 该问题与 WMI 权限问题无关。
      • 即使这个答案不是答案,它也帮助我解决了我遇到的问题。也许它应该是一个评论?
      猜你喜欢
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      相关资源
      最近更新 更多