Đồ án Đa thâm nhập môi trường trong mạng WSN - Nguyễn Thị Khánh Chi
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Đa thâm nhập môi trường trong mạng WSN - Nguyễn Thị Khánh Chi", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_da_tham_nhap_moi_truong_trong_mang_wsn_nguyen_thi_khan.pdf
Nội dung text: Đồ án Đa thâm nhập môi trường trong mạng WSN - Nguyễn Thị Khánh Chi
- Đồ án tốt nghiệp MỤC LỤC LỜI CẢM ƠN i LỜI NÓI ĐẦU ii DANH SÁCH CÁC TỪ VIẾT TẮT iii Chương I: Tổng quan về mạng cảm biến không dây 4 1.1. Giới thiệu mạng cảm biến không dây. 4 1.2. Cấu trúc mạng cảm biến không dây 5 1.2.1. Đặc điểm của cấu trúc mạng cảm biến 6 1.2.2. Các thành phần cơ bản của một node cảm biến 8 1.2.3. Mô hình mạng trong mạng cảm biến không dây 11 1.3. Các ứng dụng của mạng cảm biến không dây 16 1.3.1. Ứng dụng trong quân đội 16 1.3.2. Ứng dụng trong môi trường 16 1.3.3. Ứng dụng trong chăm sóc sức khỏe 17 1.3.4. Ứng dụng trong gia đình 18 1.4. Kết luận 18 Chương II: Đa thâm nhập môi trường trong mạng WSN 19 2.1. Giới thiệu 19 2.2. Thủ tục thâm nhập môi trường MAC trong WSN 19 2.2.1. Các loại MAC trong mạng WSN 19 2.2.2. Yêu cầu của giao thức MAC trong mạng WSN 20 23 2.2.4. Vấn đề trong truy cập kênh không dây 25 2.3. Thủ tục cạnh tranh trong giao thức MAC của WSN 28 28 2.3.2. 31 2.4. Giới thiệu về IEEE 802.15.4 MAC 33 Nguyễn Thị Khánh Chi - CT902
- Đồ án tốt nghiệp 2.4.1. Phương thức mạng và cấu trúc siêu khung 34 2.4.2. Quản lý khe thời gian đảm bảo 36 2.4.3. Chế độ truyền dữ liệu 36 2.5. Kết luận 37 Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây 38 3.1. Mục đích, yêu cầu và thiết bị thực nghiệm 38 3.1.1. Mục đích 38 3.1.2. Yêu cầu thực nghiệm 38 3.1.3. Các thiết bị thực nghiệm 39 3.2. Giới thiệu về phần mềm nhúng 39 3.2.1. Các bước cơ bản xây dựng một phần mềm nhúng 41 3.2.2 Phần mềm nhúng viết cho CC1010 41 3.3. Thực nghiệm đo hiệu quả truyền nhận gói tin trong mạng WSN 47 3.3.1. Sơ đồ thực nghiệm và thuật toán 48 3.3.2. Tiến hành thực nghiệm và các kết quả đo được 50 3.4. Kết luận và hướng nghiên cứu tiếp theo 53 KẾT LUẬN 57 TÀI LIỆU THAM KHẢO 58 Nguyễn Thị Khánh Chi - CT902
- Đồ án tốt nghiệp LỜI CẢM ƠN Lời đầu tiên em xin được bày tỏ lòng biết ơn chân thành và sâu sắc đến PGS.TS. Vương Đạo Vy, giảng viên trường Đại học Công Nghệ – Đại học Quốc Gia Hà Nội , người đã trực tiếp hướng dẫn và chỉ bảo tận tình cho em hoàn thành đồ án này. Em xin cảm ơn các thầy giáo, cô giáo và các cán bộ trong Khoa Công nghệ thông tin Trường Đại học Dân lập Hải Phòng đã cung cấp kiến thức cho em suốt những học kỳ qua, để em có nền tảng cơ sở thực hiện đồ án này. Cuối cùng, em xin cảm ơn gia đình và bạn bè luôn tạo điều kiện thuận lợi, động viên và giúp đỡ em trong suốt thời gian học tập, cũng như quá trình nghiên cứu, hoàn thành đồ án này Em xin chân thành cảm ơn! Hải Phòng, 07/2009 Sinh viên Nguyễn Thị Khánh Chi Nguyễn Thị Khánh Chi - CT902 i
- Đồ án tốt nghiệp LỜI NÓI ĐẦU Ngày nay nhờ có những tiến bộ nhanh chóng trong khoa học và công nghệ sự phát triển của những mạng bao gồm các cảm biến giá thành rẻ, tiêu thụ ít năng lượng và đa chức năng đã nhận được những sự chú ý đáng kể. Hiện nay người ta đang tập trung triển khai các mạng cảm biến để áp dụng vào trong cuộc sống hàng ngày. Đó là các lĩnh vực về y tế, quân sự, môi trường, giao thông Trong một tương lai không xa, các ứng dụng của mạng cảm biến sẽ trở thành một phần không thể thiếu trong cuộc sống con người nếu chúng ta phát huy được hết các điểm mạnh mà không phải mạng nào cũng có được như mạng cảm biến không dây. Tuy nhiên mạng cảm ứng đang phải đối mặt với rất nhiều thách thức, một trong những thách thức lớn nhất đó là nguồn năng lượng bị giới hạn và không thể nạp lại. Hiện nay rất nhiều nhà nghiên cứu đang tập trung vào việc cải thiện khả năng sử dụng hiệu quả năng lượng của mạng cảm biến trong từng lĩnh vực khác nhau. Mạng cảm biến là một lĩnh vực rất sâu rộng, đồ án “Đa thâm nhập môi trường trong mạng WSN” sẽ giới thiệu một cách khái quát nhất về các đặc điểm của mạng cảm biến không dây. Sau đó tập trung tìm hiểu về thủ tục đa thâm nhập môi trường cạnh tranh trong mạng cảm biến không dây và đánh giá hiệu quả truyền nhận gói tin bằng phần mềm nhúng trong môi trường mạng cảm biến không dây. Đồ án này gồm có 3 chương: Chương 1: Tổng quan về mạng cảm biến không dây Chương 2: Đa thâm nhập môi trường trong mạng WSN Chương 3: Thực nghiệm và đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Nguyễn Thị Khánh Chi - CT902 ii
- Đồ án tốt nghiệp DANH SÁCH CÁC TỪ VIẾT TẮT ACK Acknowledge Tin báo nhận Bộ chuyển đổi tương tự/số ADC Analog Digital Converter sang số/tương tự GPS Geopositioning System Hệ thống định vị địa lý Institute of Electrical and Tổ chức kỹ nghệ Điện và IEEE Electronic Engineering Điện Tử Điều khiển truy cập môi MAC Medium Access Control trường Thời gian truy cập cạnh CAP Contention Access Period tranh PHY Physical Tầng vật lý RF Radio Frequency Sóng radio ROM Read-Only Memory Bộ nhớ chỉ đọc RAM Random-Access Memory Bộ nhớ truy cập ngẫu nhiên GTS Guaranteed Time Slot Khe thời gian đảm bảo WSN Wireless Sensor Network Mạng cảm biến không dây Đa truy cập phân chia theo TDMA Time-division multiple access thời gian Carrier Sense Multiple Access Đa truy cập cảm nhận sóng CSMA mang PDA Personal Digital Assistant Thiết bị số hỗ trợ cá nhân Nguyễn Thị Khánh Chi - CT902 iii
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN Chương I: Tổng quan về mạng cảm biến không dây 1.1. Giới thiệu mạng cảm biến không dây. * Định nghĩa: Một mạng cảm biến không dây là một mạng không dây mà các node mạng là các vi điều khiển sau khi đã được cài đặt phần mềm nhúng kết hợp với các bộ phát sóng vô tuyến cùng với các cảm biến và nó có khả năng thu nhận, xử lý dữ liệu từ các node mạng và môi trường xung quanh node mạng. Những node cảm biến này bao gồm các thành phần: bộ vi xử lý rất nhỏ, bộ nhớ giới hạn, bộ thu phát không dây, nguồn nuôi. Kích thước của các con cảm biến thay đổi tùy thuộc vào từng ứng dụng. Do số lượng các node mạng lớn, có thể được triển khai ở nhiều ở những nơi địa lý phức tạp, nên khả năng thay thế nguồn nuôi cho từng node mạng là gần như không thể. Do vậy việc quản lý năng lượng để tăng thời gian sống của các con cảm biến là một vấn đề trọng tâm trong mạng cảm biến không dây ( bao gồm lựa chọn phần cứng, chương trình nhúng tại các node). Bởi vậy mà tùy theo các loại ứng dụng mà ta có thể lựa chọn các node mạng phù hợp. * Đặc điểm của mạng cảm biến không dây: - Khả năng tự cấu hình, yêu cầu ít hoặc không có sự can thiệp của con người - Truyền thông vô tuyến và truyền đa bước - Triển khai với số lượng lớn trên phạm vi rộng - Cấu hình mạng thường xuyên thay đổi do môi trường truyền hoặc node mạng lỗi Nguyễn Thị Khánh Chi - CT902 4
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN - Năng lượng, bộ nhớ, khả năng xử lý có hạn Nhờ khả năng triển khai trên một phạm vi rộng và khả năng tự cấu hình cho mục đích giám sát, cảnh báo . Ví dụ như giám sát cảnh báo cháy rừng, cảnh báo lũ, và trong quân sự. Thêm vào đó sử dụng kênh truyền vô tuyến nên không phải đầu tư triển khai cơ sở hạ tầng mạng, các thiết bị phần cứng có khả năng tích hợp cao và tốn ít năng lượng. Bởi vậy các ứng dụng của mạng cảm nhận không dây ngày càng phổ biến cho các ứng dụng như: quân sự, các ứng dụng gia đình, giám sát, cảnh báo 1.2. Cấu trúc mạng cảm biến không dây Các node cảm biến được phân bố trong một trường cảm biến, chức năng của các node là thu thập dữ liệu của đối tượng tại khu vực nó được triển khai, truyền và chuyển tiếp dữ liệu về node cơ sở ( Base station, Sink). Hình 1.1. Cấu trúc mạng cảm biến Sink là một thực thể, tại đó thông tin được yêu cầu. Sink có thể là thực thể bên trong mạng (là một node cảm biến) hoặc ngoài mạng. Thực thể ngoài mạng có thể là một thiết bị thực sự ví dụ như máy tính xách tay mà Nguyễn Thị Khánh Chi - CT902 5
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN tương tác với mạng cảm biến, hoặc cũng đơn thuần chỉ là một gateway mà nối với mạng khác lớn hơn như Internet nơi mà các yêu cầu thực sự đối với các thông tin lấy từ một vài node cảm biến trong mạng. 1.2.1. Đặc điểm của cấu trúc mạng cảm biến Như trên ta đã biết mạng cảm biến không dây được triển khai với số lượng lớn các node cảm biến trên một phạm vi rộng, các node cảm biến có các giới hạn về khả năng lưu trữ đặc biệt là vấn đề về năng lượng. Dưới đây là một số đặc điểm nổi bật trong cấu trúc mạng cảm biến: Khả năng chịu lỗi: thể hiện ở việc mạng vẫn hoạt động bình thường, duy trì những chức năng của nó ngay cả khi một số node mạng không hoạt động do thiếu năng lượng, do những hư hỏng vật lý hoặc do ảnh hưởng của môi trường. Khả năng mở rộng: tùy thuộc vào các ứng dụng cụ thể mà số lượng các node cảm biến được triển khai. Do đó mạng mới cần phải có khả năng mở rộng để có thể làm việc với số lượng lớn các node cảm biến được triển khai. Môi trường triển khai: Các node cảm biến được thiết lập dày đặc, rất gần hoặc trực tiếp bên trong các hiện tượng để quan sát. Vì thế, chúng làm việc ở những vùng xa xôi con người khó có thể kiểm soát được. Chúng có thể làm việc ở bên trong các máy móc lớn, ở dưới đáy biển, hoặc trong những vùng môi trường ô nhiễm, ở gia đình hoặc những tòa nhà lớn Tùy thuộc vào môi trường được triển khai mà các node cảm biến được thiết kế cho phù hợp. Phương tiện truyền dẫn: Ở những mạng cảm biến multihop, các node được kết nối bằng những phương tiện không dây. Các đường kết nối Nguyễn Thị Khánh Chi - CT902 6
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN này có thể tạo nên bởi sóng vô tuyến, hồng ngoại hoặc những phương tiện quang học. Để thiết lập sự hoạt động thống nhất của những mạng này, các phương tiện truyền dẫn phải được chọn phù hợp. Chi phí sản xuất: Vì các 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í của mỗi node rất quan trọng trong việc điều chỉnh chi phí của toàn mạng. Do vậy chi phí của mỗi node cảm biến phải giữ ở mức thấp. Ràng buộc về phần cứng: Vì số lượng các node trong mạng rất nhiều nên các node cảm biến cần phải có các ràng buộc về phần cứng như sau: Kích thước phải nhỏ, tiêu thụ năng lượng thấp, có khả năng hoạt động ở những nơi có mật độ cao, chi phí sản xuất thấp, có khả năng tự trị và hoạt động không cần có người kiểm soát, thích nghi với môi trường. Topo mạng cảm biến (network topology): Trong mạng cảm biến, hàng trăm đến hàng nghìn node được triển khai trên trường cảm biến. Mật độ các node có thể lên tới 20node/m3. Do số lượng các node cảm biến rất lớn nên cần phải thiết lập một topo mạng ổn định. Chúng ta có thể kiểm tra các vấn đề liên quan đến việc duy trì và thay đổi cấu hình ở 3 pha sau: - Pha tiền triển khai và triển khai: các node cảm biến có thể đặt lộn xộn hoặc xếp theo trật tự trên trường cảm biến. Chúng có thể được triển khai bằng cách thả từ máy bay xuống, tên lửa, hoặc có thể đặt từng cái một. - Pha hậu triển khai: sau khi triển khai, những sự thay đổi cấu hình phụ thuộc vào việc thay đổi vị trí các node cảm biến, khả năng đạt trạng thái không kết nối (phụ thuộc vào nhiễu, việc di chuyển các vật cản, ), năng lượng thích hợp, những sự cố, và nhiệm vụ cụ thể. Nguyễn Thị Khánh Chi - CT902 7
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN - Pha triển khai lại: Sau khi triển khai cấu hình, ta vẫn có thể thêm vào các node cảm biến khác để thay thế các node gặp sự cố hoặc tùy thuộc vào sự thay đổi chức năng. Sự tiêu thụ điện năng (power consumption): Các node cảm biến không dây có thể coi là một thiết bị vi điện tử chỉ có thể được trang bị nguồn năng lượng giới hạn ( <0.5Ah, 1.2V ). Trong một số ứng dụng, việc bổ sung nguồn năng lượng không thể thực hiện được. Cho nên khoảng thời gian sống của các code cảm biến phụ thuộc mạnh vào thời gian sống của pin. Nhiệm vụ chính của các node cảm biến trong trường cảm biến là phát hiện ra các sự kiện, thực hiện xử lý dữ liệu cục bộ nhanh chóng, và sau đó truyền dữ liệu đi. Vì thế sự tiêu thụ năng lượng được chia làm 3 vùng: cảm nhận (sensing), giao tiếp (communicating), và xử lý dữ liệu (data processing). Vì vậy, việc duy trì và quản lý nguồn năng lượng đóng một vai trò quan trọng. 1.2.2. Các thành phần cơ bản của một node cảm biến Một node cảm biến được cấu thành bởi 4 thành phần cơ bản: đơn vị cảm biến ( a sensing unit), đơn vị xử lý ( a processing unit), đơn vị truyền dẫn ( a transceiver unit) và bộ nguồn ( a power unit). Ngoài ra có thể có thêm những thành phần khác tùy thuộc vào từng ứng dụng như là hệ thống định vị ( location finding system), bộ phát nguồn ( power generator) và bộ phận di động ( mobilizer). Các đơn vị cảm biến ( sensing units) bao gồm cảm biến và bộ chuyển đổi tín hiệu tương tự thành tín hiệu số ( Analog to Digital Converter- ADCs). Dựa trên những hiện tượng quan sát được, tín hiệu tương tự tạo ra bởi sensor được chuyển sang tín hiệu số bằng bộ ADC, sau đó được đưa vào bộ xử lý. Bộ xử lý thường liên quan đến một bộ phận lưu trữ nhỏ, quản lý những thủ tục làm cho node cảm biến hợp tác với nhau để thực hiện nhiệm vụ cảm biến Nguyễn Thị Khánh Chi - CT902 8
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN được định trước. Bộ thu phát kết nối với node mạng. Một trong những thành phần quan trọng của một node cảm biến là bộ phận cung cấp quản lý năng lượng. Bộ phận này có thể được hỗ trợ bởi một bộ phận tiếp thu năng lượng như pin mặt trời. Node cảm biến còn có thể có những bộ phận nhỏ khác phụ thuộc vào từng ứng dụng cụ thể. Hình1.2: Cấu tạo node cảm biến a. Cảm biến Do giới hạn băng thông và nguồn, các thiết bị WSN chỉ hỗ trợ bộ cảm biến tốc độ dữ liệu thấp. Với các ứng dụng bộ cảm biến đa chức năng, mỗi thiết bị có một vài loại sensor trên bo mạch. Tùy theo mỗi ứng dụng sẽ có một loại sensor riêng: sensor nhiệt độ, sensor ánh sáng, sensor độ ẩm, sensor áp suất, sensor gia tốc, sensor từ, sensor âm thanh, hay thậm chí là sensor hình ảnh có độ phân giải thấp b. Bộ xử lý nhúng năng lượng thấp Vi xử lý là thiết bị quan trọng nhất trong node mạng cảm nhận không dây, thực hiện thu thập dữ liệu từ các node, sau đó xử lý trước khi gửi đi, và nhận dữ liệu từ các node khác. Nguyên nhân nó được lựa chọn trong các hệ Nguyễn Thị Khánh Chi - CT902 9
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN thống nhúng là mềm dẻo trong kết nối với các thiết bị khác như thiết bị cảm biến, tiêu thụ năng lượng thấp nhờ khả năng chuyển sang chế độ ngủ khi đó chỉ có một phần của vi điều khiển hoạt động, hơn nữa thường có bộ nhớ tích hợp ngay trên bộ vi xử lý. Một đặc điểm rất được người lập trình yêu thích là khả năng lập trình bằng ngôn ngữ bậc cao (C, C++). c. Bộ nhớ/Lưu trữ (Memory/Storage) Được sử dụng để lưu trữ dữ liệu thu từ các node cảm biến, hoặc gói dữ liệu từ các node khác, có 2 loại kiến trúc bộ nhớ là: kiến trúc havard và kiến trúc von newman, điểm khác nhau của 2 kiến trúc này là trong kiến trúc havard thì bộ nhớ dữ liệu và chương trình tách biệt nhau khi đó dữ liệu thường được chứa trong RAM còn chương trình được chứa trong ROM hoặc bộ nhớ FLASH, còn trong kiến trúc von newman thì dữ liệu và chương trình được lưu cùng với nhau, thường là trên RAM, nhược điểm của nó là dữ liệu sẽ bị mất khi tắt nguồn, bởi vậy chương trình hoặc hệ điều hành thường được lưu trữ trên ROM, EEPROM, hoặc bộ nhớ flash ( gần tương tự như EEPROM). Chất lượng bộ nhớ và lưu trữ trên bo mạch của thiết bị WSN thường bị giới hạn đáng kể do giá thành thiết bị thấp. d. Bộ thu phát sóng vô tuyến Thiết bị WSN có tốc độ thấp (10 100kbps) và là thiết bị vô tuyến không dây dải ngắn (nhỏ hơn 100m). Trong WSN thì truyền vô tuyến là một quá trình sử dụng công suất mạnh nhất, do đó nó cần phải kết hợp có hiệu quả công suất giữa các chế độ ngủ (sleep) và chế độ hoạt động. e. Hệ thống định vị địa lý GPS (Geopositioning System) Trong rất nhiều ứng dụng WSN, điều cực kỳ quan trọng là nhận biết được vị trí của các số đo cảm biến. Cách đơn giản để nhận biết vị trí là cấu Nguyễn Thị Khánh Chi - CT902 10
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN hình trước vị trí của các cảm biến khi trải ra. Nhưng cách này chỉ khả thi trong một số điều kiện triển khai nhất định. Ví dụ cụ thể đối với hệ thống bên ngoài tòa nhà: Khi một mạng được triển khai, thông tin dễ dàng thu được qua vệ tinh gốc GPS. Tuy nhiên, tại các ứng dụng, do hạn chế của môi trường và kinh phí, chỉ một phần nhỏ các node được trang bị GPS. Trong trường hợp này, các node khác nhau (nhưng vẫn trong cùng mạng) chỉ thu được vị trí của nhau một cách gián tiếp qua giao thức định vị mạng. f. Nguồn năng lượng (Power source) Là thành phần cốt yếu của mạng cảm nhận, trong đó 2 vấn đề cần quan tâm là khả năng lưu trữ và cung cấp năng lượng, và khả năng thay thế nguồn. Thường thì nguồn ở đây thường là pin, và khả năng thay thế trong node mạng là không thế do địa hình triển khai và số node mạng lớn, do vậy phải chọn nguồn ổn định có khả năng hoạt động phù hợp với yêu cầu của ứng dụng và môi trường hoạt động. 1.2.3. Mô hình mạng trong mạng cảm biến không dây a. Node nguồn và node cơ sở Một vài kiểu đối tượng giám sát của mạng cảm biến theo kiểu phát hiện sự kiện, hoặc theo chu kỳ; chức năng của chúng là phát hiện và gửi dữ liệu tại khu vực mà nó giám sát về node cơ sở, nơi tập trung và xử lý toàn bộ dữ liệu của các node khác gửi về, thường có 3 loại node cơ sở: có thể là một node trong mạng tương tự như các node con khác với loại node cơ sở này thường nó chỉ dùng để nhận dữ liệu sau đó chuyển tới PC để xử lý, loại node cơ sở thứ 2 có thể là một thiết bị cầm tay hoặc PDA được sử Nguyễn Thị Khánh Chi - CT902 11
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN dụng để tương tác với mạng cảm nhận, loại thứ 3 là node cảm nhận có thể được nối qua gateway để tới một mạng lớn hơn là internet. Hình1.3: Loại node cơ sở trong mạng WSN Hình1.4: Kết nối 2 mạng cảm nhận qua kênh truyền trên internet b. Mạng đơn bước và mạng đa bước Trạm gốc Trạm con Hình1.5a. Truyền đơn bước trong WSN Nguyễn Thị Khánh Chi - CT902 12
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN Trạm gốc Trạm trung gian Trạm con Hình1.5b. Truyền đa bước trong WSN - Mạng đơn bước đơn giản là từ node con ta có thể gửi dữ liệu trực tiếp về node cơ sở, mạng loại này thường là mạng nhỏ, thông thường trường hợp mạng đơn bước được coi là một trường hợp đặc biệt của mạng đa bước khi xem xét trên một phạm vi nhỏ. - Trong trường hợp trên phạm vi lớn dữ liệu không thể gửi trực tiếp từ node con về node cơ sở thì dữ liệu sẽ được gửi qua các node trung gian trước khi tới node cơ sở, ta gọi đây là truyền đa bước. Đôi khi không phải vì không thể truyền trực tiếp từ node con tới node cơ sở mà người ta mới dùng node trung gian, do dùng node trung gian để giảm công suất và chia đều tiêu tán năng lượng giữa các node. Như vậy các node con ngoài nhiệm vụ thu nhận dữ liệu còn phải chuyển tiếp dữ liệu về trạm cơ sở. Tuy truyền đa bước có thể giải quyết bài toán về khoảng cách nhưng lại gặp phải vấn đề là sử dụng năng lượng hiệu quả, và xung đột khi có quá nhiều node có yêu cầu gửi dữ liệu tới một trạm để chuyển tiếp, ví dụ trong một topo mạng phổ biến dạng cây, dạng lưới thì những node càng gần trạm gốc thì càng phải chuyển tiếp nhiều gói tin. Nguyễn Thị Khánh Chi - CT902 13
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN c. Mô hình phân lớp trong mạng WSN Hình1.6: Mô hình phân lớp mạng cảm biến - Lớp vật lý: cung cấp các kỹ thuật điều chế, phát và thu. - Lớp liên kết dữ liệu: Vì môi trường có tạp âm và các node cảm biến có thể di động, giao thức điều khiển truy nhập môi trường (MAC) phải xét đến vấn đề công suất và phải có khả năng tối thiểu hoá việc va chạm với thông tin quảng bá của các node lân cận. - Lớp mạng: quan tâm đến việc chọn đường số liệu được cung cấp bởi lớp truyền tải. - Lớp truyền tải: giúp duy trì luồng số liệu nếu ứng dụng mạng cảm biến yêu cầu. Tuỳ theo nhiệm vụ cảm biến, các loại phần mềm ứng dụng khác nhau có thể được xây dựng và sử dụng ở lớp ứng dụng. Ngoài ra, các phần quản lý năng lượng, di chuyển và nhiệm vụ sẽ giám sát việc sử dụng công suất, sự di chuyển và thực hiện nhiệm vụ giữa các node cảm biến. Những phần này giúp các node cảm biến phối hợp nhiệm vụ cảm biến và tiêu thụ công suất tổng thể thấp hơn. Nguyễn Thị Khánh Chi - CT902 14
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN - Phần quản lý năng lượng: điều khiển việc sử dụng công suất của node cảm biến. Ví dụ, node cảm biến có thể tắt khối thu của nó sau khi thu được một bản tin từ một node lân cận. Điều này giúp tránh tạo ra các bản tin giống nhau. Cũng vậy, khi mức công suất của node cảm biến thấp, node cảm biến phát thông tin quảng bá tới các node lân cận để thông báo nó có mức công suất thấp và không thể tham gia vào các bản tin chọn đường. Công suất còn lại sẽ được dành riêng cho nhiệm vụ cảm biến. - Phần quản lý di động: phát hiện và ghi lại sự di chuyển của các node cảm biến để duy trì tuyến tới người sử dụng và các nút cảm biến có thể lưu vết của các node cảm biến lân cận. Nhờ xác định được các node cảm biến lân cận, các node cảm biến có thể cân bằng giữa công suất của nó và nhiệm vụ thực hiện. - Phần quản lý nhiệm vụ: dùng để làm cân bằng và lên kế hoạch các nhiệm vụ cảm biến trong một vùng xác định. Không phải tất cả các node cảm biến trong vùng đó điều phải thực hiện nhiệm vụ cảm biến tại cùng một thời điểm. Kết quả là một số 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 công suất của nó. Những phần quản lý này là cần thết để các node cảm biến có thể làm việc cùng nhau theo một cách thức sử dụng hiệu quả công suất, chọn đường số liệu trong mạng cảm biến di động và phân chia tài nguyên giữa các node cảm biến. Chúng ta chỉ xem xét lớp liên kết dữ liệu để hiểu được thủ tục điều khiển thâm nhập môi trường (MAC) trong mạng cảm biến không dây. Nguyễn Thị Khánh Chi - CT902 15
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN 1.3. Các ứng dụng của mạng cảm biến không dây WSN ngày càng được sử dụng nhiều trong hoạt động công nhiệp và dân dụng. Một số ứng dụng cơ bản của WSN: 1.3.1. Ứng dụng trong quân đội Một vài ứng dụng quân đội của mạng cảm biến là quan sát lực lượng, trang thiết bị, theo dõi chiến trường, phát hiện giám sát mục tiêu, Hình1.6: Ứng dụng trong quân đội Theo dõi mục tiêu: mạng cảm biến có thể được triển khai ở những nơi quan trọng cần theo dõi, các node cảm biến cần nhanh chóng cảm nhận các dữ liệu và tập trung dữ liệu gửi về trong vài phút trước khi giám sát được mục tiêu. 1.3.2. Ứng dụng trong môi trường Một vài ứng dụng môi trường trong mạng cảm biến bao gồm: theo dõi sự di cư của các loài chim, cảnh báo cháy rừng, phát hiện lũ lụt, Nguyễn Thị Khánh Chi - CT902 16
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN Hình1.7: Ứng dụng trong môi trường 1.3.3. Ứng dụng trong chăm sóc sức khỏe Một vài ứng dụng về sức khỏe đối với mạng cảm biến là giám sát bệnh nhân, các triệu chứng, quản lý thuốc trong bệnh viện, theo dõi và kiểm tra bác sĩ và bệnh nhân trong bệnh viện Hình1.8: Ứng dụng trong y tế Theo dõi bác sĩ và bệnh nhân trong bệnh viện: Mỗi bệnh nhân được gắn một node cảm biến nhỏ và nhẹ, mỗi một node cảm biến này có nhiệm vụ riêng, ví dụ có node cảm biến xác định nhịp tim, có node cảm biến phát hiện Nguyễn Thị Khánh Chi - CT902 17
- Đồ án tốt nghiệp Chương I: Tổng quan về mạng WSN áp suất máu, bác sĩ cũng có thể mang node cảm biến để cho bác sĩ có thể xác định được vị trí của họ trong bệnh viện. 1.3.4. Ứng dụng trong gia đình Trong lĩnh vực tự động hóa gia đình, các node cảm biến được đặt ở các phòng để đo nhiệt độ. Không những thế, chúng còn được dùng để phát hiện những sự dịch chuyển trong phòng và thông báo lại thông tin này đến thiết bị báo động trong trường hợp không có ai ở nhà. 1.4. Kết luận Chương này đã giới thiệu về mạng cảm biến không dây, cấu trúc của mạng cảm biến và các ứng dụng của mạng cảm biến không dây trong nhiều lĩnh vực dân sự cũng như quân sự, y tế, môi trường Qua đó thấy rõ được tầm quan trọng của mạng cảm biến với cuộc sống. Với sự phát triển nhanh chóng của công nghệ ngày nay hứa hẹn thêm nhiều ứng dụng mới của mạng cảm biến. Nguyễn Thị Khánh Chi - CT902 18
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Chương II: Đa thâm nhập môi trường trong mạng WSN 2.1. Giới thiệu Một thách thức phổ biến trong mạng lưới không dây là vấn đề về xung đột. Xung đột có thể xảy ra nếu như giao thức thâm nhập môi trường cho phép 2 hay nhiều node gửi dữ liệu tại cùng một thời điểm, xung đột có thể là nguyên nhân làm cho trạm thu không thể nhận dữ liệu chính xác. Thủ tục thâm nhập môi trường MAC đã được phát triển để hỗ trợ mỗi node để quyết định khi nào và làm thế nào để truy cập vào các kênh trong môi trường truyền vô tuyến. Lớp MAC thường được coi như là một tầng dưới của lớp liên kết dữ liệu trong mô hình phân lớp mạng. Mục đích của thủ tục thâm nhập môi trường MAC là truyền gói tin một cách hiệu quả, ổn định. 2.2. Thủ tục thâm nhập môi trường MAC trong WSN Một thủ tục MAC phục vụ như một thành phần đầy đủ trong thông tin liên lạc máy tính. Nó cho phép các node trong một mạng cụ thể, cả có dây và không dây phối hợp với nhau trong một phương tiện truyền thông ( kênh) chia sẻ để xử lý hiệu quả và có hiệu quả đối với các kênh truy cập. Ngoài ra nó còn quản lý các hoạt động khác như: chu kỳ ngủ - thức, xác định và cập nhật các hàng xóm, tránh xung đột các gói, bảo mật, phát hiện và báo lỗi 2.2.1. Các loại MAC trong mạng WSN Phạm trù đầu tiên của thủ tục MAC được biết đến như truy cập cạnh tranh. Tất cả các node trong một mạng cạnh tranh với nhau để truy cập kênh. Cơ chế cơ bản như là các kênh dành riêng là thích hợp khi nó tự do hoạt động. Nếu không, một node sẽ đi vào chế độ im lặng và định lại trạng thái Nguyễn Thị Khánh Chi - CT902 19
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN kênh sau một khoảng thời gian. Điều này được lặp đi lặp lại cho đến khi kênh được đảm bảo hoặc số lượng tối đa cho phép là cố gắng gần được. Loại thứ 2 được biết đến là truy cập tự do cạnh tranh, ở đó mỗi node được chỉ định một khoảng thời gian để truy cập vào các kênh. Việc phân bố này được thông qua một node trung gian hoặc trạm cơ sở (Base Station) hoặc thông qua phân giải giữa các node liên quan đến thông tin liên lạc. Truy cập lập lịch là một ví dụ khác về thủ tục MAC ở đó các node quảng bá các hoạt động lập lịch ( ngủ, thức, truyền tải và nhận) ngay lập tức cho tất cả các node hàng xóm. Node nhận sẽ điều chỉnh lịch biểu để đảm bảo tự do xung đột thông tin liên lạc trên mạng. Phương pháp thứ 4 được biết đến như phương pháp tiếp cận lai. Nó kết hợp 2 hoặc nhiều hơn các kỹ thuật được đề cập ở trước đó. 2.2.2. Yêu cầu của giao thức MAC trong mạng WSN Một trong những yêu cầu cơ bản của giao thức MAC trong mạng WSN là giảm thiểu xung đột các gói xảy ra khi hai hay nhiều node cùng kiểm soát kênh truyền cùng một lúc. Các giải pháp này là phù hợp với hiệu quả thiết lập và cơ chế hiệu quả kênh truy cập. Nói chung xung đột không thể được khắc phục hoàn toàn trong mạng không dây. Tuy nhiên với một giao thức MAC tốt xuất hiện sẽ giảm thiểu được điều đó xảy ra. Nguồn của gói xung đột bao gồm truy cập đồng thời và vấn đề ' node ẩn '. Một yêu cầu khác của một giao thức MAC trong mạng WSN là hiệu quả năng lượng ( Energy Efficiency). Như đã đề cập ở trên, mạng WSN là không tự nhiên bởi nguồn năng lượng hạn chế. Để kéo dài tuổi thọ của một node cảm biến, các nguồn năng lượng lãng phí phải được thu nhỏ. Chúng Nguyễn Thị Khánh Chi - CT902 20
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN bao gồm các gói xung đột, lắng nghe nhàn rỗi, nghe lỏm, cũng như truyền và nhận các thông điệp. Giảm xung đột gói là yêu cầu cơ bản nhất để giảm nhàn rỗi ngẫu nhiên 'backoff' (nghe) và truyền lại gói tin. Ngoài ra giao thức MAC cũng giảm thiểu kiểm soát việc truyền các gói tin và cho phép các node đi vào chế độ ngủ khi không hoạt động trong một khoảng thời gian. Sau đó được lập lịch có hiệu quả bởi vì chuyển tiếp thường xuyên từ trạng thái ngủ sang trạng thái hoạt động và ngược lại, tiêu thụ tương đối lớn một số lượng lớn năng lượng. Trong mạng ad hoc, các node cộng tác với nhau trong một cách thức phân phối để thực hiện một chức năng bao gồm các kênh truy cập. Đây là yêu cầu quan trọng trong sự vắng mặt của node kiểm soát trung tâm hoặc gateway tới phối hợp node. Ngay cả khi gateway bị chiếm, hợp tác giữa các node cũng cần thiết bởi vì gateway có thể không có đủ nguồn lực để hỗ trợ lớn số lượng node và trong trường hợp nó lỗi, tổng mạng bị lỗi có thể ngăn ngừa được. Vì vậy các node cảm biến phải linh hoạt và có lỗi. Mở rộng và thích nghi ( Scalability and Adaptivity) đề cập đến khả năng của giao thức MAC theo các thay đổi trong kích thước, mật độ, và Topo mạng. Các node trong WSN có thể sẽ không được mobile đánh giá cao nhưng các thay đổi topo mạng có thể xảy ra khi node trở thành hoạt động và không hoạt động hoặc khi node mới được bổ sung vào mạng. Các đặc điểm khác bao gồm trễ, thông lượng, công bằng, và sự tận dụng kênh. Độ trễ ( Latency) đó là sự trì hoãn từ khi node gửi có một gói tin để gửi cho đến khi gói tin được nhận thành công bởi node nhận. Trong mạng cảm biến, sự quan trọng của độ trễ phụ thuộc vào ứng dụng. Trong những ứng dụng như giám sát hoặc theo dõi, các node cảm biến sẽ thận trọng trong thời Nguyễn Thị Khánh Chi - CT902 21
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN gian dài và không hoạt động gì cho đến khi một sự kiện nào đó được phát hiện. Những ứng dụng này có thể thường bỏ qua sự trễ thông điệp bổ sung nào đó, bởi vì tốc độ mạng là kiểu đặc trưng của cường độ nhanh hơn tốc độ của một đối tượng vật lý. Tốc độ của đối tượng được cảm biến đặt một ranh giới về tốc độ phản ứng mà mạng phải đạt được. Trong khoảng thời gian không có sự kiện cảm ứng, có rất ít dữ liệu trao đổi trong mạng. Sự trễ ở mức nhỏ hơn một giây cho một khởi tạo một thông báo sau khoảng thời gian nhàn rỗi thì không quan trọng bằng sự tiết kiệm năng lượng và thời gian hoạt động của thiết bị. Nhưng ngược lại, sau khi cảm biến xác định được sự kiện, hoạt động với độ trễ thấp trở thành điều quan trọng. Thông lượng ( Throughput) (thường được đo theo bit hoặc byte / giây) đề cập tới số lượng của dữ liệu chuyển thành công từ một nơi gửi đến một nơi nhận trong một khoảng thời gian cho trước. Nhiều nhân tố ảnh hưởng đến thông lượng, bao gồm hiệu quả của sự tránh xung đột, sự tận dụng kênh, độ trễ, và xử lý thông tin điều khiển. Giống với độ trễ, sự quan trọng của thông lượng phụ thuộc vào loại ứng dụng. Những ứng dụng cảm biến mà yêu cầu thời gian sống dài thường chấp nhận độ trễ nhiều hơn và thông lượng thấp hơn. Một thuộc tính liên quan gọi là goodput, thể hiện thông lượng được đo chỉ bởi dữ liệu được nhận bởi nơi nhận mà không có bất kỳ lỗi nào. Fairness( công bằng) thể hiện khả năng những người dùng khác nhau, những node, hoặc những ứng dụng khác nhau cùng nhau chia sẻ kênh truyền một cách như nhau. Nó là một thuộc tính quan trọng trong mạng tiếng nói hoặc những mạng dữ liệu truyền thống, một khi mỗi người dùng mong muốn một cơ hội như nhau để gửi hoặc nhận dữ liệu cho những ứng dụng của chính mình. Tuy nhiên, trong những mạng cảm biến, tất cả các node hợp tác cho một thao tác chung đơn lẻ. Ở tại thời điểm đặc biệt, một node có thể có Nguyễn Thị Khánh Chi - CT902 22
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN nhiều dữ liệu hơn để gửi so với các node khác. Vì thế, hơn là đối xử như nhau đối với mỗi node, thành công là được đo bởi toàn bộ sự thực hiện của ứng dụng, và fairness đối với từng node hoặc từng người dùng trở nên ít quan trọng. Sự tận dụng kênh ( Channel utilization) phản chiếu toàn bộ băng thông của kênh được tận dụng trong truyền thông ra sao. Nó cũng được đề cập như sự tận dụng băng thông hoặc dung lượng kênh truyền. Đó là một vấn đề quan trọng đối với hệ thống điện thoại tế bào hoặc mạng cục bộ không dây (WLANs), khi băng thông là tài nguyên quý giá nhất trong những hệ thống như vậy và các nhà cung cấp dịch vụ đều muốn càng nhiều người dùng càng tốt. Mặt khác, số những node hoạt động trong mạng cảm biến chủ yếu được xác định bởi loại ứng dụng. Tận dụng kênh là một mục tiêu thứ yếu trong mạng cảm biến. Tóm lại, các vấn đề nêu ở trên là những thuộc tính tiêu biểu của một giao thức MAC. Đối với mạng cảm biến không dây, những yếu tố quan trọng nhất là tránh xung đột có hiệu quả, hiệu quả năng lượng, mở rộng và thích nghi với mật độ và số lượng node. Còn những thuộc tính khác là thứ yếu. Năng : Nguyên n . Nguyễn Thị Khánh Chi - CT902 23
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN . . Chi . ( 0 - . . Tr . , . Nguyễn Thị Khánh Chi - CT902 24
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN ghe goodput. . 2.2.4. Vấn đề trong truy cập kênh không dây a. Phát hiện xung đột Xung đột xảy ra khi hai hay nhiều node cố gắng để truy cập vào các kênh cùng một lúc. Nó được phát hiện khi có quá nhiều tiếng ồn trong các kênh hoặc Lời báo nhận (ACK) từ đích là không nhận được. Tuy nhiên phát hiện xung đột dựa trên những kỹ thuật có thể không có hiệu quả bởi vì các gói có thể thiếu hoặc hỏng trong các phương tiện truyền thông không dây. Không có giải pháp cho những vấn đề này và chứng minh rằng xung đột xảy ra là thích hợp cho các trường hợp như thế này. b. Vấn đề node ẩn Vấn đề node ẩn là một vấn đề cổ điển trong các mạng không dây ở đó có hai hay nhiều node được 'ẩn' hoặc ở ngoài phạm vi truyền của nhau, cố gắng liên lạc với cùng một điểm đến ( đích) đồng thời. Xung đột không được phát hiện là bởi vì nó xảy ra ở các điểm đến, không phải là mã nguồn, và Lời báo nhận (ACK) từ các điểm đến có thể được vô hiệu hoá. Nguyễn Thị Khánh Chi - CT902 25
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Điều này được minh hoạ trong hình 2.1; Ở đây, node A được truyền tới node B. Node C, nằm ngoài vùng sóng radio của A, sẽ cảm nhận được kênh truyền nhàn rỗi và bắt đầu truyền gói tới node B. Trong trường hợp này, CSMA truyền thông ngăn ngừa xung đột bởi vì A và C ẩn cho mỗi node. Hình2.1 : Node ẩn Để tránh xung đột do vấn đề này, một thủ tục bắt tay (RTS / CTS) (Karn, 1990) đã được giới thiệu. Một node với dữ liệu cụ thể sẽ gửi thông điệp quảng bá RTS đến một điểm đến. Nếu các điểm đến là sẵn sàng để liên lạc, một thông điệp CTS được trả lại. Bởi thông điệp trao đổi được quảng bá rộng trong tự nhiên, tất cả các node trong phạm vi sẽ được thông báo về các kênh dành riêng. Tuy nhiên phương pháp này không hoàn toàn tránh xung đột đặc biệt là trong mạng multihop. Hình 2.3 mô tả sự không đầy đủ của thủ tục bắt tay RTS / CTS. Nguyễn Thị Khánh Chi - CT902 26
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Hình2. 2: Thủ tục bắt tay RTS/CTS c. Vấn đề node hiện Bởi vấn đề thông tin liên lạc trong mạng không dây thường được dựa trên quảng bá, node không được tham gia vào các thông tin liên lạc sẽ có thể ngăn chặn các thông điệp được trao đổi. Việc ngăn chặn không cố ý này node hiện đang truy cập kênh, do đó mạng giảm hiệu lực và thông lượng kênh. - Vấn đề node hiện được minh hoạ trong hình 2.3; Ở đây, trong khi node C truyền tới node D, node B có một gói cần truyền cho node A. Bởi vì node B trong khoảng của C, nó nhận thấy kênh bận và không có khả năng truyền. Tuy nhiên, trong lý thuyết, vì D nằm ngoài khoảng của B, và A nằm ngoài khoảng của C, 2 sự truyền này không xung đột với nhau. Việc truyền bởi B sẽ bị hoãn lại vì lãng phí băng thông. Nguyễn Thị Khánh Chi - CT902 27
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Hình2.3 : Node hiện 2.3. Thủ tục cạnh tranh trong giao thức MAC của WSN Trong thủ tục cạnh tranh, cơ hội truyền dữ liệu chia đều cho tất cả các node hàng xóm. Nếu chỉ có một node hàng xóm cần truyền dữ liệu thì không vấn đề gì, tuy nhiên nếu có 2 hoặc nhiều node muốn truyền khi đó chúng phải cạnh tranh với nhau để giành quyền truyền dữ liệu, 2 quan trọng của nhóm giao thức này là ALOHA và CSMA. 2.3.1. Aloha Hệ thống Aloha nói chung được mô tả như một hệ thống truyền thông máy tính không dây đầu tiên sử dụng sự truy nhập ngẫu nhiên. Trong thủ tục Aloha một node khi truyền dữ liệu nó gửi đi ngay lập tức, không hề có sự liên hệ với các node khác bởi vậy khả năng xảy ra xung đột là rất cao, khi phát hiện xung đột phía nhận sẽ gửi một xác nhận cho thuộc Nguyễn Thị Khánh Chi - CT902 28
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN tính của gói tin nhận, phía gửi sẽ chờ một thời gian ngẫu nhiên và bắt đầu truyền lại. Giao thức truy cập môi trường này có thể đơn giản như là: “ Chỉ cần nói chuyện khi bạn thấy thích nó”. Hình 2.4 : Các gói tin được truyền trong thời gian tùy ý Dạng đơn giản nhất của đa truy nhập là Aloha không chia rãnh và Aloha chia rãnh. a. Aloha không chia rãnh Trong Aloha không chia rãnh, trạm được phép truy cập vào kênh bất cứ khi nào nó có dữ liệu để truyền. Bởi vì mối đe dọa tồn tại xung đột dữ liệu, mỗi trạm sẽ có sự giám sát việc nó truyền không quảng bá hoặc chờ lời báo nhận(ACK) từ trạm điểm đến. Bằng cách so sánh với các gói tin được truyền với gói tin nhận được hoặc bằng việc thiếu của lời báo nhận (ACK), trạm truyền có thể xác định sự thành công của gói tin được truyền. Nếu truyền không thành công nó sẽ được truyền lại sau một khoảng thời gian ngẫu nhiên để giảm xác suất của tái xung đột. Nguyễn Thị Khánh Chi - CT902 29
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Hình 2.5 : Aloha không chia rãnh - Không cần thiết phải đồng bộ hóa - Không cần thiết phải cố định chiều dài các gói b. Aloha chia rãnh - Thời gian được chia thành các “ khe” trong khoảng thời gian của một gói, các gói cố định kích thước. - Khi một node có một gói để gửi, nó sẽ chờ cho đến khi bắt đầu khe kế tiếp để gửi nó. Yêu cầu đồng bộ hóa. - Nếu không các node khác sẽ cố gắng truyền trong khe thời gian, việc truyền đó là thành công. Nếu không thì xảy ra “xung đột”, gói xung đột được truyền lại sau một thời gian trễ ngẫu nhiên. Hình 2.6: Aloha chia rãnh Nguyễn Thị Khánh Chi - CT902 30
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Hệ thống đồng bộ: Thời gian chia thành các khe, các khe có kích thước bằng thời gian truyền gói cố định khi gói sẵn sàng để truyền, đợi cho đến khi bắt đầu khe tiếp theo. Các gói có thể chồng tréo hoàn toàn hoặc không chồng chéo. * Ưu điểm – Nhược điểm của Aloha Ưu điểm: - Đơn giản, ít quan trọng. - Không cần thiết có sự phân phối giữa những người tham gia. Nhược điểm: - Xung đột có thể và sẽ xảy ra nếu node gửi không kiểm tra trạng thái kênh. - Node gửi không có kiến thức về việc truyền dẫn thành công. 2.3.2. CSMA Một giao thức MAC cổ điển khác là giao thức đa truy cập cảm nhận sóng mang (CSMA). Trong CSMA, một node muốn truyền trước hết phải lắng nghe kênh để đánh giá nó có rỗi không. Nếu kênh nhàn rỗi, node sẽ tiến tới việc truyền. Nếu kênh bận, node sẽ đợi một chu kỳ backoff ngẫu nhiên để cố truyền lại. CSMA với dò xung đột là kỹ thuật cơ bản được sử dụng trong chuẩn IEEE 802.3/Ethernet. Tuy nhiên vẫn chưa giải quyết được vấn đề node ẩn, node hiện. Trong mạng Ethernet, CSMA được sử dụng với chế độ CSMA/CD (cảm nhận sóng mang dò xung đột): chế độ này hoạt động như CSMA thường nhưng trong quá trình truyền, node đồng thời lắng nghe, nhận lại các dữ liệu gửi đi xem có xung đột không. Nếu phát hiện xung đột, node sẽ truyền 1 tín Nguyễn Thị Khánh Chi - CT902 31
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN hiệu nghẽn để các node khác nhận ra và dừng việc gửi gói trong 1 thời gian ngẫu nhiên backoff trước khi cố gửi lại, tức là có khả năng dò xung đột nhưng vẫn không tránh được. Vì vậy, trong các dạng mạng phức tạp hơn như mạng không dây hay WSN thì người ta dùng chế độ CSMA/CA. Chế độ này là CSMA tránh xung đột và có khả năng giải quyết vấn đề node ẩn, node hiện. * Thủ tục đa truy cập cảm nhận sóng mang tránh xung đột ( MACA hay CSMA/CA) Giao thức MACA hay CSMA/CA của Karn giới thiệu cách sử dụng 2 thông báo điều khiển nó có thể giải quyết về cơ bản vấn đề node ẩn và hiện. Ban đầu khi một node nhận gói dữ liệu mới để truyền đi, nó chờ một thời gian trễ ngẫu nhiên, mục đích của việc làm này nhằm làm giảm tính đồng bộ của các node khi phát hiện sự kiện xảy ra (vì nếu khi 2 node xảy ra xung đột mà trong lần thử tiếp theo nếu có cùng thời gian chờ thì vẫn không tránh khỏi xung đột), trong thời gian chờ ngẫu nhiên đó node có thể đặt ở trạng thái ngủ, trong thời gian nghe ngóng node sẽ thực hiện cảm nhận sóng mang. + Nếu như môi trường truyền đang bận, sau một số lần thử mà vẫn không thành công nó sẽ dừng lại và chờ một thời gian ngẫu nhiên, phụ thuộc vào số lần thử và thời gian ngủ của node, sau đó nó lại tiếp tục nghe ngóng môi trường, cứ như vậy khi tới một giới hạn nào đó mà vẫn không thành công thì gói sẽ bị bỏ qua. + Trong trường hợp môi trường rỗi, một node muốn gửi một thông điệp, node sẽ phát ra một gói RTS để mong đợi tín hiệu truyền. Nếu tín hiệu cho phép nhận gói, nó sẽ phát ra một gói CTS. Khi nơi gửi nhận được CTS, nó bắt đầu truyền gói chờ bản tin ACK. Khi một node gần nghe thấy một RTS sẽ gửi đến các node khác một thông điệp ngăn chặn quá trình truyền Nguyễn Thị Khánh Chi - CT902 32
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN của nó và chờ đợi tín hiệu trả lời CTS. Nếu một CTS không trong trạng thái lắng nghe, node có thể bắt đầu quá trình truyền dữ liệu. Nếu một CTS được nhận, nó sẽ chú ý có hay không một RTS được lắng nghe trước đó, một node sẽ ngăn chặn quá trình truyền của chúng trong khoảng thời gian đủ để cho phép kết thúc quá trình truyền dữ liệu tương ứng. Với những điều kiện lý tưởng (ví dụ như bỏ đi khả năng xung đột RTS/CTS, hay giao tiếp 2 chiều, không mất dữ liệu và các hiệu ứng giữ), có thể coi sơ đồ MACA có khả năng giải quyết cả vấn đề về node ẩn và node hiện. Với các ví dụ đơn giản như ở trên, node C lắng nghe thông điệp CTS và loại bỏ xung đột truyền. Nó giải quyết vấn đề node hiện ở chỗ node C lắng nghe các thông điệp RTS của node B, nó sẽ không nhận CTS từ node A và như vậy có thể truyền gói dữ liệu của nó sau thời gian đợi đủ. Tùy từng trường hợp mà CSMA có thể thay đổi thời gian chờ, thời gian nghe ngóng là ngẫu nhiên hay cố định. CSMA – CA trong mạng không dây và thủ tục CSMA – trong mạng có dây: về cơ bản thì 2 thì tục này giống nhau là đều dựa vào việc cảm nhận sóng mang, tuy nhiên thủ tục truy cập CSMA – CA chỉ được gọi là tránh xung đột, do nó không thể phát hiện khi có xung đột xảy ra, do chế độ truyền là bán song công, nút mạng tại một thời điểm chỉ có thể thu hoặc phát dữ liệu 2.4. Giới thiệu về IEEE 802.15.4 MAC Định nghĩa chuẩn IEEE 802.15.4 (IEEE, 2003) là giao thức MAC và vật lý (PHY) của mạng cá nhân không dây tốc độ thấp (LR-WPANs). Đây là mạng cho phù hợp với các ứng dụng đơn giản mà có yêu cầu kết nối tốc độ thấp, băng thông thấp, và điện năng tiêu thụ thấp. Nó hoạt động trong Nguyễn Thị Khánh Chi - CT902 33
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN một miền khoảng 10m hoặc ít hơn và có thể được mở rộng đến 100m tùy thuộc vào ứng dụng yêu cầu. 2.4.1. Phương thức mạng và cấu trúc siêu khung a. Phương thức mạng Trên lớp mạng có 2 kiểu node: Node đa năng, nghĩa là nó có thể hoạt động đảm nhiệm vai trò của nhiều chức năng khác nhau, kiểu node thứ 2 là node có chức năng giới hạn nó chỉ có thể hoạt động như một thiết bị. Một thiết bị phải liên kết với node điều khiển, trong mạng hình sao thiết bị điều khiển có thể hoạt động dựa trên liên kết 1-1, hoặc đa liên kết như trong mạng cá nhân. Một thiết bị điều hành thường thực hiện những nhiệm vụ sau: - Nó quản lý những thiết bị liên kết với nó. - Cấp địa chỉ cho những thiết bị đó, tất cả các node IEEE 802.15.4 có 64 bit địa chỉ, địa chỉ này cũng có thể ngắn hơn tùy theo yêu cầu của ứng dụng - Trong chế độ báo hiệu IEEE 802.15.4 nó phát một khung báo hiệu thông báo cho các node, và thiết bị điều hành có thể xử lý những yêu cầu của các node trong các khe thời gian được chỉ ra trong tín hiệu thông báo. - Nó trao đổi dữ liệu với các thiết bị ngang hàng với nó b. Cấu trúc siêu khung Nguyễn Thị Khánh Chi - CT902 34
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Hình2.7 : Cấu trúc siêu khung Mọi siêu khung đều có độ dài như nhau, trạm điều hành bắt đầu mỗi siêu khung bằng cách gửi một khung dữ liệu cảnh báo, khung cảnh báo này sẽ chứa dữ liệu mô tả thông tin độ dài và những thông tin liên quan khác ở những siêu khung tiếp theo. Một siêu khung được chia thành 2 khoảng: hoạt động và không hoạt động. - Trong thời gian không hoạt động, tất cả các node bao gồm cả node điều khiển sẽ ở trạng thái ngủ, khi thời gian không hoạt động kết thúc nó lập tức bị đánh thức để nhận thông tin thông báo từ node điều hành, thời gian không hoạt động này cũng có thể được bỏ qua. - Thời gian hoạt động được chia thành 16 khe, khe đầu tiên là khung cảnh báo, những khung còn lại được chia thành 2 vùng, thời điểm cạnh tranh truy cập (CAP) sau đó là các khe thời gian “đảm bảo” (GTS). Độ dài của thời gian hoạt động và không hoạt động cũng như độ dài của mỗi khe và số khe thời gian có thể điều chỉnh được bằng chương trình. Node điều hành hoạt động trong toàn bộ thời gian hoạt động, nó liên lạc với các thiết bị hoạt động trong khe thời gian đảm bảo khi được phép. Trong Nguyễn Thị Khánh Chi - CT902 35
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN hầu hết khe thời gian đảm bảo nó có thể chuyển sang chế độ ngủ. Trong khoảng thời gian cạnh tranh truy cập, thiết bị có thể tắt chế độ truyền nhận nếu không có dữ liệu để truyền. 2.4.2. Quản lý khe thời gian đảm bảo Node điều hành sẽ phân khe thời gian đảm bảo cho thiết bị khi có yêu cầu trong khoảng thời gian cạnh tranh, một cờ được sử dụng để chỉ ra khe thời gian yêu cầu là khe nhận hay truyền dữ liệu. Trong khe truyền dữ liệu thiết bị sẽ truyền gói tới node điều hành và ngược lại trong trường hợp là khe nhận. Khi nhận được gói tin yêu cầu ngay lập tức nó sẽ gửi gói tin ACK thông báo rằng nó đã nhận được yêu cầu, khi node điều hành đủ tài nguyên nó sẽ phân khoảng thời gian đảm bảo cho node, nó sẽ chèn thông tin mô tả về khoảng thời gian đảm bảo trong khung thông báo tiếp theo, phần thông tin mô tả về thời gian đảm bảo nó sẽ chỉ ra địa chỉ của node gửi yêu cầu, số lượng và vị trí của khe thời gian trong khe thời gian đảm bảo trong siêu khung. Và thiết bị có thể sử dụng khe thời gian được phân đó. Nếu không đủ tài nguyên nó sẽ gửi một thông báo là khe thời gian đã hết, khi đó thiết bị sẽ chờ gửi lại yêu cầu vào lần sau. 2.4.3. Chế độ truyền dữ liệu Giả sử thiết bị có dữ liệu muốn gửi tới node điều hành, nếu như thiết bị đã được phân khe thời gian đảm bảo, nó sẽ hoạt động trước khi khe thời gian bắt đầu và ngay lập tức truyền dữ liệu mà không hề có thao tác thăm dò tránh xung đột. Trong trường hợp thiết bị chưa được phân khe thời gian nó sẽ gửi gói dữ liệu tại thời điểm cạnh tranh truy cập sử dụng giao thức đa truy cập cảm nhận sóng mang, sau đó nút điều hành gửi ACK. Nguyễn Thị Khánh Chi - CT902 36
- Đồ án tốt nghiệp Chương II: Đa thâm nhập môi trường trong mạng WSN Trong trường hợp dữ liệu truyền từ node điều hành tới thiết bị, nếu thiết bị đã được phân trong khe thời gian đảm bảo thì dữ liệu sẽ được truyền ngay lập tức mà không cần yêu cầu xác nhận. Trong trường hợp phổ biến nhất khi node điều hành không thể sử dụng để nhận trong khoảng thời gian đảm bảo, thì một thủ tục bắt tay được thực hiện giữa thiết bị và trạm điều hành, trạm điều hành sẽ gửi một thông báo vùng đệm dữ liệu cho thiết bị bao gồm cả địa chỉ của thiết bị trong trường địa chỉ của khung thông báo. Trong thực tế khi thiết bị tìm thấy địa chỉ của nó trong trường địa chỉ nó sẽ gửi một gói dữ liệu yêu cầu đặc biệt trong khoảng thời gian cạnh tranh. Trạm điều hành sẽ trả lời bằng bản tin ACK và sẵn sàng nhận dữ liệu tới. Trong trường hợp không gửi thành công thiết bị sẽ gửi lại yêu cầu trong những siêu khung tiếp theo. 2.5. Kết luận Mục tiêu của tất cả các thủ tục thâm nhập là tiết kiệm năng lượng, trễ thấp và tỷ lệ truyền thành công cao. Trong chương này ta đã biết được trong mạng cảm nhận không dây có bao nhiêu thủ tục thâm nhập; các thuộc tính và sự cân đối MAC trong mạng WSN; vấn đề node ẩn, node hiện trong mạng WSN; Tập trung vào tìm hiểu thủ tục cạnh tranh giao thức MAC trong mạng WSN. Tuy nhiên không có thủ tục nào là tối ưu, tùy từng ứng dụng cụ thể để lựa chọn thủ tục thâm nhập môi trường phù hợp. Trong chương tiếp theo ta sẽ lựa chọn một giao thức cạnh tranh, viết chương trình phần mềm nhúng cho các node mạng theo giao thức đó để đánh giá được hiệu quả truyền nhận gói tin trong mạng WSN. Nguyễn Thị Khánh Chi - CT902 37
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây 3.1. Mục đích, yêu cầu và thiết bị thực nghiệm 3.1.1. Mục đích Viết phần mềm nhúng cho các node mạng áp dụng thủ tục truy nhập môi trường cạnh tranh Aloha từ đó xây dựng mô hình thí nghiệm khảo sát quá trình hoạt động và đo hiệu quả truyền nhận gói tin của mạng WSN. Từ đó rút ra kết luận so sánh và đánh giá. 3.1.2. Yêu cầu thực nghiệm Thực nghiệm sau cần được thực hiện: o Đo hiệu quả truyền nhận gói tin giữa các node mạng WSN Như ta đã biết mục đích của thâm nhập môi trường là truyền gói một tin cách hiệu quả, ổn định. Áp dụng thủ tục truy nhập môi trường cạnh tranh Aloha tức là một node khi truyền dữ liệu nó gửi đi ngay lập tức, không hề có sự liên hệ với node khác. Trong đồ án này ta chỉ xét trường hợp một node truyền dữ liệu cho một node khác và viết giải thuật để đánh giá hiệu quả truyền nhận của 2 node này trong mạng cảm biến không dây bằng cách thêm một hàm Delay, tức thời gian nghỉ giữa 2 lần truyền liên tiếp để node nhận có thể nhận và xử lý kịp dữ liệu từ đó xác định được hiệu quả truyền nhận giữa các node trong mạng. Thí nghiệm cần được đo đạc nhiều lần ở các môi trường truyền nhận với khoảng Delay và khoảng cách khác nhau để chỉ ra rõ sự tác động của chúng đến hiệu quả truyền nhận gói tin. Nguyễn Thị Khánh Chi - CT902 38
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây 3.1.3. Các thiết bị thực nghiệm Hệ thống WSN được kết nối với máy tính thông qua cáp nối RS232, do đó việc thu nhận dữ liệu từ node mạng về máy tính sẽ thực hiện truyền qua giao tiếp RS232 (cổng COM). Ngôn ngữ lập trình được sử dụng ở đây là ngôn ngữ C, chương trình dịch là Keil µVision2.0/3.0. Vi điều khiển (VĐK) được lựa chọn để xây dựng node mạng ở đây là CC1010. Việc chọn VĐK hợp lý sẽ làm cho quá trình xây dựng hệ thống được rút ngắn, hệ thống hoạt động ổn định, tin cậy và đạt các chỉ tiêu đề ra: Tiêu thụ năng lượng thấp. Tích hợp ADC để có thể ghép nối với cảm biến tương tự. Bộ nhớ chương trình cũng như bộ nhớ dữ liệu có kích thước hợp lý. Kích thước vật lý nhỏ. Có công cụ phát triển giúp người phát triển xây dựng hệ thống dễ dàng và thuận tiện như: sử dụng ngôn ngữ cấp cao, có các thư viện hỗ trợ cho việc cảm nhận cũng như truyền nhận không dây, hỗ trợ gỡ lỗi Giá thành rẻ. 3.2. Giới thiệu về phần mềm nhúng Phần mềm nhúng đang có những bước đột phá mới, tạo ra những cuộc cách mạng triệt để trong tương lai. Lý do của sự phát triển này xuất phát từ những nhu cầu bức thiết của thực tế và những bước tiến mạnh mẽ trong công nghệ phần cứng. Một phần mềm nhúng phải kết hợp chặt chẽ với môi trường Nguyễn Thị Khánh Chi - CT902 39
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây của nó bao gồm phần cứng và các hệ thống liên quan. Nó có những ràng buộc về tốc độ xử lý, dung lượng bộ nhớ và mức tiêu thụ điện năng Một phần mềm nhúng tốt là phần mềm phải đảm bảo các yếu tố trên và đó cũng là hướng phát triển quan trọng của các phần mềm nhúng. Điểm mấu chốt của các phần mềm nhúng ngày nay là việc lựa chọn các phương pháp. Vì vậy mà không thể bỏ đi các tính năng “cứng” của phần mềm như các phần mềm truyền thống khác. Một phần mềm nhúng ngày nay được phát triển theo cách sau: o Liên kết phần mềm nhúng từ dưới lên trên, từ các lớp trừu tượng đến các chức năng hệ thống. o Liên kết phần mềm nhúng với các nền lập trình được - các nền hỗ trợ nó cung cấp các phương tiện cần thiết để đánh giá xem các ràng buộc đưa ra có thỏa mãn hay không? Để làm được như vậy thì thực chất cần phải phát triển các kỹ thuật hình thức ở mức trừu tượng để có những đánh giá sớm cùng với các nhóm công cụ và phương pháp đúng đắn. Mặt khác cũng cần phải xem xét phần mềm nhúng và kiến trúc phần cứng của nó trong một tổng thể cân đối. Do phải thỏa mãn nhiều yếu tố khác nhau về phần cứng, môi trường, giá thành, hiệu năng nên tồn tại nhiều thách thức trong phát triển phần mềm nhúng ngày nay, như: o Tăng cường việc tái sử dụng. o Đồng thiết kế phần cứng, phần mềm. o Xây dựng mô hình các thuộc tính phi chức năng. o Chuyển đổi các phần mềm thành các dịch vụ thông qua các thành phần phần mềm. o Kiến trúc hệ thống và kiến trúc phần mềm. Nguyễn Thị Khánh Chi - CT902 40
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây o Đánh giá và kiểm định mức hệ thống. o Tương thích phần cứng và phần mềm nhờ các cấu trúc có thể định cấu hình lại và các thành phần Plug and Play. o Xây dựng các hệ thống có khả năng tổ hợp được nhờ các thành phần phần mềm có thể tái sử dụng. 3.2.1. Các bước cơ bản xây dựng một phần mềm nhúng Phần mềm nhúng viết cho các họ vi xử lý có thể sử dụng các ngôn ngữ khác nhau như C/C++ hoặc Assembly. Tuỳ theo tiêu chí xây dựng hệ thống mà lựa chọn ngôn ngữ thích hợp. Từ đó cũng chọn chương trình dịch thích hợp. Ngày nay, do nhu cầu phát triển hệ thống nhanh, bảo trì dễ dàng nên ngôn ngữ được lựa chọn thường là ngôn ngữ cấp cao như C/C++. Quy trình xây dựng một phần mềm bất kỳ thường trải qua các bước sau: - Tìm hiểu bài toán - Phân tích - Thiết kế - Viết chương trình - Kiểm thử Việc xây dựng phần mềm nhúng cũng tuân theo trình tự các bước như trên. Ngoài ra, phần mềm nhúng còn có đặc trưng là làm việc trực tiếp với phần cứng. Do đó để kiểm soát quá trình làm việc với các thành phần chấp hành có đúng đắn hay không là điều đặc biệt quan trọng. 3.2.2 Phần mềm nhúng viết cho CC1010 Phần mềm nhúng viết cho CC1010 được viết bằng ngôn ngữ C, sử dụng các thư viện cho CC1010 do hãng Chipcon cung cấp, chương trình biên dịch Keil µVision 2.0. Nguyễn Thị Khánh Chi - CT902 41
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Chương trình dịch Keil µVision 2.0 do hãng Keil Elektronik GmbH xây dựng là một môi trường phát triển tích hợp (IDE) dùng để xây dựng các chương trình cho các họ VĐK tương thích 8051 của Intel. Đây là bộ chương trình dịch cho phép người viết chương trình soạn thảo chương trình, dịch chương trình và gỡ lỗi trên cùng một môi trường. Chương trình dịch hỗ trợ cho cả ngôn ngữ C và Assembly. Hãng Chipcon cũng cung cấp bộ thư viện CC1010IDE hỗ trợ cho việc xây dựng phần mềm cho VĐK CC1010. Đây là bộ thư viện giúp cho việc xây dựng chương trình cho CC1010 được dễ dàng và nhanh chóng. CC1010IDE dựa trên công cụ phát triển “µVision2” của hãng Keil ™ Elektronik GmbH. Công cụ này cung cấp một khung (framework) cho hầu hết các đặc điểm của CC1010IDE và cũng hỗ trợ hầu hết cho các VĐK họ 8051. Trình soạn thảo là một công cụ chủ yếu để soạn thảo các file nguồn và file hợp ngữ. Nó cũng cung cấp các chức năng trợ giúp khác như giao diện đồ hoạ (Graphic User Interface - GUI), cần cho mô phỏng/gỡ lỗi (mã lệnh dạng hợp ngữ, thanh ghi, bộ nhớ, các cửa sổ theo dõi, bước lệnh, ). Thêm vào đó, IDE cũng cung cấp các giao diện với thư viện liên kết động (Dynamic Linking Library – DLL) được sử dụng để mô phỏng và gỡ lỗi trên mạch. Một điểm đặc biệt của bộ dịch là có thể chuyển các file nguồn được viết bằng C sang dạng hợp ngữ, để sau đó có thể tối ưu hoá mã lệnh. Dạng hợp ngữ sau đó được chuyển thành các file đối tượng (mã máy hoặc dữ liệu nhị phân). Cuối cùng, bộ liên kết đưa ra dạng file thực thi dạng Intel HEX và có thể nạp vào bộ nhớ Flash của VĐK. Mô hình của một phần mềm nhúng viết cho CC1010 như sau: Nguyễn Thị Khánh Chi - CT902 42
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Chương trình ứng dụng Test = data Thư viện tiện ích Chipcon Thư viện C chuẩn (Chipcon utility library-CUL) Thư viện phần cứng (Hardware abstraction library – HAL) Các file định nghĩa phần cứng (Hardware definition file - HDF) Các file định nghĩa phần cứng - Hardware Definition Files (HDF) Các file định nghĩa phần cứng định nghĩa địa chỉ các thanh ghi, ánh xạ vectơ ngắt và các hằng số phần cứng khác. Chúng cũng thường dùng các macro cho CC1010EB, và các định nghĩa hỗ trợ hợp ngữ và ngôn ngữ C. Thư viện phần cứng - Hardware Abstraction Library (HAL) Để hỗ trợ việc phát triển chương trình nhanh chóng và dễ dàng, Chipcon cung cấp thư viện các macro và các hàm truy cập phần cứng C1010 dễ dàng. Những thư viện này nằm trong Thư Viện Phần Cứng (HAL) và thi hành một giao tiếp phần cứng trừu tượng đối với chương trình người dùng. Nhờ đó chương trình người dùng có thể truy cập ngoại vi của vi điều khiển, thông qua các lời gọi hàm/macro, mà không cần hiểu chi tiết về phần cứng. Thư viện HAL hỗ trợ các chức năng sau: - Truyền nhận không dây - Đo cường độ RSSI - Truyền nhận RS232 - Làm việc với ADC - Xử lý thời gian thực - Mã hoá DES Nguyễn Thị Khánh Chi - CT902 43
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây - Thiết lập các bộ định thời - Làm việc với các cổng Thư viện tiện ích Chipcon - Chipcon Utility Library (CUL) Bên cạnh module HAL CC1010IDE cũng cung cấp một thư viện cho truyền thông RF đặt trong Thư Viện Tiện Ích (CUL). Thư viện này thường dùng cho các ứng dụng RF điển hình, và cung cấp một giao thức RF đầy đủ. Thư viện CUL hỗ trợ các chức năng sau: - Truyền nhận không dây - Tính toán Mã dư vòng (CRC) - Xử lý Thời gian thực (Realtime Clock) Cả hai thư viện HAL và CUL đều hỗ trợ Truyền nhận không dây và xử lý thời gian thực. Tuy nhiên, các hàm ở thư viện CUL làm việc ở mức cao hơn, người viết chương trình cũng dễ dàng và tiện lợi hơn, nhưng bù lại cũng kém mềm dẻo hơn so với sử dụng các hàm ở thư viện HAL. Do vậy, đối với những ứng dụng đòi hỏi sự phức tạp thì thường dùng thư viện HAL. Phần mềm WSN viết cho CC1010 Phần mềm viết cho node mạng cho WSN cần thực hiện những chức năng cơ bản sau: o Cảm nhận o Tính toán o Truyền thông Một thách thức là phải thực hiện tất cả những công việc trên vào một VĐK bị ràng buộc về mặt tài nguyên. Điều đó đòi hỏi chương trình viết càng ngắn và càng tốn ít bộ nhớ càng tốt, trong khi vẫn đảm bảo việc viết chương trình nhanh, bảo trì và nâng cấp dễ dàng. Nguyễn Thị Khánh Chi - CT902 44
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Đối với việc truyền thông, chương trình sử dụng các hàm trong bộ thư viện HAL của Chipcon. Chương trình truyền thông cho CC1010 thực hiện theo các bước sau: o Khởi tạo RF: thiết lập tần số RF, tốc độ truyền, cách điều chế tín hiệu, công suất phát. Trong chương trình cụ thể, các thông số trên lần lượt có giá trị là: 868MHz, 2.4kb/s, mã hoá Manchester, 4 dBm. Các khai báo này được đặt trong một cấu trúc RF_SETTINGS được khai báo như sau: RF_RXTXPAIR_SETTINGS code RF_SETTINGS = { 0x4B, 0x2F, 0x15, // Modem 0, 1 and 2: Manchester, 2.4 kBaud 0x75, 0xA0, 0x00, // Freq A 0x58, 0x32, 0x8D, // Freq B 0x01, 0xAB, // FSEP 1 and 0 0x40, // PLL_RX 0x30, // PLL_TX 0x6C, // CURRENT_RX 0xF3, // CURRENT_TX 0x32, // FREND 0xFF, // PA_POW 4dBm 0x00, // MATCH 0x00, // PRESCALER }; Việc khởi tạo RF theo các bước trình tự sau: halRFCalib(&RF_SETTINGS, &RF_CALDATA); //chuẩn hoá RF INT_GLOBAL_ENABLE (INT_OFF); //cấm ngắt toàn cục INT_SETFLAG (INUM_RF, INT_CLR); //xoá ngắt RF Nguyễn Thị Khánh Chi - CT902 45
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây INT_PRIORITY (INUM_RF, INT_HIGH);//mức ưu tiên ngắt RF là cao RF_SET_BYTEMODE(); //RF hoạt động ở chế độ byte RF_SET_PREAMBLE_COUNT(PREAMBLE_BYTE_COUNT); //thiết lập số byte dẫn đường RF_SET_SYNC_BYTE(RF_SUITABLE_SYNC_BYTE);//thiết lập byte // đồng bộ MODEM1=(MODEM1&0x03)|0x24; //lọc trung bình // Reset preamble detection PDET &= ~0x80; PDET |= 0x80; INT_ENABLE (INUM_RF, INT_OFF); //cấm ngắt ngắt RF INT_GLOBAL_ENABLE (INT_ON); //cho phép ngắt toàn cục o Nhận dữ liệu RF: việc nhận dữ liệu RF thông qua ngắt. Mỗi khi nhận được một byte, VĐK sinh ra một ngắt. Chương trình xử lý ngắt có nhiệm vụ đưa byte này vào một bộ đệm. Khi toàn bộ gói tin đã nhận xong, ngắt này bị cấm để chờ xử lý xong bộ đệm. Quá trình nhận một byte từ bộ đệm RFBUF vào bộ đệm chương trình như sau: //nhận một byte từ RFBUF vào bộ đệm rf_rx_buf tại vị trí rf_rx_index; rf_rx_buf[rf_rx_index] = RF_RECEIVE_BYTE(); rf_rx_index++; //tăng chỉ số lên 1 Byte đầu tiên của bộ đệm chương trình rf_rx_buf [0] lưu độ dài gói tin. Việc nhận dữ liệu kết thúc khi rf_rx_index bằng giá trị độ dài gói tin, nghĩa là: rf_rx_index = rf_rx_buf[0]; Nguyễn Thị Khánh Chi - CT902 46
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Sau khi toàn bộ gói tin RF đã nhận được, chương trình sẽ phân tích gói tin, lọc ra các dữ liệu cần thiết. Nếu là node Master, nó sẽ truyền dữ liệu nhận được về PC qua cổng RS232. Nếu là Slave, nó sẽ thực hiện việc cảm nhận, tính toán rồi truyền dữ liệu về Master. o Truyền dữ liệu RF: việc truyền dữ liệu RF được thực hiện bởi các hàm/macro trong thư viện HAL của Chipcon như sau: halRFSetRxTxOff(RF_TX, &RF_SETTINGS, &RF_CALDATA);//turn on TX RF_START_TX(); //bắt đầu truyền halRFSendPacket(PREAMBLE_BYTE_COUNT,&txDataBuffer[0],4 ); //truyền dữ liệu tại txDataBuffer với độ dài là 4 halRFSetRxTxOff(RF_RX,&RF_SETTINGS,&RF_CALDATA);//turn on //RX RF_START_RX(); // bắt đầu chế độ nhận INT_SETFLAG (INUM_RF, INT_CLR); //xoá cờ ngắt RF INT_ENABLE (INUM_RF, INT_ON); //cho phép ngắt RF 3.3. Thực nghiệm đo hiệu quả truyền nhận gói tin trong mạng WSN * Dụng cụ và các thiết bị thực nghiệm: Thành phần chính của thực nghiệm gồm: Một node tín hiệu truyền đi còn node thứ hai thu nhận tín hiệu, được nối trực tiếp với máy tính hoặc tích hợp sẵn màn hình LCD để dễ theo dõi, thu thập xử lý thông tin nhận được ( hình 3.1). Nguyễn Thị Khánh Chi - CT902 47
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Hình 3.1 Dụng cụ thực nghiệm * Các thông số thiết lập cơ bản cho CC1010: Sử dụng các switch trên CC1010EB để truyền một gói tin chuẩn. Các led báo hiệu trên CC10101EB bao gồm: - Led xanh: chỉ thị đang truyền tín hiệu. - Led vàng: chỉ thị đang nhận tín hiệu. - Led đỏ: chỉ thị quá trình truyền/nhận lỗi. - Led lá cây: chỉ thị quá trình truyền/nhận tốt. * Thí nghiệm đo hiệu quả truyền nhận gói tin trong mạng WSN 3.3.1. Sơ đồ thực nghiệm và thuật toán Nguyễn Thị Khánh Chi - CT902 48
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Hình 3.2: Sơ đồ thực nghiệm Các dụng cụ thí nghiệm được sắp xếp như hình 3.2. Node cơ sở nối trực tiếp với máy tính qua cổng RS232 nhận kết quả truyền từ node cảm nhận. Thực hiện di chuyển node cảm nhận để đo hiệu quả nhận gói tin ở các khoảng cách khác nhau. Các node được lập trình lần lượt thay đổi giá trị Delay. Kết quả đo được node cơ sở xử lý và hiển thị, cho phép khảo sát hiệu quả truyền tỷ lệ truyền gói tin phụ thuộc khoảng cách giữa nơi truyền, nơi nhận. Sau đó đo hiệu quả truyền nhận theo sự thay đổi khoảng cách và khoảng delay giữa chúng. Vấn đề quan trọng trong thí nghiệm này là cài đặt các phần mềm tương ứng để các node cơ sở và node cảm nhận thực hiện chức năng của chúng. Ta có giải thuật của hai node như hình dưới: Node truyền gửi lần lượt 100 gói data có số thứ tự từ 1 đến 100. Node nhận có hai tham số test và error . Khởi đầu 2 giá trị này này bằng 0. Khi có data gửi đến: if ( test > data) error = data -1; else error = error + (data - test -1); test =data; Nguyễn Thị Khánh Chi - CT902 49
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Trong đó: test là chứa giá trị nhận được trước đó, data là giá trị nhận được hiện tại, error là số lỗi truyền. Khởi tạo Khởi tạo Data=1 Test=0, Error=0 Truyền data Nhận data F Delay F Có T Test> Error= error + ( data- test – 1) data? data Test = data T Data= Data+1 Error= data -1 F Data>10 T F Data= Hiển thị 0 100 T Hình 3.3a: Thuật toán Hình 3.3b: Thuật toán node truyền node nhận Nếu gói tin gửi thành công, số lỗi error được giữ nguyên, nếu mất gói hoặc lỗi thì error tăng lên một giá trị chính bằng giá trị truyền đúng mới nhất trừ đi giá trị trước khi bắt đầu lỗi và trừ đi 1. 3.3.2. Tiến hành thực nghiệm và các kết quả đo được Mối liên hệ khoảng cách và hiệu quả truyền nhận gói tin: Tiến hành đo tỷ lệ nhận gói của quá trình truyền nhận ở các địa điểm khác nhau, cho ta đồ thị như hình 3.14. Ở môi trường khoảng không rộng lớn, không có vật chắn (thí nghiệm được thực hiện ở sân Mỹ Đình vào 10AM-11AM, nhiệt độ trung bình tầm 29- 36oC, ít người qua lại) và môi Nguyễn Thị Khánh Chi - CT902 50
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây trường có vật chắn: cây cối, nhà (thí nghiệm được thực hiện tại sân trường ĐHQG Hà Nội tầm 3PM-5PM, nhiệt độ 26-34oC, thời gian ít người qua lại) nhận % gói Hiệu quả truyền quả Hiệu Khoảng cách (m) Hình 3.4: Đồ thị biểu diễn sự liên hệ giữa khoảng cách và hiệu quả truyền nhận gói tin Nhận thấy, kết quả đo ở SVĐ Mỹ Đình cho tỷ lệ nhận gói tin cao hơn ở cùng một khoảng cách và khoảng cách truyền nhận ở đây cũng xa hơn. Tuy nhiên, trên thực tế kết quả quá trình nhận gói tin thực hiện bởi các bộ nhận tại các vị trí khác nhau từ bên phát là không có quy tắc hay không theo cùng một hướng. Tiến hành đo với các trục cùng tâm trong khoảng truyền nhận cho các đường truyền nhận gói tin thực như hình 3.5. Đường bao của các điểm có cùng tỷ lệ nhận gói có hình dạng con sứa chứ không phải là một đường tròn. Có những điểm khoảng cách xa nhưng lại có tỷ lệ truyền nhận gói tin tốt hơn. Điều này có thể được giải thích là do ở những vị trí có fading tác động Nguyễn Thị Khánh Chi - CT902 51
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây mạnh làm cho tín hiệu bị sai lệch thì tỷ lệ nhận gói tin sẽ giảm xuống. Vì vậy tuy khoảng cách gần hơn nhưng hiệu quả truyền gói lại thấp hơn. Hình 3.5: Đường biểu diễn tỷ lệ nhận gói tin thực theo khoảng cách Thực nghiệm đo hiệu quả nhận gói tin khi thay đổi khoảng cách và khoảng delay: Tiến hành thí nghiệm trong phạm vi một tòa nhà. Sử dụng các node mạng: một node cơ sở được kết nối máy tính qua RS232 làm nhiệm vụ truyền tín hiệu và node thu nhận tín hiệu được tích hợp sẵn màn hình LCD để dễ theo dõi, thu thập xử lý thông tin nhận được, di chuyển node thu nhận tín hiệu ở các khoảng cách khác nhau. Lần lượt thay đổi khoảng delay ta sẽ thu được các kết quả đo như trên trục đồ thị: Nguyễn Thị Khánh Chi - CT902 52
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây nhận % gói Hiệu quả truyền quả Hiệu Khoảng cách (m) Hình3.6: Đồ thị biểu diễn sự phụ thuộc của hiệu quả truyền nhận gói tin vào khoảng delay và khoảng cách Nhận xét: Khi node cảm nhận di chuyển theo các khoảng cách ta sẽ thấy có sự thay đổi đáng kể hiệu quả truyền nhận gói tin khi thay đổi khoảng delay giữa chúng. Kết quả đo thực nghiệm cho thấy tỷ lệ nhận gói tin tốt khi Delay nằm trong khoảng 20000< Delay < 50000 ở khoảng cách 5m đến 10m. Như vậy khoảng delay có ảnh hưởng đến tỷ lệ nhận gói theo khoảng cách trong mạng cảm biến không dây. 3.4. Kết luận và hướng nghiên cứu tiếp theo Trường hợp thí nghiệm sử dụng thủ tục Aloha cho 2 node trong mạng WSN ta thấy: Nguyễn Thị Khánh Chi - CT902 53
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Trong khi bên nhận chỉ có thực hiện quá trình nhận, xử lý số liệu và hiển thị thì bên truyền sẽ phải có một khoảng thời gian nghỉ giữa các lần truyền để đảm bảo lúc truyền đi thì bên nhận cũng đã sẵn sàng nhận gói tin. Thời gian nghỉ này có ảnh hưởng đến hiệu quả truyền nhận gói tin trong mạng. Khi giữa node truyền và node nhận đồng bộ về mặt khe thời gian như vậy thì trong một phạm vi về mặt địa lý ta có thể xác định được các miền: Miền kết nối, miền chuyển tiếp và miền không kết nối. nhận % gói Hiệu quả truyền quả Hiệu Khoảng cách (m) Hình 3.7: Các miền của hiệu quả truyền nhận gói tin trong mạng WSN + Miền kết nối là vùng trong khoảng cách mà cho tỷ lệ nhận gói cao. + Xa hơn miền này tỷ lệ nhận gói tin giảm xuống và có xác suất khác nhau, gọi là miền chuyển tiếp. Miền này có độ rộng tùy thuộc từng môi Nguyễn Thị Khánh Chi - CT902 54
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây trường truyền nhận. Sự xuất hiện miền này cho phép giải thích tính không đối xứng về không gian của tỷ lệ nhận gói tin. + Xa hơn miền chuyển tiếp gọi là miền không kết nối, tại đây tỷ lệ nhận gói tin là rất thấp. Tuy nhiên, nếu thí nghiệm được áp dụng với 3 hay nhiều node mạng thì thời gian nghỉ giữa 2 lần truyền tăng lên nhiều. Do đó nó cũng ảnh hưởng đến hiệu quả truyền nhận gói tin trong mạng. Tuy nhiên các miền sẽ không bị thay đổi nếu có giải thuật cho các node tốt. Sau đây là giải thuật cho 3 node mạng: Thuật toán node cơ sở: Khởi tạo Gửi yêu cầu Nhận Xử lý, hiển thị Hình 3.8: Thuật toán node cơ sở Nguyễn Thị Khánh Chi - CT902 55
- Đồ án tốt nghiệp Chương III. Thực nghiệm, đánh giá hiệu quả truyền nhận gói tin trong mạng cảm biến không dây Thuật toán node cảm nhận 1 và 2: Khởi tạo Khởi tạo Nhận Nhận Ok? F Ok? F T T Truyền Delay Delay Truyền Hình 3.9: Thuật toán node cảm nhận 1 và 2 Cho nên hướng nghiên cứu tiếp theo của đồ án này chính là dựa vào giải thuật 3 node mạng ở trên, viết chương trình thích hợp cho các node để tăng hiệu quả truyền nhận gói tin trong mạng, khắc phục nhược điểm của thủ tục cạnh tranh môi trường Aloha trong mạng WSN. Nguyễn Thị Khánh Chi - CT902 56
- Đồ án tốt nghiệp Kết luận KẾT LUẬN Trong phạm vi đồ án này, em đã nghiên cứu được tổng quan về mạng WSN, thủ tục điều khiển thâm nhập môi trường cạnh tranh trong mạng WSN và lựa chọn một thủ tục cạnh tranh trong mạng WSN để viết chương trình phần mềm nhúng đánh giá hiệu quả truyền nhận gói tin cho 2 node mạng trong mạng WSN. Do còn hạn chế về mặt tài liệu cũng như về phần thực tế của đề tài nên khoá luận không tránh khỏi những thiếu sót. Vì vậy em rất mong được sự phê bình, đóng góp của các thầy, cô và các bạn sinh viên quan tâm tới vấn đề này để đồ án của em được hoàn thiện tốt hơn. Một lần nữa em xin chân thành cám ơn PGS.TS Vương Đạo Vy giảng viên trường ĐHCN- ĐHQG Hà Nội đã nhiệt tình giúp đỡ em trong thời gian vừa qua; cám ơn các thầy, cô và các bạn trong trường ĐHDL Hải Phòng đã động viên và giúp đỡ em làm tốt khoá luận! Nguyễn Thị Khánh Chi - CT902 57
- Đồ án tốt nghiệp Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1]- Vương Đạo Vy, “ Mạng truyền dữ liệu”, NXB ĐHQG Hà Nội, 2006. [2]- Bhaskar Krishnamachari, “Networking Wireless Sensors”, Cambridge University Press, 2005. [3]- Anna HAC, book " Wireless Sensor Network Deigns", Wiley. [4]- Edgar H. Callaway, book " Wireless Sensor Networks: Architectures and Protocols", Aurebach. [5] - Holger Karl Andreas Willig, “Protocols and Architectures for Wireless Sensor Networks”, Wiley, 2005. [6]- " Medium Access Control in Wireless Sensor Network", Wei Ye and John Heidemann, 10/ 2003. [7]- Zhijia Chen, Chuang Lin, Hao Wen, Hao Yin, “An analytical model for evaluating IEEE 802.15.4 CSMA/CA protocol in low-rate wireless application,” in Proc. Of 21st International Conference on Advanced Information Networking and Application Workshops (AINAW), 2007, pp. 899-904. [8]- “ CC1010 Datasheet”, Texas instruments, 2003-2004, Chipcon AS, [9]- Chipcon, “ CC1010 IDE Manual”, [10]- Hugh O’Keeffe, R&D Director, “Embedded Debugging” , Ashling Microsystems Ltd (2006). Nguyễn Thị Khánh Chi - CT902 58
- Đồ án tốt nghiệp Phụ lục Nguyễn Thị Khánh Chi - CT902 1