メインのPythonを2つのスレッドに分け、このスレッド間でやりとりをしたい。
一つのCPUで、2つの動作を行いながら、それらの間でやりとりをしたいと考えています。
というのも、Raspberry PiとiOSアプリ間でBluetooth通信を行いながら、必要に応じてRaspi上でPythonスクリプトを実行したいからです。
実際にそのようなことは可能でしょうか?
今考えている構成は次のようなものです。
Pythonを実行している時に、threadingモジュールで2スレッドに分けます。
一つ目のスレッドでは、subprocessモジュールによってjavascriptファイルを実行します。
この実行中のjavascript(node.js)では、blenoというモジュールを用いて、bluetooth peripheralとして動作させます。
二つ目のスレッドでは、通常のPythonスクリプトが実行されています。例えば、Raspiの純正カメラの制御などを行います。 さらに、こちらはサーバーとして動作させます。一つ目のスレッドのjavascriptの要求に応じて、写真を取得したり、測定時間を返したりします。これはjQueryやAjaxを使うのが有効であるようです。
上述のような構成で可能なのかどうか、他にうまいやり方があるかどうか、と言った内容についてご回答いただければ幸いです。
追記:
blenoをわざわざ使う理由(bluezやpybluezなどではなく)は、blenoのインターフェイスが非常に分かりやすいからです。サービスやキャラクタリスティックとしての実装が簡単です。