Giao thức ARPEES trong mạng cảm biến không dây

43
ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công Nghệ Thông Tin Và Truyền Thông BÁO CÁO THỰC TẬP CHUYÊN NGÀNH Đề tài : MẠNG CẢM BIẾN KHÔNG DÂY Giáo viên hướng dẫn : TS.Phạm Huy Hoàng

description

giới thiệu về giao thức arpees và mạng cảm biến không dây WSN

Transcript of Giao thức ARPEES trong mạng cảm biến không dây

Page 1: Giao thức ARPEES trong mạng cảm  biến không dây

ĐẠI HỌC BÁCH KHOA HÀ NỘI

Viện Công Nghệ Thông Tin Và Truyền Thông

BÁO CÁO THỰC TẬP CHUYÊN NGÀNH

Đề tài :

MẠNG CẢM BIẾN KHÔNG DÂY

Giáo viên hướng dẫn : TS.Phạm Huy Hoàng Sinh viên thực hiện  : Nguyễn Quỳnh Anh MSSV : 20080068 Lớp : TTM - K53

Hà Nội, 05/2012

Page 2: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

MỤC LỤC

MỤC LỤC...................................................................................................................................................2

LỜI NÓI ĐẦU............................................................................................................................................3

I. TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY..........................................................................4

1.Giới thiệu :............................................................................................................................................4

2. Ứng dụng của mạng cảm biến.............................................................................................................4

3. Cấu trúc của mạng cảm biến................................................................................................................5

4. Chức năng của mạng cảm biến không dây...........................................................................................6

5. Các thách thức và trở ngại :.................................................................................................................7

II. TÌM HIỂU MỘT SỐ GIAO THỨC GIAO THỨC CƠ BẢN TRONG MẠNG CẢM BIẾN KHÔNG DÂY............................................................................................................................................................9

1. LEACH..................................................................................................................................................9

1.1. Đặc điểm.......................................................................................................................................9

1.2. Hai pha hoạt động.........................................................................................................................9

2. ARPEES...............................................................................................................................................10

2.1. Đặc điểm.....................................................................................................................................10

2.2. Hai pha hoạt động......................................................................................................................11

III. CÀI ĐẶT MÔ PHỎNG GIAO THỨC ĐỊNH TUYẾN.......................................................................18

1. Giao thức lựa chọn mô phỏng...........................................................................................................18

2. Môi trường cài đặt.............................................................................................................................18

3. Mô hình chung của mạng..................................................................................................................18

4. Xây dựng các mô đun........................................................................................................................18

4.1. Base station.................................................................................................................................18

4.2. Sensor node................................................................................................................................19

4.3. Event..........................................................................................................................................24

4.4. Các loại messages......................................................................................................................24

4.5. Các thiếp lập ban đầu của mạng..................................................................................................24

5. Kết quả thử nghiệm trên phần mềm.................................................................................................25

KẾT LUẬN...............................................................................................................................................29

TÀI LIỆU THAM KHẢO.........................................................................................................................30

Nguy n Quỳnh Anh - 20080068ễ Page 2

Page 3: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

LỜI NÓI ĐẦU

Sự phát triển của Internet, truyền thông và công nghệ thong tin kết hợp với những tiến bộ kĩ thuật gần đây đã tạo điều kiện cho các thế hệ cảm biến mới với giá thành thấp, khả năng triển khai quy mô lớn với độ chính xác cao. Trong tương lai, mạng cảm biến không dây sẽ có thể tích hợp hàng triệu cảm biến vào hệ thống để cải thiện chất lượng và thời gian sống nhằm mục tiêu mang đến sự tiện nghi và cải thiện chất lượng sống cho con người.

Trong quá trình tìm hiểu và nghiên cứu về mạng cảm biến không dây, em đã lựa chọn và đi sâu vào nghiên cứu và mô phỏng các giao thức định tuyến trong mạng cảm biến không dây. Do thời gian tìm hiểu đề tài chưa được nhiều nên những vấn đề em đã nghiên cứu và trình bày ở đây mới chỉ dừng lại ở những khía cạnh hết sức tổng quan về mạng cảm biến không dây và đi sâu vào mô phỏng giao thức định tuyến đã có sẵn,chưa có những sự sáng tạo mới và còn nhiều thiếu sót. Vì thế, em rất mong nhận được sự góp ý của các thầy cô để đề tài ngày càng hoàn thiện hơn.

Cuối cùng, em xin chân thành cảm ơn thầy Phạm Huy Hoàng, cô Ngô Quỳnh Thu đã giúp đỡ và hướng dẫn em trong suốt quá trình thực hiện đề tài này.

Hà Nội, tháng 5,năm 2012

Sinh viên

Nguyễn Quỳnh Anh

Nguy n Quỳnh Anh - 20080068ễ Page 3

Page 4: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

I. TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY

1.Giới thiệu :

Mạng cảm biến vô tuyến (WSN) có thể hiểu đơn giản là mạng liên kết các node với nhau bằng kết nối sóng vô tuyến (RF connection) trong đó các node mạng thường là các thiết bị đơn giản , nhỏ gọn, giá thành thấp ... và có số lượng lớn, được phân bố một cách không có hệ thống (non-topology) trên một diện tích rộng ,sử dụng nguồn năng lượng hạn chế (pin), có thời gian hoạt động lâu dài (vài tháng đến vài năm) và có thể hoạt động trong Các node mạng thường có chức năng sensing (sensor node): cảm ứng, quan sát môi trường xung quanh như nhiệt độ, độ ẩm, ánh sáng ... theo dõi hay định vị các mục tiêu cố định hoặc di động ... Các node giao tiếp ad-hoc với nhau và truyền dữ liệu về trung tâm (base station) một cách gián tiếp bằng kỹ thuật multi-hop.  Lưu lượng (traffic) dữ liệu lưu thông trong WSN là thấp và ko liên tục. Do vậy để tiết kiệm năng lượng, các sensor node thường có nhiều trạng thái hoạt động (active mode) và trạng thái nghỉ (sleep mode) khác nhau. Thông thường thời gian 1 node ở trạng thái nghỉ lớn hơn ở trạng thái hoạt động rất nhiều.  Như vậy, đặc trưng cơ bản nhất để phân biệt 1 mạng cảm biến và 1 mạng wireless khác chính là giá thành, mật độ node mạng, phạm vi hoạt động, cấu hình mạng (topology), lưu lượng dữ liệu, năng lượng tiêu thụ và thời gian ở trạng thái hoạt động (active mode).

2. Ứng dụng của mạng cảm biến

WSN được ứng dụng đầu tiên trong các lĩnh vực quân sự. Cùng với sự phát triển của ngành công nghiệp điều khiển tự động, robotic, thiết bị thông minh, môi trường, y tế ... WSN ngày càng được sử dụng nhiều trong hoạt động công nhiệp và dân dụng. Một số ứng dụng cơ bản của WSN: - Cảm biến môi trường (quân sự: phát hiện mìn, chất độc, dịch chuyển quân địch ... công nghiệp: hệ thống chiếu sáng, độ ẩm, phònh cháy, chống rò rỉ ...; dân dụng: hệ thống điều hòa nhiệt độ, chiếu sáng ... ) - Điều khiển (quân sự: kích hoạt thiết bị, vũ khí quân sự ... ;công nghiệp: điều khiển tự động các thiết bị, robot ... ) - Theo dõi, giám sát, định vị (quân sự: định vị, theo dõi sự dịch chuyển thiết bị, quân đội ... ) - Môi trường (giám sát lũ lụt, bão, gió, mưa ... phát hiện ô nhiễm, chất thải ...) - Y tế (định vị, theo dõi bệnh nhân, hệ thống báo động khẩn cấp ...) - Hệ thống giao thông thông minh: giao tiếp giữa biển báo và phương tiện giao thông, hệ thống điều tiết lưu thông công cộng, hệ thống báo hiệu tai nạn, kẹt xe ... hệ thống định

Nguy n Quỳnh Anh - 20080068ễ Page 4

Page 5: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

vị phương, trợ giúp điều khiển tự động phương tiện tiện giao thông...  - Gia đình (nhà thông minh: hệ thống cảm biến, giao tiếp và điều khiển các thiết bị thông minh ...) WSN tạo ra môi trường giao tiếp giữa các thiết bị thông minh, giữa các thiết bị thông minh và con người và giao tiếp giữa các thiết bị thông minh và các hệ thống viễn thông khác (hệ thống thông tin di động, internet ... )

3. Cấu trúc của mạng cảm biến

Một node trong mạng WSN thông thường bao gồm 2 phần: phần cảm biến (sensor) hoặc điều khiển và phần giao tiếp vô tuyến (RF transceiver).

Do giới hạn về nguồn năng lượng cung cấp (pin...), giá thành và yêu cầu hoạt động trong một thời gian dài, nên vấn đề tiêu thụ năng lượng là tiêu chí thiết kế quan trọng nhất trong mạng cảm biến: - Lớp vật lý (physical layer) tương đối đơn giản, gọn nhẹ do ràng buộc về kích thước và khả năng tính toán của node. Kỹ thuật điều chế tín hiệu số : O-QPSK, FSK cải thiện hiệu suất bộ khuếch đại công suất. Các kỹ thuật mã hóa sữa sai phức tạp như Turbo Codes, LDPC không được sử dụng, kỹ thuật trãi phổ được sử dụng để cải thiện SNR ở thiết bị thu và giảm tác động của fading của kênh truyền... - Lớp MAC: kỹ thuật đa trua cập TDMA hoặc CSMA-CA hiệu chỉnh với mục đích giảm năng lượng tiêu thụ. - Routing layer: "power aware" Routing Protocol, geography routing ... WSN thường được triển khai trên một phạm vi rộng, số lượng node mạng lớn và được phân bố một cách tương đối ngẫu nhiên, các node mạng có thể di chuyển làm thay đổi sơ đồ mạng... do vậy WSN đò hỏi 1 sơ đồ mạng (topology) linh động (ad-hoc, mesh, star ...) và các node mạng có khả năng tự điều chỉnh, tự cấu hình (auto-reconfigurable). Trong một số WSN thông dụng (giám sát, cảm biến, môi trường ...) địa chỉ ID các node chính là vị trí địa lý và giải thuật routing dựa vào vị trí địa lý này gọi là Geography routing protocol (GRT). Đối với mạng với số lượng lớn các node, sơ đồ mạng không ổn định ... GRT giúp đơn giản hóa giải thuật tìm đường, giảm dữ liệu bảng routing (routing table) lưu trữ tại các node. GRT phù hợp với các WSN cố định, tuy nhiên đối với các node di động (địa chỉ ID node thay đổi) giao thức routing trở nên phức tạp và không ổn định.  Cluster hoá: phân chia mạng diện rộng (hàng trăm, hàng ngàn node) thành các clusters để ổn định topology của mạng, đơn giản hóa giải thuật routing, giảm đụng độ (collission) khi truy cập vào kênh truyền (medium acess) nên giảm được năng lượng tiêu thụ , đơn giản hóa việc quản lý mạng và cấp phát địa chỉ cho từng node mạng (theo cluster). Do giới hạn khả năng tính toán của từng node mạng cũng như để tiết kiệm năng lượng,

Nguy n Quỳnh Anh - 20080068ễ Page 5

Page 6: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

WSN thường sử dụng các phương pháp tính toán và xử lý tín hiệu phi tập trung (giảm tải cho node gần hết năng lượng) hoặc gửi dữ liệu cần tính toán cho các base station (có khả năng xử lý tín hiệu mạnh và ít ràng buộc về tiêu thụ năng lượng).

4. Chức năng của mạng cảm biến không dây

- Định tuyến và phổ biến dữ liệu

Giao thức định tuyến cho WSNs rơi vào 3 nhóm: dữ liệu trung tâm, kiến trúc mạng, và

căn cứ vào vị trí. Các quy ước về tập hợp dữ liệu đến từ các nguồn khác nhau qua đường

truyền. Điều này cho phéo hạn chế sự dư thừa trong mạng, làm giảm số đường truyền,

giảm năng lượng tiêu thụ. Vấn đề quan tâm trong xử lí nội mạng, ngay khi dữ liệu đang

được truyền nhằm tăng hiệu quả sử dụng năng lượng của toàn hệ thống. Băng thông bị

giới hạn, khả năng cung cấp công suất các node bị hạn chế hay giá thành cao. Để giải

quyết vấn đề này, cần có quá trình xử lí tại nguồn trước khi chuyển qua các node lân cận,

chỉ truyền thông tin tóm tắt, ngắn gọn, tổng hợp nhất.

- Sắp xếp mạng và theo dõi

Các vấn đề liên quan đến sự sắp xếp mạng và theo dõi và giám sát bao gồm quản lý

nhóm các cảm biến, khả năng tự phân chia nhóm, xây dựng phiên làm việc…

- Tập hợp dữ liệu

Tính toán liên quan đến tập hợp dữ liệu, dung hợp, phân tích, tính toán cấu trúc và xử lí

tín hiệu.

- Quản lý dữ liệu

Quản lí dữ liệu phụ thuộc vào kiến trúc dữ liệu, quản lí cơ sở dữ liệu, kĩ thuật truy vấn

và lưu trữ dữ liệu. Trong môi trường mạng truyền thống, dữ liệu được thu thập đến trung

tâm để lưu trữ khi có yêu cầu được gửi đi. Trong các mạng phức tạp hơn, các yêu cầu

theo thời gian thực, cần có các kĩ thuật được xây dựng dùng cho các mô hình kưư trữ dữ

liệu phân bố. Dữ liệu cần được đánh chỉ số cho việc kiểm tra (theo không gian và thời

gian) hiệu quả hơn.

- Bảo mật

Bảo mật là một phần quan trọng trong WSNs, sự chắc chắn, nhất quán và sự sẵn sàng

của thông tin.

Nguy n Quỳnh Anh - 20080068ễ Page 6

Page 7: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

5. Các thách thức và trở ngại :

Xác định rõ những hạn chế của mạng cảm biến và các vấn đề kỹ thuật sẽ gặp phải khi

triển khai giúp ta tận dụng triệt để những thuận lợi cũng như tiện ích từ những ứng dụng

vô cùng to lớn của mạng cảm biến không dây trong cuộc sống. Những khó khăn thường

thấy là:

Năng lượng hạn chế

Khi các thiết bị tính toán tăng hiệu quả nhanh chóng, sự tiêu thụ năng lượng của

mạng cảm biến không dây giống như một nút cổ chai. Các sensor có kích cỡ nhỏ và giá

thành rẻ nên có thể triển khai hàng nghìn sensor trong mạng, không thể nối dây từ các

sensor này đến nguồn năng lượng. Đồng thời để có thể tự vận hành, các sensor cần phải

có nguồn pin. Lượng năng lượng có sẵn trong mỗi sensor bị giới hạn ở một mức nào đó

nên sự đồng bộ hóa chỉ nhận được khi duy trì đủ năng lượng cho hoạt động hiệu quả của

các sensor này.

Dải thông giới hạn

Trong mạng cảm biến, năng lượng cho xử lý dữ liệu ít hơn nhiều so với việc

truyền nó đi. Hiện nay việc truyền thông vô tuyến bị giới hạn bởi tốc độ dữ liệu khoảng

10-100 Kbits/s. Sự giới hạn về băng thông này ảnh hưởng trực tiếp đến việc truyền thông

tin giữa các sensor. Và nếu không có sự truyền thông tin này thì không thể đồng bộ hóa

được.

Phần cứng giới hạn

Phần cứng của các nút cảm biến thường bị giới hạn do kích cỡ nhỏ của nó. Một

nút cảm biến tiêu biểu như hạt bụi Berkeley Mica2 (hình 1.5) có một pin mặt trời nhỏ,

CPU 8 bit hoạt động ở tốc độ 10MHz, bộ nhớ từ 128KB đến 1MB, và phạm vi truyền

dưới 50m. Sự hạn chế về năng lượng tính toán và không gian lưu trữ đặt ra một thách

thức to lớn. Đó là ta không thể tăng kích cỡ của nút cảm biến vì chi phí sẽ tăng và tiêu thụ

thêm năng lượng, gây khó khăn trong triển khai hàng nghìn nút trong mạng.

Kết nối mạng không ổn định

Nguy n Quỳnh Anh - 20080068ễ Page 7

Page 8: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

Ưu điểm của mạng cảm biến là tính di động, nhưng vẫn tồn tại những nhược điểm

sau:

Giới hạn trong phạm vi truyền của các sensor di động (khoảng 10-100m), dẫn đến

việc truyền thông tin giữa các nút cảm biến trở nên khó khăn.

Các phương tiện truyền không dây không được bảo vệ khỏi nhiễu bên ngoài nên

có thể dẫn đến mất mát một lượng lớn thông tin.

Giới hạn dải thông khi truyền vô tuyến và kết nối không liên tục.

Cấu hình mạng thay đổi thường xuyên phụ thuộc vào sự di động của các nút nên

việc định lại cấu hình động trở nên cần thiết.

Sự kết hợp chặt chẽ giữa sensor và môi trường tự nhiên

WSNs dùng để giám sát các hiện tượng trong thế giới thực nên việc thiết kế mạng

phải thích ứng với các các đặc trưng của môi trường mà nó cảm nhận. WSNs phải được

thiết kế phù hợp với từng ứng dụng như kiểm tra trong quân đội, cảnh báo cháy rừng;

dùng loại sensor nào để đo nhiệt độ, ánh sáng, âm thanh hay độ ẩm tùy từng loại ứng

dụng.

Thách thức lớn nhất trong mạng cảm biến là nguồn năng lượng bị giới hạn và không

thể nạp lại. Hiện nay rất nhiều nghiên cứu đang tập trung vào việc cải thiện khả năng sử

dụng hiệu quả năng lượng trong từng lĩnh vực khác nhau. Trong mạng cảm biến, năng

lượng được sử dụng chủ yếu cho 3 mục đích: truyền dữ liệu, xử lý dữ liệu và đảm bảo

cho phần cứng hoạt động. Không dừng lại ở đó, người ta cũng mong muốn phát triển quá

trình xử lý năng lượng một cách hiệu quả, giảm thiểu tối đa các yêu cầu về năng lượng

qua các mức của protocol stack, các bản tin truyền qua mạng để điều khiển và phối hợp

mạng.

Nguy n Quỳnh Anh - 20080068ễ Page 8

Page 9: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

II. TÌM HIỂU MỘT SỐ GIAO THỨC GIAO THỨC CƠ BẢN TRONG MẠNG CẢM BIẾN KHÔNG DÂY

1. LEACH

1.1. Đặc điểmGiao thức LEACH: là một thuật toán phân nhóm phân bậc cho các mạng cảm biến gọi là Phân nhóm phân bậc tương thích, nă ng lượng thấ p – LEACH (Low Energy Adaptive Clustering Hierarchy). LEACH lựa chọn ngẫu nhiên một số nút cảm biến để trở thành các nút chính và quay vòng vai trò này để phân bố đều tải nă ng lượng giữa các nút cảm biến trong mạng. Ở LEACH, các nút chính nén các dữ liệu đến từ các nút khác trong nhóm của chúng và gửi các gói dữ liệu thu thập này tớ i trạm gốc nhằ m mục đích giảm số lượng thông tin truyền phát về trạm gốc. Việc thu thậ p số liệu được thực hiện tập trung và theo chu kỳ . Do vậy giao thức này thực sự thích ứng khi có nhu cầu trao đổi theo dõi thường xuyên của mạng cảm biến. Thực tế , người sử dụng có thể không cần tất cả số liệu ngay lập tức, cho nên việc truyền phát số liệu theo chu kỳ là không cần thiết và có thể làm suy giảm nguồn nă ng lượng giới hạn của các nút cảm biến. Sau một khoảng thời gian cho trước, việc quay vòng ngẫu nhiên thay đổi vai trò của nút chính được tiến hành sao cho có sự tiêu tán năng lượng đều giữa các nút cảm biến trong mạng. Dựa vào mô hình mô phỏng mạng của các tác giả , chỉ có 5 % số nút cần thiết hoạt động ở dạng nút chính.

1.2. Hai pha hoạt động Hoạt động của LEACH được phân tách thành hai pha, pha thiết lập và pha ổn định trạng thái. Ở trong pha thiết lập, các nhóm được tổ chức và các nút chính được lựa chọn. Còn ở giai đoạn ổn định trạng thái, việc truyền số liệu thực sự về các trạm gốc được tiến hành. Khoảng thời gian tồn tại của pha ổn định trạng thái thường dài hơn so với thời gian thiết lập ban đầu để giảm tối thiểu tổng chi phí. Trong pha thiết lập, một số lượng nhỏ các nút được xác định trước, p, tự quyết định

chúng trở thành các nút chính như sau. Một nút cả m biến chọn lấy một số ngẫu nhiên, r , trong phạ m vi 0 và 1. Nếu số ngẫu nhiên này nhỏ hơn giá trị ngưỡng, T(n) , thì nút đó sẽ trở thành nút chính ở vòng hiện tại. Giá trị ngưỡng được tính toán dựa trên một biểu thức toán học có sự kết hợp phần tră m mong muốn trở thành nút chính, vòng hiện tại, và tập hợp các nút chưa được lựa chọn làm nút chính ở vòng trước đó – tập G. T(n) được xác định:

Nguy n Quỳnh Anh - 20080068ễ Page 9

Page 10: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

Tất cả các nút chính được lựa chọn phát quảng bá một bản tin thông báo tới tất cả các nút còn lại trong mạng rằng chúng là các nút chính mới. Các nút khác, không phải là nút chính sau khi nhận được bản tin thông báo này sẽ quyết định thuộc về một nhóm nào đó mà chúng muốn. Quyết định này dựa trên cường độ tín hiệu của bản tin thông báo. Các nút không phải là nút chính sẽ thông báo cho các nút chính thích ứng rằng chúng sẽ là thành viên của nhóm. Sau khi thu nhận được tất cả các bản tin từ các nút muốn gia nhập nhóm và dựa trên số lượng các nút thành viên của nhóm, nút chính sẽ tạ ra một định thời TDMA, và cấp cho mỗi nút một khe thời gian khi nó truyền phát. Định thời (Schedule) được quảng bá tới tất cả các nút của nhóm.

Trong giai đoạn ổn định trạng thái, các nút cảm biến bắt đầu cảm biến và truyề n phát số liệu về các nút chính. Các nút chính, sau khi thu tất cả các số liệu, tập hợp chúng lại trước khi gửi đến trạm gốc. Sau một khoả n thời gian nhất định nào đó được xác định trước, mạng sẽ quay trở lại trạng thái thiết lập và bắt đầu một vòng lựa chọn các nút chính mới. Ở đây các nhóm trao đổi thông tin với nhau bằng việc sử dụng các mã CDMA để giảm nhiễu từ các nút thuộc các nhóm khác.

LEACH cung cấp một mô hình tốt mà các thuật toán nội bộ và tập hợp dữ liệu có thể được thực hiện trong các nút chính được lựa chọn một cách ngẫu nhiên. Điều này làm giảm quá tải thông tin và cung cấp một tập hợp tin cậy các số liệu cho người sử dụng cuối cùng. Các tác giả của LEACH cũng đã chỉ ra rằ ng LEACH góp phần giả m đáng kể nă ng lượng tiêu thụ và kéo dài hơn thời gian hoạt động của mạng cảm biế n so với trường hợp mạng gồm các nhóm cố đị nh.

2. ARPEES

2.1. Đặc điểm Nét đặc trưng trong thiết kế giao thức ARPEES là đáp ứng thích nghi giữa tối ưu hóa năng lượng, phân cụm theo sự kiện, và truyền tải đa nút. Mục tiêu của giao thức là tìm ra tuyến đường truyền tải tối ưu cho dữ liệu đã được tập hợp tới trạm gốc có tính đến quan hệ tradeoff giữa lượng năng lượng còn lại(tối ưu hóa) của nút chuyển giao và khoảng cách từ nút chuyển giao tới trạm gốc(tuyến đường ngắn nhất). Năng lượng và khoảng cách được dùng làm 2 tham số cho việc lựa chọn tuyến đường truyền tải.Các thông số chi phí của giao thức như sau:

Nguy n Quỳnh Anh - 20080068ễ Page 10

Page 11: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

- Năng lượng tiêu thụ và cân bằng tải: mục tiêu là giảm tiêu thụ năng lượng ở các nút có phần năng lượng dự trữ thấp hơn bằng cách phân tán năng lượng tiêu thụ cho việc tập hợp,thu thập dữ liệu, truyền tải cho các nút khác nhau

- Cách tiếp cận động và phân tán: xây dựng thuật toán phân cụm phân tán theo yêu cầu, trong đó các thông số được cảm biến của sự kiện hay đối tượng được sử dụng để phân cụm. Một nút có thể đưa ra quyết định mà không cần có sự điều khiển tập trung. Với phương thức phân cụm động theo sự kiện, các cụm được tạo thành dựa trên địa điểm và thời gian sự kiện xảy ra trong môi trường. Do đó, kích thước của phần hoạt động trong mạng sẽ biến thiên và số lượng cụm không phụ thuộc vào số lượng các nút trong mạng. Thêm vào đó phương thức này giúp tiết kiệm năng lượng bởi chỉ một phần của mạng được kích hoạt phản ứng lại một sự kiện.

- Tuyến đường tối ưu: số lượng các nút trung gian trên đường truyền hoặc chi phí liên kết được sử dụng làm thông số chi phí để chọn ra tuyến đường tối ưu

- Khả năng thích ứng: khả năng này có nghĩa giao thức có khả năng đáp ứng tốt cho các ứng dụng lớn với sự thay đổi nhanh của topo mạng chống lại lỗi liên kết. Việc thêm vào các nút mới thay thế cho các nút lỗi không nên ảnh hưởng đến mạng đang hoạt động

- Kiểm soát overhead: giao thức phải tối thiểu hóa các trao đổi điều khiển cần thiết cho việc phân cụm, lựa chọn cụm trưởng và xử lý trên nút chuyển giao

- Tối ưu hóa: tuyến đường lựa chọn bởi giao thức có ảnh hưởng tới hiệu năng mạng về độ trễ, lưu lượng thực và độ tiết kiệm năng lượng. Để đạt tối ưu hóa giao thức cần phải tính toán tới năng lượng pin, bộ nhớ, băng thông…

Hoạt động của ARPEES được chia thành các vòng, mỗi vòng bao gồm 2 pha được thể hiện trong hình 2 : pha thành lập cụm và lựa chọn cụm trưởng theo sau bởi pha truyền tải dữ liệu trong đó dữ liệu được truyền tới trạm gốc qua các nút chuyển giao.

2.2. Hai pha ho t đ ng ạ ộa. Pha thành lập cụm và thuật toán lựa chọn cụm trưởng:

Ban đầu, tất cả các nút mạng ở trạng thái nghỉ để tiết kiệm năng lượng. Khi một sự kiện được phát hiện trong mạng, các nút gần vị trí xảy ra sự kiện được kích hoạt và sẽ tiến hành đo đạc thuộc tính đã được chỉ định cảm biến. Nếu giá trị nhân tố cảm biến cao hơn mức ngưỡng định trước, các nút đó sẽ thực thi thuật toán để nhóm cụm và chọn cụm trưởng. Các nút quảng bá gói tin REQ_CLUSTER tới các nút hàng xóm. Bản tin này bao gồm ID của nút, mức năng lượng còn lại và thông tin mô tả dữ liệu cảm biến được sự kiện:

Nguy n Quỳnh Anh - 20080068ễ Page 11

Page 12: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

REQ_CLUSTER{ID(i),ERes(i),I(i)} (5)

Sau đó các nút sẽ đặt bộ đếm thời gian tới t1. Trong khoảng thời gian t1,mỗi nút sẽ nhận bản tin REQ_CLUSTER từ tất cả các nút trong cụm và thực thi hàm chọn Cluster_Head như sau:

FCH(i) = ERes(i) x I(i) , với mọi i thuộc X (6)

MaxFCH(i) -> Cluster Head

Trong đó X là tập các nút được kích hoạt bởi sự kiện.

Khi khoảng thời gian t1 kết thúc, nút có giá trị FCH(i) lớn nhất sẽ tự bầu nó làm cụm trưởng. Cụm trưởng sẽ lưu trữ ID của tất cả các nút trong tập các nút được kích hoạt X, và lập 1 lịch TDMA để sắp xếp cho từng nút lần lượt gửi dữ liệu tới cụm trưởng. Chức năng của lịch là tránh việc xung đột trong truyền tải dữ liệu và đồng bộ hóa giữa các nút bên trong cụm. Các nút còn lại tự đặt mình làm nút thành viên và chờ đợi để nhận lịch TDMA từ cụm trưởng. Với lịch đã được sắp xếp, các nút có thể tắt các thành phần thu nhận tín hiệu ngoại trừ trong khoảng thời gian truyền tải dữ liệu.

Hình 1 : Lưu đồ của trạng thái thứ nhất

Nguy n Quỳnh Anh - 20080068ễ Page 12

Page 13: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

Hình 2 : hình thành cụm dựa trên sự kiện và thuật toán lựa chọn cụm trưởng.

Trong hình 2a, nút từ n1 đến n9 xác định sự kiện và chuyển sang trạng thái hoạt động sau đó quảng bá các bản tin REQ_CLUSTER để trao đổi thong tin. Ở hình 2b chúng ta chỉ minh họa nút n2 và n5 quảng bá dữ liệu. 2c: nút n5 trở thành cụm trưởng và quảng bá bản tin về lịch TDMA tới các nút trong mạng. 2d: các thành viên trong cụm lần lượt gửi dữ liệu cảm biến về cụm trưởng theo những khe thời gian sắp xếp trong lịch.

Thuật toán ở đây đảm bảo nút với mức năng lượng còn lại lớn nhất và gần nhất với sự kiện xảy ra được lựa chọn làm cụm trưởng. Thêm nữa chúng ta chỉ sử dụng một loại bản tin để tạo cụm và chọn cụm trưởng. Do đó có thể làm giảm số lượng các bản tin điều khiển gây ra overhead đồng thời giản lượng dữ liệu truyền tải từ các nút tới cụm trưởng (sẽ được mô tả ở pha sau) bởi cụm trưởng là nút ở gần sự kiện và đã thu thập được sẵn nhiều dữ liệu hơn các nút ở xa sự kiện.

Nguy n Quỳnh Anh - 20080068ễ Page 13

Page 14: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

b. Pha thu thập dữ liệu

Ở pha này chúng ta sử dụng các nút trung gian để chuyển tiếp các gói tin từ cụm trưởng tới trạm gốc. Các nút trung gian này lần lượt phải quyết định hàng xóm nào sẽ nhận gói tin chuyển tiếp. Pha truyền dữ liệu bao gồm ba hoạt động chính:

Thu thập dữ liệu bên trong cụm:

Sử dụng lịch TDMA, mỗi nút cảm biến chuyển các thông tin cảm biến tới cụm trưởng trong khe thời gian truyền dữ liệu đã được định trước. Một cách đơn giản nhất để tiết kiệm năng lượng là tắt bộ thu nhận khi không trong quá trình truyền tải. Cụm trưởng bắt buộc phải liên tục nhận dữ liệu từ các nút trong cụm. Một vấn đề cốt lõi ở đây là các nút cảm biến được nhón lại thành cụm bao quanh sự kiện: việc truyền tải sẽ tiêu tốn mức năng lượng thấp nhất do khoảng cách giữa cụm trưởng và các nút cảm biến là nhỏ.

Một vấn đề khác ở đây là độ ưu tiên của mỗi nút trong lịch TDMA. Như đã đề cập trước đó, mỗi cụm trưởng có thông tin về mô tả dữ liệu trong bản tin của tất cả các nút khác thuộc cụm - I(i). Nhờ đó nó có thể sắp xếp thứ tự và khoảng thời gian cho từng nút truyền tải dữ liệu. Nút có nhiều mô tả dữ liệu sẽ truyền tải trước với nhiều khe thời gian hơn các nút khác. Theo sự sắp xếp này, tất cả các nút sẽ được phân khe thời gian nhất định để cảm biến môi trường và truyền tải dữ liệu cảm biến về cụm trưởng.

Thực hiện thu thập dữ liệu

Năng lượng dùng trong xử lý dữ liệu ít hơn rất nhiều so với năng lượng để truyền tải dữ liệu. Do đó việc thu thập dữ liệu bằng cách xử lý cục bộ là rất quan trọng để tối thiểu hóa năng lượng sử dụng. Để tránh việc truyền tải dữ liệu dư thừa, cụm trưởng thực hiện việc tổng hợp dữ liệu từ dữ liệu thu thập được, và theo đó giảm lượng dữ liệu thô cần gửi tới trạm gốc. Dữ liệu né, cùng với các thông tin được yêu cầu bởi trạm gốc, được truyền tới trạm gốc theo kiểu multi-hop.

Lựa chọn nút chuyển tiếp và hình thành tuyến đường

Trong giao thức này, cụm trưởng sau khi có gói tin sẵn sàng truyền đi sẽ lựa chọn nút chuyển tiếp để gửi tới trạm gốc với tuyến đường multi-hop thay cho việc truyền trực tiếp gói tin như giao thức LEACH.

Đầu tiên, cụm trưởng sẽ quảng bá bản tin REQ_RELAY tới tất cả các nút trong phạm vi kết nối của nó để tìm kiếm nút chuyển tiếp. Mỗi nút nhận bản tin REQ_RELAY sẽ tính toán mức năng lượng còn lại của nó và khoảng cách tới trạm gốc, ghi kết quả vào bản tin

Nguy n Quỳnh Anh - 20080068ễ Page 14

Page 15: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

ACK_RELAY và gửi lại cho cụm trưởng. Cụm trưởng đợi nhận hết các gói tin ACK_RELAY từ các nút ứng cử làm nút chuyển tiếp và kiểm tra xem nó có thể truyền trực tiếp dữ liệu tới trạm gốc hay không. Nếu không cụm trưởng sẽ thực hiện chức năng Relay_Node để chọn nút chuyển tiếp.Nút chuyển tiếp mong muốn cần thỏa mãn 1 số đặc điểm:

- Nút chuyển tiếp có mức năng lượng còn lại lớn nhất- Nút chuyển tiếp càng gần trạm gốc càng tốt. Việc này có nghĩa nó có khoảng

cách lớn nhất so với cụm trưởng và khoảng cách ngắn nhất tới trạm gốc- Tuyến đường multi-hop gần như là đường thẳng giữa cụm trước và trạm gốc

Sau khi nhận bản tin REQ_RELAY từ tất cả các ứng cử viên, cụm trưởng sẽ có được thông tin cần thiết về cấu trúc mạng 1-hop (cấu trúc mạng liền kề). Tiếp theo cụm trưởng sẽ tính toán hàm Relay_Node để lựa chọn nút chuyển tiếp tốt nhất. Hàm được định nghĩa như sau:

Trong đó:

ERes(j) : năng lượng còn lại của nút ứng cử j

d(CH,j) và d(j,BS) : khoảng tới từ cụm trưởng tới j và khoảng cách từ j tới trạm gốc

Y: tập các ứng cử viên để lựa chọn nút chuyển tiếp trong phạm vi tín hiệu của cụm trưởng

αj là giá trị góc giới hạn tạo bởi nút j, cụm trưởng và trạm gốc

cos αj có thể tính được thông qua biểu thức:

Nguy n Quỳnh Anh - 20080068ễ Page 15

Page 16: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

Nút đạt giá trị FRN(j) lớn nhất sẽ được lựa chọn làm nút chuyển tiếp. Ở nút tiếp theo, nút chuyển tiếp sẽ hoạt động như cụm trưởng và tìm kiếm nút chuyển tiếp tiếp theo. Quá trình tìm kiếm tuyến đường chuyển tiếp sẽ lặp lại cho tới khi đến được trạm gốc. Cuối cùng, tuyến đường truyền tối ưu sẽ được tạo ra bởi các nút chuyển tiếp giữa cụm trưởng và trạm gốc.

Hình 3 : thể hiện lưu đồ của giao thức ARPEES trong pha thứ hai.

Nguy n Quỳnh Anh - 20080068ễ Page 16

Page 17: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

Hình 4 : mô tả 1 ví dụ về hàm lựa chọn nút chuyển tiếp.

Nguy n Quỳnh Anh - 20080068ễ Page 17

Page 18: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

III. CÀI ĐẶT MÔ PHỎNG GIAO THỨC ĐỊNH TUYẾN

1. Giao thức lựa chọn mô phỏng

Trong bài báo cáo này em lựa chọn giao thức ARPEES để cài đặt mô phỏng. Vì đây là giao thức hướng sự kiện sẽ được phát triển mạnh trong tương lai.

2. Môi trường cài đặt

Giao thức ARPEES được mô phỏng trên phần mềm OMNeT ++ phiên bản 4.2.1

3. Mô hình chung của mạng

Để mô phỏng một giao thức trong một mạng cảm biến không dây cần xây dựng mô hình của ba thành phần chính là các sensor node, base station và sự kiện xảy ra (event). Ở trong phần mô phỏng của mình,em sẽ kết hợp sự kiện xảy ra với các sensor node,tức là một sự kiện xảy ra chính là một node ở trị ví của node đó,và sự kiện sẽ được chọn một cách ngẫu nhiên.

Mạng bao gồm 1 base station ở vị trí cố định và 80 nút được rải tương đối đều trên khoảng không gian cần cảm biến. Các node cảm biến sự kiện và truyền dữ liệu về base station theo giao thức định tuyến ARPEES.

4. Xây dựng các mô đun

4.1. Base stationa.Các tham số của base station

int xpos,ypos : tọa độ (x,y) là vị trí của base station int trRange : khoảng cách có thể truyền được cho trước double energy : năng lượng của base station,ban đầu được cho trước int roundNumber : số vòng trong một lần cảm biến được cho trước int frameNumber : số fame dữ liệu của 1 bản tin được cho trước int totalRound : biến đếm tổng số vòng hiện tại int firstNodeDead : id của node đầu tiên hết năng lượng int eventID : id của node sự kiện được chọn ngẫu nhiên double totalEnergyRemain[NUMBERROUND] : tổng năng lượng còn lại

b.Các hàm và chức năng chính của các hàm.

virtual void initialize() : khởi tạo các giá trị cần thiết cho quá trình mô phỏng . Ở đây là khởi tạo trước các tham số của Base station trước khi quá trình mô phỏng bắt đầu và định thời gian tự động gửi self message SMSG_INIT cho các sensor node.

Nguy n Quỳnh Anh - 20080068ễ Page 18

Page 19: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

virtual void initNodes() : Hàm này thực hiện việc khởi tạo các cổng kết nối giữa Bs với các sensor node nằm trong vùng truyền tải của Bs .

void createEvent() : Hàm này thực hiện việc tạo ra sự kiện bằng cách lấy ngẫu nhiên một trong số 80 node làm node xảy ra sự kiện. Khi một node có giá trị energy nhỏ hơn 10 được coi là node đã hết năng lượng. Lúc này biến isDead của node được gán bằng “1” và mạng được thiết lập lại các giá trị ban đầu bằng hàm resetDisplay(). Quá trình tạo ngẫu nhiên một sự kiện được tiến hành. Sau khi tạo sự kiện bắt đầu sự kiện bằng hàm startEvent().

double energyRemainCal() : Hàm này thực hiện việc tính năng lượng còn lại của cả hệ thống bằng cách lấy tổng tất cả năng lượng còn lại của các node còn năng lượng trong mạng .

int TestAlive() : Hàm này thực hiện việc kiểm tra Bs có còn năng lượng hay không bằng cách kiểm tra biến isDead. Nếu Bs đã hết năng lượng hàm trả về giá trị “0”,nếu còn hàm trả về giá trị “1”.

void finish() : hàm này được sử dụng để ghi lại các thông số trạng thái cần thiết khi quá trình mô phỏng kết thúc để phục vụ cho việc thống kê,đánh giá về sau. Khi quá trình mô phỏng kết thúc là khi mạng không còn đủ năng lượng để duy trì hoạt động. Hàm thực hiện việc ghi lại các giá trị id của node hết năng lượng đầu tiên, và tổng số vòng đã thực hiện được cho đến lúc đó.

virtual void handleMessage(cMessage *msg) : Hàm handleMessage() được gọi khi mỗi message đến module. Khi đó hàm này sẽ xử lý gói tin và trả lại kết quả ngay lập tức. Chú ý rằng các module hàm handleMessage() không được tự động gọi, mà phải nhận được gói tin từ module khác. Muốn thế ta phải thêm các self-message từ hàm khởi tạo initialize() thì hàm handleMessage() sẽ bắt đầu làm việc mà không cần phải nhận gói tin từ module khác.Ở đây,hàm handeMessage() thực hiện xử lí các gói tin khi Base station nhận được các gói tin này.

4.2. Sensor nodea.Các tham số của một sensor node.

int active : khởi tạo bằng 0, khi một nút nhận được sự kiện thì active của node bằng 1

int xpos,ypos : tọa độ (x,y) là vị trí của sensor node int trRange : khoảng cách có thể truyền được cho trước int ssRange : khoang các các node có thể cảm biến được,được cho trước double energy : năng lượng của một node,ban đầu được cho trước cModule *clusterHead : con trỏ chỉ tới Cluster Head Sensor *relayNode : con trỏ chỉ tới các Relay Node double Neighbordistance[NUMBERNODES] : khoảng cách tới các node hàng

xóm

Nguy n Quỳnh Anh - 20080068ễ Page 19

Page 20: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

cModule *EventStarter: con trỏ lưu nút bắt đầu sự kiện int LastEventNodeID : id lớn nhất của node tham gia vào sự kiện int LastNeighborID : id lớn nhất của node hàng xóm int totalStatusInfoMsg : đếm số lượng bản tin của một node nhận được khi có

sự kiện xảy ra int totalEventModule : số lượng node tham gia vào sự kiện int timeslot : khe thời gian int frameNumber : số fame dữ liệu của 1 bản tin được cho trước int roundNumber : số vòng trong một lần cảm biến được cho trước int totalDataCHMsg : tổng số các message các node gửi cho Cluster Head int totalFrame : biến đếm tổng số frame hiện tại trong 1 vòng int isClusterHead : biến kiểm tra node có phải là Cluster Head hay không int isDead : biến kiểm tra node đã hết năng lượng hay chưa int RequestMsgNumber : tổng số các message được broadcast để tìm Relay

Node int hasPath : biến kiểm tra có đường gửi dữ liệu đến Base Station hay không int isRelayNode : biến kiểm tra node có phải là Relay Node hay không double RelayEnergy : năng lượng tiêu thụ khi truyền dữ liệu qua các Relay

Node double relayNodeEnergy : năng lượng của Relay Node double relayNodeBeginEnergy : năng lượng ban đầu của Relay Node

b.Các hàm và chức năng chính của các hàm.

virtual void initialize() : Hàm này khởi tạo trước các tham số của Sensor node trước khi quá trình mô phỏng bắt đầu và định thời gian tự động gửi self message SMSG_INIT cho các sensor node.

void initNodes() : : Hàm này thực hiện việc khởi tạo các cổng kết nối giữa Bs với các sensor node hoặc giữa các sensor node với nhau thỏa mãn điều kiện nằm trong vùng truyền tải của node đó void .

startEvent() : Hàm này thực hiện việc tính khoảng cách giữa các sensor node tới node xảy ra sự kiện, kiểm tra điều kiện nếu khoảng cách này nhỏ hơn khoảng cách có thể cảm biến, node này không phải là Bs và node này vẫn còn năng lượng thì xếp node này là node có tham gia vào sự kiện, tức là node có thể cảm biến sự kiện và gửi về cho Bs. Ban đầu biến ative của node này được khởi tạo bằng “0”, khi được xác nhận nó là node có tham gia vào sự kiện thì active bằng “1”. Biến đếm số node tham gia vào sự kiện total ban đầu cũng được gán bằng “0”, mỗi khi tìm thêm được một node thỏa mãn các điều kiện

Nguy n Quỳnh Anh - 20080068ễ Page 20

Page 21: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

trên thì total tăng lên 1 đơn vị. Nếu số node tham gia vào sự kiện lớn hơn 1 (total >1) ta tìm id của node có id lớn nhất trong số các node tham gia vào sự kiện, và gửi bản tin thông báo sự kiện đến các node nằm trong vùng có thể cảm biến. Nếu số node tham gia vào sự kiện nhỏ hơn hoặc bằng 1 (total <=1 ) thì gọi lại hàm createEvrnt() để tạo lại sự kiện mới.

double distanceCal(int x1,int y1,int x2,int y2) : Hàm này thực hiện việc tính khoảng cách từ 1 node bất kì có tọa độ (x1,y1) đến một node khác có tọa độ (x2,y2)

double distanceBScal(int x,int y) : Hàm này thực hiện việc tính khoảng cách từ một node bất kì có tọa độ (x,y) đến Bs

void computeCH() : Hàm này thực hiện việc tính toán và chọn ra node làm Clusster head trong số các node tham gia vào sự kiện ( có active =1 ). Node được chọn làm Cluster head là node có giá trị hàm C lớn nhất. Hàm C được tính theo công thức sau :

C(node i) = năng lượng ( node i) /Khoảng cách (từ node i đến node xảy ra sự kiện)

Theo công thức của hàm C ta thấy node có năng lượng càng lớn và khoảng cách đến node xảy ra sự kiện càng nhỏ thì node đó sẽ được làm Cluster head. Các node tham gia vào sự kiện sẽ có một hàm C được tính toán như trên và so sánh với nhau để chọn ra node làm Cluster head. Sau khi được chọn làm Cluster head giá trị biến isClusterHead của node được gán bằng “1” và bắt đầu thực hiện hàm sendTDMA(). void sendTDMA() : Hàm này thực hiện việc đặt giá trị khe thời gian timeSlot

để định thời gian cho các self message để tự động gửi các bản tin kích hoạt hàm handleMessage() và thực hiện việc gửi đi gói tin TDMAmsg từ các node có tham gia vào sự kiện đến Cluster head để Cluster head làm nhiệm vụ chia khe thời gian cho các node gửi dữ liệu về Cluster head.

void energySend(int kbit,double d): Hàm này thực hiện việc tính năng lượng tiêu thụ trong quá trình gửi dữ liệu giữa các sensor node và từ đó tính năng lượng còn lại của node sau khi đã gửi dữ liệu đến các node khác. Năng lượng của việc gửi dữ liệu phụ thuộc vào khoảng cách giữa hai sensor node và độ dài dữ liệu cần gửi tính theo đơn vị kbit. Cụ thể năng lượng gửi dữ liệu được tính bằng công thức : energySend = ( Eelec + Efs *d *d ) * kbit

Trong đó Eelec và Efs là 2 hằng số có giá trị

Eelec = 0.00005Efs = 0.00000001

Nguy n Quỳnh Anh - 20080068ễ Page 21

Page 22: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

void energyReceive(int kbit) : Hàm này thực hiện việc tính năng lượng tiêu thụ trong quá trình nhận dữ liệu giữa các sensor node và từ đó tính năng lượng còn lại của node sau khi đã nhận dữ liệu từ các node khác. Năng lượng của việc nhận dữ liệu chỉ phụ thuộc vào độ dài dữ liệu cần gửi tính theo đơn vị kbit. Cụ thể năng lượng nhận dữ liệu được tính bằng công thức :

energyReceive = Eelect * kbitTrong đó Eelec hằng số có giá trị : Eelec = 0.00005

void findRelayNode() : Chức năng của hàm này là tìm Relay node tiếp theo để chuyển tiếp dữ liệu từ Cluster head về Base station. Ban đầu khi chưa tìm được Relay node tiếp theo thì biến hasPath bằng “0” . Khi đó Cluster head sẽ gửi một bản tin broadcast tới tất cả các node nằm trong vùng có thể truyền tải của nó, các node nhận được bản tin broadcast này cũng thỏa mãn điều kiện là nó vẫn còn năng lượng và chưa phải là Relay node ( isDead =0 và isRelayNode =0) và biến RequestMsgNumber đếm các bản tin Cluster head đã broadcast cũng tăng lên 1 đơn vị. Một node nhận được bản tin broadcast này sẽ được chọn làm Relay node nếu giá trị hàm F của nó là lớn nhất, nó không phải là Cluster head và chưa được chọn làm Relay node. Hàm F là hàm đánh giá để chọn Relay node dựa trên thuật toán ARPEES. Cụ thể công thức của hàm F như sau :

F(node j) = năng lượng(node j) * (djCH/djBS) * cos a(j)Trong đó :djCH là khoảng cách từ node j tới Cluster headdjBS là khoảng cách từ node j tới Base stationa là giá trị góc giới hạn tạo bởi nút j, Base station và Cluster headcos a(j) có thể tính theo công thức :cos a(j) = (djCH *djCH+ dCHBS * dCHBS –djBS * DjBS)/ (2 *djCH*dCHBS)Trong đó :dCHBS là khoảng cách từ Cluster head đến Base station.Mỗi node nằm trong vùng có thể truyền của Cluster head sẽ được tính một

hàm F này và so sánh với nhau để chọn ra node có giá trị hàm F lớn nhất. Theo công thức ở trên của hàm F thì node có năng lượng càng lớn, khoảng cách tới Cluster head càng xa,khoảng cách tới Base station càng gần và góc tạo bởi node,Cluster head và Base station càng nhỏ thì càng có khả năng làm Relay node. Khi đã chọn được Relay node thỏa mãn các điều kiện trên thì biến relayNodeEnergy và biến relayNodeBeginEnergy được gán bằng năng lượng của node này và biến hasPath được gán giá trị bằng “1”.

Nguy n Quỳnh Anh - 20080068ễ Page 22

Page 23: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

void resetDisplay() : Chức năng của hàm này là khởi tạo lại các thiết lập ban đầu cho mạng, các tham số của sensor node được gán lại giá trị từ đầu và thực hiện việc thiết lập các cổng cho các sensor node. Nếu có node nào đã hết năng lượng (isDead =0) thì loại node đó ra khỏi mạng.

void arrangeNodes() : Hàm này thực hiện việc sắp xếp vị trí cho các sensor node sao cho các node này phân bố tương đối đều đặn. Các giá trị tọa độ (xpos,ypos) xác định vị trí của sensor node được tính như sau :

xpos = x *50 + rand() % (51)ypos = y *50 + rand() % (51)Tức là xpos lấy giá trị ngẫu nhiên trong khoảng ( x*50,51) , ypos lấy giá trị

ngẫu nhiên trong khoảng (y *50 ,51)Trong đó :x = (id của node) / 8y= (id của node ) %8

void setDisplay() : Chức năng của hàm này là tạo ra các bubble hiển thị thông báo về vị trí và id của các node trong mạng

void changeCH() : Hàm này thực hiện việc thay đổi Cluster head sau mỗi vòng truyền dữ liệu về Base station. Khi đó là lúc đã truyền đầy đủ các frame của dữ liệu về Base station nên biến đếm totalFrame được gán bằng “ 0” và thực hiện hàm sendSatusInfo() để nhận thông báo trạng thái của các node tham gia sự kiện, từ đó chọn lại Cluster head.

void sendStatusInfo() : Chức năng của hàm này là gửi thông tin về trạng thái của các node tham gia vào sự kiện tới các node khác, để từ đó làm căn cứ chọn Cluster head.

void finish() : Hàm này làm nhiệm vụ ghi lại những thông tin cần thiết phục vụ cho việc thống kê và đánh giá kết quả quá trình mô phỏng sau khi quá trình mô phỏng kết thúc. Ở đây hàm ghi lại giá trị năng lượng của node sau khi quá trình mô phỏng kết thúc.

virtual void handleMessage(cMessage *msg) : Hàm handleMessage() được gọi khi mỗi message đến module. Khi đó hàm này sẽ xử lý gói tin và trả lại kết quả ngay lập tức. Ở đây,hàm handeMessage() thực hiện xử lí các gói tin khi Sensor node nhận được các gói tin này.

4.3. Event int eventID : id của node sự kiện được chọn ngẫu nhiên void createEvent() : Hàm này thực hiện việc tạo ra sự kiện bằng cách lấy ngẫu

nhiên một trong số 80 node làm node xảy ra sự kiện. Khi một node có giá trị energy nhỏ hơn 10 được coi là node đã hết năng lượng. Lúc này biến isDead của

Nguy n Quỳnh Anh - 20080068ễ Page 23

Page 24: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

node được gán bằng “1” và mạng được thiết lập lại các giá trị ban đầu bằng hàm resetDisplay(). Quá trình tạo ngẫu nhiên một sự kiện được tiến hành. Sau khi tạo sự kiện bắt đầu sự kiện bằng hàm startEvent().

4.4. Các loại messagesCác loại message được chia làm hai loại : message tự các node gửi cho chính nó (self message) và message do các node gửi cho các node khác.Vì hàm handleMessage() không được tự động gọi, mà phải nhận được gói tin từ module khác, nên ta phải thêm các self-message từ hàm khởi tạo initialize() thì hàm handleMessage() sẽ bắt đầu làm việc mà không cần phải nhận gói tin từ module khác.

Self message gồm : #define SMSG_INIT 15 : self message khởi tạo các node,bản tin thuộc loại 15 #define SelfTDMAmsg 104 : self message để Cluster Head gửi data tới Base

station, bản tin thuộc loại 104Message không phải self message gồm :

#define StatusInfoMsg 100 : gửi thông đến các node nhận sự kiện trước khi chọn Cluster Head,bản tin thuộc loại 100

#define EventStarterMsg 101 : gửi thông báo bắt đầu sự kiện,bản tin thuộc loại 101

#define EventNotifyMsg 102 / : xác nhận các node thuộc vùng sự kiện, bản tin thuộc loại 102

#define TDMAmsg 103 : khi Cluster Head chia khe thời gian cho các nút,các nút gửi bản tin TDMAmsg cho Cluster Head, bản tin thuộc loại 103

#define DataToCHMsg 105 : bản tin chứa dữ liệu của các node gửi đến Cluster head,thuộc loại 105

#define RelayRequestMsg 106 : bản tin broadcast để tìm Relay Node,thuộc loại 106

#define RelayStatusMsg 107 : bản tin của các Relay Node gửi lại thông tin của nó về cho Cluster Head,thuộc loại 107

#define DataToBSMsg 108 : Cluster Head gửi dữ liệu đến cho Realay Node và tiếp tục gửi về cho Base station,bản tin thuộc loại 108

4.5. Các thiếp lập ban đầu của mạng. network=WSN Khoảng các có thể truyền tải:

trRange = 150 Tổng số node :

WSN.numNodes=80 Khoảng cách có thể cảm biến

WSN.ssRange = 70 Năng lượng mỗi node :

Nguy n Quỳnh Anh - 20080068ễ Page 24

Page 25: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

WSN.energy = 1000 Số fame của một bản tin :

WSN.frameNumber =3 Số vòng gửi dữ liệu trong một lần cảm biến :

WSN.roundNumber =3 Tổng số vòng có thể gửi dữ liệu :

WSN.totalRound = 800 Độ dài theo bit của các message điều khiển và message dữ liệu :

#define ControlMsgLength 200#define DataMsgLength 4000

5. Kết quả thử nghiệm trên phần mềm

a. Chọn ngẫu nhiên 1 node làm nơi xuất hiện sự kiện

b. Chọn Cluster head và gửi message lập lịch TDMA

Nguy n Quỳnh Anh - 20080068ễ Page 25

Page 26: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

c. Gửi message tới các node xung quanh để tìm Relay node

d. Tìm được Relay node và truyền dữ liệu đến Relay node

Nguy n Quỳnh Anh - 20080068ễ Page 26

Page 27: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

e. Tìm được đường tới Base station và gửi dữ liệu về Base station

f. Tìm Cluster head mới và tiếp tục truyền dữ liệu về Base station

Nguy n Quỳnh Anh - 20080068ễ Page 27

Page 28: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

Nguy n Quỳnh Anh - 20080068ễ Page 28

Page 29: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

KẾT LUẬN

Qua quá trình nghiên cứu và tìm hiểu đề tài đã giúp em có những hiểu biết cơ bản nhất về mạng cảm biến không dây và hướng phát triển của nó trong tương lai, tìm hiểu được một số các giao thức định tuyến trong mạng, ưu nhược điểm của các giao thức định tuyến, làm quen và sử dụng được với phần mềm mô phỏng OMNeT++ và bước đầu đã cài đặt được giao thức ARPEES trong mạng cảm biến không dây.

Giao thức ARPEES là một giao thức phân cấp đang được sử dụng khá nhiều, nó mang nhiều cải tiến hơn rất nhiều so với các giao thức khác, là một giao thức hướng sự kiện và truyền dữ liệu theo kiểu multi –hop. Với những đặc điểm đó nó có khả năng tiêu tốn ít năng lượng và hoạt động hiệu quả hơn các giao thức khác. Tuy nhiên, ARPEES vẫn còn là một giao thức khá cơ bản và cần có nhiều cải tiến hơn nữa, cách chọn Cluster head hiệu quả hơn hoặc truyền dữ liệu về Base station tiêu thụ ít năng lượng hơn. Đó là những hướng phát triển mà sau này em sẽ cố gắng tìm hiểu trong những đề tài tiếp theo.

Chương trình mô phỏng giao thức định tuyến của em, tuy đã có những đặc điểm cơ bản

của giao thức ARPEES,nhưng cũng không tránh khỏi những thiếu sót, em rất mong nhận

được sự nhận xét, đóng góp ý kiến của các thầy cô để đề tài của em được hoàn thiện hơn.

Nguy n Quỳnh Anh - 20080068ễ Page 29

Page 30: Giao thức ARPEES trong mạng cảm  biến không dây

M ng c m bi n không dâyạ ả ế

TÀI LIỆU THAM KHẢO

[1] http://www.omnetpp.org/

[2] Các kỹ thu t phân nhóm trong các m ng c m bi n - TS. Lê Nh tậ ạ ả ế ậ

Thăng, TS. Nguy n Quý Sỹễ

[3] Protocols, and Aplication – KAZEM SOHRABY, DANIEL MINOLI,

TAIEB ZNATI.

[4] Protocols and Architectures for Wireless Sensor Networks - Holger

Karl at University of Paderborn, GERMANY, Andreas Willig - Hasso-

Plattner-Institute at the University of Potsdam, GERMAN.

[5] http://dtvt.org

[6] Energy Efficient Communication Protocolfor Wireless Microsensor

Networks- Wendi Rabiner Heinzelman, Anantha Chandrakasan,

and Hari Balakrishnan, Massachusetts Instituteof Technology,

Cambridge

Nguy n Quỳnh Anh - 20080068ễ Page 30