1

これは少し初心者の質問ですが、シリアル接続を介して django サイトから arduino を制御するプログラムを Django で作成しようとしています。ardunioには、新しいシリアル接続が確立されたときにリセットする「機能」があるため、ページがロードされるたびに単一のコマンドを常に送信することはできません。だから私は疑問に思っています:

シリアルポート経由で arduino を問題なく制御する python プログラムを既に作成しました。

djangoアプリ/サイトのバックグラウンドでpythonスクリプトを実行することは可能ですか(つまり、アクティブのままでシリアル接続をアクティブに保ちます)、もしそうなら、djangoを介してその実行中のプロセスと通信する方法を教えてください。そのバックグラウンド プロセスに値を渡しますか?

4

1 に答える 1

2

Django-celery は、バックグラウンド タスクの処理に最適です。arduinoコードをセロリタスクにすることができるようです。これにより、作業が非常に簡単になります。タスクは django モデルに完全にアクセスでき、django プロセスはいつでもタスクを開始できます。

さらに、セロリは、要求と応答のサイクルよりも時間がかかるものが必要な場合にいつでも使用できる優れたスイス アーミー ナイフ ツールです。

これは私にとって良い参照のように見えました:

http://www.hiddentao.com/archives/2012/01/27/processing-long-running-django-tasks-using-celery-rabbitmq-supervisord-monit/

最近は redis をブローカーとして使用することをお勧めします。b/c redis をキャッシュとしても使用できます。

于 2013-11-03T00:15:35.983 に答える