Các ứng dụng của công nghệ cảm biến không dây và đánh giá bằng mô phỏng

THUẬT NGỮ VIẾT TẮT AODV Ad hoc On - Demand Distance - Vector Routing Chuỗi chỉ hướng theo yêu cầu Ad hoc CSMA Carrier Sense Multiple Access Đa truy nhập cảm biến sóng mang DAM Distributed Aggregate Management Giao thức quản lý khối kết hợp phân tán DSDV Destination-Sequenced Distance-Vector Chuỗi chỉ hướng với đích tuần tự DSR Dynamic Source Routing Giao thức định tuyến nguồn động GLONASS Global Navigation Satellite System Hệ thống vệ tinh điều hướng toàn cầu GPS Global Posi

doc118 trang | Chia sẻ: huyen82 | Lượt xem: 1924 | Lượt tải: 4download
Tóm tắt tài liệu Các ứng dụng của công nghệ cảm biến không dây và đánh giá bằng mô phỏng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tioning System Hệ thống định vị toàn cầu HVAC Heating, Ventilation, and Air Conditioning Hơi ấm, thông gió và các điều kiện không khí MAC Medium Access Control Điều khiển truy nhập môi trường NS-2 Network Simulator - 2 Bộ mô phỏng mạng phiên bản 2 PDA Personal Digital Assistant Trợ tá số cá nhân RF Radio Frequency Tần số vô tuyến RFM RF Monolithic Thành phần nguyên khối tần số vô tuyến RKE Remote Keyless Entry Đăng nhập chỉ mục không khoá từ xa SMP Sensor Management Protocol Giao thức quản lý cảm biến SQDDP Sensor Query and Data Dissemination Protocol Giao thức truy vấn cảm biến và phổ biến số liệu SWAN Simulator for Wireless Ad-hoc Networks Mô hình mô phỏng các mạng Ad hoc không dây TADAP Task Assignment and Data Advertisement Protocol Giao thức phân nhiệm vụ và quảng cáo số liệu TDMA Time Division Multiple Access Đa truy nhập phân chia theo thời gian TORA Temporally Ordered Routing Algorithm Thuật toán tìm đường tuần tự theo thời gian UART Universal Asynchronous Receiver Transmitter Bộ thu phát không đồng bộ chung VHDL VHSIC Hardware Description Language Ngôn ngữ mô tả phần cứng Mạch tích hợp mật độ cao WINS Wireless Integrated Network Sensors Cảm biến mạng tích hợp vô tuyến WLAN Wireless Local Area Network Mạng nội hạt vô tuyến WPAN Wireless Personal Area Network Mạng vùng cá nhân vô tuyến LỜI NÓI ĐẦU Trong quá trình phát triển của con người, những cuộc các mạng về công nghệ đóng một vai trò rất quan trọng, chúng làm thay đổi từng ngày từng giờ cuộc sống của con người, theo hướng hiện đại hơn. Đi đôi với quá trình phát triển của con người, những thay đổi do chính tác động của con người trong tự nhiên, trong môi trường sống cũng đang diễn ra, tác động trở lại chúng ta, như ô nhiễm môi trường, khí hậu thay đổi, v.v... Dân số càng tăng, nhu cầu cũng tăng theo, các dịch vụ, các tiện ích từ đó cũng được hình thành và phát triển theo. Đặc biệt là áp dụng các công nghệ của các ngành điện tử, công nghệ thông tin và viễn thông vào trong thực tiễn cuộc sống con người. Công nghệ cảm biến không dây được tích hợp từ các kỹ thuật điện tử, tin học và viễn thông tiên tiến vào trong mục đích nghiên cứu, giải trí, sản xuất, kinh doanh, v.v..., phạm vi này ngày càng được mở rộng, để tạo ra các ứng dụng đáp ứng cho các nhu cầu trên các lĩnh vực khác nhau. Hiện nay, công nghệ cảm biến không dây chưa được áp dụng một các rộng rãi ở nước ta, do những điều kiện về kỹ thuật, kinh tế, nhu cầu sử dụng. Song nó vẫn hứa hẹn là một đích đến tiêu biểu cho các nhà nghiên cứu, cho những mục đích phát triển đầy tiềm năng. Để áp dụng công nghệ này vào thực tế trong tương lai, đã có không ít các nhà khoa học đã tập trung nghiên cứu, nắm bắt những thay đổi trong công nghệ này. Được sự định hướng và chỉ dẫn của Tiến sĩ Đinh Văn Dũng, phòng Nghiên cứu Phát triển Dịch vụ mới và Tự động hóa, Viện Khoa học Kỹ thuật Bưu Điện, em đã chọn đề tài đồ án: “Các ứng dụng của công nghệ cảm biến không dây và đánh giá bằng mô phỏng”. Với mục đích tìm hiểu về mạng cảm biến không dây, dựa trên công nghệ mạng di động tạm thời, triển khai nhanh không cần một cơ sở hạ tầng trong lĩnh vực cảm biến thu nhận dữ liệu. Trong đồ án còn thực hiện một mô phỏng cho mạng cảm biến không dây với mục đích tìm hiểu phương pháp mô hình hoá, mô phỏng mạng và phân tích đánh giá kết quả từ một chương trình mô phỏng. Nội dung của đồ án được thể hiện qua 4 chương: Chương 1: Tổng quan về mạng cảm biến không dây. Chương 2: Các ứng dụng của mạng cảm biến không dây. Chương 3: Mô hình hoá và phần mềm mô phỏng mạng cảm biến không dây. Chương 4: Đánh giá chất lượng dịch vụ QoS của mạng cảm biến không dây. Do kiến thức và khả năng của em còn hạn chế, nên đồ án tốt nghiệp này không tránh khỏi các sai sót. Mong được sự góp ý của các thầy, các cô và các bạn để nội dung đồ án được hoàn thiện hơn. CHƯƠNG 1 TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY 1.1 Giới thiệu về mạng cảm biến không dây Mạng cảm biến không dây (Wireless Sensor Network) bao gồm một tập hợp các thiết bị cảm biến sử dụng các liên kết không dây (vô tuyến, hồng ngoại hoặc quang học) để phối hợp thực hiện các nhiệm vụ cảm biến phân tán về đối tượng mục tiêu. Mạng này có thể liên kết trực tiếp với node quản lý của giám sát viên hay gián tiếp thông qua một điểm thu (Sink) và môi trường mạng công cộng như Internet hay vệ tinh. Các node cảm biến không dây có thể được triển khai cho các mục đích chuyên dụng như giám sát và an ninh; kiểm tra môi trường; tạo ra không gian thông minh; khảo sát, chính xác hóa trong nông nghiệp; y tế;... Lợi thế chủ yếu của chúng là khả năng triển khai hầu như trong bất kì loại hình địa lý nào kể cả các môi trường nguy hiểm không thể sử dụng mạng cảm biến có dây truyền thống được. Việc kết hợp các bộ cảm biến thành mạng lưới ngày nay đã tạo ra nhiều khả năng mới cho con người. Các bộ vi cảm biến với bộ xử lý gắn trong và các thiết bị vô tuyến hoàn toàn có thể gắn trong một kích thước rất nhỏ. Chúng có thể hoạt động trong một môi trường dày đặc với khả năng xử lý tốc độ cao. Do đó, với mạng cảm biến không dây ngày nay, người ta đã có thể khám phá nhiều hiện tượng rất khó thấy trước đây. Ngày nay, các mạng cảm biến không dây được ứng dụng trong nhiều lĩnh vực như các cấu trúc chống lại địa chấn, nghiên cứu vi sinh vật biển, giám sát việc chuyên chở các chất gây ô nhiễm, kiểm tra hệ sinh thái và môi trường sinh vật phức tạp, v.v... 1.2 Mô tả hệ thống tổng quát Các node cảm biến được triển khai trong một trường cảm biến (sensor field) được minh họa trên hình 1.1. Mỗi node cảm biến được phát tán trong mạng có khả năng thu thập thông số liệu, định tuyến số liệu về bộ thu nhận (Sink) để chuyển tới người dùng (User) và định tuyến các bản tin mang theo lệnh hay yêu cầu từ node Sink đến các node cảm biến. Số liệu được định tuyến về phía bộ thu nhận (Sink) theo cấu trúc đa liên kết không có cơ sở hạ tầng nền tảng (Multihop Infrastructureless Architecture), tức là không có các trạm thu phát gốc hay các trung tâm điều khiển, như trong hình 1.1. Bộ thu nhận có thể liên lạc trực tiếp với trạm điều hành (Task Manager Node) của người dùng hoặc gián tiếp thông qua Internet hay vệ tinh (Satellite). Hình 1.1: Mô hình triển khai các node cảm biến không dây Một node cảm biến được tạo lên từ bốn thành phần cơ bản là: bộ cảm biến, bộ xử lý, bộ thu phát không dây và nguồn. Tuỳ theo ứng dụng cụ thể, node cảm biến còn có thể có các thành phần bổ xung như hệ thống tìm vị trí, bộ sinh năng lượng và thiết bị di động. Các thành phần trong một node cảm biến được minh họa trên hình 1.2. Bộ cảm biến thường thường gồm hai đơn vị thành phần là thiết bị cảm biến (Sensor) và bộ chuyển đổi tương tự/số (ADC). Các tín hiệu tương tự có được từ các cảm biến trên cơ sở cảm biến các hiện tượng được chuyển sang tín hiệu số bằng bộ chuyển đổi ADC, rồi mới được đưa tới bộ xử lý. Bộ xử lý, thường kết hợp với một bộ nhớ nhỏ, phân tích thông tin cảm biến và quản lý các thủ tục cộng tác với các node khác để phối hợp thực hiện nhiệm vụ. Bộ thu phát đảm bảo thông tin giữa node cảm biến và mạng bằng kết nối không dây, có thể là vô tuyến, hồng ngoại hoặc bằng tín hiệu quang. Một thành phần quan trọng của node cảm biến là bộ nguồn. Bộ nguồn, có thể là pin hoặc acquy, cung cấp năng lượng cho node cảm biến và không thay thế được nên nguồn năng lượng của node thường là giới hạn. Bộ nguồn có thể được hỗ trợ bởi các thiết bị sinh năng lượng, ví dụ như các tấm pin mặt trời nhỏ. Hầu hết các công nghệ định tuyến trong mạng cảm biến và các nhiệm vụ cảm biến yêu cầu phải có sự nhận biết về vị trí với độ chính xác cao. Do đó, các node cảm biến thường phải có hệ thống tìm vị trí. Các thiết bị di động đôi khi cũng cần thiết để di chuyển các node cảm biến theo yêu cầu để đảm bảo các nhiệm vụ được phân công. Bộ nguồn Bộ sinh năng lượng Sensor Thiết bị xử lý Hệ thống tìm vị trí Thiết bị di động ADC Thiết bị nhớ Bộ cảm biến Bộ xử lý Bộ thu phát Hình 1.2: Các thành phần của node cảm biến 1.3 Các nhân tố ảnh hưởng đến mạng cảm biến không dây 1.3.1 Tiêu thụ nguồn mức thấp Các ứng dụng mạng cảm biến không dây điển hình yêu cầu các thành phần với nguồn tiêu thụ trung bình, thực chất thấp hơn hiện tại được cung cấp trong các bổ xung của các mạng không dây hiện tại giống như Bluetooth. Ví dụ các thiết bị cho các kiểu cảm biến công nghiệp và y tế, các nhãn thông minh, các huy hiệu, được cấp nguồn từ các nguồn pin nhỏ, thời gian tiêu thụ một vài tháng đến một vài năm. Các ứng dụng bao gồm giám sát và điều khiển thiết bị công nghiệp yêu cầu thời gian sống của nguồn pin dài để duy trì sự tồn tại đưa và vào thiết bị được giám sát không được thỏa thuận. Các ứng dụng khác, giống như giám sát môi trường các vùng rộng, có thể yêu cầu một số lượng lớn các thiết bị nên không thể thay đổi nguồn thường xuyên. Hơn nữa, các ứng dụng nào đó không thể tận dụng một nguồn cho tất cả; các node mạng trong các ứng dụng này phải nhận nguồn năng lượng nhờ quá trình khai thác và lọc năng lượng từ môi trường. Một ví dụ của kiểu này là cảm biến áp suất lốp xe, mong muốn nhận được năng lượng từ các nguồn năng lượng cơ hoặc nhiệt hiện diện trong các lốp ô tô thay vì một nguồn có thể yêu cầu được thay thế trước khi lốp chạy. Để bổ xung cho mức tiêu thụ nguồn trung bình, các nguồn năng lượng chính với khả năng nguồn năng lượng trung bình thường có các khả năng nguồn năng lượng đỉnh giới hạn; thực tế này được quan tâm trong thiết kế hệ thống. 1.3.2 Chi phí thấp Vì mạng cảm biến bao gồm một số lượng lớn các node cảm biến nên chi phí sản xuất một node rất quan trọng ảnh hưởng đến giá thành toàn mạng. Nếu chi phí của mạng cao hơn so với việc phát triển các cảm biến truyền thống thì mạng cảm biến là không chấp nhận được. Như vậy, giá thành một node cảm biến cần phải giữ ở mức thấp. Hiện nay, chi phí sản xuất của một node cảm biến phải thấp hơn 1Dollar thì mạng mới có thể thực hiện được. Các node cảm biến ngoài các thành phần chính là bộ cảm biến chuyên dụng, hệ thống thu phát vô tuyến, bộ xử lý, nguồn nuôi, còn phải trang bị thêm các thiết bị khác để có khả năng tìm vị trí, di động, tạo năng lượng, v.v... tuỳ theo ứng dụng cụ thể. Do đó, chi phí sản xuất trở thành một thách thức khi một khối lượng các chức năng được giới hạn trong giá thành thấp hơn 1 Dollar. 1.3.3 Mức độ khả dụng Nhiều ứng dụng được đề xuất của mạng cảm biến không dây, giống như các thẻ hành lý không dây và các hệ thống định vị container tàu hàng, yêu cầu mạng có mức độ khả dụng cao. Hơn nữa, để tăng sản lượng, mức tiếp thị, mua bán, và hiệu quả phân tán của sản phẩm mà có thể có các thiết bị mạng cảm biến không dây được nhúng trong chúng, và để tránh quá trình hình thành những thay đổi trong vùng khác nhau phải được giám sát riêng lẻ thông qua (có thể là riêng rẽ) dây truyền phân tán, do đó mong muốn cung cấp các thiết bị mà có khả năng vận hành trên khắp thế giới. Dù vậy, theo lý thuyết, khả năng này có thể được sử dụng bởi việc tận dụng các bộ thu nhận GPS (Global Positioning System) hoặc GLONASS (Global Navigation Satellite System) trong mỗi node mạng và điều chỉnh node cách thức hoạt động theo vị trí của nó, chi phí để thêm một bộ thu nhận thứ hai, cộng thêm tính mềm dẻo để thực thi bổ xung được yêu cầu để nhận các yêu cầu khắp thế giới khác nhau, về phương diện kinh tế phương pháp này là không tồn tại. Bởi vậy, mong muốn tận dụng một băng thông đơn - có ít trong các yêu cầu điều luật cảu chính phủ từ quốc gia đến quốc gia - để tăng cực đại toàn bộ thị trường tiêu thụ cho các mạng cảm biến không dây. 1.3.4 Kiểu mạng Một mạng star thông thường tận dụng một thiết bị master đơn và một hoặc nhiều hơn thiết bị slave có thể thoả mãn nhiều ứng dụng. Bởi vì công suất truyền dẫn của các thiết bị mạng bị giới hạn bởi các điều luật chính phủ và các công ty cung cấp nguồn nuôi battery-life, tuy nhiên, thiết kết mạng này sẽ hạn chế phạm vi vật lý một mạng có thể phục vụ đến phạm vi của một thiết bị đơn (master). Khi phạm vi bổ xung được yêu cầu, các kiểu mạng hỗ trợ định tuyến multi-hop (ví dụ các kiểu mesh hoặc cluster) phải được tận dụng; bộ nhớ bổ xung và chi phí tính toán cho các bảng hoặc thuật toán định tuyến, trong quá trình bổ xung overhead bảo trì mạng, phải được hỗ trợ không cần chi phí thừa hoặc mức tiêu thụ nguồn. Để được xác nhận cho nhiều ứng dụng, các mạng cảm biến có bậc tương đối lớn (>256 node); mật độ thiết bị cũng có thể cao (ví dụ trong các ứng dụng thẻ báo giá trong siêu thị). 1.3.5 Bảo mật Bảo mật trong mạng cảm biến không dây có hai vấn đề có giá trị quan trọng - bảo mật thực tế mạng như thế nào và bảo mật mạng như thế nào được nhận biết do người sử dụng và (đặc biệt) là người sử dụng tiềm năng. Việc nhận biết bảo mật là vấn đề quan trọng bởi vì người sử dụng có một mối lo tự nhiên là khi dữ liệu của họ (hoặc bất cứ thứ gì có thể) được truyền dẫn qua không khí cho bất cứ ai để nhận. Thường, một ứng dụng tận dụng mạng cảm biến không dây thay thế một phiên bản có dây mà người sử dụng có thể nhìn thấy tự nhiên các dây dẫn hoặc các cấp tải thông tin, và biết, chắc chắn hợp lý, rằng không có ai cũng có thể nhận được thông tin hoặc xen thông tin sai lệch vào chúng đến nơi nhận. Ứng dụng không dây phải làm việc để chiếm lại độ tin cậy đã đảm bảo với thị trường rộng lớn được yêu cầu với chi phí thấp hơn. Tuy nhiên, bảo mật hơn nữa là quá trình mã hoá đúng bản tin. Thực tế, trong nhiều ứng dụng, quá trình mã hoá (quá trình giữ một bí mật hoặc một riêng tư bản tin) không phải là một mục đích bảo mật quan trọng của các mạng cảm biến không dây. Thường, các mục đích bảo mật quan trọng là đảm bảo rằng nhiều bản tin được nhận không bị sửa đổi theo nhiều con con đường từ người gửi nó với nội dung đó. Tuy nhiên, điều gì quan trọng hơn, máy nghe trộm cố ý trên đường không thể xen các bản tin lỗi hoặc đã sửa đổi vào mạng cảm biến không dây, ví dụ có thể nguyên nhân do đèn bật và tắt một cách ngẫu nhiên. Các yêu cầu này là một kiểu bảo mật thứ hai, quá trình xác nhận đúng bản tin hoặc kiểm tra tính nguyên vẹn của bản tin, mà nó được thực hiện bởi việc gắn một MIC (Message Integrity Code) phụ thuộc bản tin và người gửi vào bản tin được truyền phát. (Trong các trường bảo mật, MIC thường được giới hạn MAC (Message Authentication Code) nhưng MIC được sử dụng trong văn bản này để tránh được sự xáo trộn có thể với lớp MAC của ngăn xếp giao thức OSI). Người thu mong muốn và người gửi chia sẻ một khoá, nó được sử dụng bởi người gửi tạo ra MIC phù hợp với người nhận để phê chuẩn tính nguyên vẹn của bản tin và định dạng người gửi. Để tránh “replay attacks”, trong một máy nghe trộm ghi nhận một bản tin và truyền phát lại nó sau đó, một bộ đếm hoặc bộ định thời bản tin được gộp lại trong trường tính toán MIC. Trong cách này, không có hai bản tin xác thực - thậm chí chứa cùng dữ liệu - được nhận dạng. Về bảo mật, người thiết kế mạng cảm biến không dây gặp phải ba vấn đề khó khăn: Chiều dài MIC, để phù hợp với kế hoạch bảo mật tại mọi nơi, phải được cân bằng với chiều dài điển hình của dữ liệu được truyền phát, và mong muốn cho các bản tin được truyền phát ngắn. Dù vậy, một MIC 16-byte (128 bit) thường được đưa ra như một thiết yếu cho hầu hết các hệ thống bảo mật, nó trở nên cồng kênh khi dữ liệu bit đơn được truyền đi (ví dụ bật, tắt). Người thiết kế có thể cân bằng các yêu cầu bảo mật của nhiều người sử dụng với các yêu cầu nguồn thấp của mạng. Chú ý rằng điều này có thể bao gồm các lựa chọn chiều dài MIC, phù hợp với các quá trình kết hợp xác nhận bản tin, kiểm tra tính toàn vẹn, và mã hoá - và phải được thực hiện tự động, giống như một phần của một mạng tự tổ chức. Để tối thiểu hoá chi phí các thiết bị mạng, các tính năng bảo mật phải có khả năng bổ xung với phần cứng rẻ, với một bổ xung tối thiểu các cổng logic, RAM, và ROM. Thêm nữa, công suất tính toán (ví dụ tốc độ đồng hồ máy vi tính, số lượng các hạt xử lý có sẵn, v.v…) có sẵn trong hầu hết các thiết bị mạng là rất giới hạn. Sự kết hợp này của số lượng cổng thấp, các yêu cầu bộ nhớ nhỏ, và số lượng lệnh thực thi thấp giới hạn các kiểu các thuật toán bảo mật mà có thể được sử dụng. Cuối cùng, vấn đề khó khăn nhất để giải quyết phổ biến là quá trình phân tán khoá. Nhiều phương pháp có hiệu lực, bao gồm một vài kiểu của mật mã hoá khoá công cộng tận dụng khoá chuyên dụng tải trên các thiết bị và các loại khoá khác nhau của quá trình can thiệp của người sử dụng trực tiếp. Tất cả đều có những ưu điểm và nhược điểm khi được sử dụng trong một hệ thống nhất định; người thiết kế mạng cảm biến phải lựa chọn một mà thích hợp nhất cho ứng dụng trong tầm kiểm soát. Các mạng cảm biến có các yêu cầu bổ xung, bao gồm yêu cầu cho tỷ lệ phân chia đến các mạng rộng lớn, dung sai lỗi, và yêu cầu để vận hành trong sự đa dạng rộng lớn trong các môi trường đối nghịch một cách hợp lý. Mặc dù việc thiết kế một mạng như vậy để nhận được các yêu cầu có thể coi như là đã nản chí, người thiết kế của một mạng cảm biến không dây không cần các công cụ. Các yêu cầu về nguồn và chi phí chặt chẽ hình thành các yêu cầu khôn bắt buộc trong các phạm vi khác. 1.3.6 Thông lượng dữ liệu Khi đề cập ngay đầu tiên, các mạng cảm biến không dây có giới hạn về các yêu cầu thông lượng dữ liệu khi so sánh với Bluetooth (IEEE 802.15.1) và với các mạng WPAN và WLAN khác.Với các mục đích thiết kế, tốc độ dữ liệu mong muốn cực đại, khi tính toán trung bình qua mộ chu kỳ một giờ, có thể thiết lập là 512b/s (64 byte/s), dù vậy phác họa này có phần tuỳ tiện. Tốc độ dữ liệu điển hình được mong đợi có ý nghĩa đáng kể dưới điều này; có thể 1 b/s hoặc thấp hơn trong một vài ứng dụng. Chú ý rằng đây là thông lượng dữ liệu, không phải là tốc độ dữ liệu ban đầu khi truyền phát qua kênh, có thể cao hơn đáng kể. Lượng thông lượng dữ liệu được yêu cầu thấp này gợi ý rằng với nhiều số lượng overhead giao thức có ích (ví dụ các header, trường địa chỉ,v.v…), hiệu quả truyền thông của mạng sẽ rất thấp đặc biệt khi so sánh ngược lại với mạng gửi các gói TCP/IP có thể dài 1500 byte. Không có vấn đề gì khi thiết kế được lựa chọn, hiệu quả sẽ rất thấp, và trong tình thế đó, có thể được nhìn thấy một cách rõ ràng: người thiết kế giao thức có khả năng phác hoạ tự ý mối quan tâm hiệu quả truyền thông, thường là một tham số quyết định trong thiết kế giao thức. 1.3.7 Trễ bản tin Các mạng cảm biến có các yêu cầu QoS rất rộng, bởi vì, phổ biến, chúng không hỗ trợ truyền thông đẳng thời hoặc đồng bộ, và có các giới hạn thông lượng dữ liệu ngăn cản quá trình truyền phát video và voice thời gian thực, trong nhiều ứng dụng. Yêu cầu trễ bản tin cho các mạng cảm biến không dây vì vậy rất thoải mái trong sự so sánh nó với các mạng WPAN khác; trong nhiều ứng dụng, một độ trễ và giây hoặc vài phút có thể chấp nhận tương đối. 1.3.8 Tính di động Các ứng dụng mạng cảm biến không dây, phổ biến, không yêu cầu tính động. Bởi vì mạng được giải phóng từ gánh nặng của quá trình nhận dạng các đường định tuyến truyền thông mở, các mạng cảm biến không dây mang overhead lưu lượng điều khiển ít hơn và có thể tận dụng các phương pháp định tuyến đơn giản hơn so với mạng di động Ad hoc. 1.4 Đặc điểm của mạng cảm biến không dây 1.4.1 Kích thước vật lý nhỏ Trong bất kỳ hướng phát triển công nghệ nào, kích thước và công suất tiêu thụ luôn chi phối khả năng xử lý, lưu trữ và tương tác của các thiết bị cơ sở. Việc thiết kế các phần cứng cho mạng cảm biến phải chú trọng đến giảm kích cỡ và công suất tiêu thụ với yêu cầu nhất định về khả năng hoạt động. Việc sử dụng phần mềm phải tạo ra các hiệu quả để bù lại các hạn chế của phần cứng. 1.4.2 Hoạt động đồng thời với độ tập trung cao Phương thức hoạt động chính của các thiết bị trong mạng cảm biến là cảm biến và vận chuyển các dòng thông tin với khối lượng xử lý thấp, gồm các hoạt động nhận một lệnh, dừng, phân tích và đáp ứng lại. Ví dụ, thông tin cảm biến có thể được thu nhận đồng thời bởi các cảm biến, được thao tác và truyền lên mạng. Hoặc dữ liệu có thể được node cảm biến nhận từ các node cảm biến khác và được hướng tới định tuyến đa liên kết hay liên kết cầu. Vì dung lượng bộ nhớ trong nhỏ nên việc đệm một khối lượng lớn dữ liệu giữa dòng vào và dòng ra là không khả thi. Hơn nữa, mỗi dòng lại tạo ra một số lượng lớn các sự kiện mức thấp xen vào hoạt động xử lý mức cao. Một số hoạt động xử lý mức cao sẽ kéo dài trên nhiều sự kiện thời gian thực. Do đó, các node mạng phải thực hiện nhiều công việc đồng thời và cần phải có sự tập trung xử lý cao độ. 1.4.3 Khả năng liên kết vật lý và phân cấp điều khiển hạn chế Số lượng các bộ điều khiển độc lập, các khả năng của bộ điều khiển, sự tinh vi của liên kết xử lý - lưu trữ - chuyển mạch trong mạng cảm biến thấp hơn nhiều trong các hệ thống thông thường. Điển hình, bộ cảm hay bộ truyền động (actuator) cung cấp một giao diện đơn giản trực tiếp tới một bộ vi điều khiển chip đơn. Ngược lại, các hệ thống thông thường, với các hoạt động xử lý phân tán, đồng thời kết hợp với một loạt các thiết bị trên nhiều mức điều khiển được liên hệ bởi một cấu trúc bus phức tạp. Các hạn chế về kích thước và công suất, khả năng định hình vật lý trên vi mạch bị giới hạn có chiều hướng cần hỗ trợ quản lý dòng đồng thời, tập trung nhờ bộ xử lý kết hợp. 1.4.4 Tính đa dạng trong thiết kế và sử dụng Các thiết bị cảm biến được nối mạng có khuynh hướng dành riêng cho ứng dụng cụ thể, tức là mỗi loại phần cứng chỉ hỗ trợ riêng cho ứng dụng của nó. Vì có một phạm vi ứng dụng cảm biến rất rộng nên cũng có thể có rất nhiều kiểu thiết bị vật lý khác nhau. Với mỗi thiết bị riêng, điều quan trọng là phải dễ dàng tập hợp các thành phần phần mềm để có được ứng dụng từ các thành phần phần cứng. Như vậy, các loại thiết bị này cần một sự điều chỉnh phần mềm ở một mức độ nào đó để có được hiệu quả sử dụng phần cứng cao. Môi trường phát triển chung là cần thiết để cho phép các ứng dụng riêng có thể xây dựng trên một tập các thiết bị mà không cần giao diện phức tạp. Ngoài ra, cũng có thể chuyển đổi giữa phạm vi phần cứng với phần mềm trong khả năng công nghệ. 1.4.5 Hoạt động tin cậy Các thiết bị có số lượng lớn, được triển khai trong phạm vi rộng với một ứng dụng cụ thể. Việc áp dụng các kỹ thuật mã hóa sửa lỗi truyền thống nhằm tăng độ tin cậy của các đơn vị riêng lẻ bị giới hạn bởi kích thước và công suất. Việc tăng độ tin cậy của các thiết bị lẻ là điều cốt yếu. Thêm vào đó, chúng ta có thể tăng độ tin cậy của ứng dụng bằng khả năng chấp nhận và khắc phục được sự hỏng hóc của thiết bị đơn lẻ. Như vậy, hệ thống hoạt động trên từng node đơn không những mạnh mẽ mà còn dễ dàng phát triển các ứng dụng phân tán tin cậy. 1.5 Kiến trúc và giao thức mạng cảm biến không dây Ngăn xếp giao thức được sử dụng trong bộ thu nhận (node Sink) và tất cả các node cảm biến được minh họa trong hình 1.3. Ngăn xếp giao thức này phối hợp các tính toán về định tuyến và năng lượng, kết hợp số liệu với các giao thức mạng, truyền tin với hiệu quả về năng lượng thông qua môi trường không dây và tăng cường sự hợp tác giữa các node cảm biến. Ngăn xếp giao thức bao gồm lớp ứng dụng (Application Layer), lớp giao vận (Transport Layer), lớp mạng (Network Layer), lớp liên kết số liệu (Datalink Layer), lớp vật lý (Physical Layer), mặt bằng quản lý năng lượng (Power Management Plane), mặt bằng quản lý di động (Mobility Management Plane) và mặt bằng quản lý nhiệm vụ (Task Management Plane). Hình 1.3: Ngăn xếp giao thức mạng cảm biến không dây Tuỳ theo nhiệm vụ cảm biến, các kiểu phần mềm ứng dụng có thể được xây dựng và sử dụng trên lớp ứng dụng. Lớp giao vận giúp duy trì dòng số liệu khi các ứng dụng của mạng cảm biến yêu cầu. Lớp mạng tập trung vào việc định tuyến số liệu được cung cấp bởi lớp giao vận. Do môi trường có nhiễu và các node cảm biến có thể di động được, giao thức MAC phải được tính toán về năng lượng và tối thiểu hóa va chạm trong việc phát quảng bá với các node lân cận. Lớp vật lý sử dụng các kỹ thuật điều chế, truyền và nhận cần thiết đơn giản nhưng mạnh mẽ. Thêm vào đó, các mặt bằng quản lý năng lượng, di động và nhiệm vụ điều khiển sự phân phối năng lượng, phối hợp di chuyển và nhiệm vụ giữa các node cảm biến. Các mặt bằng này giúp cho các node cảm biến có thể phối hợp trong nhiệm vụ cảm biến và giảm được tổng năng lượng tiêu thụ. Mặt bằng quản lý năng lượng quản lý việc một node cảm biến sử dụng năng lượng của nó như thế nào. Ví dụ, node cảm biến có thể tắt bộ phận nhận sau khi nhận một bản tin từ một trong các node lân cận. Điều này có thể tránh được việc nhận bản tin tới hai lần. Ngoài ra, khi mức năng lượng của node cảm biến thấp, node cảm biến sẽ thông báo tới tất cả các node lân cận rằng mức năng lượng thấp của nó đã thấp nên nó không thể tham gia vào việc định tuyến cho các bản tin. Năng lượng còn lại được dự trữ cho việc cảm biến. Mặt bằng quản lý di động dò tìm và ghi lại chuyển động của node cảm biến, vì thế một tuyến đường hướng tới node user luôn được duy trì và các node cảm biến có thể theo dõi được các node cảm biến lân cận. Với việc nhận biết được các node cảm biến lân cận, node cảm biến có thể cân bằng giữa nhiệm vụ và năng lượng sử dụng. Mặt bằng quản lý nhiệm vụ cân bằng và sắp xếp nhiệm vụ cảm biến cho một vùng cụ thể. Không phải tất cả các cảm biến trong vùng đó được yêu cầu thực nhiệm vụ cảm nhận tại cùng một thời điểm. Kết quả là một vài node cảm biến thực hiện nhiệm vụ nhiều hơn các node khác tuỳ theo mức năng lượng của chúng. Những mặt quản lý này rất cần thiết, như vậy, các node cảm biến có thể làm việc cùng với nhau để có hiệu quả về mặt năng lượng, có thể định tuyến số liệu trong một mạng cảm biến di động và chia sẻ tài nguyên giữa các node cảm biến. Nếu không, mỗi node cảm biến sẽ chỉ làm việc một cách đơn lẻ. Xuất phát quan điểm xem xét trong toàn mạng cảm biến, sẽ hiệu quả hơn nếu các node cảm biến có thể hoạt động hợp tác với nhau, như thế cũng có thể kéo dài tuổi thọ của mạng. 1.5.1 Lớp ứng dụng Mặc dù nhiều lĩnh vực ứng dụng cho mạng cảm biến được vạch rõ và được đề xuất, các giao thức lớp ứng dụng còn tiềm tàng cho mạng cảm biến vẫn còn là một vùng rộng lớn chưa được khám phá. Trong phần này, chúng ta sẽ khảo sát ba giao thức lớp ứng dụng quan trọng là giao thức quản lý cảm biến SMP (Sensor Management Protocol), giao thức phân nhiệm vụ và quảng cáo số liệu TADAP (Task Assignment and Data Advertisement Protocol), giao thức truy vấn cảm biến và phổ biến số liệu SQDDP (Sensor Query and Data Dissemination Protocol), rất cần thiết cho mạng cảm biến trên cơ sở những sơ đồ được đề xuất có liên quan tới những lớp khác và các lĩnh vực ứng dụng mạng cảm biến. Tất cả các giao thức lớp ứng dụng này đều là những vấn đề nghiên cứu có tính mở. 1.5.2 Lớp giao vận Lớp giao vận cung cấp các dịch vụ tổ chức liên lạc đầu cuối từ các node cảm biến có báo cáo cần chuyển tới node thu nhận (Sink) và node người sử dụng. Lớp giao vận đặc biệt cần thiết khi hệ thống có kế hoạch truy nhập thông qua Internet hoặc những mạng bên ngoài khác. Giao thức TCP với cơ chế cửa sổ truyền dẫn chưa phù hợp với đặc trưng của môi trường mạng cảm biến hiện nay. Do đó, việc thiết lập một liên kết đầu cuối từ các node cảm biến trực tiếp đến node quản lý của người sử dụng là không hiệu quả. Phương pháp phân tách TCP là cần thiết để mạng cảm biến tương tác với các mạng khác ví dụ như Internet. Trong phương pháp này, kết nối TCP được sử dụng để liên lạc giữa node quản lý của người sử dụng và node thu nhận (Sink) và một giao thức lớp giao vận phù hợp với môi trường mạng cảm biến được sử dụng cho truyền thông giữa node thu nhận và các node cảm biến. Kết quả là truyền thông giữa node người sử dụng và node thu nhận có thể sử dụng giao UDP hoặc TCP thông qua Internet hoặc qua vệ tinh. Mặt khác, việc truyền thông giữa node thu nhận và các node cảm biến chỉ sử dụng hoàn toàn các giao thức kiểu như UDP, bởi vì các node cảm biến có bộ nhớ hạn chế. Không giống các giao thức kiểu như TCP, các phương pháp truyền thông đầu cuối (end to end) trong mạng cảm biến không địa chỉ toàn cục. Các phương pháp này dựa trên việc đặt tên thuộc tính cơ sở để chỉ ra điểm đích của gói số liệu. Các nhân tố như tiêu thụ năng lượng, khả năng mở rộng và các đặc trưng như định tuyến tập trung số liệu khiến cho mạng cảm biến cần phải có những cơ chế khác trong lớp giao vận. Yêu cầu này nhấn mạnh sự cần thiết của những loại giao thức mới ở lớp giao vận. 1.5.3 Lớp mạng Các node cảm biến được phân bố dày đặc trong một trường ở gần hoặc ở ngay bên trong các hiện tượng mục tiêu như trong hình 1.1. Giao thức định tuyến không dây đa bước phù hợp giữa node cảm biến và node Sink là cần thiết. Kỹ thuật định tuyến trong mạng Ad hoc thông thường không phù hợp những yêu cầu của mạng cảm biến. Lớp mạng của mạng cảm biến được thiết kế theo những nguyên tắc sau : Hiệu suất năng lượng luôn là yếu tố quan trọng. Hầu hết các mạng cảm biến là số liệu tập trung. Việc tập hợp số liệu chỉ được thực thi khi nó không cản trở hoạt động hợp tác của các node cảm biến. Một mạng cảm biến lý tưởng phải nhận biết được việc đánh địa chỉ thuộc tính cơ sở và vị trí. 1.5.4 Lớp liên kết số liệu Lớp liên kết số liệu chịu trách nhiệm ghép kênh cho các dòng số liệu và tách khung số liệu, điều khiển truy nhập môi trường và sửa lỗi. Nó đảm bảo sự tin cậy cho kết nối điểm - điểm (Point to Point) và điểm - đa điểm (Point to Multipoint) trong mạng truyền thông. Hai phần dưới sẽ trình bày về chiến lược truy nhập môi trường truyền dẫn và điều khiển sửa lỗi cho mạng cảm biến. 1.5.5 Lớp vật lý Lớp vật lý chịu trách nhiệm lựa chọn tần số, tạo tần số mang, tách sóng, điều chế và mã hoá số liệu. Kế hoạch chọn tần số đã được trình bày trong bảng 1.2. Việc tạo tần số và tách sóng thuộc phạm vi thiết kế phần cứng và bộ thu phát nên sẽ không được xem xét ở đây. Các phần tiếp theo sẽ chú trọng về các hiệu ứng phát sóng, hiệu suất năng lượng và các phương pháp điều chế trong mạng cảm biến. Hiển nhiên là truyền thông vô tuyến với khoảng cách xa là rất tốn kém xét cả về năng lượng và độ phức tạp của hoạt động. Trong khi thiết kế lớp vật lý cho mạng cảm biến, việc tối thiểu hoá năng lượng được coi là rất quan trọng, ngoài ra còn các vấn đề về suy hao, phát tán, vật cản, phản xạ, nhiễu, các hiệu ứng fading đa đường. Thông thường, công suất đầu r._.a tối thiểu để chuyển một tín hiệu qua một khoảng cách d tỷ lệ với dn , trong đó 2 ≤ n < 4. Số mũ n gần 4 với antenna tầm thấp và các kênh gần mặt đất điển hình trong mạng cảm biến. Nguyên nhân là do sự triệt tiêu một phần tín hiệu bởi tia phản xạ mặt đất. Để giải quyết vấn đề này, người thiết kế phải hiểu rõ các đặc tính đa dạng cố hữu và khai thác chúng một cách triệt để. Ví dụ, truyền thông qua nhiều bước nhảy trong mạng cảm biến có thể vượt qua một cách hiệu quả các vật chắn và các hiệu ứng suy hao đường truyền nếu mật độ node mạng đủ lớn. Tương tự, trong khi suy hao đường truyền và dung lượng kênh hạn chế độ tin cậy của số liệu thì nhờ đó ta có thể sử dụng lại tần số theo không gian. Dải tần (kHz) Tần số trung tâm (kHz) 6765 - 6795 6780 12.553 - 13.567 14 26.957 - 27.283 27 40.66 - 40.70 40.68 433.05 - 434.79 433.92 902 - 928 915 2400 - 2500 2450 5725 - 5875 5800 24 - 24.25 24 61 - 61.5 61.25 122 - 123 122.5 244 - 246 245 Bảng 1.1: Các dải tần dành cho các ứng dụng Công nghiệp, khoa học và y tế ISM (Industrial, Scientific and Medical) Việc lựa chọn phương thức điều chế tốt để là vấn đề quyết định đối với sự tin cậy trong truyền thông của mạng cảm biến. Trong khi một phương pháp điều chế cơ số M có thể giảm có thể giảm thời gian truyền dẫn bằng việc gửi nhiều bit trên một kí hiệu thì nó lại làm tăng độ phức tạp của mạch điện và tăng công suất vô tuyến. Với điều kiện công suất khởi kích vượt trội thì phương pháp điều chế cơ số hai có hiệu quả về năng lượng hơn. Vì thế, phương pháp điều chế cơ số M chỉ có lợi với các hệ thống có công suất khởi kích thấp. Thiết bị băng tần cực rộng UWB (Ultrawideband) hay vô tuyến xung IR (Impulse Radio) từng được sử dụng cho hệ thống radar xung băng tần gốc và các hệ thống đo khoảng cách, gần đây được chú ý trong các ứng dụng thông tin đặc biệt là các mạng không dây trong nhà. UWB truyền dẫn với băng tần gôc nên không cần các tần số mang hoặc trung tần. Thông thường, điều chế vị trí xung được sử dụng. Ưu điểm chính của UWB là khả năng mau phục hồi với đối với hiên tượng phát đa đường. Việc sử dụng công suất truyền thông thấp và thiết kế mạch đơn giản đã làm cho UWB rất thích hợp với các mạng cảm biến. 1.6 Các hỗ trợ truyền thông cho mạng cảm biến không dây 1.6.1 Hệ điều hành TinyOS Hệ điều hành TinyOS cung cấp các khái niệm trừu tượng các thiết bị vật lý rất thuận tiện và những thực thi phối hợp mức cao các nhiệm vụ chung. Mục đích này là thách thức đặc biệt bởi vì sự ràng buộc ngữ cảnh tài nguyên và các thiết bị ứng dụng riêng biệt cao. Một ứng dụng TinyOS bao gồm một bộ lập lịch (scheduler) và các thành phần (component). Mỗi một thành phần được mô tả bởi giao diện của nó và sự thực thi bên trong của nó, trong một kiểu tương tự như các ngôn ngữ mô tả phần cứng, giống như VHDL (VHSIC(Mạch tích hợp mật độ rất cao) Hardware Description Language) và Verilog (một công cụ mô phỏng số các Cadence Design System). Một giao diện bao gồm các lệnh đồng bộ và các sự kiện không đồng bộ. Mỗi thành phần có giao diện cao hơn bên trên để đặt tên cho các lệnh để thực thi và các sự kiện để báo hiệu, và một giao diện thấp hơn mà nó đặt tên cho các lệnh để sử dụng và các sự kiện để điều khiển. Sự thực thi này được viết nên nhờ sử dụng không gian tên giao diện. Một thành phần cũng có phần lưu trữ nội bộ, được cấu trúc thành một khung, và trùng hợp nội bộ, trong một khuôn dạng các luồng trọng lượng rất nhẹ gọi là các tác vụ (task). Các bộ điều khiển lệnh, sự kiện và tác vụ được khai báo rõ ràng trong nguồn tài nguyên. Các vùng trọng tâm nơi một lệnh bên ngoài được gọi, được báo hiệu sự kiện, hoặc được gửi tác vụ, cũng rất rõ ràng trong các đoạn mã tĩnh, giống như là các đoạn tham khảo tới phần lưu trữ khung. Mô tả các ứng dụng riêng rẽ chỉ ra rằng làm thế nào để các giao diện cùng mức hình thành tổng thể kết cấu ứng dụng. Một sự kiện có thể được phát tán tới nhiều thành phần hoặc nhiều thành phần có thể sử dụng cùng một lệnh. Vì vậy, dù ứng dụng là các module, bộ biên dịch vẫn có thông tin tĩnh để sử dụng trong quá trình tối ưu hóa chéo qua toàn ứng dụng (entire application), bao gồm cả hệ thống vận hành. Để bổ xung, mô hình thực thi thời gian thực và mô hình lưu trữ mức duới có thể được tối ưu hoá cho các nền tảng cụ thể. Một lược đồ ứng dụng điển hình được chỉ trong hình 1.4, chứa đựng một ngăn xếp vô tuyến, một ngăn xếp cổng nối tiếp UART (Universal Asynchronous Receiver Transmitter), các ngăn xếp cảm biến, và node mở mạng mức cao hơn, và định tuyến chuyên dụng để hỗ trợ bộ thu dữ liệu cảm biến phân tán. Ứng dụng nguyên khối này chiếm dụng khoảng 3Kb. Mô hình trùng hợp TinyOS (TinyOS concurrency model) là một mô hình phân cấp lập lịch hai mức, ở đó các sự kiện đón trước các tác vụ, và các tác vụ này không đón trước các tác vụ khác. Phần lớn cách hoạt động nằm trong một dạng các chuyển giao trạng thái nonblocking. Trong vòng một tác vụ, các lệnh có thể được gọi tới, một lệnh có thể gọi các lệnh cấp dưới, hoặc nó có thể đẩy các tác vụ tiếp tục làm việc hợp lý song song với các lời triệu gọi của nó. Theo quy ước, tất cả các lệnh trả về một chỉ thị trạng thái sau dù lệnh đã được công nhận hay không, để cung cấp một cái bắt tay (handshake) đầy đủ. Do đó tất cả các thành phần đều có giới hạn lưu trữ, một thành phần có thể cho phép từ trối các lệnh. Một lệnh có thể khởi tạo một toán tử, ví dụ, nhờ truy cập đến một cảm biến hoặc gửi một thông báo, di chuyển toán tử được tải ra ngoài đồng thời với các kích hoạt khác, nhờ sử dụng song song phần cứng hoặc các tác vụ. Các sự kiện được khởi tạo tại mức thấp nhất nhờ các ngắt phần cứng. Các sự kiện có thể báo hiệu cho các sự kiện ở mức cao hơn, gọi các lệnh, hoặc đẩy lên các tác vụ. Các lệnh không thể báo hiệu cho các sự kiện. Dù vậy, một sự kiện riêng rẽ có thể truyền qua nhiều mức các thành phần, gây ra kích hoạt phụ. Mỗi khi công việc không thể hoàn tất trong một khoảng thời gian nhỏ có giới hạn, thành phần có thể ghi lại thông tin liên tục trong khung làm việc của nó và đẩy lên một tác vụ để hoàn thành công việc. Theo quy ước, các thành phần trừu tượng hoá phần cứng mức thấp thực thi quá trình ngắt vừa đủ để cho phép các ngắt hoạt động trước khi báo hiệu sự kiện. Các sự kiện (hoặc các tác vụ được đẩy lên trong vòng các sự kiện) thực hiện các hoạt động split-phase được khởi tạo bởi các lệnh, báo hiệu đến thành phần mức cao hơn để hoạt động được hoàn thành và có thể thông qua dữ liệu của nó. Hình 1.4: Một biểu đồ thành phần ứng dụng mạng Bản tin kích hoạt (AM - Active Message) là một kiểu đơn giản, mở rộng cho truyền thông dựa trên bản tin (message-based) nhờ sử dụng các cuộc gọi thủ tục. Mỗi thông điệp chứa đựng tên một điều khiển được triệu gọi tới một node đích theo hướng đến, và một tải trọng dữ liệu. Chức năng điều khiển handler phục vụ cho hai mục đích là lấy bản tin từ mạng và kết hợp dữ liệu vào đến máy tính hoặc gửi đi một đáp ứng. Kiểu truyền thông AM là kiểu điều khiển sự kiện và được thiết kế riêng cho phép một ngăn xếp truyền thông rất nhỏ để xử lý trực tiếp các gói ra khỏi mạng, trong khi đó nó hỗ trợ một dải rộng các ứng dụng. Khởi tạo một AM bao gồm các chỉ định về các đối số dữ liệu, đánh tên điều khiển handle, yêu cầu truyền dẫn, dò tìm đầy đủ hướng truyền đi. Quá trình nhận AM bao gồm triệu gọi điều khiển handle trên một bản sao của dữ liệu truyền đi. Lệnh bản tin gửi đi nhận dạng các phía nhận theo yêu cầu, điều khiển handle sẽ xử lý bản tin gửi hướng đến và bộ đệm bản tin đầu ra nguồn trong khung nội hạt. Một bản đăng ký điều khiển handle được giữ lại, và bộ nhận dạng cho điều khiển handle tên được lấy ra. Bắt tay (handshake) trạng thái cho lệnh này minh họa khái niệm tổng quát các thành phần quản lý giới hạn các tài nguyên của chúng. Thành phần bản tin có thể từ chối yêu cầu gửi đi, ví dụ, nếu nó đang bận truyền đi hoặc nhận một bản tin và không có các tài nguyên mà gửi đến hàng đợi được yêu cầu. Để phản hồi lại sự kiện này là các chỉ định ứng dụng. Sự kiện bản tin đến tương tự với các sự kiện khác. Một sự khác biệt chính là thành phần AM phát đi sự kiện đến thành phần với điều khiển handle bản tin kết hợp. Nhiều thành phần có thể đăng ký một hoặc nhiều điều khiển handle bản tin. Ngoài ra, đầu vào bộ điều khiển handle là một tham khảo đến một bộ đệm bản tin được cung cấp bởi thành phần AM. Quản lý lưu trữ bộ đệm là một vấn đề khó khăn trong một ngăn xếp truyền thông bởi vì lý do sau phải được thảo luận: Đóng gói dữ liệu sử dụng với thông tin header và trailer vận chuyển. Xác định khi nào việc lưu trữ dữ liệu bản tin đi có thể được dừng lại, và Cung cấp một bộ đệm đầu vào cho một bản tin đến trước khi bản tin này được kiểm tra, để xác định nơi nó đến. Lớp AM Tiny cung cấp các gốc nguyên thuỷ đơn giản cho việc quyết định đến các ý kiến trên với việc không cần sao chép lại và việc quản lý lưu trữ rất đơn giản. Bộ đệm có một kiểu định nghĩa trong khung cung cấp các trường cho quá trình tóm lược đặc trưng của hệ thống, giống như thông tin định tuyến và phát hiện lỗi. Các trường này được sử dụng giống như là các gói chuyển xuống ngăn xếp, đúng hơn là các con trỏ hoặc việc sao chép sau. Các thành phần ứng dụng chỉ đề cập đến các trường dữ liệu hoặc toàn bộ đệm. Các tham chiếu đến bộ đệm bản tin chỉ là các con trỏ được mang qua các biên giới thành phần trong TinyOS. Trước khi lệnh gửi được gọi, bộ đệm truyền dẫn được quan tâm được mạng sở hữu chưa cho đến khi thành phần bản tin báo hiệu rằng sự truyền dẫn được hoàn thành. Cơ cấu cho quyền sở hữu theo dõi là đặc trưng ứng dụng. Các bộ điều khiển handle bản tin nhận một tham chiếu đến một bộ sở hữu hệ thống, rất khác biệt so với khung của nó. Cách thức hoạt động điển hình là xử lý thông tin trong bản tin và trả lại cho bộ đệm. Tổng quát, bộ đệm điều khiển handle phải trả về một tham chiếu đến một bộ đệm trống. Nó có thể giữ lại bộ đệm mà nó được cấp bởi hệ thống và trả lại một tham chiếu cho một bộ đệm khác, mà là của riêng nó. Một trường hợp đặc biệt chung của viễn kịch này là một bộ điều khiển handle tạo nên một thay đổi nhỏ đến một bản tin đi đến và truyền phát lại nó. Chúng ta có thể ngăn ngừa việc sao chép phần còn lại của bản tin, tuy nhiên, chúng ta không thể giữ lại quyền sở hữu bộ đệm cho truyền phát và trả về cho cùng bộ đệm đến hệ thống. Giống như một thành phần khai báo một bộ dệm bản tin và con trỏ bộ đệm bản tin trong khung của nó. Bộ điều khiển handle thay đổi bộ đệm vào và trao đổi quyền sở hữu bộ đệm với hệ thống. Nếu bộ đệm truyền phát trước của nó vẫn bận, mọt trong hai toán tử phải được khia báo. Một thành phần đang thi hành biên dịch lại từ nhiều gói có thể có thể sở hữu nhiều bộ đệm như vậy. Trong một vài trường hợp, việc quản lý lưu trữ bộ đệm run-time được giảm nhẹ bằng việc hoán đổi con trỏ đơn giản. AM Tiny được sử dụng để hỗ trợ các node mở mạng động và đa trạm, định tuyến ad hoc. Nút mở có thể được khởi tạo từ nhiều node, nhưng thường nó là các gốc tại các node gateway cung cấp kết nối đến mạng đã thoả thuận. Mỗi gốc truyền dẫn định kỳ một bản tin mang các ID của nó và khoảng cách distance, có giá từ 0 đến khoảng cách với node láng riêng của nó. Bộ điều khiển handle bản tin kiểm tra dù có nguồn hay không là node thân thiết mà nó đã lắng nghe cách đấy không lâu (ví dụ trong giai đoạn phát hiện hiện tại) và nếu vậy, nó ghi lại ID nguồn giống như gốc multi-hop, gia tăng khoảng cách và truyền phát ại bản tin với ID của riêng nó giống như nguồn. Thành phần phát hiện tận dụng việc hoán đổi bộ đệm. Các gói được định tuyến lên trên cây sau. Một node đang truyền phát dữ liệu để được định tuyến chỉ rõ một đa trạm đang tiến vào bộ điều khiển handle và nhận dạng cha của nó giống như nơi nhận. Bộ điều khiển handle sẽ “đốt cháy” một trong các node bên cạnh. Các node cha truyền phát các gói đến gốc của nó, sử dụng hoán đổi bộ đệm. Các node láng riêng khác đơn giản là loại bỏ gói. Do vậy dữ liệu được định tuyến hop-by-hop đến gốc. Các toán tử reduction có thể được hình thành nhờ tích luỹ dữ liệu từ nhiều node con trước khi truyền đi một gói lên cây. Thuật toán phát hiện không tối ưu bởi vì có sự dư thừa trong dạng sóng phát hiện hướng gửi đi và có thể được cải tiến bởi quá trình lựa chọn cluster leaders hoặc truyền dẫn lại cảnh báo trước với nhiều xác suất có quan hệ nghịch đảo với số lượng node con (sibling). Mặt khác, pha phát hiện có thể được loại trừ hoàn toàn nhờ quá trình mang (piggybacking) thông tin về khoảng cách trên các bản tin dữ liệu cảm biến. Khi một node nhận một gói từ một node, mà ít hơn các hop từ trạm gốc, nó nhận node nguồn làm gốc của nó. Node gốc truyền dẫn đơn giản một gói từ chính chúng để phát triển cây định tuyến. Các node cũng phải định rõ khoảng cách hiện tại của chúng để thích nghi với những thay đổi trong topology mạng vì những thay đổi về chuyển động và truyền phát tín hiệu. Các ví dụ này minh họa bước truyền thông cơ bản nhờ vào đó các thuật toán phân tán cho các mạng không dây nhúng được dựa vào: quá trình nhận một gói, biến đổi nó, và có khả năng lựa chọn truyền dẫn lại nó hoặc không. Quá trình truyền phát lại ngắt quãng (squelching retransmission) hình thành một dạng sóng hướng gửi đi trong discovery và hình thành một beam trên định tuyến multi-hop. Trong các thuật toán này cấu trúc dữ liệu cho việc quyết định quyết định truyền dẫn lại hay không là một bộ đệm cache của các gói gần đấy. Một thách thức là để chuyển các dữ liệu bản tin từ bộ đệm lưu trữ đến module vật lý của kênh không cần phải tạo ra toàn bộ các bản sao, và tương tự trong hướng ngược lại. Một mẫu hình chung mà đã nổi lên là một chiếc bơm dữ liệu cross-layer data pump. Chúng ta tìm thấy điều này tại mỗi lớp của ngăn xếp trong hình 1.4. Thành phần cao hơn có một đơn vị của dữ liệu được phân vùng vào trong các đơn vị con. Thành phần thấp hơn được hiểu rằng nó đã chấp nhận đơn vị con và khi nó sẵn sàng cho thành phần kế tiếp, nó báo hiệu một sự kiện đơn vị con. Điều này được thực hiện nhờ gọi lệnh đơn vị con kế tiếp trong khi bộ điều khiển handle sẵn sàng làm việc. Lớp bản tin là một bộ đệm gói hiệu quả. Lớp packet mã hoá và sắp xếp điều chỉnh gói, bơm nó theo kiểu byte by byte vào lớp byte. Trên lớp UART, khái niệm trừu tượng byte-by-byte được thực hiện trực tiếp trên phần cứng. Ngược lại trên kênh vô tuyến lớp byte bơm dữ liệu bit by bit lên lớp vô tuyến. Một trong số các thành phần tận dụng khung, lệnh, và framework sự kiện để xây dựng một cơ cấu trạng thái phần mềm bản đăng ký lại. Trong một mạng tập hợp dữ liệu đa trạm, mỗi một node truyền phát dữ liệu của riêng nó từ time to time, và lắng nghe trong khoảng thời gian còn lại để dữ liệu mà nó yêu cầu chuyển theo hướng một node sink. Mặc dù truyền dẫn kích hoạt là chế độ tập trung nguồn nhiều nhất, hầu hết các máy phát vô tuyến tiêu thụ một phần đáng kế nguồn năng lượng truyền dẫn khi máy vô tuyến đang hoạt động và không nhận bất kỳ tín hiệu nào. Trong các mạng đặc biệt, một thiết bị truyền dẫn cho các chu kỳ thời gian ngắn, nhưng phải lắng nghe liên tục để chuyển dữ liệu đến các node láng riềng. Mức tiêu thụ năng lượng tổng của một thiết bị chi phối bởi chi phí thu nhận RF. Mức tiêu thụ nguồn có thể được giảm nhờ sử quá trình thu nhận định kỳ. Nhờ tạo ra chu kỳ thời gian khi quá trình truyền phát không được phép, các node phải lắng nghe chỉ trong khoảng thời gian làm việc. Phương pháp này làm việc tốt khi dải tỷ lệ thời gian của các chu kỳ không hợp lệ có quan hệ không lớn lắm với thời gian truyền phát bản tin. Downside của phương pháp này mà bị giới hạn là việc sử dụng băng tần. Trong mạng cảm biến, một node có thể làm việc như một bộ định tuyến hoặc điểm xử lý dữ liệu, và có thể cần thiết cho việc sử dụng đầy đủ băng tần vô tuyến. Quá trình thu nhận nguồn thấp tuân theo cùng khái niệm chu kỳ công suất thu, nhưng không làm giảm theo tỷ lệ thời gian. Để giảm hơn nữa mức tiêu thụ nguồn trung bình của mạng, quá trình thu nhận nguồn thấp có thể được kết hợp với quá trình thu nhận tuần hoàn. Thực thi thời cả các kế hoặc tạo ra kết quả đồng thời trong quá trình thu nhận tại mức nguồn được giảm chỉ cho một phần thời gian, và các mức giảm nguồn nhân lên. Kỹ thuật này cung cấp một cơ cấu cho băng tần thương mại và chi phí truyền phát cho một mức giảm trong mức tiêu thụ nguồn nhận. Phần cứng kết nối trực tiếp từ bộ vi điều khiển trung tâm đến máy thu phát vô tuyến. Điều này thay thể tất cả các yêu cầu thời gian thực của máy vô tuyến đên bộ vi điều khiển, nó điều khiển tất cả các bit mà được truyền phát hoặc thu trong thời gian thực. Thêm nữa, nó điều khiển định thời mỗi bit để những jitter trong các tín hiệu điều khiển mà nó sinh ra được truyền phát thành tín hiệu truyền phát. Ngăn xếp truyền thông TinyOS điều khiển các ràng buộc này trong khi cho phép các chức năng mức cao hơn được tiếp tục thực hiện song song. Tại gốc ngăn xếp thành phần là một cơ cấu trạng thái để thực hiện định thời bit. Thành phần nguyên khối RFM (RF Monolithic) truyền dẫn một bit đơn tại một thời điểm đi hoặc đến bộ thu phát vô tuyến RFM. Với một kiểu truyền phát đúng xuất hiện, bit được truyền dẫn phải được đặt và giữ trên đường TX (đầu ra dữ liệu) của máy thu phát vô tuyến cho một khoảng thời gian bit chính xác, ví dụ, khoảng 100ms. Với hướng thu, đường thu RX (đầu thu dữ liệu) của máy vô tuyến phải được lấy mẫu tại điểm trung bình của chu kỳ truyền dẫn. Máy thu phát vô tuyến không hỗ trợ khả năng quyết định khi các khoảng thời gian bit được hoàn thành. Giao diện đến thành phần RFM hình thành một bộ bơm dữ liệu thực thi một kiểu truyền dẫn bit-by-bit từ một thành phần mức byte (byte-level) đến phần cứng vật lý. Đê bắt đầu quá trình truyền phát dữ liệu, một lệnh được phát ra từ thành phần RFM đến bộ chuyển mạch chọn chế độ truyền dẫn. Sau đó một lệnh thứ hai được sử dụng để truyền một bit đơn xuống thành phần RFM. Bit này được đặt ngay lập tức vào đường truyền phát. Sau khoảng 100ms trôi qua, thành phần RFM báo hiệu một sự kiện để biểu thị rằng nó đã sẵn sàng cho bit khác. Đáp ứng của thành phần mức byte đưa ra lệnh khác đến thành phần RFM chứa đựng bite kế tiếp. Sự tương tác này giữa quá trình báo hiệu một sự kiện và quá trình nhận bit kế tiếp vẫn tiếp tục diễn ra cho đến khi quá trình truyền toàn bộ gói được hoàn thành. Thành phần lớp RFM đã trừu tượng hóa các giới hạn thời gian thực (real-time deadline) của tiến trình truyền phát từ các thành phần lớp cao hơn. Trong suốt quá trình truyền phát, quá trình mã hoá phức hợp được thực hiện trên mỗi byte trong khi đồng thời nhận các yêu cầu thời gian thực chính xác của lớp bit. Quá trình mã hoá cho một byte đơn chiếm dụng thời gian dài hơn thời gian truyền dẫn của một bit đơn. Để đảm bảo rằng dữ liệu mã hoá sẵn sàng trong khoảng thời gian nhận giới hạn quá trình truyền phát (transmission deadline). Tiến trình mã hoá cho các byte kế tiếp bắt đầu trước khi kết thúc quá trình truyền phát byte hiện tại. Cơ cấu tác vụ TinyOS thực thi quá trình mã hoá trong khi vẫn thực hiện đồng thời quá trình truyền phát dữ liệu trước. Do quá trình mã hoá dữ liệu một byte trong phần sớm pha của quá trình truyền phát, bộ đệm được sử dụng để tách biệt định thời mức bit từ tiến trình mã hoá byte. Quá trình nhận dữ liệu mang cùng dạng giống với quá trình phát, trừ ra rằng nơi bộ nhận đầu tiên phải phát hiện ra một quá trình truyền trong khoảng bắt đầu và quyết định định thời truyền phát. Để hoàn thành nó, khi chế độ kích hoạt trên kênh vô tuyến, thành phần lớp RFM bố trí lấy mẫu các bit trong các khoảng thời gian là 50ms, lấy mẫu gấp đôi mỗi byte. Thành phần mức byte tạo ra một bộ đệm con (sliding buffer) các bit này có giá trị chứa đựng 18 bit cuối cùng. Khi giá trị của phía nhận 18 bit cuối so sánh với ký hiệu bắt đầu đã được chỉ rõ, điểm bắt đầu của một gói được phát hiện. Thêm nữa, định thời của gói được quyết định trong nửa một khoảng thời gian bit. Kế tiếp, lớp RFM lấy mẫu một bit đơn sau 75ms. Vì mẫu kế tiếp được sắp xếp trong phần giữa cửa số bit kế tiếp, tại nửa giữa nơi mà lấy mẫu gấp đôi xảy ra nếu chu kỳ lấy mẫu vẫn giữ nguyên tại 50ms. Sau đó RFM lấy mẫu cứ sau mỗi 100ms cho phần còn lại của gói. Trong các hệ thống nhúng vô tuyến, đường truyền thông đến các thiết bị là một kênh chia sẻ, nó phải được chia sẻ có hiệu quả trong ngữ cảnh xử lý ràng buộc tài nguyên và định tuyến Ad hoc multi-hop. Nhiều ứng dụng yêu cầu rằng các node phải có khả năng ngang bằng nhau để chuyển dữ liệu qua mạng, mà không quan tâm đến vị trí trong topology mạng. Các thành phần truyền thông TinyOS mức thấp được mở rộng với một giao thức điều khiển truy nhập môi trường (MAC) nhận biết năng lượng (energy-aware) và sử dụng một kỹ thuật đơn giản cho điều khiển tốc độ tương thích đặc tả ứng dụng. Các giao thức MAC phải được thi hành trên bộ vi điều khiển trùng hợp với các thao tác khác. Máy thu phát vô tuyến RF cần hỗ trợ phát hiện xung đột, vì thế lược đồ CSMA (Carrier Sense Multiple Access) được sử dụng, nơi một node thu nhận trên kênh vô tuyến và chỉ truyền một gói nếu kênh này rỗi. Cơ cấu cho đồng hồ đồng bộ trong các bit tại lớp vật lý cũng được sử dụng cho quá trình cảm biến sóng mang. Vì vậy, lớp MAC được thi hành tại cả hai mức bit và byte trong ngăn xếp. Nếu quá trình lấy mẫu liên tục của kênh vô tuyến phát hiện ra không có tín hiệu nào, kênh vô tuyến được cho rằng rỗi và một quá trình truyền gói cố gắng được thử thực hiện. Tuy nhiên, nếu kênh vô tuyến bận, một tín hiệu back-off ngẫu nhiên xuất hiện. Toàn bộ tiến trình này lặp lại cho đến khi kênh rỗi. Một bộ đăng ký dịch chuyển feedback tuyến tính 16 bit đơn giản được sử dụng như một bộ tạo số giả ngẫu nhiên cho chu kỳ back-off. Máy thu phát vô tuyến được tắt đi trong chế độ back-off. Nhiều ứng dụng tập hợp và truyền phát dữ liệu một cách định kỳ, có thể sau khi phát hiện một sự kiện phát sinh, vì thế lưu lượng có thể được tương quan rất cao. Quá trình phát hiện kênh bận đề xuất một node láng riềng có thể chỉ thị rằng các kiểu truyền thông của các node được đồng bộ. Ứng dụng sử dụng lỗi để gửi giống như phản hồi và dịch chuyển pha lấy mẫu đến bộ có khả năng giải đồng bộ. Một yêu cầu ứng dụng chung khác là xấp xỉ phạm vi giá trị ngang nhau của quá trình lấy mẫu qua toàn bộ mạng. Mỗi node trong mạng có thể phát tán chỉ định đúng băng tần đến trạm gốc. Với các lớp định tuyến đặc biệt các node tự tổ chức thành một rừng bao trùm, nơi mà mỗi node tạo ra và định tuyến lưu lượng đến một trạm gốc. Sự cạnh tranh giữa lưu lượng đã phát sinh và định tuyến trên băng tần upstream phải được cân bằng để thoả mãn mục đích công bằng. Dung lượng mạng multi-hop có giới hạn, và các node phải thích ứng với sự trợ giúp của chúng để tải lên băng tần sẵn có, đúng hơn là thông qua cam kết kênh vô tuyến và năng lượng dư thừa trong quá trình truyền phát các gói để có thể liên lạc đến trạm gốc. Lược đồ truyền phát thích ứng là một thuật toán nội bộ được thực hiện trên lớn lớp bản tin kích hoạt (active-message) và dưới lớp ứng dụng. Ứng dụng có một tỷ lệ lấy mẫu baseline để quyết định tốc độ truyền phát cực đại và truyền dẫn một mẫu với một xác suất quyết định động. Nhờ quá trình truyền phát thành công, xác suất được gia tăng tuyến tính, trong khi lỗi trên được giảm nhanh gấp nhiều lần. Một quá trình truyền dẫn thành công có thể biểu thị bởi một xác nhận hiện từ bộ thu hoặc một xác nhận ẩn khi bộ thu lắng nghe gói tin của nó mà đang được gửi từ node cha (node gốc). Vì xác nhận ẩn thường là đặc trưng ứng dụng, ứng dụng quyết định nếu quá trình truyền dẫn thành công, và truyền thông tin xuống đến lớp điều khiển truyền dẫn. Quán trình loại bỏ lệnh truyền dẫn của ứng dụng tại lớp điều khiển truyền dẫn đã khởi động quá trình thích ứng. Phương pháp TinyOS cung cấp hiệu quả tương đối trong việc hỗ trợ truyền thông đa năng, khả năng, nhiều thiết bị mà được ràng buộc rất cao trong các mỗi quan hệ xử lý, lưu trữ, băng tần và năng lượng với phần cứng nguyên thuỷ hỗ trợ I/O. Mô hình event driven giúp thuận tiện cho việc xen bộ vi xử lý giữa nhiều luồng dữ liệu và giữa nhiều lớp trong ngăn xếp cho mỗi luồng trong khi vẫn nhận một vài yêu cầu thời gian thực của tiến trình bảo dưỡng của các máy thu phát vô tuyến. Vì bộ lưu trữ dữ liệu rất hữu hạn, nó là phần chung để xử lý các bản tin gia tăng tại một vài mức, đúng hơn là đệm cho toàn bộ các bản tin và xử lý chúng theo mức level by level. Tuy nhiên, các sự kiện đứng một mình thì không có khả năng, và bản chất là một sự kiện có thể loại bỏ tiến trình quan trọng để một tác vụ chạy bên ngoài của sổ thời gian thực. Điều này cung cấp sự trùng hợp logic trong ngăn xếp và được sử dụng tại mọi mức để loại trừ lớp trừu tượng phần cứng. Nhờ chấp nhận phương pháp điều khiển sự kiện, nonblocking, các luồng truyền thống không được hỗ trợ, với các ngăn xếp được kết hợp của chúng và đồng bộ phức hợp. Phương pháp thành phần cung cấp cách thức hoạt động mạnh mặc dù có sự giới hạn về khả năng gỡ rối, và thuận tiện cho thử nghiệm. Các thành phần gói có thể được hoán đổi với một mức thay đổi đơn giản đến lược đồ mô tả và các thành phần tạm thời có thể được đặt giữa các thành phần đã tồn tại, không cần có những thay đổi các bổ xung nội bộ. Hơn nữa việc sử dụng các thành phần ch phép, về cơ bản, toàn bộ một cây con của các thành phần để được thay thế phần cứng và ngược lại. Mô hình lập trình bản tin kích hoạt Tiny cho phép các cuộc thử nghiệm với nhiều lớp mạng mức cao và các thuật toán phân tán hạt nhỏ (fine-grained). Các node có thể lập trình lại thông qua mạng. Một node có thể thu được bao mã (code capsule) từ các node láng riềng hoặc thông qua các tuyến multi-hop và tập hợp hình ảnh thực thi đầy đủ trong bộ lưu trữ thứ hai của nó là EEPROM. Sau đó node có thể sử dụng hình ảnh này để tự lập trình lại. Các thành phần lớp thấp nhất đồng bộ tất cả các máy thu đến máy phát trong vòng một phần nhỏ thời gian của một bit. Vì vậy, thông tin đồng bộ thời gian rất tốt có thể được cung cấp với mọi gói tin cho các ứng dụng điều khiển. 1.6.2 Hệ thống Cảm biến mạng tích hợp không dây WINS Các mạng cảm biến vi nhỏ phân tán không dây bao gồm một tập các node truyền thông, tại mỗi node kết hợp: Một hoặc nhiều cảm biến cho việc đo lường môi trường. Khả năng xử lý để xử lý dữ liệu cảm biến vào thông tin có giá trị cao và hoàn thành việc điều khiển nội bộ, và Một kênh vô tuyến để truyền phát thông tin đến và đi từ các node láng riềng và người sử dụng mở rộng. Các chip CMOS nguồn mức thấp phân cực có thể tích hợp vào các máy thu phát vô tuyến để truyền thông, tính toán số, và các thành phần cảm biến MEMS, trên một khối đơn cung cấp trong dung tích cao cho mục đích chi phí thấp. Điều này cho phép một số lượng lớn các cảm biến mạng tích hợp vô tuyến được triển khai thật dễ dàng và nhanh chóng (ví dụ, không khí được tách ra từ các trường battle hoặc triển khai trên một khí cầu hoặc tàu không gian) hoặc hình thành cao các mạng cảm biến thừa, tự định cấu hình, chuyên dụng. Để không ràng buộc với các nhà phát triển, các node sử dụng các truyền thông không dây, và là năng lực thiết lập và vận hành mạng của riêng họ. Để kéo dài thời hạn sống của nguồn pin, tất cả các node và chức năng mạng được thiết kế để tiêu thụ công suất tối thiểu. Các hệ thống có năng lực và độ tin cậy cao được xây dựng ngoài số lượng lớn các node như vậy thật rẻ, riêng lẻ và sử dụng sự cộng tác giữa các node để cung cấp độ tin cậy cao, thông tin chất lượng cao.Node WINS dựa trên một thiết kế module mở sử dụng kỹ thuật off-the-shelf thương mại sẵn có rộng lớn. Các node cảm biến vi nhỏ không dây kết hợp các năng lực cảm biến (giống như xung động, âm thanh, từ) với một máy vô tuyến điện thoại cordless số thương mại và một bộ vi xử lý RISC thương mại nhúng trong một gói nhỏ. Khi các mạng này được thiết kế với mục đính cho nguồn thấp, quá trình xử lý tín hiệu nhúng được thực hiện để giảm các yêu cầu về truyền thông. Ví dụ, nhiều nghìn byte của dữ liệu nối tiếp thời gian thô từ các cảm biến dung động được giảm xuống một vài byte của thông tin biên độ và tần số sử dụng vi xử lý on-board. Thông tin được xử lý truyền thông chỉ giảm bớt yêu cầu về nguồn để vận chuyển thông tin nhờ thứ tự cường độ. Các node WINS hỗ trợ các thí nghiệm trong các giao thức truyền thông dữ liệu đa trạm, xử lý tín hiệu coopera-tive động (ví dụ, quá trình beamforming với các node không gian ngẫu nhiên), và quản lý tài nguyên phân tán. a/ Các yêu cầu cho mạng cảm biến vi nhỏ WINS Mặt ngoài duy nhất của các mạng cảm biến vi nhỏ có thể được kiểm tra với số lượng quan trọng của các thiết bị nguyên mẫu rõ ràng được thiết kế cho mục đích này, trái với các dạng điện toán chung, Một vài trong số các yêu cầu cho mạng WINS bao gồm: Yếu tố hình dạng nhỏ nhẹ; Ổn định với các dải nhiệt độ rộng và các điều kiện môi trường yêu cầu khác; Nguồn pin hoặc các nguồn năng lượng riêng một mình khác; Vận hành nguồn mức thấp và truy nhập với các máy điều khiển công suất nội; Một máy radio nguồn thấp nhỏ có rải tần đủ Một môi trường thực thi thời gian thực; Có khả năng viết mã trong một ngôn ngữ mức cao cho tổ chức và kiểm tra thuật toán nhanh chóng và; Một mức chi phí hợp lý. Các node hỗ trợ các ứng dụng tại chiến trường (battle-field), và một loạt quản lý y tế, phương tiện giao thông và các ứng dụng bảo trì dựa trên điều kiện (condition-based) trong công nghiệp, quân đội và các nền tảng về không gian. Ví dụ, một lớp kiểm tra vận động và tìm tòi cho quá trình phát triển giám sát và chuẩn đoán thành phần, xử lý, và mức hệ thống) được xây dựng tại Rockwell Science Center. Lớp kiểm tra test bed này được cung cấp với các node WINS chúng kết hợp chặt chẽ với các cảm biến gia tốc, áp suất và nhiệt độ và các thuật toán cho các chuẩn đoán xử lý và chuyển động. Các thuật toán xử lý tín hiệu chạy trên các node riêng biệt cung cấp cho phát hiện mới bắt đầu của một loạt các lỗi. Các kiểu truyền thông mạng không dây cung cấp cho việc cài đặt đơn giản và các chuẩn đoán cộng tác trong các nhóm motor, máy bơm, van trong hệ thống. Một trình duyệt dựa trên web cho phép toàn bộ hệ thống, và nhiều thành phần trong hệ thống được giám sát từ xa. Các mạng cảm biến vi nhỏ phân tán sử dụng kiểu xử lý cộng tác và các giao thức truyền thông nguồn mức thấp. Viễn cảnh, giống như giám sát các vùng lớn, các toà nhà hoặc các đại lộ, được hoàn thành nhờ thiết ._.t triển NS-2) ở vị trí góc dưới bên trái. Dữ liệu đầu vào là tập lệnh Otcl được phân tích bởi lớp Tcl. Việc thiết lập và chạy mô phỏng trong Tcl sử dụng các đối tượng trong thư viện Otcl. Thời biểu các sự kiện và hầu hết các thành phần mạng hoạt động trong C++ và được liên kết tới Otcl. Việc này được thực hiện bởi lớp tclcl. Thời biểu các sự kiện NS-2 Các thành phần mạng Tcl 8.0 Otcl tclcl Hình 3.11: Kiến trúc tổng quan của NS-2 Chương trình NS-2 có nhiều phiên bản chạy trên các hệ điều hành khác nhau và với các yêu cầu cài đặt khác nhau. Trong đồ án này, phiên bản ns-allinone-2.27, chạy trên Windows trong môi trường Cygwin/X được sử dụng để tìm hiểu một số các tính chất của mạng cảm biến không dây. Cygwin/X cung cấp một giao diện chương trình ứng dụng (API) giống như hệ điều hành UNIX trên khuôn dạng Windows do NS-2 không chạy trực tiếp trên Windows. Môi trường NS - 2 là công cụ hết sức linh hoạt trong việc nghiên cứu các đặc tính của mạng cảm biến không dây (Wireless Sensor Network) vì nó có sẵn các mô hình cho mạng Ad hoc không dây, có ràng buộc về năng lượng. Trong NS - 2, một mạng cảm biến có thể được xác định với nhiều tổ hợp các đặc tính như thực tế. Môi trường mạng di động trong NS - 2, cung cấp sự hỗ trợ lẫn nhau giữa các giao thức như hình 3.12. Lớp ứng dụng CBR FTP Telnet Lớp giao vận TCP UDP Lớp mạng DSDV DSR TORA AODV OLSR Lớp liên kết số liệu 802.11 TDMA SMAC Lớp vật lý Các kiểu phát vô tuyến với suy giảm bậc 4 : trong không gian tự do, mặt đất hai tia, bóng phủ. Antent độ lợi đơn. Hình 3.12: Các giao thức được hỗ trợ trong NS-2 mô phỏng mạng không dây Với cơ sở này, ta chỉ cần thêm vào NS-2 một số đối tượng và thuộc tính để mô phỏng mạng cảm biến. 3.2.2 Cơ sở phát triển mô phỏng mạng cảm biến trên nền NS-2 Cơ sở duy nhất còn thiếu trong NS-2 cho mô phỏng mạng cảm biến là việc định nghĩa một "Phenomenon" (hiện tượng). Ví dụ như chất hoá học, âm thanh,... các đối tượng này có thể di chuyển và kích hoạt các cảm biến ở gần qua một kênh như phẩm chất không khí hay rung động mặt đất. Khi một cảm biến phát hiện tín hiệu từ một hiện tượng trong kênh này, cảm biến sẽ phản ứng tuỳ theo ứng dụng được định nghĩa bởi người sử dụng NS-2. Các ứng dụng này sẽ quy định việc cảm biến làm gì khi phát hiện ra hiện tượng mục tiêu. Ví dụ, cảm biến có thể định kỳ gửi thông báo đến một số điểm thu thập số liệu nếu nó còn tiếp tục phát hiện thấy hiện tượng, hoặc có thể làm một số việc phức tạp hơn như công tác với các cảm biến lân cận để có được thông tin cụ thể chi tiết hơn về hiện tượng trước khi cảnh báo người giám sát về một hiện tượng giả định. Mỗi mạng cảm biến có một ứng dụng duy nhất như giám sát động đất, môi trường,… Phần mở rộng NS-2 cung cấp các khả năng trình diễn các ứng dụng cảm biến. Với các ứng dụng này, chúng ta có thể nghiên cứu hoạt động của cơ sở hạ tầng mạng dưới các điều kiện khác nhau. Cơ sở của việc xây dựng mô hình mạng cảm biến trong NS-2 được minh hoạ trong hình 3.13. Hình 3.13: Cơ sở xây dựng mô hình mạng cảm biến sử dụng NS-2 Mô hình trình diễn của các hiện tượng trong NS-2 được xác định với các gói quảng bá được chuyển qua một kênh được chỉ định. Phạm vi ảnh hưởng của hiện tượng là tập hợp các node có thể nhận được các gói Phenom quảng bá trên kênh này. Mô hình này sẽ tuân theo quảng bá bất cứ kiểu phát và truyền nào (không gian tự do, mặt đất 2 tia hay bóng phủ, bao gồm cả các cấu hình node hiện tượng. Các kiểu phát này phủ sóng theo dạng gần tròn nhưng các hình dạng khác cũng có thể có được bằng cách thay đổi phạm vi của các gói Phenon và di chuyển một cách thích hợp một tập các node hiện tượng phát cùng kiểu. Việc phát quảng bá các gói Phenom được hoàn thành nhờ "giao thức định tuyến Phenom", quảng bá các gói Phenom với tốc độ xung xác định. Khi một gói Phenom được nhận bởi một node trên kênh Phenomenon (kênh hiện tượng), một thông báo về sự kiện này sẽ được chuyển đến ứng dụng cảm biến của node đó. 3.2.3 Các bổ sung vào NS-2 Giả sử có các node hiện tượng (Phenomenon) kích hoạt các node cảm biến, lưu lượng các node cảm biến tạo ra mỗi khi phát hiện thấy hiện tượng phụ thuộc vào chức năng của mạng. Ví dụ, các mạng thiết kế để để hiệu chỉnh đích bằng hiệu ứng năng lượng sẽ tạo ra nhiều lưu lượng cảm biến đến cảm biến hơn mạng thiết kế để cung cấp cho giám sát viên các dữ liệu chưa qua xử lý. Chức năng này phụ thuộc vào ứng dụng của cảm biến và phụ thuộc vào đặc tính lưu lượng kết hợp với mạng được mô phỏng. Đối tượng và chức năng được định nghĩa trong các file sau: - Phenom/Phenom.cc, h: Chứa giao thức định tuyến Phenom sử dụng cho việc phát tín hiệu từ các hiện tượng. Nó bao gồm các tham số cho tốc độ xung và kiểu hiện tượng (Bụi cabon, động đất mạnh, động đất nhẹ, tiếng ồn hay loại chung). Các kiểu này được đặt tên để nhận dạng các nguồn hiện tượng trong file trace (đầu ra mô phỏng). Tốc độ xung là tham số duy nhất điều khiển việc phát tín hiệu từ một hiện tượng. Hình 3.14: Hình ảnh mô tả mạng cảm biến (được lấy từ ứng dụng NAM trong NS-2) với 25 trạm cảm biến được triển khai theo hình lưới trên diện vuông, 20 node Phenomenon (mô tả đám mây khí gas-hiện tượng cần cảm biến) di động và một trạm thu thập số liệu (ở góc trên bên phải). - Sensornets-NRL/Sensoragent.cc, h: định nghĩa các agent cảm biến, các agent là điểm cuối, nơi các gói thuộc lớp mạng được tạo ra và phân tách, xử lý. Các node cảm biến sử dụng một tác nhân cảm biến liên kết đến kênh Phenomenon để tiếp nhận các gói tin Phenom và sử dụng một tác nhân TCP hay UDP để liên kết đến kênh của mạng vô tuyến để tạo các gói tin được gửi đi từ ứng dụng cảm biến. Các tác nhân cảm biến hoạt động như một ống dẫn, qua đó các gói tín Phenom được nhận và xử lý bởi các ứng dụng cảm biến. Các tác nhân cảm biến không thực sự quan tâm đến nội dung của gói Phenom, nó chỉ đơn giản đánh dấu các gói nhận được và chuyển đến ứng dụng cảm biến. Agent này được định nghĩa trong Sensor agent.cc. - Sensornets-NRL/Sensorapp.cc, h : ứng dụng cảm biến được định nghĩa trong file này tận dụng màu node và tạo ra các thông báo cảm biến để chỉ ra node tương ứng phát hiện ra hiện tượng (4 biến môi trường có thể được sử dụng là: SILENT_PHENOMENON, DISABLE_COLORS, MESG_SIZE và TRANSMIT_FREQ). Cụ thể, khi node đang nhận gói Phenom, ứng dụng này thay đổi màu node thành đỏ, kích thoạt một biến toàn cục "alarm" và gửi một thông báo cảm biến (MESG_SIZE byte) đến node sink (node thu thập số liệu) của kết nối UDP, TCP sau mỗi chu kỳ là TRANSMIT_FREQ giây. Khi một node không nhận được một Phenom packet trong thời gian chờ (SILENT_PHENOMENON giây), thì màu node trở về màu xanh lá cây. Nếu màu node được yêu cầu để biểu thị mức năng lượng thay vì trạng thái cảnh báo cảm biến thì ứng dụng bị tắt với việc đặt DISABLE_COLOR. - Sensornets-NRL/Phenom_packet.h: File này định nghĩa cấu trúc gói Phenom. Có 5 kiểu hiện tượng (CO, HEAVY - GEO, LIGHT - GEO, SOUND, and TEST - PHENOMENON) tương ứng với cacbon monoxide (chất carbon monoxide CO), Heavy Seismic actyvity (động đất mạnh), Light Seismic activy (động đất nhẹ), Audible Sound (âm thanh), sime Phenomenon (kiểu chung). Các kiểu này có thể được sử dụng mô phỏng với nhiều node hiện tượng và có thể dễ dàng nhận ra và phân biệt với các hiện tượng khác mà node cảm biến phát hiện, bằng cách nhìn vào file trace. 3.2.4 Các chỉnh sửa trong NS-2 Hình 3.15 ra sơ đồ cây NS - 2 mở rộng mô phỏng mạng cảm biến với các bổ sung (nhánh bên phải) và hiệu chỉnh (nhánh bên trái). Các chỉnh sửa trong NS-2 được thực hiện trong các file sau : - Trace/cmu-trace.cc, h: Lớp CMUTrace được sử dụng để in các phần quan trọng của một gói vào file trace. Vì phần mở rộng sử dụng kiểu gói mới cho các hiện tượng nên cần phải định dạng gói tương ứng trong file này. - Tcl/lib/ns-lib.tcl: Thành phần này trình bày về cấu hình node được chỉ ra trong tập lệnh NS-2. Phần mở rộng sử dụng kiểu node mới (các node cảm biến và Phenomenon). Vì thế, đã thêm vào một số điểm vào chức năng định cấu hình node (node-configure) để phù hợp với các kiểu này. - Tcl/lib/ns-mobilenode.tcl: Trong NS-2, dung lượng sẵn có cho việc lập mạng không dây đa kênh được sử dụng để phát các loại tín hiệu hiện tượng khác nhau. Bằng việc sử dụng kênh riêng cho các hiện tượng, ta có thể mô phỏng môi trường vật lý riêng cho từng loại hiện tượng như trong thực tế. Như vậy, các node cảm biến cần 2 giao diện: một với kênh 802.11 và một với kênh Phenom. Khả năng đa giao diện ("Multi - homed") được bổ xung trong ns-mobilnode.tcl. - Common/packet-h: Mỗi gói trong NS -2 được liên kết với một kiểu riêng tuỳ thuộc vào giao thức tương ứng như TCP, ARP, AODV, FTP, .v.v..Vì giao thức phát tín hiệu hiện tượng là mới nên phải định nghĩa kiểu gói tương ứng trong file tiêu đề packet.h. - Mac/Wireless-phy.cc: NS -2 có gồm mô hình năng lượng cho các node không dây được sử dụng để nghiên cứu lợi ích của các kỹ thuật duy trì năng lượng khác nhau. Như việc nghỉ hoạt động hay tận dụng các mật độ mạng tối ưu. Mô hình này gồm các đặc tính chỉ ra các yêu cầu công suất của các gói phát và nhận hay trạng thái rỗi trong thời gian mạng không hoạt động tích cực. Việc cảm biến hiện tượng là một quá trình có thể tiêu thụ năng lượng tại một tốc độ khác, nên đây là vấn đề quan trọng cần xem xét. Trong mac/Wireless-phy.cc cung cấp khả năng chỉ ra công suất tiêu thụ của các node trong khi cảm biến các hiện tượng. Một số sửa đổi khác được thực hiện ở mac/mac.cc, tcl/lib/ns-namsupp.tcl và queue/priqueue.cc. Một số sửa chữa trong thủ tục định màu node, bổ sung kiểu gói Phenom vào tổ chức NS-2 được thực hiện để đơn giản hoá giao diện đến kênh Phenomenon trên node cảm biến. NS-2.27/ Hình 3.15: Sơ đồ bổ sung và chỉnh sửa NS-2 3.3 Mô tả mã lập trình mô phỏng 3.3.1 Thiết lập kênh hiện tượng và kênh dữ liệu Các node Phenomenon sẽ phát trên một kênh khác với các node cảm biến để tránh sự tranh chấp tại lớp vật lý. Mọi node Phenomenon cần định cấu hình trên cùng một kênh ngay cả khi chúng phát từ các kiểu hiện tượng khác nhau. Lệnh sau thiết lập kênh vô tuyến và kênh của các hiện tượng (Kênh Phenomenon): set chan 1 [new $val(chan)] set chan 2 [new $val(chan)] 3.3.2 Thiết lập một giao thức MAC cho kênh Phenomenon Chọn một lớp MAC sử dụng cho việc phát Phenomenom qua kênh Phenomenon. Việc sử dụng 802.11 là không thích hợp vì kênh Phenomena là kênh tự nhiên nên nó phát mà không cần điều khiển tắc nghẽn và tranh chấp. Các lệnh sau thiết lập các thủ tục điều khiển truy nhập môi trường vô tuyến và môi trường Phenomenon: set val(mac) Mac/802 11 set val(PHENOMmac) Mac 3.3.3 Thiết lập các node Phenomenon Sử dụng node-config giống như các node di động nhưng chỉ rõ giao thức định tuyến Phenom, các hiện tượng được phát đi theo các phương thức được định nghĩa trong Phenom/Phenom.cc. Ngoài ra phải định hình kênh và lớp MAC trước khi chỉ ra việc quảng bá Phenomenon. Một ví dụ thiết lập cấu hình node Phenomenon mẫu như sau: $ns node-config \ -adhocRouting PHENOM \ -Channel $chan 1 \ -llType LL \ -macType $val(PHENOMmac) \ -ifqType Queue/DropTail/PriQueue \ -ifqLen 50 \ -antType Antenna/OmniAntenna \ -phyType Phy/WirelessPhy \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace ON \ -movementTrace ON \ -propType Propagation/TwoRayGround 3.3.4 Thiết lập tốc độ và kiểu xung của Phenomenon Hai tham số sử dụng để thay đổi tuỳ biến Phenomena được chỉ ra a/ Pulserate Float. Ploat phải là một số thực Mô tả tần số một node Phenomenon quảng bá tín hiệu của nó. Mặc định là một lần phát trên 1 giây b/ Phenomenon Pattern Pattern: kiểu hiện tượng, phải là một trong các từ khoá sau: CO, HEAVE-GEO, LIGHT-GEO, SOUND, TEST-PHENOMENON tương ứng với oxit carbon CO, động đất nặng, động đất nhẹ, tiếng động và một số kiểu hiện tượng chung khác. Tuỳ chọn này được sử dụng chủ yếu cho việc mô phỏng các hiện tượng bội node (nhiều node hiện tượng kết hợp) nên dễ dàng phân biệt việc node cảm biến đang cảm biến hiện tượng nào bằng việc nhìn vào trace file. - Mặc định TEST-PHENOMENON Sau đây, minh hoạ việc đặt tham số để phát tín hiệu từ Carbon Oxit 10 lần/s [$node (0) set ragent ] \ pulserate .1 ; [$node (0) set ragent ] \ Phenomenon CO ; 3.3.5 Định hình node cảm biến Nút cảm biến phải được định hình với thuộc tính “Phenom chanell” và thuộc tính “Wireless Channel”. Kênh Phenom Channel phải cùng loại với kênh mà ta ấn định cho Phenomenon. Kênh còn lại được sử dụng để truyền các báo cáo của cảm biến. Cấu hình node cảm biến cần phải chỉ ra một giao thức MAC cho kênh Phenomenon và một giao thức MAC (như MAC/802-11) cho kênh chia sẻ với các node không dây khác. Điều này được thực hiện với các thuộc tính Phenom mactype và mactype. Phenom mactype phải cùng kiểu với MAC của các node Phenom và Mactype phải cùng kiểu với MAC của các node khác cùng tham gia mạng IP. Các lệnh sau minh họa ví dụ định hình cho một node cảm biến : $ns node-config \ -adhocRouting $val(rp) \ -Channel $chan 2 \ -macType $val(mac) \ -PHENOMChannel $chan 1 \ -PHENOMmacType $val(PHENOMmac) 3.3.6 Thiết lập các node non-sensor (điểm thu thập dữ liệu, Gateway) Các node không phải cảm biến hay Phenomenon node không được định hình với một kênh Phenom Channel vì chúng chỉ có giao diện duy nhất đến mạng MANET (Mobile Ad hoc Network - mạng di động sử dụng giao thức định tuyến Ad hoc) được thực hiện với thuộc tính - Phenom Channel "off". Ví dụ: $ns node-config \ -adhocRouting $val(rp) \ -Channel $chan 2 \ -PHENOMChannel "off" 3.3.7 Gắn kết các tác nhân cảm biến Lệnh này tạo ra một tác nhân cảm biến cho mỗi node cảm biến và gắn kết tác nhân này với node tương ứng. Ngoài ra, phải chỉ ra rằng tất cả các gói tin đến từ kênh Phenome đều được nhận bởi Sensor Agent.Ví dụ: set Sensor ($i) [new \ Agent/SensorAgent] $ns attach-agent $node ($i) \ $Sensor ($i) [$node ($i) set ll (1)] \ up-target $Sensor ($i) 3.3.8 Gắn kết một tác nhân UDP và ứng dụng cảm biến cho mỗi node Việc các node cảm biến 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 cảm biến. 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 cảm biến: 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.3.9 Khởi động ứng dụng cảm biến Nút cảm biến có thể nhận các gói Phenom ngay khi Sensor Agent được gắn tới node. Nhưng node chỉ có phản ứng khi ứng dụng cảm biến được gắn kết và khởi động. $ns at 5.0 "$app ($i) start \ $Sensor ($i)" CHƯƠNG 4 ĐÁNH GIÁ CHẤT LƯỢNG DỊCH VỤ QoS CỦA MẠNG CẢM BIẾN KHÔNG DÂY 4.1 Mô tả kịch bản mô phỏng Mục đích của phần mô phỏng này là đánh giá chất lượng QoS của một mạng cảm biến thông qua việc khảo sát một số tham số QoS của mạng cảm biến không dây theo mật độ. Tức là, khảo sát một số tham số QoS theo số lượng node cảm biến thay đổi trong một vùng khảo sát cố định. Khảo sát tỷ lệ mất gói tại lớp giao vận. Tính toán độ trễ gói tin từ node nguồn cảm biến đến điểm thu Sink. Tính toán tốc độ gói trung bình đến điểm thu Sink. Mô phỏng này được thực hiện với các mạng cảm biến được triển khai theo hình lưới vuông, trong bản đồ hình vuông 1000´1000 m: Số lượng node nguồn hiện tượng là 1. Mẫu chuyển động hiện tượng: Ngẫu nhiên. Dải truyền dẫn và dải hiện tượng là Tx= 218.9 m. Công suất phát của các node cảm biến và node hiện tượng là Pt=0.22960590141841 W (Pt = (1.0e-10) * (Tx)**4) ;. 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 hiện tượng Phenomenon đơn di chuyển một cách ngẫu nhiên trong trường cảm biến. Số lượng điểm thu thập số liệu (Sink) là 1, được đặt trên biên của trường cảm biến (góc trái trên cùng của mô hình mô phỏng). Các mạng cảm biến này sử dụng giao thức định tuyến AODV, kiểu hàng đợi Droptail (Kiểu FIFO: vào trước ra trước), kiểu phát vô tuyến mặt hai tia mặt đất (Two Ray Ground), antent có độ lợi đơn. Thời gian mô phỏng là 20 giây. 4.2 Thực hiện mô phỏng 4.2.1 Viết mã và chạy mô phỏng Các tuỳ chọn về môi trường mạng được khai báo như sau: 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 hiện tượng MAC 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 max trong hàng đợi set val(nn) ", $totalnodes-1," ;#Tổng số node cảm biến, set val(rp) AODV ;#Giao thức định tuyến set val(x) 1000 ;#Chiều dài bản đồ (m) set val(y) 1000 ;#Chiều rộng bản đồ (m) Trong phần chương trình chính (Main Program) sẽ định nghĩa tên File số liệu đầu ra (Trace, NAM) và thực hiện các thiết lập kênh, nút, giao thức, tác nhân, ứng dụng, mô hình Phenomenon như mô tả ở phần 3.3. Các công việc cần thiết khác cần thực hiện trong chương trình chính là thiết lập tọa độ cho các nút và các khai báo thời gian mô phỏng các sự kiện xảy ra trong thời gian mô phỏng. Ví dụ: a) Các lệnh sau thiết lập tọa độ (m) cho các nút node_1 là (x,y) = (1,1) và node_2 là (x,y) = (101,1): $node_(1) set X_ 1 $node_(1) set Y_ 1 $node_(2) set X_ 101 $node_(2) set Y_ 1 b) Lệnh sau khai báo một sự kiện tại thời điểm 0,01 giây, nút node_0 (Phenomenon) di chuyển đến tọa độ (x,y) = (470.316697379992, 107.25415624008) với tốc độ 200,0 (đơn vị tốc độ được định nghĩa trong NS-2): $ns_ at 0.01 "$node_(0) setdest 470.316697379992 107.25415624008 200.0" c) Tính toán khoảng các giữa các node: $cols = floor(sqrt($totalnodes)); $rows = ceil($totalnodes / $cols); $colinterval = floor($width / ($cols-1)) - 1;# Khoảng cách giữa hai node trên cột. $rowinterval = floor($height / ($rows-1)) - 1;# Khoảng cách giữa hai node trên dòng. Ngoài ra, còn có các định nghĩa màu nút, các thông báo ra màn hình công tác, v.v. Sau khi đã có tập mã đầu vào lưu trong file wsnet.tcl , có thể bắt đầu chạy mô phỏng bằng lệnh: ns wsnet.tcl trong cửa sổ công tác. Chương trình có thể chạy trong vài phút đến nhiều giờ tuỳ theo số nút mạng. Sau khi chạy xong, ta có thể quan sát hình ảnh triển khai mạng bằng ứng dụng NAM trong NS-2. Hình 4.1 là cửa sổ quan sát mô phỏng bằng ứng dụng NAM với số nút Sensor được triển khai là 100 trong phạm vi 1000´1000m, 1 node hiện tượng, thời gian mô phỏng 20s với giao thức định tuyến AODV. Hình 4.1: Quan sát mô phỏng bằng ứng dụng NAM 4.2.2 Tính toán kết quả Sau khi chạy xong mô phỏng trong NS-2, việc tiếp theo là phân tích file Trace. Mô phỏng này sử dụng loại Trace với định dạng 7 trường đầu tiên như sau: [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]. Trong đó, 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 7 trường đầu tiên này, các trường sau có định dạng tuỳ theo mức Trace và kiểu gói. Ví dụ với mức Trace MAC và kiểu gói PHENOM (tín hiệu hiện tượng) thì các trường tiếp theo là [thời gian chuyển] [địa chỉ MAC] [Kiểu hiện tượng]. Ví dụ về một đoạn file Trace của mạng 40 node cảm biến như sau: s 3.340224734 _21_ MAC --- 0 RTS 44 [7de 1b 15 0] r 3.340577284 _27_ MAC --- 0 RTS 44 [7de 1b 15 0] s 3.340587284 _27_ MAC --- 0 CTS 38 [6a4 15 0 0] r 3.340891834 _21_ MAC --- 0 CTS 38 [6a4 15 0 0] s 3.340901834 _21_ MAC --- 24 udp 172 [13a 1b 15 800] ------- [9:1 41:0 26 27] r 3.342278384 _27_ MAC --- 24 udp 120 [13a 1b 15 800] ------- [9:1 41:0 26 27] s 3.342288384 _27_ MAC --- 0 ACK 38 [0 15 0 0] r 3.342303384 _27_ RTR --- 24 udp 120 [13a 1b 15 800] ------- [9:1 41:0 26 27] f 3.342303384 _27_ RTR --- 24 udp 120 [13a 1b 15 800] ------- [9:1 41:0 25 33] Công việc phân tích file Trace được thực hiện qua hai bước: - Tách file Trace: Mục đích của việc tách file Trace là lấy ra các loại gói và trường cần thiết cho việc tính toán kết quả. - Tính toán kết quả: thực hiện tính toán kết quả trên các phần đã tách ra ở bước trên. 4.2.3 Tính tỷ lệ mất gói udp tại lớp giao - Công thức tính tỷ lệ mất gói udp: Tỷ lệ mất gói udp = 1 – (Số gói udp nhận/số gói udp gửi) - Tách số liệu nhận và gửi tại điểm thu Sink: Sử dụng lệnh sau trong cygwin/X để tách lấy các sự kiện nhận gói udp của điểm thu Sink (trong file Trace wsnet.tr) để tính số gói udp nhận được. $ cat wsnet.tr | grep "AGT" | grep "udp" | grep ^r | awk ' { printf ("%c\t%f\t%s\t%s\t%d\t%s\t%d\n",$1,$2,$3,$4,$6,$7,$8)} ' > nhanudp.txt $ cat wsnet.tr | grep "AGT" | grep "udp" | grep ^s | awk ' { printf("%c\t%f\t%s\t%s\t%d\t%s\t%d\n",$1,$2,$3,$4,$6,$7,$8)} ' > guiudp.txt Số lượng node cảm biến Số gói udp gửi từ các node cảm biến Số gói nhận bởi điểm thu Sink Tỷ lệ mất gói udp 40 184 184 0 60 289 288 0.003460 80 441 441 0 100 572 567 0.008741 120 626 621 0.007987 140 754 742 0.015915 160 915 869 0.050273 180 967 904 0.065150 200 1139 503 0.558385 220 1174 646 0.449744 240 1403 384 0.726301 260 1555 114 0.926688 280 1620 26 0.983951 300 1805 73 0.959557 320 1845 4 0.997832 340 2041 14 0.993141 360 2214 47 0.978771 380 2043 139 0.931963 400 2486 11 0.995575 Bảng 4.1: Tỷ lệ mất gói udp theo số lượng node cảm biến Hình 4.2: Đồ thị tỷ lệ mất gói tại lớp giao vận. 4.2.4 Tính độ trễ gói (s) - Công thức độ trễ gói udp: Độ trễ gói = Thời điểm nhận – Thời điểm gửi. Số lượng node cảm biến Độ trễ cực đại Độ trễ cực tiểu Độ trễ trung bình 40 2.118961 0.004831 0.063042 60 2.267924 0.002173 0.067624 80 1.176684 0.002174 0.052597 100 2.257699 0.004896 0.074790 120 1.489998 0.002154 0.044339 140 4.539861 0.007049 0.281901 160 7.988922 0.002154 0.755690 180 10.018941 0.002154 1.127731 200 16.319756 0.002889 3.948794 220 18.401416 0.003889 4.308794 240 18.377152 0.006547 4.930560 260 18.137422 0.039260 7.096495 280 7.069353 0.008996 1.158788 300 18.396197 0.008495 5.775821 320 6.056735 0.284054 3.999372 340 12.326229 0.021033 6.567604 360 17.322686 0.539750 8.373938 380 16.414597 0.009300 7.007174 400 10.592491 0.102936 2.758421 Bảng 4.2: Độ trễ gói cực đại, cực tiểu và trung bình Hình 4.3: Đồ thị độ trễ gói udp cực đại, cực tiểu và trung bình Hình 4.4: Đồ thị độ trễ gói udp trung bình theo số lượng node cảm biến 4.2.5 Tính tốc độ gói udp trung bình (kbps) - Sử dụng lệnh sau trong cygwin/X để tính tốc độ số liệu tức thời và ghi vào file datarate.txt. $ cat nhanudp.txt | awk ' { dif= $2 - old2; if(dif>0) printf("%f\t%f\n",$2,0.960/dif);old2=$2; }' > datarate.txt Số lượng node cảm biến Tốc độ thu số liệu cực đại Tốc độ thu số liệu cực tiểu Tốc độ thu số liệu trung bình 40 345.448003 1.244946 26.608275 60 396.858206 1.276056 47.110937 80 378.250591 0.950297 54.519053 100 393.603936 1.092742 60.582764 120 393.926959 1.377011 89.892454 140 397.186595 0.743840 89.086452 160 397.186595 0.406493 137.254866 180 397.022333 0.352261 127.033017 200 397.022333 0.564392 111.799155 220 397.022333 0.237893 130.268487 240 397.186595 0.475326 155.153009 260 397.022333 0.156104 119.839600 280 225.457961 0.069972 20.238568 300 390.720391 0.257825 45.452702 320 6.973855 0.068026 2.059487 340 34.531132 0.129143 4.443977 360 397.186595 0.150505 113.371593 380 397.186595 0.361451 114.313422 400 58.443930 0.101691 14.407393 Bảng 4.3: Tốc độ cực đại, tốc độ cực tiểu và tốc độ trung bình Hình 4.5: Đồ thị tốc độ số liệu được nhận bởi điểm thu Sink Hình 4.6: Đồ thị tốc độ số liệu trung bình được nhận bởi điểm thu Sink 4.3 Đánh giá kết quả đạt được sau mô phỏng Qua các đồ thị được xây dựng từ mô phỏng trên, ta thấy các tham số của tập tham số chất lượng dịch vụ QoS của mạng cảm biến không dây có độ biến động tương đối lớn khi mật độ tăng (số lượng node tăng). Khi tăng dần số node mạng đến một số lượng nhất định thì độ trễ, tốc độ thu số liệu và tỷ lệ mất gói có xu hướng tăng, nhưng tốc độ thu số liệu cực đại lại rất ổn định. Như vậy, ta có thể nhận thấy có 7 khoảng chính khi tăng số node cảm biến trong mạng (hay chính là tăng mật độ node cảm biến): Khoảng thứ nhất: Khoảng từ 40 đến 120 node (tương đương với 40 – 120 node/km2), độ trễ và tỷ lệ mất gói, tốc độ thu số liệu nhỏ, ổn định nên thông tin cảm biến về hiện tượng ít. Khoảng thứ hai: khoảng từ 120 đến 200 node (120 – 200 node/km2), tốc độ số liệu trung bình, độ trễ và tỷ lệ mất gói nhìn chung là tăng rất nhanh, độ dốc của đồ thị thể hiện độ trễ và tỷ lệ mất gói có giá trị lớn đặc biệt từ 180 - 200 node/km2 tuy rằng ở khoảng này tốc độ trung bình có xu hướng giảm. Khoảng thứ ba: khoảng từ 200 đến 240 node (200 – 240 node/km2), độ trễ tăng chậm, tốc độ thu số liệu tăng nhanh và đạt giá trị cực đại khoảng 155kbps, tỷ lệ mất gói vẫn tiếp tục tăng tuy rằng có xu hướng giảm tại 220 node/km2. Khoảng thứ tư: khoảng 240 đến 280 node (240 – 280 node/km2), độ trễ và tốc độ thu số liệu giảm nhanh chóng, tỷ lệ mất gói vẫn tiếp tục tăng. Khoảng thứ năm: Khoảng 280 đến 340 node (280 – 340 node/km2), tỷ lệ mất gói lại ổn định ở mức cao, độ trễ tăng lên mặc dù có chiều hướng giảm xuống ở khoảng 320 node/km2, tốc độ thu số liệu tăng sau đó giảm nhanh xuống mức thấp nhất khoảng 2- 4.5 kbps. Khoảng thứ sáu: Từ 340 đến 360 node (340 – 360 node/km2), tỷ lệ mất gói lại ổn định ở mức cao, độ và tốc độ thu số liệu tăng, đặc biệt độ trễ đạt cực đại khoảng 8.4s. Khoảng thứ bảy: Từ 360 đến 400 node (360 – 400 node/km2), tỷ lệ mất gói vẫn ổn định ở mức cao, tốc độ thu số liệu và độ trễ có xu hướng giảm xuống. Như vậy, với một diện tích là 1km2, khi triển khai các node cảm biến để đánh giá một số tham số chất lượng dịch vụ QoS theo mật độ, ta thấy với mật độ khoảng từ 40 đến 120node/km2 thì thông tin có độ chính xác là cao nhất. Để đánh giá chính xác số liệu ta phải thực hiện mô phỏng nhiều hơn với các tham số đầu vào (như công suất truyền phát, dải cảm biến, v.v…), vào phải dựa vào nhiều mô hình mô phỏng, các kinh nghiệm thực tế khác. KẾT LUẬN Công nghệ mạng cảm biến không dây hứa hẹn tạo ra những ứng dụng đầy tiềm năng, có thể áp dụng trong nhiều lĩnh vực khác nhau, mà đối với các công nghệ khác còn nhiều hạn chế. Tuy nhiên để triển khai mạng người thiết kế hệ thống yêu cầu phải nắm bắt được những nhân tố tác động đến mạng, những nhược điểm của mạng cần phải được khắc phục. Tức là, người thiết kế cần phải quan tâm đến các tham số mạng, ví dụ như tập các chất lượng dịch vụ QoS. Nhờ quá trình mô phỏng người thiết kế hệ thống có thể đánh giá được chất lượng dịch vụ mạng cung cấp, để từ đó có thể thiết kế hệ thống theo cách tối ưu nhất. Trên đây, em đã hoàn thành nội dung đồ án tốt nghiệp, tuy chưa thực sự hoàn thiện song đạt được những kết quả theo đề cương đã đề ra, được tóm tắt lại như sau: - Giới thiệu tổng quan về mạng cảm biến không dây với những hiểu biết về nền tảng của công nghệ mạng cảm biến không dây, các nhân tố ảnh hưởng đến mạng không dây, đặc điểm và kiến trúc tổng quan mạng cảm biến không dây (chương 1). - Tìm hiểu các ứng dụng của công nghệ cảm biến không dây bằng việc tìm hiểu về các hỗ trợ truyền thông cho mạng cảm biến không dây, các lĩnh vực đã áp dụng công nghệ cảm biến không dây và tìm hiểu chi tiết một ứng dụng (giám sát môi trường sống) đã được triển khai dựa trên công nghệ cảm biến không dây (chương 2). - Thực hiện mô hình hoá và tìm hiểu thiết kế phần mềm mô phỏng mạng cảm biến không dây dựa trên phần mềm mô phỏng mạng NS-2, viết các mô tả mã lập trình cho việc mô phỏng mạng cảm biến không dây (chương 3). - Thực hiện mô phỏng mạng cảm biến không dây, và đánh giá phân tích một số tham số trong tập các tham số QoS của mạng cảm biến không dây nhờ kết quả đã mô phỏng (chương 4). Nội dung đồ án mới chỉ tập trung tìm hiểu một ứng dụng về giám sát môi trường sống nên chưa thể hiện hết được sức mạnh của công nghệ mạng cảm biến không dây, và chưa đánh giá hết được các tham số của mạng, cho việc thiết kế hệ thống. Bản thân em cần phải cố gắng hơn nữa, và sự động viên đóng góp của các thầy cô, các bạn để nội dung đồ án tốt nghiệp hoàn thiện hơn. Một lần nữa, em xin chân thành cảm ơn. TÀI LIỆU THAM KHẢO Anna Ha’c, Wireless Sensor Network Designs, University of Hawaii at Manoa, Honolulu, USA, John Wiley & Sons Ltd, Copyright 2003. Edgar H.Callaway, Jr. Wireless Sensor Networks: Architectures and Protocols, A CRC Press Company, Copyright © 2004 CRC Press LLC. I.F. Akyildiz, W. Su*, Y. Sankarasubramaniam, E. Cayirci, Wireless sensor networks: A survey, Broadband and Wireless Networking Laboratory, School of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA 30332, Received 12 December 2001; accepted 20 December 2001.. Mainwaring, Polastre, et al. Wireless Sensor Networks For Habitat Monitoring, online posting. 2002 ACM International Workshop on Wireless Sensor Networks and Applications September 28, 2002. Atlanta, GA. (also Intel Research, IRB-TR-02-006, June 2002.) 12 Dec 2002. . Jason Liu, L. Felipe Perrone, David M. Nicol, Michael Liljenstam, Chip Elliott, David Pearson, Simulation Modeling of Large-Scale Ad-hoc Sensor Networks, Institute for Security Technology Studies (ISTS), Dartmouth College and BBN Technologies. Sung Park, Andreas Savvides, Mani B. Srivastava. “SIMULATING NETWORKS OF WIRELESS SENSORS” Networked Emebedded Systems Laboratory Electrical Engineering Departments University of California, Los Angeles Los Angeles, CA, 90095, U.S.A. The Network Simulator - ns-2. The ns Manual. NRL’s Sensor Network Extension to ns-2. NS-2 by Example . NS by Example, Jae Chung and Mark Claypool. Ian Downard, SIMULATING SENSOR NETWORKS IN NS-2, Naval Research Laboratory Code 5523, 4555 Overlook Ave, Washington DC, 20375-5337. . MỤC LỤC ._.

Các file đính kèm theo tài liệu này:

  • docDA1.doc