
前回はファームウェアをDigiMeshに設定しI2C温度センサADT7410(Microchip社製)を3個のルーターのXBeeに接続し、コーディネータXBeeで60秒間隔で温度データを検出する方法を解説しました。
今回は前回のコーディネータXBeeに送信されたフレームから温度等のデータをProcessingで読みとり、温度データ等をリアルタイムでスクロールグラフに表示する方法を解説します。
コーディネータXBeeと3個のルーターXBeeのConfigurationは前回の解説と同様に設定します。
7行目のDLはご自分のローカルXBeeのシリアルナンバーに変更してください。 コーディネータXBeeのNetwork working modeでScanした結果を示します。

コーディネータXBeeのConsole画面を示します。3個のルーターからフレームが60秒間隔で送信されていることを確認する事ができます。

前回の解説で示したように、ルーターから以下の構造のフレームが送信されていることを確認することができます。ルーターXBeeのNI、VDD、RSSI及び温度データがフレームに含まれていることを確認できました。
Receive Packet (API 1)
7E 00 4A 90 00 13 A2 00 41 AE 30 F6 FF FE C1 4E 41 4D 45 3A 20 31 20 54 65 6D 70 65 72 61 74 75 72 65 3A 20 32 39 2E 31 39 43 20 52 53 53 49 3A 20 30 37 30 64 42 20 42 61 74 74 65 72 79 20 56 6F 6C 74 61 67 65 3A 20 34 2E 30 31 56 95
Start delimiter: 7E
Length: 00 4A (74)
Frame type: 90 (Receive Packet)
64-bit source address: 00 13 A2 00 41 AE 30 F6
16-bit source address: FF FE
Receive options: C1
RF data (HEX): 4E 41 4D 45 3A 20 31 20 54 65 6D 70 65 72 61 74 75 72 65 3A 20 32 39 2E 31 39 43 20 52 53 53 49 3A 20 30 37 30 64 42 20 42 61 74 74 65 72 79 20 56 6F 6C 74 61 67 65 3A 20 34 2E 30 31 56
RF data (ASCII): NAME: 1 Temperature: 29.19C RSSI: 070dB Battery Voltage: 4.01V
Checksum: 95
上記のフレームから3個のルーターXBeeのNI、VDD、RSSI及び温度データをProcessingで読み取り、リアルタイムのスクロールグラフを作成しました。
以下のテキストファイルはスクロールグラフを表示するProcessing(Java)のコードです。Processingを立ち上げてコピーして実行してください。Processingについては5月24日の「XBeeモジュールの使い方(アナログ温度センサの温度データ可視化)」の記事を参考にしてください。今回はこのときの記事で記載した設定条件でスクロールグラフを作成しました。
温度データをcsvファイルで保存する時間間隔を、このコードの37行目で指定しています。デフォルトでは24時間に設定しています。
このプログラムを実行するとSerial Settingのウィンドウが開きます。Com PortとBaud Rateを指定します。

Select Folderをクリックしてcsvファイルを保存するフォルダーを指定してください。

Start meas.をクリックすると計測を開始します。プログラムを停止する場合はEscキーを押してください。
