知識ゼロから始めるラズパイ -CPU温度の監視をGUIで-

CPUファンのノイズ
PVアクセスランキング にほんブログ村

前回の記事では、Pythonを使用してラズベリーパイのCPU温度を連続監視するプログラムを作成しました。

あわせて読みたい
知識ゼロから始めるラズパイ -CPU温度の監視ー Raspberry PI 4のスターターキットを購入して組み立てましたが、CPUファンの音が気になるようになりました。説明書に書いてある通りに5vのピンに接続しているため、常に...

今回はそのプログラムをGUI化して監視するプログラムを作成していきたいと思います。GUI化には特になにも準備しなくても使用できるので「tkinter」ライブラリを利用します。

目次

今回作ったプログラムの全容

tkinterの呼び方はわかりませんが、私は「Tキンター」と呼んでいます。(そう呼ぶと、綴りが覚えやすいです)

今回作ったプログラムは表のとおりです。下のほうに解説を記載しています。

プログラムの解説

subprocessとtimeについては、前回の記事で解説しています。

あわせて読みたい
知識ゼロから始めるラズパイ -CPU温度の監視ー Raspberry PI 4のスターターキットを購入して組み立てましたが、CPUファンの音が気になるようになりました。説明書に書いてある通りに5vのピンに接続しているため、常に...

(3行目)import tkinter as tk

「import tkinter as tk」でtkinterライブラリを読みだしています。毎回tkinterと記入するのは大変なので「as tk」を追加して、tk=tkinterとする記述としています。なお、importではなく、fromで読みだすと「tk」すら省略可能のようですが、まだ理解不足ですので今回は使いません。

(5行目)win = tk.Tk()

「win」という名前のtkinterウインドウを作成します。また、「win.geometry(“300×50”)」でウインドウサイズの指定、「win.title(“CPU温度の監視”)」でウインドウのタイトルを記述しています。

(10行目)label

laber1~3をpacで左から順番に配置するように指定しています。label2だけは「StringVar」で記述内容を更新できるように工夫しています。最初は”st”という適当な文字を入れていますが、あとでwhile文の中の「tempvar.set(temp)」でcpu温度を入力するように指定しています。

(31行目)win.update_idletasks()

winの記載をアップデートする命令です。while文との組み合わせにより、1秒に1回ラベルを更新させています。

また、while文の最後にも「win.update_idletasks()」をもう一度記載していますが、24時間経過してwhileから抜けた後に「END」と表示するように指定しています。

(36行目)win.mainloop()

一番最初に記述した「win = tk.Tk()」に対して、最後に記述することでウインドウが作られます。

プログラムを実行

今回作ったプログラムを実行するとこのようになります。

プログラム実行結果

真ん中の「34.6」と記載されている部分が1秒に1回更新されます。

次回

次回は、取得したCPU温度の情報をもとに、CPUファンの回転数を制御できるようにしたいのですが、調べたり覚えたりすることが沢山ありますので、更新には時間がかかりそうです。

あわせて読みたい
知識ゼロから始めるラズパイ -GUIでLEDの点灯制御- CPU温度に合わせてCPUファンの回転速度を制御する前に、基本中の基本ともいえる「Lチカ」に挑戦します。ただ挑戦しても面白みがないので、GUIを使い「点灯回数」「点灯...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次