SensorSharingManager (0.31) | 2008-06-04 19:07 |
SHSpur (0.1) | 2008-06-05 00:22 |
基本的なSSMの使い方は下記のとおりです。
また、ユーティリティプログラムを利用する事ができます
SSMを利用する際は、あらかじめssmを起動しておきます。
./ssm
ssmおよびSensorA_driverを起動した状態でlsssmを起動してみると
./lsssm No. | sensor name | suid | size | num | tnum | cycle[s] | ----+----------------+------+--------+------+------+----------+ 000 | sensor_A | 0 | 20 | 143 | 143 | 0.100 | ----+----------------+------+--------+------+------+----------+ Total 1 sensors.といった感じで、登録されているセンサが表示されます。
ssmloggerはSSMに登録されているセンサのデータをファイルに記録するプログラムです。 SSMに登録されているセンサのデータはすべて記録することができます。
./ssmlogger -n センサ名 -i センサのID -l 記録ファイル名複数記録したいときはssmloggerを複数起動します。
ssmloggerを使ってSensorAのデータを記録してみる例。 SensorA_driverを起動して、
./ssmlogger -n sensor_A -l sensor_A.log気がすんだらctrl+cで終了。 sensor_A.logというファイルができているはず。
もし、複数センサのログを記録したい場合には、複数起動すれば良い。 たとえばSensorA_driverとSensorB_driverを起動している状態で、
./ssmlogger -n sensor_A -l sensor_A.log & ./ssmlogger -n sensor_B -l sensor_B.logのようにする。
シェルスクリプトを利用すると楽。
./logging.sh <記録ディレクトリ名>で、logging.sh内に書かれているセンサのデータを指定ディレクトリに保存する。
ssmmultiplayerは記録した複数のセンサデータを同時に再生します。 ./ssmmultiplayer 記録ファイル名1 記録ファイル名2 記録ファイル名3 ...
ssmmultiplayerで複数ログを再生してみる例。
./ssmmultiplayer sensor_A.log sensor_B.logで再生されます。 開始時刻は1番めに指定したログファイルにあわせられます。
再生したいデータが一つのディレクトリに入っている場合は、
./ssmmultiplayer <ディレクトリ>/*で再生することが可能です。
注意: ssmmultiplayerで再生する場合、 タイムスタンプを参照してSSMに書き出すため、 センサの計測→通信等による取得の時間遅れが無視されます。 そのため、実際にセンサで計測した際と若干動作と異なる場合があります。
複数PC間でセンサデータを共有するためのソフトウェア。 別のPCに接続されているセンサを使えるようになります。
./ssmtransportクライアント側は
./ssmtransport <サーバのIP>で起動する。 両方に同じセンサ名が書いてあると大変なことになるかも。
なお、PC間ではNTP等で時刻同期をとることを推奨します。
画像等のデータは毎秒24MByte等、非常におおきな記憶容量を必要とします。 SSMでは共有メモリにデータを蓄積するため、記録できる容量は共有メモリサイズに依存します。 設定されている共有メモリの大きさは下記
/proc/sys/kernel/shmmaxで参照できます。
一時的にサイズを変更する際は、
echo <サイズ> > /proc/sys/kernel/shmmaxずっと変更する際は、/etc/sysctl.conf等に
kernel.shmmax = <サイズ>と書くなどすれば反映されます。
[PageInfo]
LastUpdate: 2008-06-04 19:58:39, ModifiedBy: etake
[License]
GNU Free Documentation License
[Permissions]
view:all, edit:login users, delete/config:members