センサ組立(arduino & xBee)

7-1.部品を用意

 ・ユニバーサル基板 
 ・XBee Series2 × 2
 ・XBEEの台 × 2
 ・抵抗 2.2k ×2, 10k ×2, 20k ×2
 ・コンデンサ 0.3u,0.1u.33u
 ・3.3vレギュレータ
 ・LM35 × 2
 ・電池ホルダー(9v用か単三4本か単四4本)
 ・青色LED × 2


 

7-2.組み立てる

秋月のXBee台座は3.3vのレギュレータが入っているのが、3.3v入れても動いた。
子機はArefと兼用にするので3.3vレギュレータを入れている。

arduino 7,8番ピンからxbeenのRTS,CTSにつながるのはとりあえず要らない。

7-3.無線設定

arduinoに接続のxbee(親機、コーディーネータ)

PAN IDは任意の番号
modem configurationタブ Function set をZIGBEE COORDINATOR API
Serial Interface AP = 2 

サンプリング用xbee(子機、エンドデバイス)

PAN IDはコーディネータに合わせる
DH:0013A200
DL:上のコーディネータのid(裏のシールの番号)

ST=7D0
SN=D0
SP=20
D0=2
IR=7FF 

7-4.arduino プログラム

V\https://code.google.com/p/xbee-arduino/
xbeeライブラリをインストール

#include 
#include 
#include 
#include 

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
char server[] = “remote.自分のURL”; 

// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192, 168, 0, 177);
EthernetClient client;

XBee xbee = XBee();

ZBRxIoSampleResponse ioSample = ZBRxIoSampleResponse();

XBeeAddress64 test = XBeeAddress64();

void setup() {
Serial.begin(9600);
xbee.setSerial(Serial);

// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Ethernet.begin(mac, ip);
}
// give the Ethernet shield a second to initialize:
delay(1000);

}

void loop() {
float temperture ;
xbee.readPacket();

if (xbee.getResponse().isAvailable()) {
// got something
if (xbee.getResponse().getApiId() == ZB_IO_SAMPLE_RESPONSE) {
xbee.getResponse().getZBRxIoSampleResponse(ioSample);

if (ioSample.isAnalogEnabled(0)) {

int readData =ioSample.getAnalog(0);
temperture = readData *0.10753;
}

}
}

//サーバに書き込み
if (client.connect(server, 80)) {
client.print(“GET /writeData.php?temp=”);
client.print(temperture);
client.println(” HTTP/1.1″);
client.print(“Host: “);
client.println(server);
client.println(“Connection: close”);
client.println();
}

delay(2000);
client.stop();
Serial.println();
delay(60000);//次の送信まで60秒あける

}

murarobo

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする