
アナログ温度センサ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度左クリックしてからエスケープキーを押してください。
