以前の記事で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アプリケーションもすぐに立ち上げができました。
定期的に情報を収集し、一覧で表示したりグラフで表示するように発展させることができます。