PcSchool.Club

パソコンを分かりやすく解説することを目指す無料のオンラインパソコン教室

岐阜のパソコン教室「パソコンスクール・テルン」

ラズベリーパイ入門講座3(pythonの実行)

2024年4月20日

前回は、VNC Viewerでラズベリーパイの画面を表示して、遠隔操作する方法を学びました。
今回は、言語設定と簡単なpythonプログラムの実行を行います。

言語を日本語に設定する

デフォルトは、英語になっているので日本語に設定します。
VNC ViewerでVNC接続をして、ラズベリーパイの画面が表示されている状態にしてください。

ラズベリーパイの日本語化設定1

左上のロゴマーク→「Preferences」→「Raspberry Pi Configuration」を順番に進む

「Localisation」タブ内に変更箇所があります。

ラズベリーパイの日本語化設定2
ラズベリーパイの日本語化設定3

Locale:「Set Locale」「Language」→「ja(Japanese)」に設定する
Timezone:「Set Timezone」→「Asia」「Tokyo」に設定する

設定が完了したら、再起動しましょう。

ラズベリーパイの再起動1

再起動後に、日本語化されていれば成功です。

pythonプログラムを実行する

デフォルトアプリのThony(トニー)を使用して、ラズベリーパイでpythonプログラムを作成します。

ラズベリーパイのThonny起動

「左上のロゴマーク」→「プログラミング」→「Thonny」を選択

Thonnyは、画面が上下に分割されていて、上はプログラムを書くための場所、下は命令を実行したり、実行結果を見たりするための場所です。

Thonny初期画面

簡単なプログラムの作成、実行はThonnyで行えます。
今回は、簡単なpythonプログラムをいくつか実行してみましょう

1.画面に文字を表示する(hello.py)
まずは、画面に文字を表示させてみましょう。
上側の枠に、 print(“hello”) と入力。
「Save」を押して、ファイルを保存します。 ファイル名はhello.pyとしておきます。
その後、「Run」でファイルを実行します。
正常に実行されると、下の枠に、 hello と表示されます。
Thonnyでpython実行

ここで入力した「print」というのは、右側にあるカッコの内容を表示させるための命令です。

2.現在の日時を表示する(date.py)
現在の日時を取得して表示するプログラムです。
from datetime import datetime
date = datetime.now().strftime(“%Y/%m/%d %H:%M:%S”)
print(date)
Thonnyでpython実行2

from datetime import datetime 日時を取得するためにdatetimeの機能を読み込み
now() 現在の日時を取得
strftime() 取得した日時を見やすいようにフォーマットしています
print() 日時を表示

日時の取得は、ラズベリーパイのカメラモジュールで撮影するときにも使用します。


3.ラズベリーパイのCPU温度を取得する(temp.py)
ラズベリーパイのCPU温度を表示するプログラムを実行します。 カメラモジュールを使用したカメラの映像表示や、顔検出は、CPU使用率が大きいため、CPU温度が上昇します。
ラズベリーパイの上限温度は85度で、80度に達するとthrottled backといってクロック周波数と電圧を下げて温度制御します。
高温の状態が続くと、CPUへの負担がかかるので注意が必要です。
そのため、処理が増えてくると温度管理は重要になってきます。

まずは、LX Terminalで温度を取得してみましょう。
ターミナルとは、キーボードからのコマンド入力でコンピューターを操作するためのアプリケーションです。
LX TerminalはRaspbianに標準で用意されているターミナルです。

LXTerminalを選択する画像

デスクトップの左上から4番目の「LX Terminal」アイコンをクリックします。

Raspberry Piなどで使用される vcgencmd コマンドを使ってCPU温度を取得します。
$ vcgencmd measure_temp

CPUの温度が取得できました。

このコマンド(vcgencmd measure_temp)を、pythonプログラムで実行してラズベリーパイのCPU温度を取得しましょう。
Thonyを起動してコードを入力します。
import subprocess
temp = [“vcgencmd”, “measure_temp”]
result = subprocess.run(temp, capture_output=True, text=True)
print(result.stdout)

CPU温度を出力するプログラム

import subprocess Pythonから他のプログラムやコマンドを実行するためのモジュールを読み込んでいます。
temp vcgencmdコマンドとその引数をリスト形式で定義しています。
subprocess.run() tempに格納された値を使用して、指定されたコマンドを実行します。
print(result.stdout) subprocess.run() 関数の実行結果として得られた内容を表示します。CPU温度を文字列として出力します。

上記の画像の結果では、CPU温度が46.7℃でした。
1秒ごとにこのプログラムを実行することで、CPU温度の細かい変化が分かります。

1秒ごとにCPU温度を表示するプログラム(temp_timer.py)
import subprocess
import time
temp = [“vcgencmd”, “measure_temp”]
result = subprocess.run(temp, capture_output=True, text=True)
while(True):
 print(result.stdout)
 time.sleep(1)
1秒ごとにCPU温度を表示するプログラム

import timeモジュールのtime.sleep()メソッドで1秒ごとにwhile文がループするようになっています。
ラズベリーパイのテストをするときにも、このように定期的に温度表示することで、処理の負荷が分かります。

今回はThonyを使用して、簡単なpythonプログラムを実行しました。
次回は、ラズベリーパイのカメラモジュールを使ったプログラムを説明します。
おつかれさまでした。

関連サイト

パソコン教室

パソコンスクール・テルン岐阜・穂積・大垣教室 楽しく学ぶ・通うパソコン教室あもる

パソコン修理・販売・買取・サポート

パソコンの修理・販売・買取・サポート