リアルタイムでプロットされた Arduino からセンサー データを送信するテレメトリ システムを開発しようとしています。このために、私は Python と matplotlib-library を使用しています。私の問題は、新しいデータ ポイントが到着するたびに、そのデータ ポイントを他のデータ ポイントと同じ図にプロットして追加したいということです。これまでのところ、これに対する解決策を見つけることができませんでした。
2 に答える
You can stream data from an Arduino into a Plotly graph with the Arduino API in Plotly. You have two options: continuously transmit data (which it sounds like you'll want to do), or transmit a single chunk.
It will update the graph every few seconds if you refresh the page.
The Arduino API is available here. And, if you're already using Python, you can use the extend
option to update data into another plot. The Python API is here.
Here's an example of how it looks to transmit from an Arduino, and you can see the interactive version here
Full disclosure: I work at Plotly.
私が見る限り、これを行うにはいくつかの異なる方法があります(難易度を上げると私が考えるものにそれらをリストします
- 新しいデータポイントが到着するたびに再生成する必要がある、.png などのビットマップ ファイルを作成します。これを行うには、古いデータをファイルまたはデータベースのどこかに保存する必要があります。
- ブラウザーで svg を使用する。次に、JavaScript を使用してポイントまたはラインを追加できます (例: http://sickel.net/blogg/?p=1506 ) 。
- ビットマップを作成し、保存し、編集して新しいポイントを追加します。これは、一方の端で「古いポイントをロールオフ」したい場合、またはより多くのデータが到着したときに画像を再スケーリングしたい場合、非常に扱いにくいものになります。
- 一連のビットマップを作成し、多数のスライスの組み合わせとして合計グラフを作成します。- ここでは、古いポイントを簡単に「ロールオフ」できますが、再スケーリングしたい場合は不運です。