0

次のことを達成する方法についてのアドバイス/ガイダンスを探しています。

回路を Arduino に取り付けて接続し、Python と pySerial モジュールを使用して簡単にデータを取得できます。これにより、アナログ入力の値を経時的に判断できます。

現時点では、そのデータをタイムスタンプと対応する値とともにファイルに保存しています。このデータを Web サーバーに「共有」してライブで「再生」する方法について意見や考えを聞きたいです。

値をダンプ ファイルに「ストリーミング」し、AJAX 要求を介して同時にデータを取得することは可能ですか、それとも「Tornado」、「Twisted」などのイベント ドリブン Web サーバーを調べる必要がありますか?

私はここで少し迷っています。念のために言っておきますが、私は最終的な出力のために PHP と JavaScript に慣れていますが、必要なデータを常に「ストリーミング」する方法についての手がかりがありません。

前もって感謝します。

4

1 に答える 1

1

Ardunioデバイスをあまり更新する予定がない場合は、Pythonコンポーネントがシリアルポート経由でデータを収集し続け、配布できるサービスによって簡単に消費できる方法で公開することは理にかなっています.より効率的で、おそらく柔軟な方法で情報を提供します。

例えば

  1. シリアル ポートからデータを読み取り、メッセージをメッセージ キューにパブリッシュします。その後、メッセージ キューを他のコンポーネントで読み取ることができ、データを他のアプリケーション/クライアントに配信できます。
  2. 各更新を処理し、他のアプリケーション/クライアントに配布できるサーバーに Web 呼び出しを行います。
  3. Pusher (私が働いている人) のようなものを使用して、REST API を呼び出して、接続されているクライアントに各メッセージを配信することができます。これはデータを配布する良い方法ですが、リッスンしているクライアントがなくてもデータを公開することになるため、最初に Web サーバーなどのコンポーネントにデータを取得するのが最善だと思います。

1 つまたは 2 つを使用すると仮定すると、リアルタイム Web ソリューションを使用して、任意の数のクライアントにデータを配布できます。ここで Pusher を使用することも、自己ホスト型ソリューションを使用することもできます。

したがって、私が見るデータフローは次のようになります。

Arduino -> 小さな Python アプリ -> Queue (または Web サーバーへの HTTP リクエスト) -> Realtime Web Technology -> 多くのクライアント

于 2011-11-20T17:57:49.410 に答える