Sunday, August 26, 2007

...วิเคราะห์และสรุป...

วิเคราะห์


เราทำการวัดค่า RSSI ในระยะ ต่างๆ กันโดยให้ power level มีการเปลี่ยนแปลง
จากการวัดเราจะได้ ค่า RSSI ตามตารางและกราฟที่ได้จากกราฟ
คือ ระยะ 2 ฟุต จากกราฟจะเห็นว่า...เมื่อเราให้ ค่า power level ที่ 5 จะมีค่า RSSI ที่ค่าเฉลี่ยที่ 220
ค่า power level ที่ 10 จะมี ค่าRSSI ที่ค่าเฉลี่ย ที่ 225ค่า power level ที่ 15 จะมี ค่า RSSI ที่ค่าเฉลี่ย
ที่ 230 ค่า power level ที่ 20 จะมี ค่า RSSI ที่ค่าเฉลี่ย ที่ 235ค่า power level ที่ 25 จะมี ค่าRSSI ที่ค่าเฉลี่ย ที่ 235-240ค่า power level ที่ 30 จะมี ค่าRSSI ที่ค่าเฉลี่ย ที่ 220
ซึ่งกราฟจากทุกระยะจะลักษณะ ที่ใกล้เคียงกัน โดยที่ ระยะเท่ากัน RSSI จะไม่ท่ากัน เมื่อเราเปลี่ยน power levelจะเห็นได้ ว่า เมื่อ power level น้อย จะทำให้ มีค่า RSSI น้อย เมื่อ ระยะส่งที่เท่ากัน ลักษณะกราฟเกือบทุกรูปจะมีลักษณะเบ้ขวา

ข้อผิดพลาดของลักษณะข้อมูลที่ผิดปกติ
จากการที่เราดูกราฟ จะพบข้อผิดพลาดของกราฟ เมื่อบางกราฟไม่เบ้ไปทางขวา เนื่องจากการวัดค่าเราไม่สร้างสามารถวัดได้ตรงตำแหน่งที่พอดี มีบางกราฟที่ผิด คือมีการขาดตอนของข้อมูลเนื่องจากระยะ power level แต่ละค่าไม่สามารถวัดถึงระยะที่เราทำกราฟ เราจะได้ว่าที่ power lewel 5 วัดระยะที่สูงสุดคือ 13 ฟุต แล้ว เครื่องจะไม่สามารถรับส่งสัญญาณกันได้ และระยะเพิ่มขึ้นไปจะได้ระยะสูงสุด คือ power level ที่ 10 ได้ไกลสุด 9 ฟุต , ระยะสูงสุด คือ ที่ power lelvel 15 คือ 16 ฟุต , ระยะสูงสุด คือ ที่ power level 20 ได้ไกลสุด 23 ฟุต , ระยะสูงสุด คือ ที่ power level 25 ได้ไกลสุด 31 ฟุต , และที่ power level 30 ได้ระยะที่ไม่ไกลเท่า ที่คาดไว้

สรุป
ทุกระยะที่วัดมี ค่า RSSI ที่ไม่เท่า
กัน เราจะได้ ว่าค่า power level ที่สามารถ มีค่า RSSI ได้ดีที่สุด คือ power level ที่ 25 เพราะ ดูจากกราฟ 25 จะมี ระยะส่งที่ไกลกว่าทุกค่า และที่ทุกระยะ ในการวัด power level 25 จะทำค่า RSSI ได้สูงกว่าทุก ๆ ค่า จึงสรุปว่าค่า power level 25 เป็น ตัวที่ดีที่สุด ในการนำไปใช้ได้จริงเพราะจากระยะทางแล้วความแรงของสัญญาณ RSSI มีค่าที่สูงกว่าค่า power level ค่าอื่นๆ

สุดท้ายนี้ ที่พวกเราจะลืมไม่ได้เลย ขอขอบคุณ...
- อาจารย์ศุภชัยคะ สำหรับคำแนะนำดีๆ และทำให้เราได้รู้ว่าโปรเจคนี่ มันหนักจิงๆ เครียดกันเป็นแถว
- พี่อรแสนน่ารัก ^^ ให้คำปรึกษาไม่ว่าจะเป็นการเริ่มต้นที่จะทำโปรเจคในครั้งนี้ โปรแกรมต่างๆ การลงโปรแกรม อีกเยอะแยะมากมาย เหมือนกะว่าพี่อร เป็นคนที่ทำให้เรารู้เลยว่าโปรเจคนี้คืออะไร??? ขอบคุณมากๆคะ
- เพื่อนๆทั้งหลาย ขนาดปิดยูนิเวอสิเอดตั้ง 1 เดือน แต่เราก็รุ้สึกว่า ไม่ห่างกันเลยทีเดียว เพราะเจอกันที่คณะกันตลอดช่วงปิดเทอม ขอบคุณคำแนะนำ/ที่ปรึกษาที่ดี ... ^^

Saturday, August 25, 2007

ข้อมูลที่ได้จากการศึกษา (ต่อ)

หลังจากที่เมื่อวานเราได้ลงข้อมูลที่ได้จากการศึกษาโดยยึด power level เดียวกัน
ตำแหน่งต่างๆก็จะเปลี่ยนแปลงไป ในวันนี้เราจะลงข้อมูลโดยจะเปรียบเทียบในรูปของตำแหน่งเดียวกัน
แต่ power level จะเปลี่ยนแปลงไป เพื่อศึกษาความแตกต่างของค่า RSSI ของตำแหน่งเดียวกัน
แต่หลายๆ power level เนื่องจากข้อมูลนี้มีจำนวนมาก
จึงอัพโหลดไฟล์ข้อมูลทั้งหมดรวมทั้งไฟล์
พร้อมกราฟที่ได้ลงไว้เมื่อวานนี้ด้วย
*** ส่วนผลวิเคราะห์ อดใจรอกันหน่อยนะคะ ตอนนี้กำลังเรียบเรียงกันอยู่ แต่เดี่ยวจะลงตามมาติดๆ ^^

Friday, August 24, 2007

ข้อมูลที่ได้จากการศึกษา

ในสัปดาห์นี้เราจะนำข้อมูลที่ได้จากการศึกษา เป็นค่า RSSI ในแต่ละตำแหน่ง และแต่ละ power level

Power level : 5


Power level : 10


Power level : 15


Power level : 20


Power level : 25


Power level : 30

ที่กล่าวไปด้านบนนี้ เป็นการรวบรวมข้อมูลในรูปแบบตาราง ซึ่งจะแสดงค่า RSSI ในแต่ละตำแหน่งของ power level 5,10,15,20,25,30 เราจะวิเคราะห์กันว่าถ้าในระดับ power level เท่ากัน ค่า RSSI จะมีการเปลี่ยนแปลงอย่างไร และทำไมถึงเป็นเช่นนั้น

ส่วนอีกรูปแบบนึงที่เราจะนำเสนอ คือ ในตำแหน่งเดียวกันแต่เปลี่ยนระดับของ power level
*** เนื่องจาก ระยะมากที่สุดที่เราได้ศึกษานั้น คือ 31 ฟุต และแต่ละตำแหน่งจะใช้เวลาในการเก็บค่า RSSI ประมาณ 30 วินาที จึงทำให้มีข้อมูลเป็นจำนวนมาก
เราอาจจะลงข้อมูลบางส่วนเท่านั้น เพื่อเป็นแนวทางให้ผู้เข้ามาศึกษาได้ดูคู่และทำให้เข้าใจมากขึ้นกับข้อมูลที่วิเคราะห์

Monday, August 20, 2007

แก้ไขและสรุปวิธีการศึกษาทดลอง

1.เนื่องจากในการศึกษาทดลองมีการศึกษาเป็นจำนวนมาก เพราะศึกษาในที่โล่ง
จึงกำหนดขอบเขตของการศึกษาโดยจะศึกษาในตำแหน่งทิศเหนือ ตะวันออก ตะวันตก และใต้ แต่ละทิศจะศึกษา 15 จุด ดังนี้
**ระยะห่างนี้จะวัดจาก Base Station (TOSBase และ Mobile)
ทิศเหนือ : 2,6,10,14,18,22,26,30,34,38,42,44,48,52,56 ฟุต
ทิศตะวันออก : 3,7,11,15,19,23,27,31,35,39,43,45,49,53,57 ฟุต
ทิศใต้ : 4,8,12,16,20,24,28,32,36,40,44,46,50,54,58 ฟุต
ทิศตะวันตก : 5,9,13,17,21,25,29,33,37,41,45,47,51,55,59 ฟุต

2.ระยะเวลาในการเก็บข้อมูล (ค่า RSSI) ตำแหน่งละประมาณ 30 วินาที ดังนั้นแต่ละตำแหน่งจะมีข้อมูลอยู่ประมาณ 30 ค่า


***********************************************************************************

สถานที่ศึกษา : บริเวณสนามฟุตบอลหน้าตึกคณะวิศวกรรมศาสตร์
ซอฟท์แวร์และฮาร์ดแวร์ที่ต้องใช้ :
1.TMote Sky จำนวน 3 ตัว
2.โปรแกรมวัดค่า RSSI ที่ได้จาก TMote แต่ละตัว (Beacon Mobile TOSBase)
3.MySQL Server and Database Management Application

ขอกล่าวถึงการติดตั้งโปรแกรมลงใน TMote แต่ละตัว อีกครั้ง
1. เปิดโปรแกรม Cygwin เสียบ Tmote ตัวที่เป็น Beacon ติดตั้งตัวโปรแกรมลงไป เมื่อลงเสร็จแล้ว ให้ดึง Tmote ออกก่อน
$ cd /opt/moteiv/apps/RSSIBase/
$ cd Beacon/ $ make telosb install,1
ลงโปรแกรมใน TMote ด้วย Address1 ให้ตัวที่เป็น Beacon มี Node Address1

2. เสียบ Tmote ตัวที่เป็น Mobile เพื่อติดตั้งโปรแกรมลงไป เมื่อลงเสร็จแล้ว ให้ดึง Tmote ออกก่อน
$ cd /opt/moteiv/apps/RSSIBase/Mobile/
$ make telosb install ลง Mobile ให้กับตัว Mobile station

3. เสียบ Tmote ตัวที่เป็น TOSBase เพื่อติดตั้งโปรแกรมลงไป เมื่อลงเสร็จแล้ว ให้ดึง Tmote ออกก่อน
$ cd /opt/moteiv/apps/TOSBase/
$ cd /opt/tinyos-1.x/apps/TOSBase/
$ make telosb install,0
อินสตอลลง TOSBase ให้กับตัว Tmote โดยกำหนด Address เป็น 0 เพื่อเป็น Base station ด้วยคำสั่ง

4. เมื่อ Install ทั้ง 3 ตัวเสร็จแล้ว ให้นำ Mobile และ TOSBase เสียบต่อกับคอมพิวเตอร์ ทั้งสองตัวนี้ให้วางตำแหน่งใกล้ๆกัน โดยวางในแนวเดียวกัน

5. วาง Beacon ในตำแหน่งตามจุดที่ต้องการ

6. เปิด Cygwin ใหม่ $ java net.tinyos.sf.SerialForwarder -comm
serial@COM12:tmote
*** COM12 เป็น Port ของ TOSBase

7. เปิด Cygwin ใหม่ $ java net.tinyos.rssibase.MainClass

8. จะได้รับค่า RSSI จากตัว Beacon ตามตำแหน่งต่างๆ และจะเก็บข้อมูลไว้ โดยแต่ละตำแหน่งจะเก็บค่า RSSI เป็นเวลา 30 วินาที

9. เมื่อหาตำแหน่งจนครบตามที่ต้องการแล้ว เปลี่ยน power lever และ complied ตามข้อ 1-3 ใหม่ และทำตามข้อต่อไปเรื่อยๆ จนครบ power level (1-31) แต่ในโครงงานนี้จะศึกษา power level ที่ 5,10,15,20,25,30 ซึ่ง power level จะเปลี่ยนใน source code ของ Beacon และ Mobile
(ไฟล์ใน Beacon ประกอบด้วย AckMsg.h, ScooterC.nc และ ScooterM.nc จะเปลี่ยน Source Code ในไฟล์ AckMsg.h ส่วนไฟล์ใน Mobile ประกอบด้วย AckMsg.h, BoatC.nc และ BoatM.nc จะเปลี่ยน Source Code ในไฟล์ AckMsg.h :::: การเปลี่ยน power level ได้กล่าวไปเมื่อสัปดาห์ที่แล้วแล้ว)

Saturday, August 18, 2007

Source Code ในการเปลี่ยน Power level

เราจะศึกษา RSSI ที่ power level ต่างๆ ได้แก่ 5,10,15,20,25,30
ดังนั้น จะต้องเปลี่ยน Source Code ของ Beacon และ Mobile

Source Code ของ Beacon : ไฟล์ใน Beacon ประกอบด้วย AckMsg.h, ScooterC.nc และ ScooterM.nc
จะเปลี่ยน Source Code ในไฟล์ AckMsg.h

#ifndef ACKMSG_H
#define ACKMSG_H

enum {
AM_ACK1MSG = 1,
AM_ACKNOWLEDGE1MSG = 2,
AM_RSSIMSG = 3,

DELAYTIME = 10,
RF_POWER = 29, //Set RF Power 1 to 31 => เปลี่ยนค่า Power Level ตามต้องการ ในที่นี้จะเปลี่ยนเป็น 5,10,15,20,25,30
RF_FREQUENCY = 11, //Set Channel Frequency 11 to 26 เปลี่ยนช่องสัญญาณ
};

typedef struct Ack1Msg
{
} Ack1Msg;

typedef struct Acknowledge1Msg
{
uint16_t RSSI;
uint16_t ID;
} Acknowledge1Msg;

typedef struct RSSIMsg
{
uint16_t RSSI;
uint16_t ID;
} RSSIMsg;

#endif


Source Code ของ Mobile : ไฟล์ใน Mobile ประกอบด้วย AckMsg.h, BoatC.nc และ BoatM.nc
จะเปลี่ยน Source Code ในไฟล์ AckMsg.h

#ifndef ACKMSG_H
#define ACKMSG_H

enum {
AM_ACK1MSG = 1,
AM_ACKNOWLEDGE1MSG = 2,
AM_RSSIMSG = 3,

DELAYTIME = 10,
RF_POWER = 29, //Set RF Power 1 to 31 => เปลี่ยนค่า Power Level ตามต้องการ ในที่นี้จะเปลี่ยนเป็น 5,10,15,20,25,30
RF_FREQUENCY = 11, //Set Channel Frequency 11 to 26
};

typedef struct Ack1Msg
{
} Ack1Msg;

typedef struct Acknowledge1Msg
{
uint16_t RSSI;
uint16_t ID;
} Acknowledge1Msg;

typedef struct RSSIMsg
{
uint16_t RSSI;
uint16_t ID;
} RSSIMsg;

#endif

Sunday, August 12, 2007

การใช้โปรแกรม Cygwin

โปรแกรมที่ใช้ คือ Cygwin

ขั้นตอนการศึกษา

1. เปิดโปรแกรม Cygwin เสียบ Tmote ตัวที่เป็น Beacon ติดตั้งตัวโปรแกรมลงไป เมื่อลงเสร็จแล้ว ให้ดึง Tmote ออกก่อน
$ cd /opt/moteiv/apps/RSSIBase/
$ cd Beacon/
$ make telosb install,1
ลงโปรแกรมใน TMote ด้วย Address1 ให้ตัวที่เป็น Beacon มี Node Address1


2. เสียบ Tmote ตัวที่เป็น Mobile เพื่อติดตั้งโปรแกรมลงไป เมื่อลงเสร็จแล้ว ให้ดึง Tmote ออกก่อน
$ cd /opt/moteiv/apps/RSSIBase/Mobile/
$ make telosb install ลง Mobile ให้กับตัว Mobile station


3. เสียบ Tmote ตัวที่เป็น TOSBase เพื่อติดตั้งโปรแกรมลงไป เมื่อลงเสร็จแล้ว ให้ดึง Tmote ออกก่อน
$ cd /opt/moteiv/apps/TOSBase/
$ cd /opt/tinyos-1.x/apps/TOSBase/
$ make telosb install,0
อินสตอลลง TOSBase ให้กับตัว Tmote โดยกำหนด Address เป็น 0 เพื่อเป็น Base station ด้วยคำสั่ง


4. เมื่อ Install ทั้ง 3 ตัวเสร็จแล้ว ให้นำ Mobile และ TOSBase เสียบต่อกับคอมพิวเตอร์ ทั้งสองตัวนี้ให้วางตำแหน่งใกล้ๆกัน โดยวางในแนวเดียวกัน


5. วาง Beacon ในตำแหน่งตามจุดที่ต้องการ


6. เปิด Cygwin ใหม่
$ java net.tinyos.sf.SerailForwarder -comm
serial@COM12:tmote
*** COM12 เป็น Port ของ TOSBase


7. เปิด Cygwin ใหม่
$ java net.tinyos.rssibase.MainClass


8. จะได้รับค่า RSSI จากตัว Beacon ตามตำแหน่งต่างๆ และจะเก็บข้อมูลไว้ โดยแต่ละตำแหน่งจะเก็บค่า RSSI เป็นเวลา 1 นาที9. เมื่อหาตำแหน่งจนครบตามที่ต้องการแล้ว เปลี่ยน power lever และ complied ตามข้อ 1-3 ใหม่ และทำตามข้อต่อไปเรื่อยๆ จนครบ power level (1-31) แต่ในโครงงานนี้ จะศึกษา power level ที่ 5,10,15,20,25,30

Saturday, August 11, 2007

วิธีการศึกษา

ความแตกต่างของการวาง Tmote Sky 4 แบบ ในลักษณะ geographical direction คือ

Photo Sharing and Video Hosting at Photobucket

เนื่องจากในสัปดาห์ที่แล้วได้บอกกรณีศึกษาโครงงานนี้ ที่ศึกษาในอาคารนั้น ได้ไปปรึกษาอาจารย์และได้เปลี่ยนกรณีศึกษาเป็นการศึกษาในที่โล่ง จึงใช้สนามฟุตบอลเป็นสถานที่ศึกษา
ขนาดของสนามฟุตบอลหน้าตึกคณะวิศวกรรมศาสตร์ กว้าง 62 เมตร (203.36 ฟุต) และยาว 75 เมตร (246 ฟุต)

รูปแบบการศึกษาคือ เปรียบเทียบค่า RSSI จาก Tmote Sky ในแต่ละ power level (เนื่องจาก power level มี 1-31 จึงแบ่งเป็นช่วงของ power level คือ 5,10,15,20,25,30)

ในการศึกษาครั้งนี้ใช้ Tmote Sky จำนวน 3 ตัว โดยมี 2 ตัวเป็นตัวรับสัญญาณ ซึ่งจะอยู่ที่จุดศูนย์กลางของสนาม นั่นคือ Mobile และ TOSbase และอีก 1 ตัวเป็นตัววัดสัญญาณจะเปลี่ยนตำแหน่งไปเรื่อยๆ คือ Beacon
และจะศึกษาทิศทางการวางของ Tmote Sky ในแบบ 0 องศา

Photo Sharing and Video Hosting at Photobucket

วาง Tmote Sky ทั้ง 4 ทิศ แบบ 0 องศา

Photo Sharing and Video Hosting at Photobucket

รูปแบบของการวัดนั้น จะเริ่มวัดจากจุดศูนย์กลางของสนาม เป็นระยะ 2 ฟุตและค่อยๆออกห่างจากจุดศูนย์กลางเรื่อยๆ ในรูปของก้นหอย ในตำแหน่งที่เราวัดนั้นจะวัด 4 ทิศ ระยะจะเพิ่มจากทิศก่อนหน้านั้น 1 ฟุต หรือในแต่ละทิศนั้น ตำแหน่งที่ศึกษาจะห่างกันเป็นระยะ 4 ฟุต ดังรูป

Photo Sharing and Video Hosting at Photobucket