小さな Raspberry Pi シングルボード コンピューターを使用する小さなデバイスを作成して、リモートで猫におやつを与えたり、Web カメラで猫とその周囲を監視したりできるようにしました。\
このソフトウェアは、(デバイスのリモート コントロールを可能にする) Web サイトをホストする単一の Python モジュール、ハードウェアを管理し、単純なステート マシンを実行する「スレッド」、および Web カメラを介して画像をキャプチャする「スレッド」で構成されます。モーション検出アルゴリズムを実行して、猫がいる時間にキャプチャを制限します。Web サイトは、jQuery を使用してサーバーへの Ajax コールバックを行う Javascript を含む単一の HTML ページをホストします。
ソフトウェアはすべて動作していますが、Web サイトの最初の読み込み時にページを返すのが非常に遅い場合があることがわかりました。問題は、GIL と Python の単純な http サーバー クラスの設計による、Python の一般的なシングル スレッドの性質だと思います。
アプリケーションを Twisted に移行することに興味がありますが、カメラとハードウェア ステート マシンを処理する 2 つのスレッドを移植する方法がわかりません。両方のスレッドがループを実行し、効果的にポーリングしますが、ループの反復ごとにわずかな遅延があります。
ありがとう