在Beaglebone Black上读取CPU温度

use*_*413 5 ubuntu beagleboneblack

我有一个运行Ubuntu 14.04的Beaglebone Black。我使用了将预构建的映像刷新到eMMC指南来对其进行了刷新

从我所看到的指南中,我应该能够阅读/sys/class/hwmon/hwmon0/device/temp1_input以获取CPU温度。但是,我的系统上没有这样的路径。我猜想Beaglebone Black的AM3358 ARM CPU的内核模块提供了此功能,并且我的映像缺少这样的模块,但是我不知道从哪里开始获得这样的模块。其实/sys/class/hwmon是一个空目录。

这些是我的模块具有:

$ lsmod | sort
6lowpan_iphc           10154  1 bluetooth
bluetooth             316797  10 bnep,rfcomm
bnep                   11946  2
can_dev                 7430  1 c_can
c_can                   9400  1 c_can_platform
c_can_platform          5927  0
g_multi                 3238  0
iptable_filter          1149  1
ip_tables              11857  1 iptable_filter
libcomposite           38715  5 usb_f_acm,usb_f_ecm,usb_f_rndis,g_multi,usb_f_mass_storage
musb_am335x             1075  0
musb_dsps               8369  0
musb_hdrc              76236  1 musb_dsps
rfcomm                 46571  0
rfkill                 14659  2 bluetooth
u_ether                 9524  3 usb_f_ecm,usb_f_rndis,g_multi
usb_f_acm               5687  1
usb_f_ecm               7901  1
usb_f_mass_storage     34664  2 g_multi
usb_f_rndis            17711  2 g_multi
u_serial                9631  1 usb_f_acm
x_tables               12575  3 ip_tables,xt_multiport,iptable_filter
xt_multiport            2051  1
Run Code Online (Sandbox Code Playgroud)

...以及总体状态:

$ uname -a
Linux hostname 3.14.26-ti-r43 #1 SMP PREEMPT Wed Dec 24 05:27:12 UTC 2014 armv7l armv7l armv7l GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Codename:       trusty
Run Code Online (Sandbox Code Playgroud)

那么,如何读取缺少此文件的Beaglebone Black上的CPU温度?

Mau*_*043 5

我已经在互联网上进行了一些搜索,但却空手而归。

到目前为止我发现的是,当前的 Debian(我正在使用Linux bbone 4.1.12-ti-r29 #1 SMP PREEMPT Mon Nov 9 22:46:19 UTC 2015 armv7l GNU/Linux)以及可能它的所有衍生版本以及它的最近前身(至少早到您的内核 3.14.26)不再填充/sys/class/hwmon

无论如何,lm-sensors板上也找不到任何传感器,所以这也是一个死胡同。

我从 TI 了解到,温度传感器从来就不是真正供最终用户使用的。TI 甚至规定了一种通过外部传感器测量电路板温度的方法(请参见此处)。

所以,这真是令人遗憾,但你已经明白了。

编辑:我还发现 Debian 8.2 显示了我在这里描述的行为,但是,今天我刷新了 Debian 7.9(来自此处Linux bbone 3.8.13-bone79 #1 SMP Tue Oct 13 20:44:55 UTC 2015 armv7l GNU/Linux),附带了一个完全填充的数据/sys,其中包括/sys/class/hwmon/hwmon0/device/temp1_input以毫摄氏度为单位的温度读数。请注意,这可能是不应依赖的相对温度(根据 TI)。