mở đầu là trình bày phượng pháp nghiên cứu. Chương hai là kiến thức nên tảng và các công trình liên quan, chương này chia làm năm phần nhỏ. Phần thứ nhất là phần tổng quan về mạng WSN, phương thức giao tiếp trong mạng WSN, các hệ điều hành, phần cứng được sử dụng trong mạng WSN và cuối cùng là khảo sát các cơ chế duty cycle hiện tại phân tích những điểm mạnh và điểm yếu của từng loại. Chương ba là thiết kế hệ thống và hiện thực, chương này trình bày một thiết kế mới dựa trên contikiMAC duty cycle để tránh nhiễu và giảm thời gian tham gia mạng của một nút cảm biến.
Sau đó trình bày chi tiết về cách hiện thực trên hệ điều hành ContikiOS. Chương bốn là kiểm nghiệm và đánh giá kế quả, chương này trình bày những kiểm nghiệm và đánh giá kết quả thu được của phương pháp được nêu ra ở chương ba. Phần này bao gồm đo năng lượng tiêu thụ của nút cảm biến và thời gian tham gia mạng. Chương cuối cùng của luận văn là phần kết luận.
Chương này sẽ tổng hợp lại những kết quả đạt được và hướng phát triển. Ngoài ra tại chương này sẽ trình bày những mặt hạn chế của luận văn. 3 Chương 2 Kiến thức nền tảng và công trình nghiên cứu liên quan 2.1 Mạng cảm biến không dây (WSN) Mạng cảm biến không dây (Wireless Sensor Networks, gọi tắt là WSNs) là một mạng bao gồm nhiều nút cảm biến (sensor nodes), được trang bị các nút cảm biến có khả năng cảm biến môi trường như cảm biến nhiệt độ, cảm biến độ ẩm, cảm biến cường độ ánh sáng,. và có khả năng giao tiếp không dây (wirelessly) với các nút còn lại tạo thành một mạng cảm biến không dây phủ sóng một vùng vật lý nào đó nhằm giám sát, theo dõi và quản lý vùng nào đó.
Thông tin thu được từ một nút cảm biến sẽ được truyền về một trạm gốc (gateway) thông qua các nút cảm biến khác, và cuối cùng thông qua Internet truyền về trung tâm dữ liệu để lưu trữ, phân tích và xử lý. Mạng cảm biến không dây được ứng dụng rộng rãi trong nhiều lĩnh vực như: giám sát kết cấu của công trình (cầu, tòa nhà.); theo dõi cuộc sống của các loài thú hoang dã; cảnh báo cháy rừng; phát hiện rò rỉ hóa chất trong các nhà máy; giám sát các tòa nhà thông minh… Mạng WSNs có đặc điểm là công suất bị giới hạn, thời gian cung cấp năng lượng của nguồn (chủ yếu là pin) có thời gian sử dụng ngắn, cấu trúc mạng không cố định, số lượng các nút node cảm biến nhiều là những mặt cản trở để xây dựng WSNs. Có 4 thành phân cơ bản cấu tạo nên một mạng cảm biến: Các nút cảm biến được phân bố theo mô hình tập trung hay phân phối rải. Mạng lưới liên kết giữa các nút cảm biến (có dây hay vô tuyến).
Điều khiển trung tâm tập hợp dữ liệu (Clustering). Bộ phận xử lý dữ liệu ở trung tâm.1 Kiến trúc cơ bản của một nút trong mạng cảm biến không dây Một nút cảm biến thông thường bao gồm các thành phần sau: Bộ vi xử lý nhỏ và sử dụng năng lượng ít (low power processor); Bộ nhớ (Memory); Radio để truyền dữ liệu không dây; nguồn điện/pin (power source); bộ phận lưu trữ dữ liệu và các bộ cảm biến (sensors). Hình 2-1 biễu diễn cấu trúc phần cứng của một nút cảm biến. 4 Hình 2-1: Cấu trúc hardware của một nút trong mạng cảm biến không dây 5 2.2 Các thành phần trong mạng cảm biến không dây Một mạng cảm biến không dây bao gồm ba thành phần cơ bản là nút gateway, nút router và nút sensor như trong Hình 1-1.
Trong đó nút gateway là điểm kết nối giữa mạng cục bộ ra ngoài như Internet để người dùng có thể truy cập dữ liệu của hệ thống. Tài nguyên cho nút này thường không bị hạn chế như nút router và nút sensor và số lượng của nút gateway thường là một hoặc hai nút. Nút router có hai chức năng, vừa có chức năng như nút sensor vừa có chức năng chuyển tiếp của nút khác. Đây là nút đóng vai trò rất quan trọng trong mạng cảm biến không dây nhưng tài nguyên cho loại nút này lại bị ràng buộc như bộ xử lý 8-16 bits, 10 kb RAM, 100 kb RAM và 1 kb FLASH, nguồn năng lượng được cung cấp hạn chế bằng pin hoặc năng lượng thu hoạch (harvesting energy).
Nút cảm biến chỉ có chức năng gởi các thông số nó đo được đến nút gateway trực tiếp hoặc thông qua các nút trung gian. Các nút này thường chạy được vài năm mà không cần thay thế nguồn năng lượng. Thông thường trong cấu hình của một nút cảm biến gồm bộ vi xử lý có tốc độ khoảng vài Mhz và dung lượng RAM khoảng vài kilobytes và phải hoạt động ở chế độ năng lượng thấp với năng lượng tiêu thụ nhỏ hơn 1mW. Tất cả các bộ phận của một nút sẽ tiêu hao năng lượng khi và chỉ khi nó hoạt động, ví dụ như bộ xử lý sử dụng năng lượng để thực hiện những chỉ thị, bộ phận cảm biến sử dụng năng lượng để đo lường những thông số của môi trường, bộ phận truyền dữ liệu không dây sử dụng năng lượng để truyền dữ liệu hoặc nhận dữ liệu.
Bộ phận lưu trữ dữ liệu sử dụng năng lượng khi đọc hoặc ghi dữ liệu.2 Khảo sát protocol stack trong mạng cảm biến không dây Protocol stack trong mạng cảm biến không dây phải đáp ứng các ứng dụng từ thu thập dữ liệu, hệ thống cảnh báo cháy rừng đến các dịch vụ như đồng bộ hóa thời gian, hệ thống định vị. Để đáp ứng được những yêu cầu của những hệ thống trên thì protocol stack trong mạng cảm biến không dây phải đáp ứng đầy đủ các phương thức giao tiếp giữa các nút như nhiều nút-tới-một nút, một nút-tới-nhiều nút, một nút-tới-một nút thông qua multi-hop. Không những vậy protocol stack phải đáp ứng các yêu cầu như sử dụng năng lượng hiệu quả, không sử dụng quá nhiều bộ nhớ ROM và RAM. Thiết lập mạng, phát hiện nút hàng xóm, phân phát dữ liệu và tự cấu hình khi có lỗi xảy ra phải diễn ra nhanh và tin cậy.
Mạng cảm biến không dây bao gồm một số lượng lớn các nút có nguồn tài nguyên bị hạn chế (năng lượng, tốc độ xử lý, dung lượng bộ nhớ…) giao tiếp với nhau thông qua sóng vô tuyến. Các nút này được tổ chức một cách tùy biến (mesh). 6 Một nút sinh ra dữ liệu và sử dụng các nút trung gian để truyền dữ liệu đến gateway (multi-hop).1 Những dịch vụ mà protocol stack trong mạng cảm biến không dây cung cấp Ở mức cao nhất kiến trúc protocol stacks được chia thành những dịch vụ, trong đó một dịch vụ ở mức cao hơn sẽ sử dụng những dịch vụ ở mức thấp hơn. Thông thường các dịch vụ này được chia ra thành các lớp như lớp vật lý, đường truyền, vận chuyển và ứng dụng.
Applications Transport reliable and unreliable data transfer, congestion avoidance and flow control Network neighbour discovery, configuration, routing, unicast and multicast forwarding, adaptation and header compression MAC associating/disassociating, devices, access control to share channel, beacon generation Link neighbour discovery, link quality estimation, channel contention, and unicast and broadcast transmission Physical Transfer the data via radio frequency Hình 2-2: Các lớp và dịch vụ trong mạng cảm biến không dây Với tài nguyên bị hạn chế thì hiện thực riêng biệt tất cả lớp và dịch vụ là điều không thể nên một số hướng phát triển đã gộp một số lớp lại với nhau. Điển hình như trong mạng cảm biến không dây người ta sẽ gộp chung lớp transport và lớp network lại với nhau. Các lớp ứng dụng điển hình trong mạng cảm biến như CoAP [3] là một giao thức web đặc biệt được thiết kế cho các nút cảm biến có nguồn tài nguyên hạn chế giao tiếp với nhau. Giao thức này đã được hiện thực trên nhiều hệ điều hành khác nhau như: Eribum được hiện thực bằng ngôn ngữ C trên contikiOS [4], TinyOS CoapBlip được hiện thực bằng ngôn ngữ nesC/C trên TinyOS [5].
Trong mạng cảm biến, lớp transport và lớp network thường được gộp với nhau. Điển hình như protocol hỗ trợ uIPv6 trên contikiOS [6]. Ở lớp transport và 7 network hỗ trợ phương pháp truyền dữ liệu đáng tin cậy và dịch vụ định tuyến gói tin. Lớp data-link và lớp MAC thường được gộp chung trong mạng cảm biến, ở mạng cảm biến lớp MAC có vai trò thiết lập đường truyền vật lý giữa hai nút thông qua thủ tục association/disassociation.
Khi một nút muốn tham gia vào mạng được quản lý bởi nút coordinator (tương tự nút gateway nhưng chỉ áp dụng trong lớp MAC) thì nó sẽ gởi một gói tin “association request” đến cho nút coordinator, và khi nhận được gói tin “association response” từ nút coordinator thì thủ tục tham gia mạng thành công. Thủ tục disassociation có thể được kích hoạt bởi nút device (tương tự nút cảm biến nhưng chỉ áp dụng trong lớp MAC) hoặc là nút coordinator. Nếu nút coordinator muốn xóa một nút nào đó ra khỏi mạng thì nó sẽ gởi gói tin “disassociation notification” và nhận gói tin ACK từ nút device. Nếu một nút device muốn rời khỏi mạng mà nó đang tham gia thì nó cũng gởi gói tin “disassociation notification” đến cho nút coordinator.
Thủ tục tham gia mạng ở mức link-layer có thể được bỏ qua nếu như ở lớp trên như IP đã hiện thực (thủ tục neighbour discovery-RFC 1122 trong IPv6 sẽ thay thế thủ tục này) Lớp MAC còn chịu trách điều khiển việc truy cập đồng thời trên kênh truyền. Khi chuẩn bị để truyền một gói tin nút gởi sẽ lắng nghe để biết có tín hiệu nào đang được truyền trước đó hay không. Nếu có nó sẽ không truyền dữ liệu vào thời điểm đó mà chờ cho đến khi nào kênh truyền trống nó sẽ truyền, đây là nguyên lý tránh đụng độ của CSMA-CA. Sơ đồ ở mức logic của CSMA-CA được thể hiện trong Hình 2-3.
Random back-off No Transmitting the Data to trasmit Channel clear ? Yes data Hình 2-3: Biểu đồ flow-chart của cơ chế CSMA-CA Lớp vật lý được thực bởi các chip RF như cc2520, cc2420. Những con chip này sẽ đảm nhiệm việc điều chế tín hiệu số thành sóng vô tuyến và ngược lại. Các bộ điều có thể khác nhau như BPSK/O-QPSK cho từng loại tầng số khác nhau và sẽ có tốc độ maximum cũng khác nhau như trong bảng 1 (table 1) [7]. Ở việt nam 8 thường dùng dải tần số 2.4Ghz và bộ điều chế O-QPSK cho tốc độ tối đa là 250bkps.
Có một số ứng dụng thương mại như ZigBee họ chỉ phát triển protocol stack của họ lên tới lớp MAC để các nút có thể giao tiếp với nhau. Nhưng khi khái niệm IoT ra đời, thì nhà phát triển ứng dụng cũng phải thay đổi theo.