TinyOS + MICAz を使う MoteView編
センサノードを使った遊び(実験)について忘れないようにメモします.
MoteView編では用語・使い方の説明をします.
MoteView
http://www.xbow.jp/moteview12.html
Crossbowで開発された無線センサーネットワークMICA MOTE用のアプリケーション.
無数にばら撒かれているセンサノードのセンサ基盤で取得されたデータを収集してPostgreSQLに格納してくれます.
センサネットワークのトポロジも勝手に適切に変化してくれます.
MoteView はユーザと構築される無線センサネットワークとの間のインターフェース(クライアント層)となるように設計されています。MoteView にはユーザにとってネットワークの構築と監視を簡略化するためのツールが備わっています。さらに、データベースとの接続、分析、センサ値のグラフ化などの機能もあります。
MoteView ユーザマニュアル
MoteView使って超がんばってるところを→(Wireless Sensing at Camalie Vineyards)
環境
- CygwinとTinyOSとJAVAが既にインストールされて設定も完了している環境(実験室).
- RS-232Cポートに接続したシリアルケーブル(COM1)にMICAzを接続できるようになっている.つまりmib510などの機器がCOM1に付いている.
- 3つ以上のセンサノード(MICAz)を用意する.一つはmib510に取り付け,Base(ノード番号0)として利用します.残りの二つにはセンサ基盤を取り付けて,周辺の環境をセンシングしてもらいます.
- MoteViewがインストールされている環境(上記マニュアルやMoteviewのインストール手順なんかを参考にするとインストールできそうです)
- 今回使用する機器はmib510,MTS310(センサ基盤),MICAzです.
HP(ハイパワー)モードをインストールする
HPとは省電力をあまり考慮していないものです.しかしSurgeと比べるとトポロジなんかは綺麗に構成してくれるし,マルチホップさせて遊ぶことも簡単です.
- MoteViewを起動させてください(アイコンをダブルクリック)
- 図の左上にある雷のようなアイコンをクリック
- MIB510/MIB520 を使用するときは、Serial Port: COM に正しいポート番号が設定され、ボーレートが 57600 に設定されていることを確認します。(Settingsから行くことができます)
- Mote がプログラムされているアプリケーションと一致する XMesh アプリケーションを選択します。(今回使用しているセンサ基盤はMTS310なのでXMTS310_
_ ・・・XMTS310_2420_hp.exeになります.)Select→XMTS310のフォルダを選択してください.
- MOTEをmib510に取り付けて,XMTS310_2420_hp.exeを選択して,ノードIDを指定し,”Program”をクリック.これでノードにXMTS310_2420_hp.exeがインストールされます.
- Base(基地局)となるMOTEをmib510に取り付けて,XMeshBase_2420_hp.exeをインストールします.
- 図の左上にある青い丸いアイコンをクリックして,以下の図のように設定されてあるかを確認します.
- ”Done”をクリックしたら,計測が始まります.
Id Sample # Time parent voltage [V] temp [C] light accel_x [g] accel_y [g] mag_x [mgauss] mag_y [mgauss] mic 2 2007/8/29 17:45 0 2.6036 25.852 710 0.16 0.86 29.44 29.44 430 1 2007/8/29 17:45 0 2.7892 26.435 789 -0.32 -0.28 27.279 27.279 439 2 2007/8/29 17:45 0 2.5982 25.852 711 0.16 0.86 29.575 29.44 439 1 2007/8/29 17:45 0 2.7892 26.435 790 -0.34 -0.28 27.279 27.279 448 2 2007/8/29 17:45 0 2.5929 25.852 713 0.16 0.86 29.575 29.575 459 1 2007/8/29 17:45 0 2.7892 26.435 789 -0.32 -0.28 27.279 27.279 458 2 2007/8/29 17:45 0 2.5875 25.852 714 0.18 0.84 29.575 29.575 434 1 2007/8/29 17:45 0 2.7954 26.435 790 -0.34 -0.28 27.279 27.279 437 2 2007/8/29 17:45 0 2.5822 25.852 713 0.18 0.86 29.71 29.575 438 1 2007/8/29 17:45 0 2.7892 26.435 789 -0.32 -0.28 27.279 27.279 438
LP(ロウパワー)モード
MoteViewにはLPモードという通信がありますが,これは2日間つけっぱなしで放置しても20分ぐらいしか通信してくれませんでした.(短時間で遊ぶものではない)
しかし省電力性はすごいです.1年間ぐらいは動くんではないでしょうか?もしかしたらもっと動くかも…
PostgreSQL
センサノードから取得したデータはMoteViewによって,PostgreSQLに入力されています.
コマンドプロンプトで,MoteViewのインストールされているフォルダの下にある”psql.exe”にアクセスします.
cd C:\Program Files\Crossbow\MoteView psql task
でアクセスできます.アクセスできたら,ユーザ名とパスワードを入力します.(ここでの”task”,ユーザ名,パスワードは図databaseにあるDatabase名,ユーザ名,パスワードを入力してください)
User name: tele Password: Welcom to psql 8.0.0rc1. the PostgreSQL interactive terminal.
ここでテーブルの一覧を表示させると
とこんな感じになります.今回使用したのはmst310_results,mst310_results_i,mts310_results_lです.
task=# select * from mts310_results; result_time | epoch | nodeid | parent | voltage | temp | light | accel_x | accel_y | mag_x | mag_y | mic -------------------------+-------+--------+--------+---------+------+-------+---------+---------+-------+-------+----- 2007-08-29 17:46:40.796 | | 1 | 0 | 449 | 527 | 801 | 434 | 436 | 202 | 202 | 438 2007-08-29 17:46:41.328 | | 2 | 0 | 512 | 521 | 731 | 459 | 492 | 231 | 231 | 432 2007-08-29 17:46:42.593 | | 1 | 0 | 450 | 527 | 801 | 434 | 436 | 202 | 202 | 441 2007-08-29 17:46:43.14 | | 2 | 0 | 513 | 521 | 731 | 460 | 492 | 232 | 231 | 433 2007-08-29 17:46:44.39 | | 1 | 0 | 450 | 527 | 801 | 434 | 436 | 202 | 202 | 438 2007-08-29 17:46:44.937 | | 2 | 0 | 515 | 521 | 730 | 460 | 492 | 232 | 232 | 433 2007-08-29 17:46:46.203 | | 1 | 0 | 450 | 527 | 800 | 434 | 436 | 202 | 202 | 440 2007-08-29 17:46:46.781 | | 2 | 0 | 516 | 521 | 729 | 460 | 492 | 233 | 233 | 446 2007-08-29 17:46:48 | | 1 | 0 | 450 | 527 | 798 | 433 | 436 | 203 | 202 | 439 ・・・・ task=# select * from mts310_results_i; nodeid | x_coord | y_coord | z_coord | mote_name | calib | board_id --------+---------+---------+---------+-----------+-------+---------- (0 rows) task=# select * from mts310_results_l; result_time | epoch | nodeid | parent | voltage | temp | light | accel_x | accel_y | mag_x | mag_y | mic -------------------------+-------+--------+--------+---------+------+-------+---------+---------+-------+-------+----- 2007-08-29 17:58:49.562 | | 2 | 0 | 580 | 0 | 733 |65533 | 6 | 181 | 181 | 211 2007-08-29 18:09:53.796 | | 1 | 0 | 457 | 524 | 645 | 467 | 476 | 205 | 205 | 489 (2 rows)
といったデータが入っています.
ftp://ftp.tik.ee.ethz.ch/pub/students/2006-So/MA-2006-20.pdf (Controlling Wireless Sensor Networks)
MOTE-VIEW 1.2 User’s Manual
MoteView Users Manual
XServe Users Manual
関連記事
TinyOS+MICAzを使う 基本編 - WebLab.ota
TinyOS+MICAzを使う Surge_Reliable編 - WebLab.ota
TinyOS + MICAz を使う MoteView編 - WebLab.ota
TinyOS + MICAz を使う TinyDB編 - WebLab.ota