1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng cảm ứng

8 348 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng cảm ứng
Tác giả Vương Đạo Vy, Nguyễn Thế Sơn
Trường học Trường Đại học Công nghệ - ĐHQGHN
Thể loại bài báo
Định dạng
Số trang 8
Dung lượng 307,58 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng cảm nhận không dây WSN Vương Đạo Vy, Nguyễn Thế Sơn Trường Đại học Công nghệ - ĐHQGHN Ngày nay, WSN đang được phát tr

Trang 1

Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng

cảm nhận không dây WSN

Vương Đạo Vy, Nguyễn Thế Sơn

Trường Đại học Công nghệ - ĐHQGHN

Ngày nay, WSN đang được phát triển và áp dụng trong nhiều lĩnh vực như thu thập dữ liệu môi trường, mạng an ninh, theo dõi đối tượng… trong đó thu thập dữ liệu môi trường chiếm phần lớn các ứng dụng Thu thập dữ liệu môi trường thường sử dụng cấu hình mạng dạng cây (tree) như thể hiện ở hình 1

Có hai vấn đề cần giải quyết khi xây dựng

WSN, đó là: truy cập mạng (media

access) và tìm đường đi (routing) Bài báo

này mô tả việc xây dựng mạng WSN, thử

nghiệm phương pháp truy cập mạng và

cách tìm đường đi cho dữ liệu trên cơ sở

lập trình nhúng cho các nút mạng và tiến

hành một số phép đo Cụ thể là dùng

phương pháp thăm dò (polling) và phương

pháp tìm đường dựa trên bảng định tuyến

dạng cây theo cấu hình mạng trong thử

nghiệm đo nhiệt độ và áp suất

Truy cập môi trường truyền.

Hệ thống mạng không dây có chung một

môi trường truyền dẫn, đó là vùng không

gian bao phủ các nút mạng Tại một thời điểm chỉ được phép có 1 nút mạng truy cập môi trường truyền Nút mạng Master chịu trách nhiệm điều khiển việc truy cập môi trường truyền này Định kỳ, sau một khoảng thời gian nào

đó (trong thử nghiệm này chọn 2 giây) Master gửi lệnh thăm dò các nút (bắt đầu từ nút 2 cho đến nút 11) sau đó quay lại từ đầu (về nút 2) và cứ tiếp tục như vậy Khoảng thời gian giữa các lần thăm dò (2 giây) là thời gian Master chờ nhận dữ liệu từ nút được thăm dò

Tìm đường

Hình 1: Cấu hình mạng dùng dây

Trang 2

Tại một nút Slave bất kỳ, có thể nhận được hoặc lệnh truyền từ nút cha (trường hợp chuyển tiếp lệnh thăm dò từ nút Master) hoặc dữ liệu truyền từ nút con (trường hợp chuyển tiếp dữ liệu về Master) Thuật toán chuyển tiếp gói tin như sau:

- Nếu nó nhận được lệnh truyền từ nút cha, nó sẽ kiểm tra địa chỉ đích (EndPoint):

o Nếu địa chỉ đích là địa chỉ của chính nó, nó sẽ gửi dữ liệu về cho nút cha

o Nếu không, nó sẽ tìm trong bảng địa chỉ:

· Nếu tồn tại một đường đi từ nó tới nút đích, nó sẽ chuyển tiếp gói tin tới chặng tiếp theo Chặng tiếp theo chính là nút con của nó có khả năng tới đích

Nếu không tồn tại đường đi thì không làm gì cả

- Nếu nó nhận được dữ liệu truyền từ nút con, nó sẽ chuyển tiếp dữ liệu truyền cho nút cha

Như vậy, đối với mỗi nút Slave, khả năng tìm đường đòi hỏi phải giải quyết những việc sau:

- Tìm nút con của nó có khả năng tới đích để truyền lệnh thăm dò từ nút

Master

- Tìm nút cha của nó để chuyển tiếp dữ liệu về Master

Vì mạng có dạng cây nên ta phải tìm cách biểu diễn cây một cách thích hợp sao cho dễ tìm đường nhất

Biểu diễn cây trong bộ nhớ

Biểu diễn cây bằng danh sách các con của mỗi đỉnh

Trang 3

Với mỗi đỉnh của cây, cần lập một danh sách các đỉnh con của nó theo thứ tự

từ trái sang phải Ở đây sử dụng một mảng để lưu giữ các đỉnh của cây Mỗi thành phần của mảng là một tế bào chứa thông tin gắn với mỗi đỉnh và danh sách các đỉnh con của nó Danh sách các đỉnh con của một đỉnh có thể biểu diễn bởi mảng hoặc bởi danh sách liên kết Tuy nhiên, vì số con của mỗi đỉnh có thể thay đổi nhiều, cần sử dụng danh sách liên kết Như vậy mỗi tế bào mô tả cây là một bản ghi gồm 2 trường: trường id là địa chỉ của nút mạng, trường next là con trỏ trỏ tới danh sách các con của đỉnh đó Giả sử các đỉnh của cây được đánh số từ 1 đến N Với cách cài đặt như vậy, có thể khai báo cấu trúc dữ liệu biểu diễn cây như sau:

#define N 11

struct node

{

int id;

node *next;

}

node tree[N];

Với cách cài đặt này, cấu trúc dữ liệu biểu diễn cây trong hình 1 được minh hoạ như sau:

Trong cách cài đặt này, việc tìm cha của mỗi đỉnh lại không đơn giản Chẳng hạn, để tìm cha của đỉnh k, cần phải duyệt các danh sách các con của mỗi đỉnh Nếu phát hiện ra trong danh sách các con của đỉnh m có chứa k thì Parent(k) = m Hàm Parent(k) được xác định như sau:

Trang 4

int Parent(int k, tree

T)

{

node *p;

int i;

i = 0;

while(i<N)

{

p = T[i].next;

while(p)

{

if(pid = = k) return i

else p = pnext;

}

i++;

}

return -1; //không tìm thấy cha

}

Khi nút hiện thời muốn chuyển tiếp lệnh thăm dò cho một nút đích nào đó, cần tìm nút kế tiếp (nexthop) để có thể tới đích Muốn vậy, từ nút đích trong bảng định tuyến, cần tìm nút cha của nó, sau đó cứ tìm ngược lên trên cho tới hiện thời Nút tìm được ngay trước nút hiện thời chính là nút kế tiếp cần chuyển tiếp lệnh thăm dò Hàm FindNextHop(int curNode,int dest) tìm nút

kế tiếp để truyền lệnh

Hình 2 Cấu trúc dữ liệu biểu diễn cây trong bộ nhớ

Trang 5

//Tim nut tiep theo cua nut hien thoi de truyen lenh tham do

//curNode: nut hien thoi

//dest: nut dich

char FindNextHop(int curNode,int dest)

{

unsigned char xdata i,j,nexthop;

nexthop = j = dest;

while(j != curNode && i<=N) {

nexthop = j;

j = Parent(j);

i++;

}

return nexthop;

}

2.2 Định dạng dữ liệu truyền

Trang 6

Để viết được chính xác các lệnh chương trình, phải căn cứ cấu trúc các khung thăm dò và khung dữ liệu trao đổi giữa Master và các slaver (Endpoint) Trong cấu hình mạng WSN đã được xây dựng, các khung truyền này được quy định như sau

Khi truyền lệnh từ Master tới nút đích (Endpoint), định dạng lệnh truyền qua các chặng trung gian cho Endpoint như sau:

Khi truyền dữ liệu về Master, định dạng dữ liệu của Endpoint truyền về như sau:

Trong đó: Len: độ dài gói tin, 1

byte; EndpointAddress: là địa chỉ

nút đích, 1 byte; NextHop: Địa

chỉ của nút kế tiếp có thể tới nút

đích, 1 byte; ParentAddress: địa

chỉ của nút cha của nút hiện thời,

1 byte; Command: lệnh gửi cho

nút đích phải thi hành, 1 byte;

ADC0, ADC1, ADC2: các giá trị

nhiệt độ đọc từ 3 kênh khác nhau, 2 byte; CRC: Mã dư vòng, 2 byte

Các thử nghiệm và nhận xét

Hệ thống thực nghiệm gồm ba khối, một khối đặt tại máy tính trung tâm (Master) có địa chỉ là 1, hai khối đặt tại hiện trường (Slave) có địa chỉ lần lượt là 3 và 8 Các nút mạng đều phải chứa bảng định tuyến dạng cây theo như hình 1 Định kỳ 2 giây 1 lần, Master thăm dò các nút mạng để lấy dữ liệu Master nhận dữ liệu, truyền có dây qua RS-232 về máy tính Máy tính nhận dữ liệu, xử lý, lưu trữ và hiển thị thông báo lên màn hình Các nút mạng được sử dụng ở đây là vi điều khiển thế hệ mới tích hợp cả truyền nhận RF trên chip - CC1010 của hãng Chipcon, Norway Trong hệ thống trên, CC1010 vừa được dùng làm khối Master, vừa dùng làm khối Slave CC1010 có nhân tương thích 8051, bộ nhớ chương trình Flash 32 kB

Hình 3: Sơ đồ giao tiếp giữa MS 5535

-CC1010

Trang 7

Có thể lập trình để khối truyền nhận RF làm việc từ 300 đến 1000MHz và tiêu thụ dòng điện nhỏ khi truyền dữ liệu không dây, tốc độ truyền nhận dữ liệu có thể đạt 76,8 kbps, 3 kênh vào tín hiệu tương tự, một bộ biến đổi ADC

10 bit, 4 timer/ Counter, 2 UART,

26 cổng vào/ra mục đích chung

v.v.[1]

a/ Thử nghiệm đo áp suất:

Tại nút Slave số 8 có ghép nối với

cảm biến áp suất MS5535 Sơ đồ

ghép nối như sau:

Cách đấu nối, chương trình nhúng

và các thử nghiệm với đầu đo áp

suất cho thấy hệ thống làm việc

tốt, tin cậy, kết quả đo biểu diễn trên hình 4, [4], [5]

Tên các module CC1010EM có tích hợp sẵn cảm biến đo nhiệt độ loại LM61, lối ra cảm biến tác động vào ADC1 của CC1010 Khi nhận được lệnh thăm dò, Slave sẽ đọc giá trị từ lối vào ADC1 và truyền kết quả về Master

Master nhận được dữ liệu truyền từ Slave, sẽ truyền tiếp về máy tính qua đường RS232 Chương trình trên máy tính sẽ phân tích dữ liệu và chỉ thị các kết quả lên mà hình dưới 2 dạng hoặc thông báo dạng text hoặc bằng đồ thị như chỉ ra trên các hình 4 và 5, [4]

Các phần mềm nhúng được cài đặt trong các thử nghiệm trên cho mỗi Slave xấp xỉ 6KB (6415 bytes) và trong Master là 7KB (7313 bytes)

Hình 4 Giao diện thu thập áp suất, nhiệt

độ của các nút mạng

Trang 8

Nhận xét: Hệ thống WSN

gồm các nút mạng và phần

mềm nhúng đã làm việc ổn

định đúng ý đồ thiết kế

Thuật toán tìm đường và

phương thức thâm nhập môi

trường trao đổi dữ liệu mô tả

ở trên đã được thử nghiệm,

hiệu quả thể hiện ở chỗ

Master có thể nhận dữ liệu

từ một Slaver bất kỳ, tin cậy,

Tốc độ thu thập dữ liệu kiểu thăm dò mỗi lần từ Master là chậm do Master phải chờ 2 giây để lấy dữ liệu sau khi gửi lệnh thăm dò nhưng là chấp nhận được đối với các ứng dụng thu thập dữ liệu môi trường Khi nhu cầu trao đổi

dữ liệu cao hơn, có thể cải tiến thăm dò một lần cho nhiều nút mạng bằng một cơ chế chuyển tự động giữa các nút Slaver Hệ thống có thể phát triển

để các Slaver có thể nhận dữ liệu từ Master, qua đó các Slaver có thể điều khiển các cơ cấu chấp hành theo lệnh từ Master

Hình 5 Giao diện dạng text trên PC

Ngày đăng: 07/11/2013, 00:15

HÌNH ẢNH LIÊN QUAN

Hình 2. Cấu trúc dữ liệu biểu diễn cây trong bộ nhớ - Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng cảm ứng
Hình 2. Cấu trúc dữ liệu biểu diễn cây trong bộ nhớ (Trang 4)
Hình 3: Sơ đồ giao tiếp giữa MS 5535 - - Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng cảm ứng
Hình 3 Sơ đồ giao tiếp giữa MS 5535 - (Trang 6)
Cảm biến áp suất MS5535. Sơ đồ - Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng cảm ứng
m biến áp suất MS5535. Sơ đồ (Trang 7)
Hình 5. Giao diện dạng text trên PC - Nghiên cứu, thử nghiệm thâm nhập môi trường và định tuyến cho mạng cảm ứng
Hình 5. Giao diện dạng text trên PC (Trang 8)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm