脳シャント用の点滴モニターのプロトタイプを作成しています。ドリップを監視し、必要なデータを報告します。問題は、私がちょうどデバイスを構築していることです。Arduinoやコードについて何も知らない人が使っています。人がArduinoを差し込むだけでIDEやコードを気にしないように、データを表示および/またはファイルに保存する方法またはプログラムはありますか?
3 に答える
シリアルデータを取得するための Bash One Liner
(Linux、Mac OS X、または cygwin)
次の行は、データ、タイムスタンプ、場所を csv 形式に取得します
cat /dev/cu.usbmodem1421 | awk '{ for (i=0; i<NF; i++) printf $i + system("date +,%s")}'
サンプル出力
data,timestamp
9695,1390087651
9696,1390087652
その他の例
データをファイルにストリーミングする
cat /dev/cu.usbmodem1421 | awk '{ for (i=0; i<NF; i++) printf $i + system("date +,%s")}' >> sensor_readings.dat
ファイルへのストリーミング中に監視できます(メール、ツイートなど、コマンドラインユーティリティを送信することもできます)
cat /dev/cu.usbmodem1421 | awk '{ for (i=0; i<NF; i++) if($i == 9001) {system("say ITS OVER 9000\!")} printf $i + system("date +,%s")}' >> sensor_readings.dat
使用上の注意: cu.usbmodem1421をモデムに置き換えてください (「cu」は明らかに重要です。「tty.usbmodem」では何らかの理由で機能しません)。
これを arduino コードで使用する方法の例については、次の github リポジトリを確認してください。
https://github.com/gskielian/Arduino-DataLogging/tree/master/Bash-One-Liner
あなたは処理を使うことができます、Arduino iDEはそれをベースにしているのであなたにとって素晴らしいでしょう、それであなたは簡単に移行するでしょう。Arduinoからシリアルを介してデータを受信する処理アプリケーションを作成できます。また、Javaで実行されるスタンドアロンアプリケーションを作成できるため、オペレーティングシステムに依存せず、インストールも不要です。www.processing.org
コメントに記載されているように、予算やその他の基準に応じて、これを行うには多くの方法があります。たとえば、これが(単純な)リアルタイムの監視だけでよいのか、(少し複雑な)後で確認するためにデータをファイルに記録する必要があるのかは定かではありません。スタンドアロンロギングは別の(かなり複雑な)オプションです(たとえば、Arduinoがホストコンピューターに接続されていない)。
これは、さまざまなアプローチの優れたチュートリアルと概要です。
ユーザーフレンドリーなGUIの観点から、リアルタイムデータを表示し、必要に応じてテキストファイルに書き込むProcessingを使用して、数時間で簡単なアプリをまとめることができます。