Đỉnh NGUYỄN

life's a journey not a destination

ZigBee – Thu thập dữ liệu từ các cảm biến và truyền về máy chủ thông qua web service – phần 3

Leave a comment


1.1 Viết chương trình

Mở Arduino IDE, viết chương trình như sau:

const int ledPin = 13;

const int sensorPin = 4;

int incomingByte = 0; // for incoming serial data

void setup() {

// Initialize pins

pinMode(ledPin, OUTPUT);

pinMode(sensorPin, INPUT);

// Initialize Serial

Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

// blink twice at startup

digitalWrite(ledPin, LOW);

delay(1000);

digitalWrite(ledPin, HIGH); // first blink

delay(50);

digitalWrite(ledPin, LOW);

delay(200);

digitalWrite(ledPin, HIGH); // second blink

delay(50);

digitalWrite(ledPin, LOW);

}

void loop() {

// send data from sender (router) to receiver (coordinator)

incomingByte = digitalRead(sensorPin);

Serial.write(“40ABB829”); // Hex: 5248656666565057

if (incomingByte == HIGH)

{

incomingByte = ‘1’;

Serial.write(incomingByte); // Arduino 1.0 compatibility

// turn LED on

digitalWrite(ledPin, HIGH);

//delay(2400);

// clear buffer

clearBuffer();

}

else

{

incomingByte = ‘0’;

//Serial.write(“40ABB829”); // Hex: 5248656666565057

Serial.write(incomingByte); // Arduino 1.0 compatibility

// turn LED off

digitalWrite(ledPin, LOW);

}

Serial.flush();

delay(800);

}

void clearBuffer() {

// Serial.flush() has changed in Arduino 1.0. You can use the following instead: while(Serial.available()>0) Serial.read();

while (Serial.available() > 0)

Serial.read();

}

1.2 Nạp chương trình vào board mạch Arduino Fio 1

1. Chọn loại mạch là Arduino Fio.

clip_image001

2. Chọn cổng giao tiếp Serial tương ứng

clip_image002

3. Biên dịch mã nguồn

clip_image003

4. Nhúng chương trình vào board mạch

clip_image004

2. Bước 4: Nạp chương trình vào Arduino Fio 2 (điều khiển Magnetic Sensor)

2.1 Kết nối board mạch Arduino Fio 2 với máy tính thông qua USB cable

Kết nối board mạch Arduino Fio với FTDI Basic breakout, sau đó kết nối FTDI Basic breakout với máy tính thông qua USB cable.

clip_image006

2.2 Viết chương trình

Mở Arduino IDE, viết chương trình như sau:

const int ledPin = 13;

const int sensorPin = 4;

int incomingByte = 0; // for incoming serial data

void setup() {

// Initialize pins

pinMode(ledPin, OUTPUT);

pinMode(sensorPin, INPUT);

// Initialize Serial

Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

// blink twice at startup

digitalWrite(ledPin, LOW);

delay(1000);

digitalWrite(ledPin, HIGH); // first blink

delay(50);

digitalWrite(ledPin, LOW);

delay(200);

digitalWrite(ledPin, HIGH); // second blink

delay(50);

digitalWrite(ledPin, LOW);

}

void loop() {

// send data from sender (router) to receiver (coordinator)

incomingByte = digitalRead(sensorPin);

// door is opened

if (incomingByte == HIGH)

{

incomingByte = ‘1’;

Serial.write(“40AD580D”); // Hex: 5248656853564868

Serial.write(incomingByte); // Arduino 1.0 compatibility

// turn LED on

digitalWrite(ledPin, HIGH);

// clear buffer

clearBuffer();

}

else // door is closed

{

incomingByte = ‘0’;

// turn LED off

digitalWrite(ledPin, LOW);

}

delay(400);

}

void clearBuffer() {

// Serial.flush() has changed in Arduino 1.0. You can use the following instead: while(Serial.available()>0) Serial.read();

while (Serial.available() > 0)

Serial.read();

}

2.3 Nạp chương trình vào board mạch Arduino Fio 2

5. Chọn loại mạch là Arduino Fio.

clip_image001[1]

6. Chọn cổng giao tiếp Serial tương ứng

clip_image002[1]

7. Biên dịch mã nguồn

clip_image003[1]

8. Nhúng chương trình vào board mạch

clip_image004[1]

3. Bước 5: Kết nối Motion Sensor với board mạch Arduino Fio 1 và XBee 2

clip_image008

4. Bước 6: Kết nối Magnetic Sensor với board mạch Arduino Fio 2 và XBee 3

clip_image009

Advertisements

Author: dinhnn

Senior software developer, a technical leader. You can be reached at via email to dinhnguyenngoc@gmail.com, via my blog at dinhnguyenngoc.wordpress.com, and on Twitter @dinhnguyenngoc.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s