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 347 0
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

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

Thông tin tài liệu

Nghiên cứu, thử nghiệm thâm nhập môi trườngđị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 á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) 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 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 tiến hành một số phép đo. Cụ thể là dùng phương pháp thăm dò (polling) 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 độ á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 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. 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 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 Pa rent(k) được xác định như sau: 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ămcho 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ớ //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; i = 0; 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 Để 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 ò khung dữ liệu trao đổi giữa Master 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 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 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ữ 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 Có thể lập trình để khối truyền nhận RF làm việc từ 300 đến 1000MHz 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 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]. b/ Thử nghiệm đo nhiệt độ: 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 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 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 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) 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 Nhận xét: Hệ thống WSN gồm các nút mạng phần mềm nhúng đã làm việc ổn định đúng ý đồ thiết kế. Thuật toán tìm đường 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, chính xác . T ốc độ thu thập dữ liệu kiểu thămmỗ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 . 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. 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,

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ớ Xem tại trang 4 của tài liệu.
Hình 3: Sơ đồ giao tiếp giữa MS5535 - -CC1010 - 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 MS5535 - -CC1010 Xem tại trang 6 của tài liệu.
tốt, tin cậy, kết quả đo biểu diễn trên hình 4, [4], [5]. - 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.

ốt, tin cậy, kết quả đo biểu diễn trên hình 4, [4], [5] Xem tại trang 7 của tài liệu.
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 Xem tại trang 8 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan