私は現在、Rasberry Pi 3 で動作する OctoPrint 用の新しいプラグインを構築しています。私がやりたいことは、2 つのボタンを含む HTML フロントエンド タブを持つことです。次に、最初のボタンでコマンド ラインをトリガーして mjpg-stremaer から画像をキャプチャし、別のボタンでインポートされた OpenCV を使用して Python スクリプトを実行し、エッジ検出を行い、処理後に画像をフロントエンドに出力できるようにする必要があります。
OctoPrint から、フロントエンドに jinja2 テンプレートを使用し、ビュー モデルに KnockOut.js を使用します。Webアプリケーションに関する知識が限られているため、次に何をすべきか見当がつかないため、ここで行き詰まりました。
オンラインで検索したところ、フラスコまたはトルネードのいずれかが多く言及されていることがわかりました。flask
オンラインで検索した後、推奨どおりに使用しようとしましたが、
エラー 98:「アドレスは既に使用されています」
OctoPrint が実行されているためです。それで、私の質問は、そのようなことを行う方法があるかどうかです? 言い換えれば、HTML ボタンをクリックして、ポートやソケットの問題なしに Raspberry Pi で Python とコマンド ラインをトリガーする方法はありますか?
から取得した python コードflask
。これは、OpenCV をインポートして画像処理を行う python コードになります。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
を使用しているHTML コードはjinja2
、現在ボタンを使用して日付と時刻を表示していますが、上記の python コードとコマンド ラインをトリガーします。
<html>
<body>
<h1>Java Script</h1>
<button type="button" onclick="document.getElementById('demo').innerHTML = Date()">
Click me to display Date and Time.</button>
<p id="demo"></p>
</body>
</html>
mpjg-streamer から画像をキャプチャするコマンド ラインは次のとおりです。
wget http://localhost:8080/?action=snapshot -O output.jpg
可能であれば、その説明と、サーバーとクライアント側の概念についての紹介を含む例を教えてください。ありがとう。ここで用語の誤った使用法がある場合は、お詫び申し上げます。