繁体   English   中英

C#中Raspberry Pi的CPU温度

[英]CPU temperature of Raspberry Pi in C#

我已经阅读了很多有关此主题的文章和论坛帖子,但是几乎所有事情都非常复杂,而且都来自2年前。

所以我想知道, 用C#获取Raspberry Pi的CPU温度的最佳方法是什么?

我拥有Windows 10 IoT核心版的最新版本。

更新资料

我不想降低CPU温度。 我正在使用Sense HAT。 该设备的温度传感器位于CPU附近,因此读数不准确。 我发现一个Python脚本可以使读数准确,但是需要CPU温度。

注意:

我正在使用Windows 10 IoT核心版! 没有此文件: /sys/class/thermal/thermal_zone0/temp

更新2:

如果唯一的方法是编写自己的驱动程序,请指导我如何做。 我对编写驱动程序一无所知,或者任何底层的知识……

据我所知,没有IoT SDK或Powershell客户端可以访问底层BCM2836外设。您需要编写自己的驱动程序。 您可以按照https://github.com/ms-iot/bsp/tree/master/drivers中的代码示例进行操作,它是在WDK框架下编写的,因此您需要熟悉一下才能开始。

另一个选择是使用DS18B20热传感器测量温度。 该热传感器通过I2C连接树莓派。 而且您需要在解决方案中通过nuget安装Rinsen.OneWire软件包,该库是用C#编写的,并且对DS18B20和DS18S20传感器具有内置支持。

我不是100%肯定这是正确的方法,但是如果有人可以纠正我或提出更好的解决方案,我将非常乐于从中学习。

您可以使用MCP9808芯片来实现。

Jeremy Lindsay的一篇文章将引导您逐步了解如何在Window 10 IoT核心版上使用C#使其工作

https://jeremylindsayni.wordpress.com/2016/06/09/how-to-measure-temperature-using-c-raspberry-pi-windows-10-iot-core-and-the-adafruit-mcp9808-sensor/

文章摘录:

MCP9808如何工作?

该传感器使用Pi 3上的Windows 10 IoT核心版支持的I2C协议。由于该协议已在框架中进行了广泛集成,因此使编码变得非常容易。 MCP9808可以使用从机地址0x18进行初始化,将0x05写入器件后,可以从两个字节的数据中读取环境温度。

将MCP9808连接到Raspberry Pi

我们需要使用MCP9808温度传感器上的4个引脚来获得基本温度读数。 我使用下面指定的引脚将地雷连接到Pi。

•电源电压–引脚2
•接地–引脚6
•串行时钟–引脚5•串行数据–引脚3

Jeremy还在GitHub上共享了代码: https//github.com/jeremylindsayni/Magellanic.Sensors.MCP9808

希望有帮助!

我认为您可以尝试通过读取电流消耗来计算当前的CPU温度,然后使用此公式来计算温度。

我不知道目前的手机制造商如何测量设备的温度。 但这与诺基亚过去(当我在那里工作)根据IBATT(电池电流)和VBATT(电池电压)读数测量温度的方式没有太大不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM