XBee 0312006003 浅川 和久 2009/7/23
無線モジュール XBee Series1 Series2 IEEE802.15.4をサポート P to P,1対N 通信距離最大120m ZigBee対応 P to P,1対N,メッシュネット 通信距離最大1.6Km ZigBee非対応 Proのほうが大きい 消費電力が大きい 2009/7/23
ZigBee(1) 家電向けの短距離無線通信規格の1つ 低速で転送距離が短い(最大30m) 安価で消費電力が少ない(ボタン電池1個で1年) 2.4GHz帯の周波数帯を16チャンネルに分割 中継機能(約65000台と同時接続可能) 2009/7/23
ZigBee(2) ZigBee Cordinator(ZC) ZigBee Router(ZR) ネットワーク内に1台存在しネットワークの制御を行う端末 ZigBee Router(ZR) データ中継機能を含む端末 ZigBee End Device(ZED) データ中継機能を持たない端末 2009/7/23
ZigBee(3) http://www2.media.t-kougei.ac.jp/fabo/2008/12/zigbee_xbee.html 2009/7/23
Arduino XBEE Shield同士の通信(1) 2組の「Arduino + Arduino XBEE Shield」を用意 片方の「Arduino + Arduino XBEE Shield」からもう片方へ「H」「L」の文字を1秒毎に送信 「H」ならLED点灯、「L」ならLED消灯 2009/7/23
Arduino XBEE Shield同士の通信(2) ※USBケーブルは電源供給のみ行う http://www.saturn.dti.ne.jp/~npaka/flash/arduino/index.html 2009/7/23
Arduino XBEE Shield同士の通信(3) // 「H」「L」送信 void setup() { Serial.begin(9600); //9600bpsでポートを開く } void loop() Serial.print('H'); delay(1000); Serial.print('L'); 2009/7/23
Arduino XBEE Shield同士の通信(4) // 「H」「L」受信 int val;//受信データ用の変数を用意 void setup(){ Serial.begin(9600); //シリアル通信開始 pinMode(13,OUTPUT); //13ピンをデジタル出力に設定 } void loop(){ if(Serial.available()>0){ //データがあるか val=Serial.read(); //データを読み込む if(val=='H'){ digitalWrite(13,HIGH); //点灯 }else{ digitalWrite(13,LOW); //消灯 2009/7/23
コンピュータと接続したXBeeと通信(1) 2009/7/23
コンピュータと接続したXBeeと通信(1) //シリアル通信ライブラリを取り入れる import processing.serial.*; Serial port; //ポートのインスタンス void setup(){ port=new Serial(this,“/dev/tty.usbserial-A8003VXd”,9600); //「XBee Explorer USB」のシリアルポート設定 } void draw(){ void mousePressed(){//マウスボタンを押したら port.write('H'); //「H」を送信(点灯) void mouseReleased(){//マウスボタンを放したら port.write('L'); //「L」を送信(消灯) 2009/7/23
複数のXBeeと通信(1) モジュールごとにアドレスを設定する XBee-arduino 無線通信 Arduino+XBEE+光センサ USB 明るさ 子機 Serial Proxy XBEE エクスプローラ USB 親機 Arduino+XBEE+光センサ LEDの制御 モジュールごとにアドレスを設定する XBee-arduino 2009/7/23
複数のXBeeと通信(2) ID 3332 ネットワークID 0-0xFFFF CH 0x0C チャンネル 0x0B-0x1A MY モジュールのアドレス16ビット SH シリアルナンバー上位32ビット 0-0xFFFFFFFF SL シリアルナンバー下位32ビット DH 送信先アドレス上位32ビット DL 送信先アドレス下位32ビット BD 3 通信速度 0-7 ID、CH、MY、DH、DLが同じであるため、どのモジュール間での通信可能。 IDを変更すると、ほかのモジュール群から干渉を受けずに通信可能。 2つのモジュール間でIDとCHを共有してDH、DLを互いに設定すれば、そのアドレスのモジュールだけとの通信が可能。 ------ ブロードキャスト→シリアルナンバー。 アドホックネットワークの構成。IDとCHを利用したプロトコル。 「DL」を「FFFF」、「DH」を「0」に設定すれば、そのモジュールからの通信は、その他のすべてのモジュールによって受信可能 2009/7/23
参考文献 ディジ インターナショナル株式会社 fabo東京工芸大学メディアアート表現学科 「ものづくり」プロジェクト Arduinoメモ http://www.digi-intl.co.jp/ fabo東京工芸大学メディアアート表現学科 「ものづくり」プロジェクト http://www2.media.t-kougei.ac.jp/fabo/2008/12/zigbee_xbee.html Arduinoメモ http://www.saturn.dti.ne.jp/~npaka/flash/arduino/index.html 建築発明工作ゼミ2008 http://kousaku-kousaku.blogspot.com/2008/10/arduinoxbee-shieldprocessingxbee.html 2009/7/23