Trước khi chạy được mô phỏng thì các biến môi trường phải được thiết lập RCA_LIBRARY=mit/rca và uAMPS_LIBRARY=mit/uAMPS. Mỗi một giao thức định tuyến được chạy bằng cách thiết lập lựa chọn rp là leach, leach-c, pegasis hay stat-clus. Sau đó, gọi câu lệnh để thực hiện mô phỏng là :
[root@localhost ns-2.34]# ./ns tcl/ex/wireless.tcl –sc nodescen –x 100 –y 100 –init_energy 2 –dirname leach_dir –topo leach_topo –bs_x 50 –bs_y 175 – stop 1600 –nn 101 –num_clusters 5 –eq_energy 0 – filename leach_file –rp leach
Trong đó :
wireless.tcl : file Script tạo ra môi trường mô phỏng Wireless - init_energy : năng lượng khởi tạo ban đầu (đơn vị là J) - dirname : tên thư mục chứa các Trace File
- topo : tên topo khởi tạo lúc đầu - bs_x , bs_y : tọa độ của BS - stop : thời gian mô phỏng
- nn: số node mạng (bao gồm cả BS) - num_cluster : số cụm dự tính sẽ chia
- eq_energy : 0 (khởi tạo năng lượng không bằng nhau), 1 ( khởi tạo năng lượng bằng nhau)
- filename : tên tracefile sẽ xuất hiện trong thư mục
- rp (routing protocol) : giao thức mô phỏng là leach, leach-c, stat-clus Ngoài ra, mô phỏng có thể thực hiện bằng cách thiết lập các thông số trong file leach_test (ns.2.34/leach_test) như sau :
…
alg= leach # Lựa chọn giao thức tiến hành mô phỏng bằng cách gán tên giao
thức vào biến alg như leach, leach-c, stat-cluster hay pegasis …
topology_file= « mit/uAMPS/sims/100nodes_random.txt » # khai báo topo
mạng sử dụng …
eq_energy=1 # Lựa chọn giá trị năng lượng của các nút cảm biến ban đầu là
bằng nhau. Nếu giá trị này là 0, nghĩa là các nút cảm biến có năng lượng ban đầu không bằng nhau
init_energy=2 # Giá trị năng lượng ban đầu khởi tạo giành cho mỗi nút cảm
biến …
x=100 # kích thước của mạng, trục z được gán bằng 0
bs_x=50
bs_y=175 # Vị trí của trạm cơ sở
nn=101 # số lượng các nút trong mạng, tính cả trạm cơ sở
Ngoài ra để thiết lập mô hình sử dụng năng lượng, tác giả sử dụng mô hình năng lượng mặc định trong file condition.txt với các giá trị được thiết lập :
… [Parameters] RXThresh=6e-9 …. Excvr=50e-9 … Psleep=0 …
Cuối cùng thực thi câu lệnh sau để có được kết quả đầu ra cho các giao thức trong mỗi lần mô phỏng :
[root@localhost ns-2.34]#sh [leach_test, leach-c_test, pegasis_test, stat- clus_test]