1.9.1. Ứng dụng trong nông nghiệp, lâm nghiệp
Mạng cảm ứng có thể được triển khai trên các khu vực rừng, đồng ruộng rộng lớn để đưa ra các cảnh báo và hành động kịp thời. Trong nông nghiệp, các nút cảm biến có thể được gắn vào các hạt giống để kiểm tra độ ẩm trong đất, sự tăng trưởng của cây. Các hệ thống mạng cảm biến không dây được ứng dụng ngày càng phổ biến ở nước ta và trên thế giới. Hệ thống mạng cảm biến này sẽ hỗ trợ cho nông dân thu thập thông số môi trường trên diện tích rộng lớn một cách nhanh chóng và chính xác. Các tham số này có thể là độ ẩm đất, độ ẩm môi trường, nhiệt độ, ánh sáng, chất dinh dưỡng,….
1.9.2. Ứng dụng trong y tế
Các nút cảm biến có thể được gắn vào cơ thể, ví dụ như ở dưới da để đo các thông số của máu, nhịp tim,… Từ đó, hệ thống cảm biến sẽ xử lý và đưa ra những cảnh báo và phát hiện sớm các bệnh như ung thư, nhờ đó việc chữa bệnh sẽ dễ dàng hơn. Trên thực tế, đã tồn tại những video sensor rất nhỏ có thể nuốt vào trong người, dùng một lần và được bọc vỏ hoàn toàn, nguồn nuôi của thiết bị này đủ để hoạt động trong 24 giờ. Trong thời gian đó, chúng gửi hình ảnh về bên trong con người sang một thiết bị khác mà không cần phải phẫu thuật. Các bác sĩ có thể dựa vào đó để chuẩn đoán và điều trị.
1.9.3. Ứng dụng trong giám sát môi trường
Một số ứng dụng môi trường của mạng cảm biến không dây là dùng để theo dõi sự di cư của các loài chim, các động vật nhỏ, các loại côn trùng, theo dõi điều kiện môi trường mà ảnh hưởng đến mùa màng và vật nuôi, việc tưới tiêu, phát hiện lũ lụt, cháy rừng, ô nhiễm khí quyển... Đồng thời, hệ thống có thể cảnh báo lũ lụt, thiên tai thông qua các cảm biến đo thông số môi trường và truyền về trung tâm khí tượng thủy văn để phân tích và đánh giá. Những hệ thống cảnh báo lũ này đã và đang được triển khai ở nhiều nơi trên thế giới, đặc biệt thành công trên thị trường Mỹ. Hiện nay ở Việt Nam cũng đã có một số hệ thống đo mực nước ở sông Hồng sử dụng mạng cảm biến không dây.
1.9.4. Ứng dụng WSNs trong giao thông
Với phạm vi ứng dụng này, thì các cảm biến được gắn trên các phương tiện giao thông để chúng có thể xác định được vị trí của nhau, nhận biết được các biển báo hay tắc đường, từ đó định tuyến nhằm giảm thiểu ách tắc, tai nạn giao thông giúp cho việc điều khiển luồng tốt hơn. Hiện nay một số nước đã ứng dụng hệ thống thu phí tự động sử dụng cảm biến không dây tại các trạm
thu phí làm giảm bớt đáng kể thời gian và các thủ tục phiền hà trong thu phí giao thông.
Hình 1.6 Minh họa ứng dụng hệ thống cảm biến trong giao thông
1.9.5. Ứng dụng trong gia đình
Trong lĩnh vực tự động hóa gia đình, các nút cảm biến được đặt ở các phòng để đo nhiệt độ, độ ẩm, cảnh báo cháy... Điển hình ngày của ứng dụng loại này là ngôi nhà thông minh (Smart Home). SmartHome kết nối sản phẩm điện tử gia dụng thành mạng thiết bị và hoạt động theo các kịch bản khác nhau nhằm tạo môi trường sống tiện nghi, an toàn và tiết kiệm năng lượng. Chẳng hạn, khi có người bước vào nhà, hệ thống đèn sẽ tự bật nhờ thiết bị cảm biến hồng ngoại. Đèn chiếu sáng còn có thể điều chỉnh ánh sáng, màu sắc... theo sở thích của chủ nhân. Khi thiết bị chiếu phim hoạt động, hệ thống đèn tự động giảm độ sáng, rèm cửa cũng tự động khép lại để tạo không khí của một phòng chiếu phim. Tùy theo nhu cầu, người sử dụng có thể cấu hình hệ thống hoạt động theo những kịch bản bất kỳ như lập trình hẹn giờ tắt đèn khi đi ngủ, đổ thức ăn vào bể cá khi vắng nhà, hoặc nếu quên tắt TV, bếp gas..., khi tới công sở, họ có thể gửi tin nhắn qua điện thoại di động để điều khiển thiết bị từ xa.
CHƯƠNG 2: MỘT SỐ THUẬT TOÁN ĐỊNH TUYẾN TỐI ƯU NĂNG LƯỢNG CỦA MẠNG CẢM BIẾN KHÔNG DÂY
2.1. Giới thiệu
Vấn đề năng lượng tiêu thụ của nút cảm biến rất quan trọng bởi vì nhiều nút cảm biến bị hạn chế về nguồn năng lượng. Các nút cảm biến không dây có thể hoạt động bằng pin hoặc cũng có thể từ các nguồn năng lượng khác được tích trữ từ môi trường (năng lượng mặt trời). Trong cả hai trường hợp, năng lượng đều là một nguồn tài nguyên hạn chế. Để kéo dài thời gian sống của mạng thì phần mềm trên các nút cảm biến cần phải quản lý năng lượng tiêu thụ một cách hiệu quả.
Hạn chế về tài nguyên năng lượng đã ảnh hưởng nhiều đến việc thiết kế phần cứng, phần mềm, giao thức mạng và cả kiến trúc mạng. Các nhà thiết kế phần cứng bắt buộc phải lựa chọn các linh kiện phần cứng có công suất thấp cũng như hỗ trợ chế độ ngủ hiệu quả về mặt năng lượng. Phần mềm chạy trên các nút cảm biến không dây cần phải tắt các thành phần phần cứng không sử dụng và đặt các thành phần phần cứng ở chế độ ngủ càng nhiều càng tốt. Nhờ sự hỗ trợ của các nhà phát triển phần mềm, các nút mạng cảm biến có thể chạy hệ điều hành hỗ trợ các cơ chế hoạt động công suất thấp giúp tiết kiệm năng lượng.
Vấn đề hiệu quả năng lượng ảnh hưởng nhiều đến kiến trúc mạng cũng như việc thiết kế các giao thức mạng. Trong mạng, quá trình truyền thông tiêu tốn nhiều năng lượng, điều quan trọng là cần xây dựng được các giao thức truyền thông sao cho các nút cảm biến có thể sử dụng hiệu quả nguồn tài nguyên sẵn có. Do đó, phần cứng và phần mềm cần xác định được sự tiêu hao về năng lượng và cung cấp thông tin này đến tầng mạng để phục vụ cho việc định tuyến dữ liệu.
2.2. Thuật toán định tuyến SPIN-EC [4][5]
Thuật toán định tuyến SPIN-EC (Sensor Protocols for Information via Negotiation - Energy Consumption) là thuật toán cải tiến về xác định ngưỡng năng lượng của mỗi nút cảm biến trước khi thực hiện việc truyền thông.
Ý tưởng của thuật toán này như sau:
- Thuật toán này không gửi tất cả bản tin dữ liệu mà thực hiện việc dàn xếp với nhau thông qua các bản tin thông báo. Bởi vậy, nút sẽ quan sát được và chỉ gửi dữ liệu đến nơi mà có quan tâm đến dữ liệu.
- Mỗi nút sẽ có giám sát tài nguyên năng lượng của mình. Tài nguyên năng lượng này sẽ được sử dụng để thực hiện các quyết định xem có tham gia truyền thông hay không (khi ở dưới ngưỡng nào đó).
Quá trình định tuyến của giao thức SPIN-EC được thực hiện thông qua 3 bước cơ bản như minh họa dưới đây:
Hình 2.1. Các bước bắt tay của thuật toán SPIN-EC [5] Qua hình vẽ, chúng ta tóm tắt như sau:
Bước 1: ADV gửi một mô tả về dữ liệu cần gửi tới các node trong mạng. Bước 2: Một nút sau khi nhận được gói tin ADV thì sẽ biết được thông tin về gói tin của mình cần hay là không. Nếu nó đang cần gói tin đó thì nó sẽ phát đi bản tin là REQ để thông báo rằng đó là dữ liệu mà nút đang cần.
Bước 3: Gói tin DATA sẽ được nút A gửi tới nút B, nút đang cần dữ liệu đó. Trong trường hợp có nhiều hơn một nút cần dữ liệu sau bản tin ADV, thì các nút tương ứng sẽ gửi bản tin REQ về cho nút có thông tin. Khi nhận được yêu cầu đó thì nó sẽ gửi bản tin DATA theo dạng quảng bá tới các nút cần dữ liệu. Hình 2.2 dưới đây minh họa đầy đủ quá trình thực hiện của thuật toán SPIN-EC.
Hình 2.2. Các bước của thuật toán SPIN-EC [4][5].
Thuật toán SPIN-EC được thực hiện thông qua ba loại bản tin là bản tin thông báo (ADV), bản tin yêu cầu (REQ), bản tin dữ liệu (DATA) như được minh họa ở hình 2.1. Trước khi gửi một bản tin dữ liệu thì một nút sẽ thông báo ý định của nó thông qua việc gửi quảng bá một bản tin ADV (Bước 1). Bản tin ADV chứa một mô tả về bản tin DATA được gửi và bản tin ADV có kích thước nhỏ hơn so với bản tin DATA. Sau đó, nếu một nút lân cận quan tâm đến bản tin ADV thì nó sẽ trả lời lại bằng một bản tin REQ (bước 2).
Cuối cùng, bản tin DATA sẽ được gửi tới nút yêu cầu nó (bước 3). Quá trình truyền bản tin dữ liệu trong mạng được thực hiện theo cơ chế này tại mỗi bước nhảy. Chúng ta có thể thấy ở các bước 4, 5 và 6 của hình trên, nhiều nút có thể gửi bản tin REQ tới cùng một nút và nút đó sẽ gửi lại bản tin DATA tới từng nút cho đến khi tất cả các nút gửi yêu cầu đều nhận được. Quá trình truyền thông này chỉ được áp dụng khi mà năng lượng của nút ở trên ngưỡng cho phép. Tức là trước khi thực hiện việc truyền thông, mức ngưỡng năng lượng sẽ được đặt trước. Khi mức năng lượng của nút cao hơn thì nút đó sẽ tham gia quá trình truyền thông. Ngược lại, nút đó sẽ không tham gia quá trình truyền thông.
Nhận xét thuật toán SPIN-EC
Thuật toán SPIN-EC là thuật toán thuộc nhóm định tuyến trung tâm dữ liệu mà ở đó các nút cảm biến phát tín hiệu quảng bá các thông báo có dữ liệu và chờ đợi phản hồi yêu cầu từ các nút gốc quan tâm đến dữ liệu đó. Bởi vậy, thuật toán này ưu điểm hơn so với thuật toán Gossiping. Điều này đã cho phép SPIN-EC tối ưu được năng lượng so với Gossiping tới 70% năng lượng.
Tuy nhiên, SPIN-EC có độ trễ lớn vì quá trình chờ thông tin phản hồi từ các nút có yêu cầu nhận dữ liệu. Điều này dẫn đến độ trễ trong quá trình định tuyến của thuật toán.
Ngoài ra, nếu nút trung gian không quan tâm đến dữ liệu sau bản tin ADV thì dữ liệu đó không thể truyền tới được nút đích.
2.3. Thuật toán định tuyến LEACH [4][5]
LEACH (Low-Energy Adaptive Clustering Hierarchy-Centralized) là thuật toán phân cấp theo cụm thích ứng năng lượng thấp, dựa trên thuật toán phân nhóm [1][5], trong đó, các nút có thể phân bố ngẫu nhiên, và tự hình thành cụm (sefl configuring cluster formation). Nút chủ cụm có chức năng
điều khiển các nút trong cụm gửi dữ liệu đến nó theo một chu kỳ nhất định. Tại nút chủ, dữ liệu sẽ được thu thập và xử lý ở nhiều mức độ khác nhau, tùy thuộc vào từng ứng dụng, trước khi gửi tới trạm gốc. Thuật toán LEACH có khả năng tự tổ chức thành cụm, thực hiện xử lý cục bộ, rồi truyền tới nút chủ (sink). Do đó, nút chủ sẽ tốn nhiều năng lượng hơn so với nút thông thường. Cho nên, thuật toán LEACH thực hiện ngẫu nhiên quay vòng vai trò nút chủ trong tất cả các nút mạng để tránh tiêu hao năng lượng trên một số nút cố định.
Quá trình hoạt động của thuật toán LEACH như sau:
Thuật toán LEACH được chia thành các vòng, mỗi vòng được bắt đầu với pha thiết lập và pha ổn định [1]. Để giảm lượng bản tin mào đầu trong mạng thì pha ổn định phải dài hơn so với pha thiết lập. Hình 2.3 minh họa trạng thái các pha của thuật toán LEACH.
Hình 2.3. Các bước của thuật toán LEACH [5]
Pha thiết lập
Mỗi vòng hoạt động trong LEACH được bắt đầu bằng pha thiết lập, trong pha thiết lập, bước đầu tiên là lựa chọn nút chủ của từng cụm. Đây là quá trình lựa chọn nút chủ. Ban đầu nút cảm biến tự quyết định có hay không trở thành nút chủ trong vòng hoạt động đó hay không. Việc đưa ra quyết định
này là căn cứ vào tỷ lệ phần trăm mong muốn trở thành nút chủ trong mạng (P) và số lần nút đó đã trở thành nút chủ tính cho đến thời điểm hiện tại. Mỗi nút trong mạng lựa chọn một giá trị ngẫu nhiên (S) trong khoảng 0 và 1.
Nếu giá trị này thấp hơn giá trị ngưỡng T(n), nút trở thành nút chủ của vòng hiện tại, ngược lại, nếu S lớn hơn P thì nút đó là nút thông thường. Giá trị ngưỡng T(n) được xác định bởi công thức [4][5]:
(2.1)
Trong đó:
P = tỉ lệ phần trăm mong muốn trở thành nút chủ của mạng. R là vòng hiện tại.
G là tập các nút chưa trở thành nút chủ trong (1/P) vòng trước đó.
Sử dụng ngưỡng này, mỗi nút sẽ trở thành nút chủ một lần duy nhất trong một chu kỳ 1/P vòng. Cứ hết một chu kỳ 1/P vòng, tất cả nút thiết lập lại giá trị ngẫu nhiên S để bắt đầu một chu kỳ mới. Sau một vòng, giá trị T(n) tăng lên một lượng bằng P và sau 1/P -1 vòng thì T(n)=1, vậy các nút chưa trở thành nút chủ trong 1/P vòng gần nhất chắc chắn sẽ phải đảm nhận vai trò nút chủ tại vòng này. Như vậy, sau 1/P vòng, tất cả nút mạng đủ điều kiện để trở thành nút chủ duy nhất một lần.
Tiếp theo là quá trình thực hiện việc thiết lập cụm. Tức là, sau khi quyết định trở thành nút chủ cho vòng hiện tại, nút chủ phát quảng bá một bản tin Advertisement (ADV) cho nút lân cận. Bản tin này là một bản tin nhỏ chứa ID của nút chủ và một tiêu đề để phân biệt bản tin này là một bản tin thông báo. Nút không phải là nút chủ sẽ phải giữ bộ thu trong suốt thời gian diễn ra pha thiết lập để lắng nghe bản tin Advertisements của nút chủ. Những nút không phải là nút chủ sẽ quyết định nó sẽ nằm trong cụm nào bằng việc
chọn xem nút chủ nào yêu cầu chi phí năng lượng giao tiếp thấp nhất dựa trên cường độ của tín hiệu nhận được từ bản tin quảng bá. Giả sử các kênh truyền là đối xứng, nút chủ có bản tin Advertisement được lắng nghe với cường độ tín hiệu lớn nhất chính là nút cần ít năng lượng nhất cho việc truyền thông.
Hình 2.4: Lưu đồ thuật toán pha thiết lập của LEACH
Sau khi quyết định là thành viên của cụm nào, nút sẽ thông báo cho nút chủ của cụm đó biết. Mỗi nút sẽ phát bản tin “yêu cầu kết nối” (REQ) tới nút chủ. Bản tin này cũng là một bản tin nhỏ, bao gồm ID của nút, ID nút chủ và một phần tiêu đề để phân biệt với bản tin khác. Nút chủ hoạt động như một khối điều khiển trung tâm cục bộ để xử lý dữ liệu gửi từ các nút trong cụm mà nó làm nút
chủ. Nút chủ thiết lập bản tin định thời TDMA và truyền tới các nút trong cụm. Cơ chế này sẽ đảm bảo không có xung đột xảy ra và cho phép nút không phải là nút chủ sẽ không phải hoạt động liên tục, mà chỉ hoạt động khi đến khe thời gian được phân bổ, còn lại, nút chuyển sang trạng thái nghỉ (Sleep State). Như vậy, sử dụng TDMA sẽ tiết kiệm được năng lượng cho nút cảm biến.
Khi bản tin TDMA được truyền đến tất cả nút trong cụm, pha thiết lập đã hoàn thành và bắt đầu cho pha ổn định.
Pha ổn định
Pha ổn định hay pha truyền dữ liệu được chia thành các khung. Mỗi nút sẽ chuyển sang trạng thái hoạt động để gửi dữ liệu của nó tới nút chủ một lần trên một khung trong khe thời gian mà nó được phân bổ. Khe thời gian của nút là cố định trong một vòng, cứ đến khe thời gian đó thì nút tiến hành cảm biến và truyền dữ liệu tới nút chủ.
Số khe thời gian trong một khung dữ liệu phụ thuộc vào số lượng nút trong cụm. Tức là có bao nhiêu nút trong cụm (trừ nút chủ) thì sẽ có bấy nhiêu khe thời gian. Trong thuật toán định tuyến LEACH, số cụm mong muốn trong một vòng (K) được xác định bằng P nhân với tổng số nút trong mạng, nhưng LEACH lại không có cơ chế đảm bảo rằng sẽ có chính xác K