XBee090723

XBee
0312006003
浅川 和久
2009/7/23
1
無線モジュール XBee
• Series1
– IEEE802.15.4をサポート
– P to P,1対N
– 通信距離最大120m
• Series2
– ZigBee対応
– P to P,1対N,メッシュネット
– 通信距離最大1.6Km
2009/7/23
2
ZigBee(1)
•
•
•
•
•
家電向けの短距離無線通信規格の1つ
低速で転送距離が短い(最大30m)
安価で消費電力が少ない(ボタン電池1個で1年)
2.4GHz帯の周波数帯を16チャンネルに分割
中継機能(約65000台と同時接続可能)
2009/7/23
3
ZigBee(2)
• ZigBee Cordinator(ZC)
– ネットワーク内に1台存在しネットワークの制御を
行う端末
• ZigBee Router(ZR)
– データ中継機能を含む端末
• ZigBee End Device(ZED)
– データ中継機能を持たない端末
2009/7/23
4
ZigBee(3)
http://www2.media.t-kougei.ac.jp/fabo/2008/12/zigbee_xbee.html
2009/7/23
5
Arduino XBEE Shield同士の通信(1)
• 2組の「Arduino + Arduino XBEE Shield」を用意
• 片方の「Arduino + Arduino XBEE Shield」から
もう片方へ「H」「L」の文字を1秒毎に送信
• 「H」ならLED点灯、「L」ならLED消灯
2009/7/23
6
Arduino XBEE Shield同士の通信(2)
※USBケーブルは電源供給のみ行う
http://www.saturn.dti.ne.jp/~npaka/flash/arduino/index.html
2009/7/23
7
Arduino XBEE Shield同士の通信(3)
// 「H」「L」送信
void setup()
{
Serial.begin(9600); //9600bpsでポートを開く
}
void loop()
{
Serial.print('H');
delay(1000);
Serial.print('L');
delay(1000);
}
2009/7/23
8
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
9
コンピュータと接続したXBeeと通信(1)
2009/7/23
10
コンピュータと接続した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
11
複数のXBeeと通信(1)
無線通信
Arduino+XBEE+光センサ
子機
USB
明るさ
XBEE エクスプローラ USB
Serial
Proxy
親機
Arduino+XBEE+光センサ
LEDの制御
• モジュールごとにアドレスを設定する
• XBee-arduino
2009/7/23
12
複数のXBeeと通信(2)
ID
3332
ネットワークID
0-0xFFFF
CH
0x0C
チャンネル
0x0B-0x1A
MY
0
モジュールのアドレス16ビット
0-0xFFFF
SH
シリアルナンバー上位32ビット
0-0xFFFFFFFF
SL
シリアルナンバー下位32ビット
DH
0
送信先アドレス上位32ビット
DL
0
送信先アドレス下位32ビット
BD
3
通信速度
0-0xFFFFFFFF
0-7
「DL」を「FFFF」、「DH」を「0」に設定すれば、そのモジュールからの通信
は、その他のすべてのモジュールによって受信可能
2009/7/23
13
参考文献
• ディジ インターナショナル株式会社
– 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/arduinoxbeeshieldprocessingxbee.html
2009/7/23
14