私は、ラズベリーとパイソンを使って遠隔操作できるロボットをやっています。並列処理Python
私は、ユーザーがボタンを押したときにロボットにコマンドを送信するサーバーでFlask Rest APIを実行しています。ボタンを押して前方に移動すると、ロボットはすべてのセンサーが近くの物体を検出しない場合にのみ移動することができます。ストップボタンが押されるか、センサが物体に到達するまで、ロボットは動作を続けます。
私の疑いは: どのようにリクエストを聞いてもAPIコードを保持し、センサーが距離を同時に測定し続けることができますか?ロボットが走っていれば、センサが物体に到達するまで「真実」を実行すべきだと思ったが、プログラムをロックし、停止ボタンを押すと無限ループのため停止しない。
ロボットがいずれの方向に移動していても、センサーをアクティブにする必要があり、同時にAPIをリッスンする必要があります。
私はマルチプロセッシングモジュールとサブプロセスモジュールについて検索しましたが、正確には何をする必要はありません。
提案がありますか?
ありがとうございました
あなたはPythonのスレッドモジュールを探索しましたか? –
'while run_flag:if detect_object:do_move()'でスレッドを開始することができ、 'request'から設定した' thread_global_var/pipe/cache/db'から 'run_flag'を得ることができます。 – Cheney