某社の某フォーラムで戦車(エイブラムスとレオⅡ)を出す(かもしれない)ので、マニュアル代わりに書いてみた。 [XBee]
いたってローカルな話なので、ついつい見ちゃってがっかりした人、ごめんなさいね。
MTM03で出品した戦車です。エイブラムスはMTM03の時とは操縦方法が変わって、加速度センサーとタッチパネルでの操縦となります。つまり一人で操作可能です。
操縦は、車体の動きはコントローラを傾ける事で加速度センサーが働き、傾きに応じて動きます。
手前に向って傾けると前進。逆に手前を持ち上げると後退。前進または後退中に更に左を下げると左折、右を下げると右折。
水平状態から左側に傾けるとその場で左回転。逆は右回転を行います。
砲塔より上のコントロールは、画面の赤いボタンをタッチする事で行えます。
左端、または右端をタッチすればその方向に砲塔が回転し(左右共に最大で150度までしか回転しません)、一つ内側のボタンは砲身の上下に使います。
一番真中のボタンが射撃ボタンです。
画面左上の青いボタンをタッチすれば終了です。
続いてレオⅡの扱いです。
こちらの操縦は簡単で、基板表側の4つの押しボタンスイッチで行う事となります。
ドライバー側のスイッチは左右それぞれのキャタピラーの動きとなり、上側2つを同時に押せば前進、下側2つの同時押しで後退。左右を対角に押すとその場で回転します。
ガンナー側は下の2つのスイッチが砲塔の回転(左右共に最大で150度まで)。上の二つが砲身の上下を行います。また、上の2つを同時押しで射撃となります。
以上、気を付けて遊んで下さい。
※液晶コントローラは、電源を入れないでしばらく放置するとバックアップ用のスーパーキャパシタが放電し切ってしまいます。その場合電源投入時にタッチパネルのキャリブレーション画面が出ますので、タッチペンなどを使ってキャリブレーションを行ってください。
MTM03で出品した戦車です。エイブラムスはMTM03の時とは操縦方法が変わって、加速度センサーとタッチパネルでの操縦となります。つまり一人で操作可能です。
操縦は、車体の動きはコントローラを傾ける事で加速度センサーが働き、傾きに応じて動きます。
手前に向って傾けると前進。逆に手前を持ち上げると後退。前進または後退中に更に左を下げると左折、右を下げると右折。
水平状態から左側に傾けるとその場で左回転。逆は右回転を行います。
砲塔より上のコントロールは、画面の赤いボタンをタッチする事で行えます。
左端、または右端をタッチすればその方向に砲塔が回転し(左右共に最大で150度までしか回転しません)、一つ内側のボタンは砲身の上下に使います。
一番真中のボタンが射撃ボタンです。
画面左上の青いボタンをタッチすれば終了です。
続いてレオⅡの扱いです。
こちらの操縦は簡単で、基板表側の4つの押しボタンスイッチで行う事となります。
ドライバー側のスイッチは左右それぞれのキャタピラーの動きとなり、上側2つを同時に押せば前進、下側2つの同時押しで後退。左右を対角に押すとその場で回転します。
ガンナー側は下の2つのスイッチが砲塔の回転(左右共に最大で150度まで)。上の二つが砲身の上下を行います。また、上の2つを同時押しで射撃となります。
以上、気を付けて遊んで下さい。
※液晶コントローラは、電源を入れないでしばらく放置するとバックアップ用のスーパーキャパシタが放電し切ってしまいます。その場合電源投入時にタッチパネルのキャリブレーション画面が出ますので、タッチペンなどを使ってキャリブレーションを行ってください。
ディジインターナショナルさんのイベント、2日連続で [XBee]
私は多分行けないけれど、身代わりが行く予定です。
2日間、それぞれ別のイベントをやるんですね。で、例の1万円キットもあるみたい。
3月10日
http://www.digi-intl.co.jp/news/seminar/2010/m2m0310info.html
3月11日
http://www.digi-intl.co.jp/news/seminar/2010/emb0311info.html
そろそろ1万円キットも終了と言う噂も聞くので、まだの方はこの機会に是非。
2日間、それぞれ別のイベントをやるんですね。で、例の1万円キットもあるみたい。
3月10日
http://www.digi-intl.co.jp/news/seminar/2010/m2m0310info.html
3月11日
http://www.digi-intl.co.jp/news/seminar/2010/emb0311info.html
そろそろ1万円キットも終了と言う噂も聞くので、まだの方はこの機会に是非。
アドホック・メッシュネットワーク―ユビキタスネットワーク社会の実現に向けて
- 作者: 間瀬 憲一
- 出版社/メーカー: コロナ社
- 発売日: 2007/08
- メディア: 単行本
ディジ インターナショナルさんの第1回技術交流会に行ってきた。 [XBee]
これね。
http://www.digi-intl.co.jp/news/seminar/2010/100227info.html
レポートは無いです。
もうねぇ、現時点では発表できない秘密の事柄が多過ぎて(笑)。その場に居た人のみお得でしたと言う話です。
次回フォーラムでは発表となると思いますので、XBeeを含むディジ製品に興味のある方は、こちらに参加してください。
http://www.digi-intl.co.jp/news/seminar/2010/emb0311info.html
http://www.digi-intl.co.jp/news/seminar/2010/m2m0310info.html
ゲストとして参加されたディジさんの開発パートナーさんのWEBサイトを書いておきます。
ヴィッツさんはInterface誌でモデルロケットにXBeeを搭載してテレメトリーした方ですよね。
http://www.witz-inc.co.jp/
ナシュア・ソリューションズ
http://www.nassua.co.jp/
ディジさん自体はビジネスとしてのスタンスはB2Bであると言っている訳ですが、決してホビーユーザーを無視している訳ではなく、いや今迄もむしろホビーユーザーを優遇していたのですが(小売で買えるようにスイッチサイエンスさんに正式に卸している)、まだ正式な事は何も言えませんが(笑)、ホビーユーザー(XBeeエントリーユーザー)向け企画も計画されています。
http://www.digi-intl.co.jp/news/seminar/2010/100227info.html
レポートは無いです。
もうねぇ、現時点では発表できない秘密の事柄が多過ぎて(笑)。その場に居た人のみお得でしたと言う話です。
次回フォーラムでは発表となると思いますので、XBeeを含むディジ製品に興味のある方は、こちらに参加してください。
http://www.digi-intl.co.jp/news/seminar/2010/emb0311info.html
http://www.digi-intl.co.jp/news/seminar/2010/m2m0310info.html
ゲストとして参加されたディジさんの開発パートナーさんのWEBサイトを書いておきます。
ヴィッツさんはInterface誌でモデルロケットにXBeeを搭載してテレメトリーした方ですよね。
http://www.witz-inc.co.jp/
ナシュア・ソリューションズ
http://www.nassua.co.jp/
ディジさん自体はビジネスとしてのスタンスはB2Bであると言っている訳ですが、決してホビーユーザーを無視している訳ではなく、いや今迄もむしろホビーユーザーを優遇していたのですが(小売で買えるようにスイッチサイエンスさんに正式に卸している)、まだ正式な事は何も言えませんが(笑)、ホビーユーザー(XBeeエントリーユーザー)向け企画も計画されています。
ディジインターナショナルさんの技術交流会に持って行くつもりですよ。 [XBee]
※XBeeアダプター基板(部品未実装)とか、FIRSK’N JTAG基板(部品未実装)とかも持って行きますので、ご入用の方は声を掛けてくださいね。
久しぶりにXBeeについてぐぐってみたら、XBeeについて書いているBlog増えていますね。しかも詳しい。
そんな訳で写真のコントローラー(勿論XBee搭載済み)で操縦するエイブラムスラジコン戦車を交流会に持っていこうと思っております。
http://www.digi-intl.co.jp/news/seminar/2010/100227info.html
コントロールは、車体は加速度センサーで前進、後退、左右の信地回転、左右の超信地回転を、画面上のタッチパネルで砲塔の旋回、砲身の上下、射撃を制御します。
まあはっきり言ってただの押しボタンの方が操縦性は良いでしょう。
それより問題は会場でBB弾を撃っても良いものかどうか?(笑)。
戦車の動画はこちら。
久しぶりにXBeeについてぐぐってみたら、XBeeについて書いているBlog増えていますね。しかも詳しい。
そんな訳で写真のコントローラー(勿論XBee搭載済み)で操縦するエイブラムスラジコン戦車を交流会に持っていこうと思っております。
http://www.digi-intl.co.jp/news/seminar/2010/100227info.html
コントロールは、車体は加速度センサーで前進、後退、左右の信地回転、左右の超信地回転を、画面上のタッチパネルで砲塔の旋回、砲身の上下、射撃を制御します。
まあはっきり言ってただの押しボタンの方が操縦性は良いでしょう。
それより問題は会場でBB弾を撃っても良いものかどうか?(笑)。
戦車の動画はこちら。
RCヘリコプター IRCヘリ ブルー 3チャンネル 室内ヘリコプター 完成品
- 出版社/メーカー: 東京マルイ
- メディア: おもちゃ&ホビー
XBeeのファームウエアアップデート大作戦 [XBee]
この辺でファームウエアを飛ばしてしまった時の対処方法は書いていますが、ファームウエア自体のアップデートに付いては書いていませんでしたので、備忘録代わりに書いておきますか。
※別に難しい話は何処にも無かったですね。
さて、問題は先のボードが無い時ですね。
一応XBeeのマニュアルを読むとファームウエアの更新に必要な最低限の接続は「VCC」、「GND」、「DIN」、「DOUT」、「RTS&DTR」と言う事になっています。
また、今回は電源の入り切りが必要無いのでUSB/シリアルが使えると思います。
それに忘れてはならないのがリセットスイッチです。
これらをブレッドボード辺りに組んでおけば、ファームウエアの更新は可能だと思います。
関連
http://hamayan.blog.so-net.ne.jp/2009-01-07-1
http://hamayan.blog.so-net.ne.jp/search/?keyword=XBee%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF
※別に難しい話は何処にも無かったですね。
さて、問題は先のボードが無い時ですね。
一応XBeeのマニュアルを読むとファームウエアの更新に必要な最低限の接続は「VCC」、「GND」、「DIN」、「DOUT」、「RTS&DTR」と言う事になっています。
また、今回は電源の入り切りが必要無いのでUSB/シリアルが使えると思います。
それに忘れてはならないのがリセットスイッチです。
これらをブレッドボード辺りに組んでおけば、ファームウエアの更新は可能だと思います。
関連
http://hamayan.blog.so-net.ne.jp/2009-01-07-1
http://hamayan.blog.so-net.ne.jp/search/?keyword=XBee%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF
XBeeアダプターの便利な使い方 [XBee]
最近のマイコンの低消費電力状態では、流れている電流は数マイクロアンペアの物が決して珍しくないので、こうなるとLEDの消費電力の方が遥かに大きい。
なので実運用においてはLEDを始めとする何らかのモニターインタフェースを付けない事が多いと思う。
しかしデバック中はちょっとこれは苦しい。やはり何かトラブルが発生している時、まずは通信状態を知りたいのです。
また、実際の電波の状況を調べる為にエンドデバイスを持ってうろうろする時にも、RSSIよりもTX、RXの方が通信状況が把握し易い事も有ります。
つまり初めからモニターLEDが付いていない無線エンドデバイスで、デバック中だけでもLEDを付けたいと思った時、そうだ!XBeeアダプターをもう一枚使えば良いじゃん!って事で重ねてみました。
しかし物凄い親亀小亀になっています(笑)。
XBeeが省電力にならない時 [XBee]
※XBeeの2mm/2.54mmピッチ変換基板、変換基板のパーツ、まだ余っていますよー。
XBeeをPINハイバネート等の省電力モードで使用している時、ユーザーの意思に反して省電力に入らない時があります。一つの理由としてマニュアルにも掲載されていますが、エンドデバイスが起動時に上位のルーターまたはコーディネーターが見つからない時です。
これ以外に実験していて気付いたパターンを紹介します。
コーディネーターやルーターデバイスは停止しない事が前提で運用されるのですが、実際には完全に停止しない物なんて無い訳で、例えば故障してしまったり、メンテナンスの為に停止する等の要因も考えられます。
実際にXBeeのネットワークでコーディネーター及びエンドデバイスが稼動中にコーディネーターを停止してみました。
エンドデバイスはPINハイバネートに設定され、XBeeにはマイコンが接続されています。
マイコンから定期的にデータを上げる為にエンドデバイスを起床させ、データをXBeeに送り込みます。
その後、SLEEP_RQ端子をHiにしてXBeeをハイバネーションに入れるのですが、コーディネーター側が停止していて無線通信ができない時、やはりXBeeはSLEEP_RQ端子の状態を無視してハイバネーションには入りませんでした。
コーディネーターを再起動すればエンドデバイスはハイバネーションに入ってくれるのですが、それまでは駄目です。
この状態が困るのが、ハイバネーションに入らないと言う事は受信モードに入っている訳で、その場合常時40mA程度の電流を流し続ける事になります。
ZigBeeと言うのは全てではありませんが、電池で1年とか稼動できると言うのが売り文句でもあった訳で、そう言った使い方をしていた場合、当然40mAを流し続ける事はできません。
さてどうしましょう。
一つの解決策としてリセットしてしまう方法をやってみました。
つまりSLEEP_RQ端子をHiにしてからタイマーを仕掛けて、一定時間以上、SLEEP端子がLoに落ちなかった時、XBeeごとリセットします。この為マイコンのポートの一本をXBeeのRESET端子に接続する事となります。
強制リセットなので当然XBeeは初期化され、その後SLEEP_RQ端子の状態に従って無事省電力に入ってくれました。ただし、その後コーディネーターを復帰させても、しばらくの間ネットワークが回復しなかったのはまだ原因が掴めていません。
まあ省電力で動かす必要が有る時はお試しください。
※しかしXBee単独で動作させている時は強制リセットできないので、その時はどうしましょう?。
XBeeをPINハイバネート等の省電力モードで使用している時、ユーザーの意思に反して省電力に入らない時があります。一つの理由としてマニュアルにも掲載されていますが、エンドデバイスが起動時に上位のルーターまたはコーディネーターが見つからない時です。
これ以外に実験していて気付いたパターンを紹介します。
コーディネーターやルーターデバイスは停止しない事が前提で運用されるのですが、実際には完全に停止しない物なんて無い訳で、例えば故障してしまったり、メンテナンスの為に停止する等の要因も考えられます。
実際にXBeeのネットワークでコーディネーター及びエンドデバイスが稼動中にコーディネーターを停止してみました。
エンドデバイスはPINハイバネートに設定され、XBeeにはマイコンが接続されています。
マイコンから定期的にデータを上げる為にエンドデバイスを起床させ、データをXBeeに送り込みます。
その後、SLEEP_RQ端子をHiにしてXBeeをハイバネーションに入れるのですが、コーディネーター側が停止していて無線通信ができない時、やはりXBeeはSLEEP_RQ端子の状態を無視してハイバネーションには入りませんでした。
コーディネーターを再起動すればエンドデバイスはハイバネーションに入ってくれるのですが、それまでは駄目です。
この状態が困るのが、ハイバネーションに入らないと言う事は受信モードに入っている訳で、その場合常時40mA程度の電流を流し続ける事になります。
ZigBeeと言うのは全てではありませんが、電池で1年とか稼動できると言うのが売り文句でもあった訳で、そう言った使い方をしていた場合、当然40mAを流し続ける事はできません。
さてどうしましょう。
一つの解決策としてリセットしてしまう方法をやってみました。
つまりSLEEP_RQ端子をHiにしてからタイマーを仕掛けて、一定時間以上、SLEEP端子がLoに落ちなかった時、XBeeごとリセットします。この為マイコンのポートの一本をXBeeのRESET端子に接続する事となります。
強制リセットなので当然XBeeは初期化され、その後SLEEP_RQ端子の状態に従って無事省電力に入ってくれました。ただし、その後コーディネーターを復帰させても、しばらくの間ネットワークが回復しなかったのはまだ原因が掴めていません。
まあ省電力で動かす必要が有る時はお試しください。
※しかしXBee単独で動作させている時は強制リセットできないので、その時はどうしましょう?。
XBeeアダプターでループバックテストをしてみよう [XBee]
※ちょっと、回路図を差し替えました。
RESETスイッチも付けてね。
XBeeを開発キットで購入した場合、キットによっては左の様なUSB接続タイプのボードが付いてくるのですが、XBeeモジュール単体で購入した場合は、X-CTUで各種設定を行う為に自前でPCと接続しなければなりません。
そこで現在配布中のXBeeアダプター基板を使っての接続方法を紹介します。
勿論レガシー232で接続しても良いのですが、まあ今更なのでUSB/シリアル変換を利用する事とします。
マルツで販売されているこの様な変換モジュール基板とブレッドボードを利用するのがお手軽で良いでしょう。
※接続時の配線を書いて置きます。各画像はクリックで大きくできます。
注意点はXBeeの電源電圧やI/O端子は、必ず3.3V以下(最大動作電圧は3.6Vかな?)の電圧で使用する事が必須です。間違ってそれ以上の高い電圧を使用すると永久的な破壊に至る可能性が有ります。
そこで、USBのVBUSから+5Vを頂き、3.3Vに落としてXBeeの電源とFT232RLのVIOに供給します。
また、MFT232RLのジャンパーは、J2のみ閉じておきます。
まずXBeeアダプターをブレッドボードに搭載する前に、正常に3.3Vが生成できているか確認しましょう。写真の三端子レギュレータの使い方だとブレッドボードの”+”マークと"-"マークが逆になる点に注意して下さい。
三端子レギュレータはTA48033Sが必須と言う訳ではなく、手持ちがこれしか無かったからで、500mA程度出せる物なら何でもよいでしょう。
実際には最大でも100mAも消費しませんが。
電源や各配線に問題が無ければXBeeを搭載したXBeeアダプターをブレッドボードに取り付け、USBケーブルを接続し、ドライバーのインストールが完了すれば、X-CTUでアクセスしてみます。
無事、モデムコンフィギュレーション情報等が読み取れたでしょうか。これで開発キットに付属の基板と同様の操作が可能になりました。
※通常の操作ではDIN、DOUTの接続のみで動かせますが、ファームの書き換え等ではRTS、DTRも使用する事に注意してください。
さて、ループバックを行うにはもう一つのXBeeモジュールが必要です。やはりこちらもXBeeアダプターに搭載し、ブレッドボードを使って配線してしまいましょう。しかしこちらは非常に簡単です。
2pin、3pinのDIN、DOUTをショートし、1pinに+電源、10pinに-電源を接続するだけです。電源もシリーズ2製品の無印(PRO版ではない方)の場合は最低動作電圧が2.1Vからとなっていますので、写真の様にニッケル水素電池を直列2本で使用しても動きます。
共に電源を供給し、XBeeアダプターのASSOCLEDが点滅を始めたら、X-CTUのRange Testタブからループバックテストを開始します、、、おっとその前に、事前に両方のモジュールを送信先アドレスに互いを指定する様にX-CTUで設定しておきます。
電池で駆動されているループバック側を手に持って移動してみます。家は木造の2階建て住宅で、今は2階に居ますので、そのまま1階に降りてどの程度電波が到達するかをやってみます。
一々ループバック側を置いてX-CTUが稼動しているPCの前に戻って来なくとも、XBeeアダプターにはTXとRXのLEDが搭載されていますので、LEDの点滅状況から電波の状況が大体判ります。電波が切れると点滅が停止して消灯しますから。
で、結果ですが、なんと家中移動しても偶に短い間消灯するのみで、ほとんどは通じてしまいます。
しょうがないので、ループバック側を手に持ったまま家の外に出てみました。まあ流石に家の外の電波を遮るような物陰に入ると通信が出来なくなります。ですが思った以上に飛びますね。これで最も電波出力の小さい製品ですから。
RESETスイッチも付けてね。
そこで現在配布中のXBeeアダプター基板を使っての接続方法を紹介します。
勿論レガシー232で接続しても良いのですが、まあ今更なのでUSB/シリアル変換を利用する事とします。
マルツで販売されているこの様な変換モジュール基板とブレッドボードを利用するのがお手軽で良いでしょう。
※接続時の配線を書いて置きます。各画像はクリックで大きくできます。
注意点はXBeeの電源電圧やI/O端子は、必ず3.3V以下(最大動作電圧は3.6Vかな?)の電圧で使用する事が必須です。間違ってそれ以上の高い電圧を使用すると永久的な破壊に至る可能性が有ります。
そこで、USBのVBUSから+5Vを頂き、3.3Vに落としてXBeeの電源とFT232RLのVIOに供給します。
また、MFT232RLのジャンパーは、J2のみ閉じておきます。
まずXBeeアダプターをブレッドボードに搭載する前に、正常に3.3Vが生成できているか確認しましょう。写真の三端子レギュレータの使い方だとブレッドボードの”+”マークと"-"マークが逆になる点に注意して下さい。
三端子レギュレータはTA48033Sが必須と言う訳ではなく、手持ちがこれしか無かったからで、500mA程度出せる物なら何でもよいでしょう。
実際には最大でも100mAも消費しませんが。
電源や各配線に問題が無ければXBeeを搭載したXBeeアダプターをブレッドボードに取り付け、USBケーブルを接続し、ドライバーのインストールが完了すれば、X-CTUでアクセスしてみます。
無事、モデムコンフィギュレーション情報等が読み取れたでしょうか。これで開発キットに付属の基板と同様の操作が可能になりました。
※通常の操作ではDIN、DOUTの接続のみで動かせますが、ファームの書き換え等ではRTS、DTRも使用する事に注意してください。
さて、ループバックを行うにはもう一つのXBeeモジュールが必要です。やはりこちらもXBeeアダプターに搭載し、ブレッドボードを使って配線してしまいましょう。しかしこちらは非常に簡単です。
2pin、3pinのDIN、DOUTをショートし、1pinに+電源、10pinに-電源を接続するだけです。電源もシリーズ2製品の無印(PRO版ではない方)の場合は最低動作電圧が2.1Vからとなっていますので、写真の様にニッケル水素電池を直列2本で使用しても動きます。
共に電源を供給し、XBeeアダプターのASSOCLEDが点滅を始めたら、X-CTUのRange Testタブからループバックテストを開始します、、、おっとその前に、事前に両方のモジュールを送信先アドレスに互いを指定する様にX-CTUで設定しておきます。
電池で駆動されているループバック側を手に持って移動してみます。家は木造の2階建て住宅で、今は2階に居ますので、そのまま1階に降りてどの程度電波が到達するかをやってみます。
一々ループバック側を置いてX-CTUが稼動しているPCの前に戻って来なくとも、XBeeアダプターにはTXとRXのLEDが搭載されていますので、LEDの点滅状況から電波の状況が大体判ります。電波が切れると点滅が停止して消灯しますから。
で、結果ですが、なんと家中移動しても偶に短い間消灯するのみで、ほとんどは通じてしまいます。
しょうがないので、ループバック側を手に持ったまま家の外に出てみました。まあ流石に家の外の電波を遮るような物陰に入ると通信が出来なくなります。ですが思った以上に飛びますね。これで最も電波出力の小さい製品ですから。
ZigBeeセンサーネットワーク―通信基盤とアプリケーション
- 作者: 阪田 史郎
- 出版社/メーカー: 秀和システム
- 発売日: 2005/07
- メディア: 単行本
「Zigbee開発ハンドブック」の正誤表 [XBee]
もしかしてこのblogを読んでこの本を購入された方、正誤表が出ていますのでお気を付け下さい。
http://www.ric.co.jp/book/error/error646.html
XBeeをちょっといじめてみよう [XBee]
今日は色々ぶつけてみました。いや石とか怒りとかをぶつけるのではなく、電波とか設定とかです。
まず2台のコーディネータのチャンネルスキャンの範囲を小さくして、二つのチャンネルのみスキャンするようにします。こうすると例えば25ch、26chのいずれかを使用する事になります。
コーディネータは1台ずつ立ち上げます。期待しているのは後から立ち上がった方が、先に使われれているチャンネルを避けてチャンネルを設定してくれる事です。コーディネータのチャンネル設定は起動時に一度行われますので、互いに電源やリセットスイッチのON/OFFを繰り返して調べます。
結果はですね、上手く行く時は結構すんなりと避けてくれるのですが、一度避けなくなるとしばらく同一チャンネルが設定されてしまいます。
ちなみにZigBee本に拠ると、後から起動したコーディネータはまず電波の使われ状況を調べて、既に利用されているチャンネルを避けて設定する事になっています。
※なお、ZigBeeでは運用中に今まで使用していた周波数に別のネットワークが割り込んで来ても、自動的に別のチャンネルに設定し直す事までは規定されていないようです。もちろんXBeeもそうなっていますので、実運用では常にチャンネルの利用状況を把握する必要が有るのかもしれません。
では今度はPAN IDをぶつけてみます。やはり例の本では、コーディネータが起動時に周囲のPAN IDの使用状況を調べて、もしそのPAN IDが使われていたら、0x0000~0x3FFFまでの任意の番号をPAN IDとする事となっています。
※そうすると後からルーターやエンドデバイスを追加する時には、どのPAN IDが割り当てられているか調べてから追加する必要が有りますね。
それでこの実験では、二つのコーディネータが同一のチャンネル、同一のPAN IDとなるように設定し、やはり後から起動するコーディネータがデフォルトのPAN IDから別のIDを使用する事を期待しています。
結果はですね、PAN IDはデフォルトから変化しませんでした。メーカーに確認したのですが、XBeeはPAN IDがぶつかっても自ら変更する事は無いそうです。
次は、IEEE802.15.4/ZigBeeを運用する上で最大のライバル?無線LANの周波数とぶつけてみました。
家では無線LANは1chを使用しています。1chの中心周波数は2412MHzとなっています。
そこでコーディネータをIEEE802.15.4の12chを使用する様にします。12chの中心周波数は2410MHzです。
※いまだに11b!とかの突っ込みは無しでお願いします。
無線LANのツールで電波状況をモニターすると、1chで時折絶望的なまでに落ち込む時がありました。問題有りありです。無線LANを装備したノートPCとXBeeは直ぐ傍にあります。XBeeと無線アクセスポイントまでの距離も50cm程度しか離れていません。
互いに電波を出さないと障害にはならないので、無線LAN側のノートPCではインターネットラジオを掛けて置きます。レートは128Kbpsです。
XBee側はループバック試験を行って置きます。
結果ですが、むしろ無線LAN側が影響を受けている様な感じです。パケットモニタのトラフィックのグラフを見ても、モニターを開始してからの波形に、時折0まで落ち込む谷が見受けられます。その間は演奏が欠けてしまいます。
XBee側は無線LANの影響を受けてはいないかと言えばそんな事は無く、時折ループバックデータの転送を止めて、また直ぐに再開しています。
これは無線LAN、IEEE802.15.4共に送信制御にCSMA/CA方式、簡単に言えば他のノードの電波の送信状況をモニターして置いて、電波が発せられていない隙間を見つけたら、ランダムな時間が経過後、送信を行う方式な為、どちらかが電波を出している間はもう片方は待たされる事になります。
こんな結果にも関わらずループバック試験の結果は6000回程ループバックを行ってLOSTは2回です。
これは単に送信できるタイミングを逸しているだけで、データの送信品質が落ちている訳ではないと言う事ですかね。
パフォーマンスは落ちますが、最悪周波数が被ってもある程度の共存は可能と言う事で。
今日の結果から言える事は、運用上障害となる要素を把握した上で、可能ならばちゃんと管理した方が良さそうと言う事です。
無線は利用したいところだけ飛ぶのではなく、関係無い所まで飛んでしまいます。これ、展示会とかイベントで無線を利用する場合は本当に大変そうです。特に無線LANなんて同一空間、同一時間では3chしか利用できませんから。
前回のMTM02では小林様がXBee利用者にPAN IDの登録をお願いしていましたが、チャンネルが上手く切り替らない事も有るので、利用チャンネルの管理もした方が良いかもしれませんね。