ラズパイをホームサーバー化して常時稼働したのですが、こうなるとラズパイ起動時に実行していたウェイクアップアプリの意味が無くなってしまいました。
かといってタイマーでスケジュールで動いてしまうと不要な時に動作してしまって不具合が生じます。
ですので自分で好きな時に動作するようにしたいと思いました。
ラズパイは基本はヘッドレス運用で、VNC接続でデスクトップを操作できますが、操作性があまりよくないのでスマホからラズパイのpythonプログラムを簡単に動作させたいです。
なにやらpythonスクリプトだけでwebサーバーが作れるFlaskというものがあるらしく、これだったらGUIを作ってブラウザで操作できるみたいです。
早速インストールして使ってみます。仮想環境下で、
pip install flask
from flask import Flask import subprocess app = Flask(__name__) @app.route('/start') def start_program(): # 仮想環境のpythonで指定のファイルを起動 subprocess.Popen([ "/home/usr/Documents/python_app/.venv/bin/python", "/home/usr/Documents/python_app/wakeup_app.py" ]) return "wakeup_app.py を起動しました!" if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
これを実行し、スマホのブラウザでアクセスします。
http://ラズパイのIP:5000/start
ブラウザでページにアクセスすると、ブラウザには「wakeup_app.py を起動しました!」と表示され、ラズパイのプログラムが動きました。
これで簡易的なwebアプリが作れます。こんなに簡単だとは思いませんでした。
GUIとかも作ってみたいと思います。