以前の記事でRspberryPiにFlaskをインストールするの内容がRaspberryPi3

の頃の内容ですので、RaspberryPi4でのFlaskアプリケーションの立ち上げまでを解説します。

Flaskのインストール

Raspberry Pi4ではFlaskはPython環境にインストールされています。Python2、Python3両環境ともインストール済みです。インストール作業は不要です。早速アプリケーションを構築します。今回はPython3の環境でFlaskアプリケーションを作成します。

Flaskアプリケーションの作成

サンプルとしてCPUの温度、電圧、メモリ使用量を表示するアプリケーションです。CPUの温度情報などはvcgemcmd コマンドで取得可能です。

CPU温度を取得する

vcgencmd measure_temp

CPUの電圧を取得する

vcgencmd measure_volt

CPUのメモリ使用量を取得する

vcgencmd get_mem arm

PythonのFlaskアプリケーションからsubprocessモジュールを使いこれらのコマンドを実行した結果を表示してみます。

from flask import Flask

from datetime import datetime
import subprocess


app = Flask(__name__)

def exec_command(command):
	proc = subprocess.run(command,shell=True, stdin=subprocess.PIPE,stdout=subprocess.PIPE,text=True)
	result = proc.stdout
	return result

@app.route('/')
def index():
	now = datetime.now()
	temp = exec_command('vcgencmd measure_temp')
	volts = exec_command('vcgencmd measure_volts')
	mem = exec_command('vcgencmd get_mem arm')

	render_html= f'''
		<h1> CPU INFORMATION </h1>
		<p>{now}</p>
		<p>{temp}</p>
		<p>{volts}</p>
		<p>{mem}</p>'''
	return render_html
	

if __name__  == '__main__':
	app.run(host='0.0.0.0')

以下のように表示されます。

最初の行のapp.runの引数host=’0.0.0.0’を設定しておかないと外部からアクセスできなので注意してください。

python3 cpu_info.py

実行してブラウザにアクセスします。

ここまでで約15分で作業できます。Raspberry Pi4ではFlaskアプリケーションもすぐに立ち上げができました。

定期的に情報を収集し、一覧で表示したりグラフで表示するように発展させることができます。