XBeeモジュールの使い方(アナログ温度センサの温度データ可視化)


 アナログ温度センサMCP9701(Microchip社製)をリモートXBeeに接続してローカルXBeeに結果を送信する方法を3つ前の記事である「XBeeモジュールの使い方(アナログ温度センサその2)」で解説しました。

 今回はローカルXBeeで読み取った温度データをグラフ化する方法を解説します。

設定はリモートXBeeのSPを2000msに設定する以外は「XBeeモジュールの使い方(アナログ温度センサその2)」と同様です。

(センサとリモートXBeeの配線)

・MCP9701の1番ピン(Vdd)をXBeeの1番ピンに接続する場合とDIO2の18番ピンに接続する場合を比較します。

・MCP9701の2番ピン(Vout)をXBeeの19番ピンに接続

・MCP9701の3番ピン(GND)をXBeeの10番ピンに接続

(XBee設定条件)

デフォルト状態から以下の設定を実施します。

・リモートXBeeとローカルXBeeのIDを一致させる。

・リモートXBeeとローカルXBeeのAPをAPI Mode Without Escape [1]に設定する。

・リモートXBeeのD1をADC[2]に設定する。

・リモートXBeeのD2をDigital Out, High[5]に設定する。

・リモートXBeeのIRをデフォルトの0msに設定する。

・リモートXBeeのAV:Analog Voltage Referenceがデフォルトの1.25Vを使用します。

・リモートXBeeのSPを2000msに設定する。

・リモートXBeeのSTを500msに設定する。

 上記の設定が全て完了したらリモートXBeeのSMをCyclic Sleep[4]に設定する。 上記の設定をすることにより、リモートXBeeに接続されたアナログ温度センサMCP9701の温度データはAPIフレームによりローカルXBeeに送信されます。

 このAPIフレームからリモートXBeeの16ビットアドレスとRSSI及び温度データを読み取りグラフで表示するために「Processing」を使用しました。

 「Processing」とはビジュアルアートに適したプログラミング言語であり、IDE(統合開発環境)として有名ですが、データを可視化する強力なツールとしても使用できます。 「Processing」はオープンソースなので、無料でこのサイトからダウンロードして利用できます。

 ControlP5というライブラリをインポートしてください。また、右上に表示されているように「Processing」はデフォルトではJavaでコード書けるようになっています。Javaの他にPythonでもコードを書くことができますが今回はデフォルトのJavaでコードを書くことにします。

設定が終わったら以下のコードを張り付けます。

このコードの44行目にCOMポート番号をご自分の環境に合わせて変更してください。

xbee = new Serial(this, “COM16”, 9600);

 このコードを張り付けたスケッチを実行すると以下の画面が評され、温度データを可視化することができます。プログラムを終了する場合は画面を1度左クリックしてからエスケープキーを押してください。