Gắn kết một tác nhân UDP và ứng dụng Sensor cho mỗi nút

Một phần của tài liệu Vấn đề năng lượng trong mạng Wireless Sensor và đánh giá bằng mô phỏng (Trang 70)

Việc các nút Sensor phản ứng thế nào khi chúng phát hiện ra hiện t−ợng mục tiêu đ−ợc định nghĩa trong ứng dụng Sensor. Ví dụ nh− chúng sẽ thông báo thông tin về hiện t−ợng tới điểm thu thập dữ liệu qua UDP.

Thí dụ sau minh hoạ việc thiết lập ứng dụng Sensor: set src ($i) [new Agent/UDP]

$ns attach-agent $node ($i) \

$src ($i)

$ns connect $src ($i) $sink

set app ($i) [new \ Application/SensorApp]

$app ($i) attach-agent $src ($i) 3.4.9. Khởi động ứng dụng Sensor

Nút Sensor có thể nhận các gói Phenom ngay khi Sensor Agent đ−ợc gắn tới nút. Nh−ng nút chỉ có phản ứng khi ứng dụng Sensor đ−ợc gắn kết và khởi động.

$ns at 5.0 "$app ($i) start \

Ch−ơng IV: Mô phỏng mạng Wireless Sensor

4.1. Mục đính mô phỏng

Mục đích của phần mô phỏng này là xem xét mối quan hệ giữa hoạt động của node mạng với năng l−ợng dự trữ của nó. Ban đầu, mỗi nút Sensor đ−ợc định cấu hình với một khối năng l−ợng xác định. Mỗi khi nút Sensor thực hiện một hành động nh− nhận một tín hiệu cảm biến, thu hoặc phát các gói tin vô tuyến, xử lý tín hiệu, nguồn năng l−ợng dự trữ của nút đó sẽ bị khấu trừ theo công suất đ−ợc định nghĩa tr−ớc cho từng thành phần. Khi nút Sensor không có hành động nào, năng l−ợng sẽ đ−ợc khấu trừ theo công suất rỗi (Idle power).

Mô phỏng này đ−ợc thực hiện với các mạng Sensor đ−ợc triển khai theo hình l−ới vuông, trong bản đồ hình vuông. Khoảng cách giữa các nút sensor là d, khoảng cách vô tuyến ≈d 2 để một nút có khả năng phát cho 8 nút lân cận. Khoảng ảnh h−ởng của nút Phenomenom (hiện t−ợng mục tiêu) là ≈d 2. Kịch bản triển khai tr−ờng Sensor đ−ợc minh hoạ trong hình 4.1.

Hình 4.1: Kịch bản triển khai tr−ờng Sensor trong mô phỏng

Kiểu hiện t−ợng mục tiêu đ−ợc chọn là khí Carbon Monoxit (CO) đ−ợc biểu diễn bằng một nút Phenomenon đơn di chuyển một cách ngẫu nhiên trong tr−ờng Sensor. Số l−ợng điểm thu thập số liệu (Sink) là 1, đ−ợc đặt trên biên của tr−ờng Sensor.

Thang năng l−ợng sử dụng trong cấu hình node (trong phần node-configure):

- rx Power.175 chỉ ra 175mW tiêu thụ cho việc nhận một gói kích th−ớc bất kỳ. - tx Power 175 chỉ ra 175mW tiêu thụ cho việc phát một gói kích th−ớc bất kỳ

- Sensor Power .000 00175 chỉ ra 1.75àW tiêu thụ khi nhận 1 gói quảng bá Phenom.

- Inctial Energy 0.5 chỉ ra tổng năng l−ợng dự trữ là 0.5J (hay 0.5 W/s). 4.2. Thực hiện mô phỏng

4.2.1. Mã ch−ơng trình

Các tuỳ chọn về môi tr−ờng mạng đ−ợc khai báo nh− sau:

set val(chan) Channel/WirelessChannel ;# Kiểu kênh

set val(prop) Propagation/TwoRayGround ;# Kiểu phát vô tuyến

set val(netif) Phy/WirelessPhy ;# Kiểu giao tiếp mạng

set val(mac) Mac/802_11 ;# Kiểu MAC

set val(PHENOMmac) Mac ;# Kiểu MAC Phenomenon set val(ifq) Queue/DropTail/PriQueue ;# Kiểu hàng đợi

set val(ll) LL ;# Kiểu lớp liên kết số liệu set val(ant) Antenna/OmniAntenna ;# Kiểu antent

set val(ifqlen) 50 ;# Số gói cực đại trong hàng đợi

set val(nn) 26 ;# Tổng số nút Sensor và Sink

set val(rp) AODV ;# Giao thức định tuyến

set val(x) 451 ;# Chiều dài bản đồ (m)

set val(y) 451 ;# Chiều rộng bản đồ (m) set val(engmodel) EnergyModel

set val(txPower) 0.175 ;# Công suất truyền (mW)

set val(rxPower) 0.175 ;# Công suất nhận (mW) set val(sensePower) 0.00000175; ;# Công suất cảm biến (mW) set val(idlePower) 0.0 ;# Công suất khấu trừ rỗi (mW)

set val(initeng) 0.5 ;# Năng l−ợng ban đầu (J)

Một đoạn ch−ơng trình chính:

# Main Program

# ====================================================================== # Khoi tao bien toan cuc

set ns_ [new Simulator]

set tracefd [open phenom11.tr w] $ns_ trace-all $tracefd

set namtrace [open phenom11.nam w]

$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)

Trong ch−ơng trình chính đã định nghĩa tên File số liệu đầu ra (Trace, NAM) và thiết lập kiểu kênh, giao thức, nút. Thiết lập toạ độ cho các nút và khai báo các sự kiện xảy ra trong thời gian mô phỏng.

Sau khi đã có mã đầu vào đ−ợc l−u trong file phenom.tcl ta bắt đầu chạy mô phỏng bằng lệnh: nam phenom trong cửa sổ X. Sau khi chạy xong ta có thể quan sát hình ảnh bằng ứng dụng NAM trong ns-2.

4.2.1. Phân tích kết quả

Việc tính toán kết quả dựa trên việc phân tích file Trace. File Trace đ−ợc định dạng gồm các tr−ờng cơ bản:

[sự kiện] [thời gian] [số thứ tự nút] [mức Trace] ---- [số thứ tự gói] [kiểu gói] [kích th−ớc gói][địa chỉ Mac][năng l−ợng còn lại] [kiểu hiện t−ợng].

Các sự kiện trong tr−ờng sự kiện gồm r (nhận gói), s (gửi gói), D (mất gói), f (chuyển tiếp gói); tr−ờng thời gian chỉ ra thời điểm xảy ra sự kiện; tr−ờng mức Trace chỉ ra sự kiện này thuộc phạm vi (mức độ) mô phỏng nào (tác nhân (nh− udp), lớp liên kết số liệu (MAC) hay mức vật lý, ....).

Với yêu cầu tính toán trong tr−ờng hợp này, ta chỉ cần quan tâm tới 4 tr−ờng đầu tiên và tr−ờng năng l−ợng. r 1.026254208 _7_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] - --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST) r 1.026254343 _4_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] - --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST) r 1.026254343 _2_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] - --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST) r 1.026254346 _14_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST)

Dựa vào file Trace này chúng ta có thể thấy rõ năng l−ợng của node mạng sẽ giảm theo thời gian mỗi khi node mạng nhận, gửi dữ liệu hoặc cảm biến hiện t−ợng.

Việc phân tích file trace đuợc thực hiện qua hai b−ớc:

- Tách file trace: Ta sẽ tách ra các tr−ờng cần thiết cho việc tính toán kết quả

- Tính kết quả: Dựa vào các tr−ờng đã tách ở trên, ta sử dụng các tr−ờng này để tính ra kết quả cần thiết.

Sau đây là các b−ớc tiến hành cụ thể:

1) Tính sự tiêu hao năng l−ợng của các node mạng

- Dùng lệnh sau trong của sổ cygwinX để tách lấy các sự kiện tại một node(trong tr−ờng hợp này la node1) nh− nhận, gửi gói, tr−ờng thời gian và mức năng l−ợng t−ơng ứng tại thời điểm đó.

$ cat energy.tr | grep "_1_" | awk ' { printf ("%c\t%f\t%s\t%s\t%s\t%f\n", $1, $2, $3, $4, $7, $14)} ' >energy_node1.txt

Sau lệnh này ta sẽ tách ra đ−ợc số liệu nằm ở file energy_node1.txt gồm 6 tr−ờng. D−ới đây là một đoạn file energy_node1.txt:

s 1.068626 _1_ MAC AODV 0.493780 s 1.069666 _1_ RTR AODV 0.493640 s 1.070016 _1_ MAC AODV 0.493640 r 1.071847 _1_ MAC AODV 0.493360 r 1.071872 _1_ RTR AODV 0.493360 D 1.071978 _1_ MAC AODV 0.493220

-Sau khi có đ−ợc file energy_node1.txt ta sử dụng lệnh sau để tính năng l−ợng cần mỗi khi node gửi hoặc nhận một gói dữ liệu:

$ cat energy_node1.txt awk ' { dif=old2-$2; if(dif>0) printf ("%c\t%f\t%f\n", $1, $2, dif)} ' >energy_node1_down.txt

Sau lệnh này ta sẽ tính đ−ợc số năng l−ợng cụ thể mỗi khi node1 nhận hoặc gửi dữ liệu. Các số liệu này đ−ợc ghi vào file nlgiam_node1.txt

Một đoạn trong file energy_node1_down.txt

r 1.027420 0.000280 r 1.028410 0.000140 s 1.029232 0.000140 r 1.035203 0.000840 r 1.036073 0.000140 s 1.036579 0.000140

T−ơng tự ta làm nh− vậy với các node khác ví dụ với node 2 ta dùng lệnh

$ cat energy.tr | grep "_2_" | awk ' { printf ("%c\t%f\t%s\t%s\t%s\t%f\n", $1, $2, $3, $4, $7, $14)} ' >energy_node2.txt

Và lệnh: $ cat energy_node2.txt awk ' { dif=old2-$2; if(dif>0) printf ("%c\t%f\t%f\n", $1, $2, dif)} ' >nlgiam_node2.txt

2)Tính tốc độ giảm năng l−ợng

Từ các file energy_node.txt ta có thể tính đ−ợc tốc độ giảm năng l−ợng của mỗi node và tổng năng l−ợng cho việc gửi dữ liệu và tổng năng l−ợng cho việc nhận dữ liệu.

- Tốc độ giảm năng l−ợng = Tổng năng l−ợng tiêu tốn/ thời gian khảo sát 4.2. Kết quả

4.2.1. Sự tổn hao năng l−ợng

Ta xét một mạng sensor gồm 25 nút đ−ợc bố trí đều trong một diện tích có kích th−ớc 651x651(m2). Khi đó mật độ mạng là 60nut/1km2.

Số thứ

tự nút nhận dữ liệu Năng l−ợng Năng l−ợng gửi dữ liệu Tổn hao năng l−ợng do mất gói Năng l−ợng cảm biến Tổng năng l−ợng tiêu tốn 1 0.019285 0.046183 0.003525 0.09376 0.162753 2 0.065298 0.033406 0.01526 0.112968 0.226932 3 0.056915 0.05568 0.002437 0.113328 0.22836 4 0.160718 0.02309 0.004672 0.026297 0.214777 5 0.139551 0.02305 0.00042 0.019622 0.182643 6 0.038426 0.046769 0.001325 0.108743 0.195263 7 0.109089 0.040506 0.018258 0.074516 0.242369 8 0.130553 0.021261 0.010534 0.071392 0.23374 9 0.074877 0.027988 0.013917 0.117594 0.234376 10 0.15393 0.023981 0.005717 0.038833 0.222461 11 0.047487 0.03308 0.000406 0.152266 0.233239 12 0.137623 0.034856 0.022823 0.049413 0.244715 13 0.074405 0.037263 0.005593 0.119159 0.23642 14 0.189775 0.028786 0.010324 0.017346 0.246231 15 0.164631 0.01053 0.006003 0.041165 0.222329 16 0.217707 0.00711 0.005957 0 0.230774 17 0.201076 0.031669 0.010278 0.015522 0.258545 18 0.133041 0.020647 0.010764 0.033383 0.197835 19 0.215369 0.01945 0.016523 0.008967 0.260309 20 0.220979 0.02205 0.00547 0.000409 0.248908 21 0.193351 0.022085 0 0 0.215436 22 0.163264 0.003814 0.076103 0 0.243181 23 0.21931 0.028433 0.002297 0.002453 0.252493 24 0.146921 0.020228 0.002425 0.021554 0.191128 25 0.040937 0.003478 0.002703 0 0.047118

Kho sỏt s tiờu tn năng lượng ca cỏc nỳt sensor 0 0.05 0.1 0.15 0.2 0.25 0.3 0 5 10 15 20 25 30 S th t nỳt N ă n g l ư ợ n g t iờ u tn ( j) Năng lượng nhận dữ liệu Năng lượng gửi dữ liệu Năng lượng hao phớ do mất gúi Năng lượng cảm biến Tổng năng lượng tiờu tốn

4.2.2. Tốc độ giảm năng l−ợng khi tăng số nút mạng

Trong phần này ta sẽ khảo sát tốc độ giảm năng l−ợng trung bình của các nút mạng khi số nút sensor thay đổi còn kích th−ớc mạng cố định 651x651(m2).

Số nút Sensor Công suất truyền

giữa các nút (w) Năng l−ợng tiêu tốn trung bình (j) trung bình của mạng(j/s) Tốc độ giảm năng l−ợng

15 0.3187 0.8018702188 0.080187021876 25 0.1 0.2826000000 0.028260000000 37 0.04 0.1183298067 0.011832980669 58 0.01919 0.0438586242 0.004385862420 79 0.006 0.0090531975 0.000905319748 150 0.00166 0.0006454619 0.000064546188 240 0.0006 0.0000530490 0.000005304904 410 0.000174 0.0000086468 0.000000864676 585 0.0000778 0.0000018869 0.000000188685 715 0.0000572 0.0000009930 0.000000099299 900 0.0000285 0.0000002816 0.000000028160 1200 0.0000154 0.0000000685 0.000000006845 1400 0.000012 0.0000000146 0.000000001462 1612 0.0000074 0.0000000206 0.000000002061 Bảng 4.3: Tốc độ giảm năng l−ợng Kho sỏt tc độ gim năng lượng trung bỡnh ca mng 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0 200 400 600 800 1000 1200 1400 1600 1800 Số nỳt Sensor Tc đ ộ g im ( j/ s ) Tốc độ giảm năng lượng

4.2.3. Tốc độ giảm năng l−ợng khi mật độ mạng không đổi

Trong phần này ta sẽ thay đổi số l−ợng nút sensor trong mạng đồng thời cũng thay đổi diện tích khảo sát để đảm bảo mật độ mạng là 60sensor/1km2.

Số nút Sensor Năng l−ợng tiêu tốn trung

bình(j) Tốc độ giảm (j/s) 15 0.2826 0.02826 25 0.285502 0.02855 37 0.285502 0.02855 58 0.317106 0.031711 79 0.123958 0.012396 150 0.115942 0.011594 240 0.112774 0.011277 410 0.083108 0.008311 585 0.071784 0.007178 715 0.098671 0.009867 900 0.541801 0.05418 1200 0.138967 0.013897 1400 0.293757 0.029376

Bảng 4.4: Tốc độ giảm năng l−ợng trung bình của mạng

Kho sỏt tc độ gim năng lượng ca mng 0 0.01 0.02 0.03 0.04 0.05 0.06 0 200 400 600 800 1000 1200 1400 1600 S nỳt Sensor Tc đ ộ g im ( j/ s ) Tốc độ giảm năng lượng Hình 4.4: Tốc độ giảm năng l−ợng

4.2. Đánh giá

Qua kết quả mô phỏng ở trên, ta thấy với một mạng cố định năng l−ợng cho việc nhận dữ liệu chiếm tỉ lệ lớn nhất, tiếp đến là năng l−ợng cho việc cảm biến dữ liệu và năng l−ợng cho việc gửi dữ liệu chiếm tỉ lệ thấp nhất.

Mật độ nút sensor trong mạng cũng ảnh h−ởng rất nhiều tới việc tiêu thụ năng l−ợng của các nút mạng mật độ càng cao thì tốc độ giảm năng l−ợng của các nút sensor càng giảm. Điều này đ−ợc giải thích là do công suất phát của các nút sensor giảm. Do đó khi thiết kế mạng chúng ta phải hết sức chú ý tới mật độ nút mạng.

Khi mật độ mạng đ−ợc giữ cố định thì số nút sensor lại là yếu tố ảnh h−ởng tới tốc độ tiêu thụ năng l−ợng của các nút sensor. Có 3 khoảng chính khi tăng số nút sensor sẽ ảnh h−ởng mạnh tới tốc độ tiêu thụ năng l−ợng của các nut sensor.

- Khoảng thứ nhất: D−ới 100 nút, tốc độ tiêu thụ năng l−ợng trung bình của các nút khoảng 0.28j/s đây là một tốc độ giảm trung bình.

- Khoảng thứ hai: Từ 100 đến 700 nút, tốc độ giảm năng l−ợng của mạng ổn định ở mức thấp khoảng 0.1j/s.

- Khoảng thứ ba: Từ 700 nút trở nên, khi này tốc độ giảm năng l−ợng của các nút mạng tăng đột biến.

Qua đây ta thấy khi xây dựng mạng trong khoảng thứ hai là đảm bảo tiết kiệm năng l−ợng nhất. Tuy nhiên trong tr−ờng hợp cần triển khai trong một phạm vi lớn thì ta lên chọn số nút sensor lớn hơn 1200 nút để đảm bảo tiết kiêm về năng l−ợng.

Kết luận

Các mạng Sensor với giá thành thấp, có khả năng triển khai trong nhiều điều kiện địa lý khí hậu phức tạp, đặc biệt là các khả năng xử lý cộng tác và chịu đ−ợc các h− hỏng sự cố đã đem lại một cuộc cách mạng trong lĩnh vực cảm biến và thu thập thông tin. Điều này đã mạng lại nhiều lợi ích thiết thực cho cuộc sống, cho sản xuất và cho khoa học. Trong t−ơng lai, mạng Sensor có thể sẽ là một ph−ơng tiện cần thiết và thông dụng nh− máy tính cá nhân và điện thoại di động hiện nay.

Trong t−ơng lai mạng sensor hoàn toàn có thể đ−ợc áp dụng ở n−ớc ta, do đó việc nghiên cứu tìm hiểu các vấn đề liên quan tới mạng là hết sức cần thiết.

Đồ án đạt đ−ợc kết quả:

- Khái quát tổng quan về mạng sensor cũng nh− các ứng dụng của nó.

- Nêu rõ vai trò năng l−ợng trong mạng sensor và các biện pháp tiết kiệm năng l−ợng.

- Giới thiệu phần mềm mô phỏng mạng sensor, và các thiết lập cơ sở ban đầu cho việc mô phỏng mạng, trong đó có việc thiết lập cấu hình nguồn năng l−ợng cho nút mạng.

- Tiến hành mô phỏng mạng, từ đó rút ra quy luật giảm năng l−ợng của các nút mạng.

Vấn đề cần quan tâm:

- Các công nghệ nền tảng để phát triển mạng sensor

- Các vấn đề về đồng bộ Sensor, các thuật toán định vị, các thuật toán cộng tác Sensor.

- Khả năng mở rộng của mạng.

Hiện tại mạng sensor đã đ−ợc triển khai rộng, tuy nhiên chúng vẫn đang tiếp tục đ−ợc nghiên cứu. Do đó việc nắm bắt các công nghệ mới và các giải pháp phát triển mạng là hết sức cần thiết.

Tài liệu tham khảo

1. Anna Hác (University of Hawait at Manoa, Honolulu, USA), Wireless Sensor Network Designs, Nhà suất bản Jonh Wiley and Sons.

2. Edgar H. Callaway, Wireless Sensor Network – Architectures and Protocol, Nhà suất bản CRC.

3. Đinh Văn Dũng (Viện khoa học kỹ thuật b−u điện), Sensor Network Intallation Guide, Bản Pdf.

4. The Network Simulator - ns-2. <http://www.isi.edu/nsnam/ns/> 5. The ns Manual.

<http://www.isi.edu/nsnam/ns/nsdocumentation.Html> 6. NRL’s Sensor Network Extension to ns-2.

<http://nrlsensorsim.pf.itd.nrl.navy.mil/> 7. NS-2 by Example

<http://nile.wpi.edu/NS/>

8. Ian Downard, SIMULATING SENSOR NETWORKS IN NS-2, Naval Research Laboratory Code 5523, 4555 Overlook Ave, Washington DC, 20375-5337

http://nrlsensorsim.pf.itd.nrl.navy.mil/

9. Q.Hao, D.J.Holding, Y.Peng, K.J.Blow (Aston university), "Energy Efficiency Design Challenge in Sensor Network: A survey".

Một phần của tài liệu Vấn đề năng lượng trong mạng Wireless Sensor và đánh giá bằng mô phỏng (Trang 70)