How to Acquire CPU Temperature and CPU Frequency Using PHP

This article is in English. Sometimes the sentences are wrong. Please be understanding of this beforehand.

How to Acquire the CPU Temperature Using PHP

The temperature displayed is celsius.

echo round((exec('cat /sys/class/thermal/thermal_zone0/temp')/1000),2);

How to Acquire the CPU Frequency Using PHP

The unit displayed is MHz. If there are 4 cores, cpu0 to cpu3.

echo round((exec('cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq')/1000),2);

Operation Example

Raspberry Pi is used for the server. By introducing “Insert PHP” in WordPress you can run PHP with widget.

00_raspi-config_l
Using “Insert PHP”.
00_900mhz
Add Completed.

Change the frequency and check the operation.

00_raspi-config
raspi-config
00_raspi-config_1ghz
Changed from 900MHz to 1000Mhz

00_1000mhz

PHPによるCPU温度とCPU周波数の取得方法

以前にも記事にしましたが、少々解りにくいと思うので書き直したいと思います。

PHPによるCPU温度取得

PHPを使ってCPU温度を取得します。求められている温度は摂氏(°C)です。

echo round((exec('cat /sys/class/thermal/thermal_zone0/temp')/1000),2);

PHPによるCPU周波数取得

PHPを使ってCPU周波数を取得します。求められている周波数はメガヘルツ(MHz)です。オレンジ色で示したのはcpu0の周波数です。コアが4つの場合、cpu0~cpu3ですので編集するとよいでしょう。

echo round((exec('cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq')/1000),2);

Raspberry Piでの導入例

WordPressなら”Insert PHP”でウィジェットにPHPを実行することができます。下の画像は筆者しか見ることのできないテスト環境兼日記のWordPressである。

00_raspi-config_l.png
Insert PHPによる実装例

これによりWordPressのウィジェットに追加することができました。

00_900mhz.png
ウィジェット実装例

実際にきちんと表示されているかを確かめる。クロックを変更して確かめる。ちなみにオーバークロックは自己責任です。

$ sudo raspi-config
00_raspi-config
6 Overclockを選択する
00_raspi-config_1ghz
High 1000MHzを選択する

これによってRaspberry Piは1000MHzで動作する。実際に反映されたかを見る。

00_1000mhz.png
チェンジ後の表示

検証後は元の周波数に変更することを強くお勧めします。

PHPでCPU温度やCPU周波数を取得するプログラム

こんにちは、筆者です。PHPでCPU温度とCPU周波数を取得するプログラムを作成しました。WordPress上でウィジェットなどに実装して使えます。ちなみにウィジェットに実装する場合、『Insert PHP』というプラグインを実装すればよいかと。

  • CPU温度取得

root不要で取得できます。単位は°Cです。

echo round((exec('cat /sys/class/thermal/thermal_zone0/temp')/1000),2);
  • CPU周波数取得

root不要で取得できます。単位はMHzです。

echo round((exec('cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq')/1000),2);
  • ウィジェット実装例

実際にWordPressに実装してみました。サーバーはRaspberry Pi 2でCoreが4つあります。
*cpu0 ~ cpu3まで

server-info
WordPressに実装
  • あとがき

こんな感じで表示できます。よろしければ使ってみてください。