Mở đầu Giới thiệu tổng quan về luận văn, giúp người đọc có cái nhìn tổng quan về đề tài, những nội dung chính được trình bày trong luận văn và kết quả dự kiến đạt được. Chương 2: Tổng quan về đề tài và lý thuyết liên quan Tìm hiểu tổng quan về đề tài, đặc điểm của mạng cảm biến không dây, nút cảm biến. Tổng quan về hệ điều hành Contiki OS, công cụ mô phỏng Cooja, các phân lớp trong mô hình giao thức mạng của WSN, các lĩnh vực ứng dụng WSNs. Chương 3: Giao thức MQTT So sánh mô hình truyền tin address-centric và data-centric, các giao thức nổi bật đại diện cho hai mô hình trên.
Đi sâu tìm hiểu giao thức MQTT và phiên bản cho mạng cảm biến là MQTT-SN. Chương 4: Triển khai giao thức MQTT-SN lên hệ điều hành Contiki Triển khai các thành phần mạng trong giao thức MQTT-SN. Bao gồm các nút broker, publisher, subscriber. Giải thuật thực hiện tại mỗi nút Chương 5: Kết quả mô phỏng và thực nghiệm Trình bày các kết quả từ các kịch bản mô phỏng và thực nghiệm Chương 6: Kết luận và hướng phát triển Tóm tắt lại các vấn đề đã nghiên cứu, kết quả thu được của luận văn, đề xuất hướng bổ xung và phát triển.
TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN CHƯƠNG II. TỔNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN 2. TỔNG QUAN VỀ ĐỀ TÀI 2. Nhìn nhận vấn đề Wireless Sensor Network - mạng cảm biến không dây, như tên gọi của nó, được xây dựng nhằm thu thập, giám sát môi trường xung quanh.
Việc xây dựng và triển khai các ứng dụng có thể thực hiện một cách đơn giản, nhanh chóng trên các hệ điều hành mã nguồn mở được thiết kế cho mạng cảm biến như: TinyOS, Contiki OS… Trong đó, hệ điều hành Contiki OS được sử dụng một cách rông rãi, cả trong lĩnh vực nghiên cứu và ứng dụng thực tế do tính chất mở, sử dụng ngôn ngữ lập trình C chuẩn cũng như bộ có công cụ phát triển, mô phỏng với giao diện thân thiện. Tuy nhiên, cho đến thời điểm hiện tại, hệ điều hành Contiki OS mới chỉ được tích hợp giao thức truyền tin ở lớp ứng dụng là http và CoAP – hai giao thức theo mô hình request/response. Mô hình này đòi hỏi phải biết địa chỉ và đường dẫn tới tài nguyên cần truy cập. Ngoài ra, nếu có một nút mạng nào đó bị hư hỏng phải thay thế, hoặc một nút mạng mới ra nhập thì đồng nghĩa với việc phải lập trình lại toàn bộ các nút có truy cập tới nút mới.
Một điểm hạn chế nữa của mô hình request/response là các nút thu thập thông tin nếu gửi yêu cầu mà không được trả lời, nó sẽ không biết được là do đường truyền hay các nút đầu cuối không còn hoạt động. Client chỉ quan tâm tới dữ liệu cần thu thập (mô hình data-centric). Việc triển khai giao thức MQTT-SN có thể thỏa mãn các yêu cầu trên. Client chỉ việc đăng ký thông tin mình muốn nhận tới trung tâm cung cấp thông tin (Broker).
Mỗi khi có thông tin mới, Broker sẽ chuyển thông tin đó tới cho nút đăng ký (Subscriber). Bản thân các nút cung cấp thông tin (Publisher) cũng chỉ cần đăng ký và gửi thông tin mình sẽ cung cấp với Broker. Việc thay thế các nút cảm biến trong giao thức MQTT-SN cũng không làm ảnh hưởng, không cần lập trình lại bất kỳ nút nào khác trong mạng. Các nút mới được thay thế sẽ kết nối và thay thế chức năng của Trang 4 2.
TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN 2. Các nghiên cứu liên quan Có nhiều nghiên cứu liên quan đến vấn đề triển khai, đánh giá giao thức MQTT lên các nền tảng khác nhau. Bài báo: “Performance Evaluation of MQTT and CoAP via a Common Middleware”[7] Tóm tắt nội dung: Tác giả thực hiện một middleware cung cấp giao diện chung hỗ trợ hai giao thức MQTT và CoAP nhằm đánh giá end-to-end delay, bandwidth. Cách thức thực hiện: thiết lập một gateway dùng chung, hỗ trợ hai giao thức MQTT và CoAP trên BeagleBoard-xM, sử dụng máy tính giả lập thiết bị đầu cuối.
Sử dụng phần mềm Wanem để giả lập tổn hao trong môi trường truyền. 1: Common Gateway Kết luận và đánh giá của bài báo: Giao thức MQTT có độ trễ thấp hơn ứng với môi trường truyền có tỷ lệ mất gói thấp hơn 25% và có độ trễ cao hơn với môi trường truyền có tỷ lệ mất gói cao hơn 25%. Đối với cùng tỷ lệ mất gói là 25%: giao thức CoAP tạo ra ít traffic hơn và vẫn đảm bảo tương đồng về độ tin cậy trong việc truyền tin. Bài báo: “End-to-end service assurance in IoT MQTT-SN”[8] Tóm tắt nội dung: Tác giả xây dựng mô hình khảo sát giao thức MQTT-SN trong ứng dụng theo dõi sức khỏe (e-health) ở hai thông số: End-to-End Delay Estimate: Ước lượng độ trễ truyền tin từ nơi phát tới nơi thu Trang 5 2.
TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN Probability of content delivery: Tính toán xác suất của dữ liệu có thể được truyền tới nơi nhận Hình 2. 2: System model for end-to-end delay estimate Thông qua mô hình này, các nhà thiết kế hệ thống có thể tham khảo, cân nhắc các thông số ảnh hưởng tới việc đảm bảo QoS đầu-cuối. Bài báo: “Integrating MQTT and ISO/IEEE 11073 for health information sharing in the Internet of Things”[9] Tóm tắt nội dung: Tác giả đưa ra giải pháp tích hợp MQTT cùng với chuẩn ISO/IEEE 11073 (Personal Health Data – PHD) nhằm kết nối các thiết bị theo dõi sức khỏe vào mạng WSNs trong gia đình cũng như kết nối tới Internet. Quá trình thực hiện được xây dựng trên mạng máy tính truyền thống.
3: Mô hình kết nối giữa các module Kết luận và đánh giá của bài báo: Ngoài lợi ích là một giao thức nhỏ gọn, phù hợp với các thiết bị ràng buộc về tài nguyên. MQTT broker còn có khả năng tự động phát hiện các thiết bị trong phạm vi của mình, đồng thời chia sẻ dữ liệu với các thiết bị trong mạng và với các thiết bị trên internet. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN Bài báo: “Comparison of two lightweight protocols for smartphone-based sensing”[10] Tóm tắt nội dung: Tác giả thực hiện so sánh định tính và định lượng giữa hai giao thức MQTT và CoAP trong các ứng dụng cảm biến trên nền tảng là điện thoại thông minh. 4: Mô hình thực hiện MQTT vs.
CoAP for smartphone-based sensing Kết luận và đánh giá của bài báo: Về định lượng: MQTT phù hợp hơn cho các ứng dụng đòi hỏi hổ trợ nhiều mức QoS. MQTT đồng thời cũng tin cậy hơn, hỗ trợ bảo mật tốt hơn so với CoAP. CoAP cho kết quả tốt hơn khi so sánh về khả năng tối thiểu băng thông sử dụng cũng như round trip time. Tuy nhiên, khi việc trao đổi dữ liệu không thường xuyên thì khác biệt trên là rất nhỏ.
Bài báo: “Introducing the QEST broker: Scaling the IoT by bridging MQTT and REST”[11] Tóm tắt nội dung: Tác giả thực hiện một thiết bị kết nối giữa hai giao tiếp nổi bật là MQTT và REST, cung cấp cho người dùng phương tiện cho phép nhanh chóng triển khai các ứng dụng IoT. Tác giả đưa ra mô hình thực hiện căn bản việc xây dựng một broker kết nối giữa giao thức MQTT và các dịch vụ nền Web. Tác giả tích hợp các chức năng cơ bản phục vụ việc truyền tin. Chưa tích hợp cũng như đánh giá các chức năng: hỗ trợ QoS, khả năng đảm bảo truyền tin.
TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN Hình 2. 5: Mô hình QEST broker Tổng kết: Từ kết quả nghiên cứu của các công trình có liên quan trên có thể nhận thấy rằng, giao thức MQTT nói chung và MQTT-SN nói riêng có những ưu điểm như: là một giao thức nhỏ gọn, phù hợp với thiết bị bị ràng buộc về tài nguyên. Các kết quả đánh giá ban đầu trong các nghiên cứu cho thấy giao thức MQTT-SN có tiềm năng và hiệu quả hơn trong các kịch bản truyền thông M2M so với giao thức phổ biến là CoAP. Công trình nghiên cứu [3] cũng chỉ ra rằng: việc tích hợp giao thức MQTT- SN, một phiên bản gọn nhẹ hơn chạy trên nền tảng UDP thay vì TCP của giao thức MQTT lên các nút mạng cảm biến là hoàn toàn khả thi.
Vì vậy, đề tài sẽ thực hiện việc triển khai giao thức MQTT-SN lên hê thống WSNs mà cụ thể ở đây là triển khai lên hệ điều hành Contiki. Từ đây, người dùng đầu cuối có thể dễ dàng tích hợp giao thức MQTT-SN cùng với nền tảng các giao thức thuộc các lợp khác trong protocol stack phụ vụ cho mục đích của mình. Trước khi đi vào chi tiết thực hiện việc triển khai giao thức MQTT-SN, luận văn sẽ trình bày một cách tổng quát về mạng cảm biến không dây, cấu trúc mạng, cấu trúc nút cảm biến. Hệ điều hành Contiki và một số giao thức cơ bản trong protocol stack phục vụ mạng cảm biến của hệ điều hành Contiki.
TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN 2. TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY 2. Cấu trúc mạng cảm biến không dây Hình 2. 6: Cấu trúc của mạng cảm biến không dây Wireless Sensor Networks (WSNs) - Mạng cảm biến không dây bao gồm các trạm gốc và tập hợp các nút cảm biến/thực thi giao tiếp không dây với nhau nhằm thu thập, giám sát hoặc điều khiển từ xa.
Đặc trưng cơ bản của mạng cảm biến là các nút mạng có kích thước nhỏ, số lượng lớn, chi phí thấp, giao tiếp không dây với nhau nên có thể triển khai tại những vị trí mà các thành phần mạng truyền thống không triển khai tới được. Với những yêu cầu hoạt động và đặc điểm nêu trên, mạng cảm biến bị ràng buộc về năng lượng, khả năng tinh toán, khoảng cách và tốc độ truyền tin. Những đặc trưng, yêu cầu của một mạng cảm biến: Năng lượng: các nút cảm biến yêu cầu phải hoạt động được trong thời gian dài trước khi phải thay thế hay nạp lại nguồn nuôi. Vì thế, các nút có sự ràng buộc chặt chẽ về năng lượng tiêu thụ.
Do các thiết bị cảm biến thường được bố trí tại các vị trí không dễ dàng bảo trì, cấp nguồn nuôi nên nó phải sử dụng pin hoặc các dạng tương tự. Để kéo dài thời gian hoạt động, các nút cảm biến phải hỗ trợ khả năng ngủ càng nhiều càng tốt. Đồng thời, xử lý/nén dữ liệu để hạn chế tối đa dữ liệu truyền đi. TỒNG QUAN VỀ ĐỀ TÀI VÀ LÝ THUYẾT LIÊN QUAN Kích thước nhỏ, được cung cấp năng lượng hạn chế đồng nghĩa với việc khả năng xử lý tính toán thấp, băng thông và khoảng cách truyền hạn chế do giới hạn về công suất phát.