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

Monday, August 6, 2007

มารู้จัก Tmote Sky กัน ???

คุณสมบัติที่สำคัญของ Tmote Sky

• 250kbps 2.4GHz IEEE 802.15.4 Chipcon Wireless Transceiver
• ใช้ร่วมกับอุปกรณ์อื่นๆ ที่มีความเกี่ยวข้องกับ IEEE 802.15.4
• 8MHz Texas Instruments MSP430 microcontroller (10k RAM, 48k Flash)
• ประกอบด้วย ADC, DAC, Supply Voltage Supervisor, and DMA Controller
• ประกอบด้วยบอร์ด Antenna มีขอบเขตของภายในอาคาร 50 เมตร และภายนอกอาคาร 125 เมตร
• ประกอบด้วยตัวเซนเซอร์ของความชื้น อุณหภูมิ และแสง
• ใช้พลังงานของ Ultra current ต่ำ
• เวลาของการเปลี่ยนโหมดจาก sleep เป็น wakeup จะเร็ว ซึ่งจะน้อยกว่า 6microsecond
• Hardware จะลิงค์กับทุก layer และเป็น Hardware ที่น่าเชื่อถือได้
• การเขียนโปรแกรมและการเก็บรวบรวมข้อมูลจะผ่านทางพอร์ท USB
• รองรับการเพิ่มหรือขยายเป็น 16 ขา และ การเพิ่มหรือเชื่อมต่อกับ SMA antenna
• รองรับ TinyOS : เป็นเครือข่าย mesh และเครือข่ายของการสื่อสาร
• Complies with FCC Part 15 and Industry Canada regulations
• Environmentally friendly – complies with RoHS regulations

ส่วนประกอบต่างๆ ของ Tmote Sky ประกอบไปด้วย sensors , radio , antenna , microcontroller และ programming capabilities

Front of the Tmote Sky

Back of the Tmote Sky


การใช้งาน Tmote Sky นั้น ใช้ถ่านแบตเตอรี่ AA จำนวน 2 ก้อน ก็จะสามารถทำงานได้แล้ว เพราะถูกออกแบบมาสำหรับถ่านแบตเตอรี่ AA ซึ่งถ่านแบตเตอรี่ AA นี้ ช่วงของไฟ DC อยุ่ระหว่าง 2.1-3.6 V อย่างไรก็ตามเมื่อเขียนโปรแกรมของ the microcontroller flash หรือ external flashจะต้องใช้อย่างน้อย 2.7 V ในโหมดของการทำงานของ Tmote นี้ จะมี Voltage อยู่ที่ 3 V ซึ่งจะมาจากพอร์ท USB แต่ถ้า input voltage มากกว่า 3.6 Vจะทำให้ microcontroller, radio, หรือส่วนประกอบ/อุปกรณ์อื่นๆ เกิดความเสียหายได้

Mechanical Characteristics