Xây dựng hệ thống giám sát và điều khiển thông minh sử dụng giao thức multicast 6lowpan ipv6 Xây dựng hệ thống giám sát và điều khiển thông minh sử dụng giao thức multicast 6lowpan ipv6 Xây dựng hệ thống giám sát và điều khiển thông minh sử dụng giao thức multicast 6lowpan ipv6 Xây dựng hệ thống giám sát và điều khiển thông minh sử dụng giao thức multicast 6lowpan ipv6 Xây dựng hệ thống giám sát và điều khiển thông minh sử dụng giao thức multicast 6lowpan ipv6 Xây dựng hệ thống giám sát và điều khiển thông minh sử dụng giao thức multicast 6lowpan ipv6 Xây dựng hệ thống giám sát và điều khiển thông minh sử dụng giao thức multicast 6lowpan ipv6
ĐẠI HỌ ĐẠI HỌC QUỐ QUỐC GIA TP.HỒ TP.HỒ CH CHÍÍ MINH MIN H TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆ N – ĐIỆ N TỬ BỘ MÔN ĐIỆN ĐIỆN TỬ -o0o - LUẬN LU ẬN VĂN TỐT TỐT NGHIỆP NGHIỆP ĐẠI ĐẠI HỌC Xây dự dự ng ng hệ th thốống giám sát điều khiển thông minh điều khiể sử dụ dụng giao thứ thứ c Multicast Multica st 6LoWPAN/IPv6 GVHD: TS Võ Quế Quế Sơn Sơn SVTH: Văn Đình Triều Triều Trần Tr ần Thanh Đăng Đ ăng Khoa Khoa MSSV: 1414177 1411856 TP HỒ HỒ CHÍ MINH, THÁNG NĂM 2019 2019 Đại H ọc Quốc Gia Tp.HCM CỘ NG HÒA XÃ HỘI CHỦ NGHĨA NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lậ p – T Tự Do – H Hạnh Phúc Số: _/ BKDT NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP ĐIỆN – ĐI ĐIỆ ỆN TỬ VIỄN THƠNG Văn Đình Triều MSSV : 1414177 Tr ần ần Thanh Đăng Khoa MSS MSSV V : 141 1411856 1856 NGÀNH NGÀ NH : Viễn thông Lớ p : V Viiễn thông VP2014 1. Đầu đề l uận án: Xây dựng hệ thống giám sát điều khiển thông minh s ử dụng giao thức Multicast 6LoWPAN/IPv6 2. Nhi ệm vụ ( yêu c ầu về nội dung s ố liệu ban đầu ) KHOA : BỘ MÔN : HỌ VÀ TÊN : - Ngh Nghiên iên Network), cứu về khái niệIpv6 m, tính chất mCác cảảmi thu biếậnt multicast không dây ạng gi Sensor mạng 6LowPAN TM,(Wireless SMRF, ESMRF - Ngh Nghiên iên c ứu sử dụng thực hành tảng Contiki OS, công c ụ mô Cooja phần c ứng CC2538dk - Tiến hành mô công c ụ Cooja gi ải thuật Multicast so sánh thơng s ố: Tỉ lệ nhận gói, độ tr ễ mạng lượ ng ng tiêu thụ - Xây dựng ứng dụng thực ti ễn xoay quay phần cứng CC2538dk CC2538 dk sử dụng giải thuật Multicast nghiên cứu tro ng thực tế Đánh giá tính t ính khả thi hi ệu hệ thống - Vận hành hệ thống Ngày giao nhi ệm vụ l uận án: 1/1/2019 Ngày hoàn thành nhi ệm vụ: 21/6/2019 Họ tên người người hướ ng ng dẫn: TS Võ Quế Sơn Nội dung yêu c ầu LAT LATN đượ đư ợ c thông qua bộ môn Ngày 11 thán Ngày thángg năm 201 CHỦ NHIỆM BỘ MÔN PGS.TS Hà Hoàng Kha GIÁO VIÊN HƯỚ NG DẪ N TS Võ Quế Sơn PHẦN DÀNH CHO KHOA, B Ộ MÔN: Ngườ Ngư ờ i duyệt (chấm sơ bộ): Đơn vị: : Ngàyy bảo vệ : Ngà Điểm t k ết: ẢM ƠN L Ờ I C Trong thờ i gian thực luận văn tố t nghiệp, chúng em nhận đượ c nhiều sự giúp đỡ t từ các thầy cơ, bạn bè gia đình. Đầu tiên, chúng em xin bày t ỏ lịng kính tr ọng biết ơn sâu sắc đến Th Thầy Võ Quế Sơn, người tận tình tr ực tiếp hướ ng ng dẫn tạo điều kiện tốt cho chúng em thực luận văn này. Trong suốt trình thực hi ện luận văn, chúng em e m làm việ việ c phịng thí nghiệm Thơng Tin c bộ môn Viễn thông, chúng em xin c ảm ơn anh chị cán bộ phịng thí nghiệm hỗ tr ợ ợ trang trang thiết bị vật tư để chún chúngg em có thể làm luận văn đây. Bên c ạnh đó, chúng em xin chân thành cảm ơn quý thầ y cô bộ môn Viễn thông, quý thầy cô tham gia giảng dạy chương trình Kĩ sư Chất lượ ng ng cao Việt Pháp – PFIEV cho chúng em kiến thức tảng, kiến thức chuyên chuyê n ngành kinh nghi ệm quý báu để chún chúngg em có thể ứng dụng vào học tậ p và ngh nghiên iên c ứu sau Một lần chúng em xin chân thành c ảm ơn! Trân trọng, Sinh viên Tr ần ần Thanh Đăng Khoa Văn Đình Triều i MỤC LỤC Chương 1 Giới thiệu đề tài 1.1 Tổ ng quan đề tài 1.2 Nhiệm vụ luận văn 1.3 Nội dung lu ận văn Chương 2 Các khái niệm chung 2.1 Mạng cảm biến không dây - WSN 2.1.1 Tổ ng quan mạng cảm biế n không khô ng dâ dâyy 2.1.2 Cấu trúc m ạng c ảm biế n không dây 2.1.3 Kiến trúc trúc gia giaoo tthhức c m ạng c ảm biến khô không ng dâ dâyy 2.1.4 Ứ ng ng dụng c m ạng c ảm biến không khô ng dâ dây y 2.2 IPv6 2.2.1 Tổ ng quan IPv6 đ ịa chỉ IPv6 2.2.2 Các lo ại đị 2.3 6LoWPAN 2.3.1 Tổ ng quan 2.3.2 Cá Cácc đđặặc tính c LoWP AN: .10 2.3.3 Kiến trúc c m ạng 6LoWP 6Lo WPAN AN 1100 2.3.4 Quá trình thiết lậ p vận hành 6LoWP 6Lo WPAN AN 11 2.4 Conti Co ntinki nki OS 12 2.4.1 Tổ ng quan qu an 12 2.4.2 Giao thức M AC tr ong Contiki Co ntiki OS 12 2.5 Giao Giao tthhức định tuyế n RPL RP L 14 2.5.1 Tổ ng quan qu an 14 2.5.2 Quá trình xây dựng k ết nối m ạng 15 2.5.3 Các chế độ đị nh tuyến giao thức RPL 17 Chương 3 Cá Cácc gi giải ải thuật thuật multi multicast cast 19 3.1 Thuật toán Trickle 19 3.1.1 Tổ ng quan qu an 19 3.1.2 Cá Cácc tham số và biế n 19 3.1.3 Mô tả ho ạt động 20 3.2 MPL/TM 21 ii 3.2.1 Nội dung gi ải thuật 21 3.2.2 Đánh giá giải thuật 23 3.3 Stateless multicast RPL for fo r wa warding rding – SMR SMRF F 24 24 3.3.1 Nội dung gi ải thuật 24 3.3.2 Đánh giá gi ải thuật 26 3.4 Enhanced Stateless multicast RPL for warding – ESMR ESMRF F .27 3.4.1 Nội dung gi ải thuật 27 3.4.2 Đánh giá giải thuật 29 Chương 4 Mô phỏng so sánh sá nh cá cácc gi giải ải thuật thuật multi multicast cast 30 4.1 Mục tiêu mô phỏ ng 30 4.2 Công cụ mô phỏ ng – Cooja Cooja 30 4.3 Thiết k ế hệ t thhống mô 31 4.3.1 Cà Càii đặ đ ặt m ạng 31 4.3.2 Thiết k ế các sơ đồ mạng 33 4.4 K ết quả mơ ph phân ân tíc tíchh 35 4.4.1 K ết quả mô 35 4.4.2 Phân tích số liệu 37 4.4.2 K ết lu ận khuyến nghị 44 Chương 5 Th Thii ết kế h hệệ thốn t hốngg gi ám sát điều ều kh khii ển 46 5.1 Tổ ng quan qu an 46 5.1.1 Yêu c ầu mục tiêu 46 5.1.2 Sơ đồ tổng quan c hệ t thhống 47 5.2 Thiết k ế phần c ứng 48 5.2.1 Sơ đồ khối tổng quan c ph ần c ứng 48 5.2.2 Chi tiết ph ần ng 49 5.2.3 Thiết k ế khối sink node – relay relay – ngu nguồn 55 5.3 Thiết k ế firmware 56 5.3.1 Đề xuất framwork 56 5.3.2 Cấu hình projec proj ectt-co conf.h nf.h 58 5.3.3 5.3 Firm Firmware ware cho Roo Roott node 59 5.3.4 5.3 Firm Firmware ware cho sink sin k node 63 iii 5.4 Thiết k ế phần mềm 66 5.4.1 Thiết k ế Server 68 5.4.2 Thiết k ế gate gatewa wayy gi ữa 6Lo 6LoWP WPAN AN Inte Internet rnet 69 5.4.3 Thiết k ế giao di ện điều khiển qua s mart martpho phone ne ((Android) Android) 72 Chương 6 Kết thực ứng dụng 79 6.1 Sản phẩm phần ng 79 6.2 K ết quả thực hiệ n phần mề m firm fi rmware ware .80 6.3 K ết quả range test 82 Chương 7 Kết luận hướng phát triển 84 7.1 K ết lu ận 84 7.1.1 Đánh giá 84 7.1.2 Hạn chế 85 ng phát tri ển 85 7.2 Hướ ng 7.2 Tài liệu Tài li ệu th tham am khảo 86 Phụ lục 87 A Q trìn trìnhh mơ trê n Contiki/ Co ntiki/Coo Cooja ja 87 B Thiết k ế chương trình xử lí dữ liệu đầu c q trình mơ phỏ ng ng 89 C Tạo Mosqu Mosquitto itto Broker Clou CloudMQ dMQTT TT 93 iv DANH MỤ MỤC CÁC HÌNH Hình 2.1 Cấu trúc m ạng c ảm biế n không dây Hình 2.2 2.2 Cá Cácc thành t hành phần c nút c ảm biế n Hình 2.3 Ki ến trúc m ạng c ảm biến không dây Hình 2.4 Th ực tr ạng ạng địa chỉ IPv4 hi ện Hình 2.5 Ki ến trúc m ạng Low Lo wP AN 10 Hình 2.6 Ki ến trúc m ạng LoWP AN N .11 Hình 2.7 Cơ chế hoạt động Conti Contiki kiM M AC AC 1133 Hình 2.8 2.8 Con ContikiMAC tikiMAC với trườ ng ng hợ p g ửi bro broadcast adcast .13 Hình 2.9 Mơ hì hình nh DODAG DOD AG 15 Hình 2.1 2.100 RPL RP L No Non-s n-sto tori ring ng mo mode de 17 Hình 2.1 2.111 RPL RP L Stor Storin ingg mode .18 Hình 3.1 Thuật to tốn án Tric kle .21 Hình 3.2( 3.2(A A) xử lý gói MPL data message (B) xử lý l ý MPL contr control ol message 22 Hình 3.3 Gi ải thuật SM SMR R F 26 Hình 3.4 Gói titinn ICMP v6 "Multi "M ulticast cast-o -on-be n-behalf half"" 28 Hình 3.5 Quá trình gửi "Multicast-on-behalf" ESMR ESMRF F 29 Hình 4.1 Giao di ện Cooja Coo ja simulator sim ulator .31 Hình 4.2 Forw For ward ar d strai st raight-l ght-line ine to topolo pology gy 33 Hình 4.3 Backward Back ward straight str aight-li -line ne ttopo opolo logy gy 34 Hình 4.4 Random Rando m to topolo pology gy 34 Hình 4.5 Đầu tool x ử lý dữ liệu lo loglis gliste tener.t ner.txt xt 35 Hình 4.6 4.6 Quá trình kkhhở i t ạo c root 36 Hình 4.7 4.7 Quá trình kkhhở i t ạo c sink 36 Hình 4.8 Q trình gửi nhận gói gó i 36 Hình 4.9 4.9 Giám sát sát lượ ng ng tiêu thụ 37 Hình 4.10 PDR forward straight-line topology 38 t rung bìn bìnhh tron tr ongg for fo r ward strai straigh ghtt-line line topol topology ogy 39 Hình 4.11 Đỗ tr ễ trung Hình 4.12 4.12 Năng N ăng lượ ng ng tiêu th ụ tro ng ffor orward ward straig straight-li ht-line ne topol topology ogy 40 Hình 4.13 4.13 Tỉ lệ nh n hận gói tro ng backward bac kward straig straight-li ht-line ne topolo topology gy 41 Hình 4.14 Độ tr ễ trung t rung bình ttron rongg backward backwar d str straight-l aight-line ine ttopolo opology gy 42 Hình 4.15 4.15 Năng N ăng lượ ng ng tiêu th ụ tro ng backward backwar d sstrai traight-line ght-line topol topology ogy 42 Hình 4.16 4.16 Các C ác đại lượ ng ng quan sát random topology 43 Hình 5.1 Sơ đồ khối tổng quát c hệ th t hống 47 Hình 5.2 Sơ đồ khối tổng quát phần c ứng 48 Hình 5.3 Raspberry Raspber ry Pi 3B+ 49 Hình 5.4 Mo dule Conti ki 6LoWP 6Lo WPAN AN CC253 CC2 538dk 8dk 50 Hình 5.5 5.5 Modu Mo dule le TTL CP2102 sơ đồ đ ồ nối ch chân ân .52 Hình 5.6 5.6 Mo Modu dule le relay rela y 5V vớ i opto cách h l y 53 v Hình 5.7 Module ngu n guồ n AC-DC AC-D C HLKHLK-PM0 PM011 54 Hình 5.8 Sơ đồ nối m ạch khối sink no no de-relay-nguồn 55 Hình 5.9 5.9 Protocol Prot ocol stack st ack đượ c sử dụng tro ng frame fr ame work or k 56 Hình 5.10( 5.10(A A)Chương trình chính; (B) chương trình cài đđặặt hệ thống t ại roo roott node .60 Hình 5.11 5.11 Chương C hương trình xử lý lệnh tớ i ro root ot node node .60 Hình 5.12 5.12 Chương C hương trình xử lý ACK 61 sinkk node 64 Hình 5.13 5.13 (A ( A) Chương trình chính; ( B) chương trình trì nh cà càii đ ặt sin Hình 5.14 5.14 Sơ đồ đ ồ thiết k ế p phhần mềm 66 Hình 5.15 Kiến trúc mức cao MQ MQTT TT 67 Hình 5.16 5.16 Sơ đồ đ ồ giải thuật cho Rasp Raspberr berryy 71 Hình 5.17 5.17 Mơ hình thiết k ế ứng d ụng Andro Android id 73 Hình 5.18 18 G Giao iao di ện phần mềm: (A) Các nút điều khiển; (B) Popup chọn Group multicast; (C) Đồ thị theo dõi nhi ệt độ các nút 74 Hình 5.19 5.19 Sơ đồ đ ồ giải thuật M ain acti vity 75 Hình 6.1 Ph ần ng khối sin sinkk node 79 Hình 6.2 Lự a chọn nhóm điều khiể n ph ản hồi từ root ro ot 80 Hình 6.3 6.3 Quá trình điề u khiển 81 Hình 6.4 Sơ 6.4 Thuđồt h th diễn nhi 82 ậ pựvà độ 83 Hình 6.5 c hibiệểnurange testệt vi DANH MỤ MỤC CÁC BẢ B ẢNG Bảng Các tham s ố mô 32 Bảng Các số liệu tr ung bì bình nh 44 Bảng Thông s ố k ỹ thu ật mo module dule CC253 CC2538d 8dk k 51 Bảng Th Thôô ng s ố k ỹ thu ật mod module ule Relay Rela y 54 Bảng Bảng thô thô ng số k ỹ thu ật module nguồn 54 Bảng Quy định nội dung gói tin gửi 58 Bảng Các thông s ố thiết k ế cho Cloud CloudMQT MQTT T 68 Bảng Thông s ố thiết lậ p MQTT Client Clie nt tron trongg ứng d ụng 77 Bảng Thông s ố k ỹ thu ật khối sin sinkk node 79 Bảng 10 Thông s ố k ỹ thu ật khối ro root ot node 80 Bảng 11 K ết qu ả thực r ange te test st 83 vii 80 Chương 6: Kết quả thực hiệ n ứ ng dụng Lựa chọn nhóm q trình ngườ i dùng lựa chọn nhóm multicast để điề u khiển Ứ ng ng dụng s ẽ gửi messag mess agee đến đế n topic ““Group” Group” Broker, Broker, sau Broker gửi messsage đến Raspberry, đượ c truyền đến Root thông qua c COM Khi lựa ch c họn thành công, root node s ẽ phản hồi thơng qua ứng dụng android (hình 6.2) Q trình điều khiển Sau chọn nhóm nhóm multicast, ta có thể thực thao tác điều khiển thiết bị điệ n sink node với nút “Light On” “Light Off” Khi việc điề u khiển thànhh công, root thàn ro ot node nhận đủ các ACK k ết thúc trình (hìn (hìnhh 5.15 (A (A)) )) Nếu có sink node bị l ỗi gói, Root s ẽ báo về ứng dụng android id c node bị lỗi (hình 5.15 (B)) đồng thờ i th t hực lại việc gửi gói Trong trườ ng ng hợ p thực hi ện lại việc gửi gói q lần khơng thể điề u khiển, root ro ot nnode ode dừng q trình thơng báo lỗi (hình 5.15 (C)) Hình 6.3 Quá trình điều điề u khiể khiể n Thu thậ p dữ liệu nhiệt độ Khi nhận đượ c lệnh thu thậ p dữ l liiệu nhiệt độ, root node node s ẽ gửi gói tin ti n multicast yêu c ầu dữ li ệu tớ i tất c ả các sink node Sau đó, dữ liệu nhiệt độ sẽ đượ c tổng hợ p biểu dướ i dạng biểu đồ tại ứng dụng ngườ i dùng (hình 6.4) 81 Chương 6: Kết quả thực hiệ n ứ ng dụng Hình 6.4 Thu thậ thập biể biể u diễ diễ n nhiệt nhiệt độ độ 6.3 K ế t quả ran range ge test tes t Để kiểm tra khả hoạt động ứng dụng đượ c thiết k ế, nhóm tiến hành thực range test vớ i vị trí đặt node khuôn viên trường Đại Học Bách Root node đ ược đặt hành hành lang tịa nhà B3 ( Khoa Tp.HCM hình 5.14 Root phòng đào tạo sau đại học) sink node thuộc nhóm multicast Odd đượ c lần lượ t trướ c tịa nhà B4 hành lang hội trườ ng ng A5 Các sink node thuộc nhóm multicast Even đặt t ại hồ nước đối diện tòa nhà B3 hành lang B1 Mục tiêu range test đánh giá khả hoạt độ ng multihop c hệ thống vớ i kho ảng cách điều kiện khác dựa vào tỉ l ệ điề u khiển bật tắt led thành công Tỉ lệ điề u khiển thành cơng đượ c tính s ố l ần sink node thực lệnh điều khiển 100 l ần gửi lệnh Lưu ý, đối vớ i range test, nhóm thực CC2538dk chưa đóng gói phần c ứng Bảng 10 ghi nhận thông s ố v vàà k ết quả range test 82 Chương 6: Kết quả thực hiệ n ứ ng dụng Hình 6.5 Sơ đồ th đồ thự ự c hiệ hiệ n range test Bảng 11 K ế t quả thự thự c hiệ hiệ n range test Node Nhóm multicast Khoảng Điểm đặt cách roottớ i Tỉ l ệ đi u S khiểcông n multihop tớ i root thành Root nod nodee - Trước PĐT sau đại học - - - Sink Node Odd Trướ c B4 45m 87% Sink node Odd Hành lang A5 90m 90 m 62% 62 % Sink node Even Even Hồ nướ c 30m 93% Sink node Even Even Hành lang B1 60m 60 m 77% 77 % Qua k ết quả thực range test ở b bảng 10, module CC2538dk ho ạt độ ng khả tốt Với sink node có bướ c nhảy tớ i root r oot nnode ode 1, t ỉ lệ điề u khiển thành công lên tớ i 90% Tỉ lệ thành cơng ng giảm cịn 69.5% s ố bướ bướ c nhảy tới root roo t tăng lê lênn 2. Vì mơi trườ ng ng thực nghiệm có nhiều vật c ản (cây c ối, dãy phòng học ) có s ự can nhiễu từ nh nhiiều nguồn như sóng Wifi (phát nguồn phát wifi khu vực test) nên tỉ l ệ thành công thấp so vớ i thực mô vớ i ESMRF sử dụng NullRDC Tuy nhiên, k ết quả này cho thấy tính khả quan việc triển khai hệ t thhống sử dụng giao thức multicast cho mạng 6LoWPAN thực tiễn 83 Chương 7: Kết luận hướ ng ng phát phát tri tr iể n CHƯƠNG CHƯƠN G 7 K ẾT LUẬN LUẬN VÀ HƯỚ NG NG PHÁT TRIỂ TRIỂN 7.1 K ết l uận 7.1.1 Đánh giá Vớ i k ết quả đạt đượ c tr ong mô ứng dụng đầu ra, ta nhận thấy hệ thống multicast mạng 6LoWPAN/IPV6 cho k ết quả khả quan, có thể áp dụng đượ c thực tế vớ i nhiền tính khả dụng: đo đạc thơng s ố cảm biến, điề u khiển thiết bị điệ n AC, DC qua giao di ện tr ực ực quan, quan, sinh si nh độ ng thông qua mạng internet Đối vớ i phần mô phỏng, luận văn đưa đượ c so sánh về hiệu quả hoạt độ ng c cả giải thuật multicast có ESMRF, SMRF MPL/TM Theo đó, SMRF cho khả hoạt độ ng yếu hạn chế c chi hiều truyền gói Việc sử dụng ESMRF Roll- TM đượ c cân nhắc lựa chọn dựa vào tình thực tiễn đề xuất ở m mục 5.1.2 vớ i thông s ố được đưa vào đánh giá Tỉ lệ truyền gói (PDR), độ tr ễ (delay) lượ ng ng tiêu thụ (PC) Đối vớ i phần thực thiết k ế hệ thống, s ản phẩm luận văn đạt đượ c mục tiêu đề đã đề ra ki ểm tra khả hoạt độ ng giải thuật multicast thông qua hệ thống có ứng dụng thực t ế Sản phẩm luận văn vớ i phần liên k ết vớ i ho ạt động tốt Các thông s ố đo đạc khả quan Quá trình vận hành thực hóa đượ c gi ải thuật multicast ESMRF Đồng thời tính ACK nhóm thiết k ế hoạt động hiệu quả khi cung c ấ p thơng tin về sink node bị lỗi gói cho người điều khiển đồng thờ i t ự độ ng gửi l ại gói tin bị l ỗi lên đến lần Hệ thống có thể tăng số lượ ng ng sink node cách dễ dàng cách nạ p fir firmw mware are cho cc2538dk cc25 38dk sink node và c ậ p nhật s ố lượng node ID ID cho root roo t Tuy nhiên, hệ thống điều khiển giám sát thơng s ử dụng giao thức Multicast 6LoWPA 6LoWP AN cịn kh kháá ứng dụng thực tế, sơ khai, cần bổ sung thêm để tăng tính ứng dụng 84 Chương 7: Kết luận hướ ng ng phát phát tri tr iể n Vớ i k ết quả nhóm hồn thành nhiệm vụ luận văn đượ c giao Ngồi ra, nhóm cịn bổ sung thêm phần Phụ l ục, nơi nơi ngh nghiên iên cứu , trình thực bướ c vớ i Contiki OS phần cứng đượ c trình bày chi ti ết 7.1.2 Hạn chế Vì giớ i hạn đề tài thiết bị nên khơng thể áp dụng nhiều thiết bị ho ạt động lúc để có thông s ố mạng khách quan Thiế t k ế hệ thống vớ i quy lúc mơ nhỏ khi chỉ có sink node node ccho ho nh nhóm óm multic multicast ast vvàà roo roott node Chưa tận dụng đượ c khả cậ p nhật firmware từ xa c CC2538dk để cậ p nhật sink node có thay đổ i tro ng firmwa firmware re Cá Cácc thông t hông s ố như Sink node ID, địa chỉ nhóm multcast, mảng ACK root node s ố lượng sink node lưu root node cịn phải khở i tạo thủ cơng firmware, chưa có phương pháp c ậ p nhật tr ực ti ế p 7.2 Hướ ng ng phát tri ển Vớ i hạn chế c đề tài, nhóm s ẽ cố gắng khắc phục tương lai mở r r ộng mơ hình lên khơng chỉ tro trong ng hệ thống điều khiển giám sát thi ết bị điệ n mà ở các các dự án án Sma Smart rt Home, Ho me, S Smart mart Street, Stree t, Phá Phátt tri tr iển ph phần c ứng, firmware + Liên k ết thêm nhiều ngoại vi, c ảm biến khác vớ i phần cứng khác nhau, thiết k ế hộ p thiết bị gọn hơn, đẹp có led báo trạng thái ho ạt động sink node + Phát triển kh khả báo cáo vị trí sink node bị l ỗi + Có khả update firmare từ xa + Khả điều khiển thay đổi nhóm multicast sink node từ xa Phátt tri tr iển ph phần mềm Phá + Giám sát theo thờ i gian thực + Mô sơ đồ các nú nútt cảm biến + Phát triển nhiều tảng khác nhau: IOS, Android, We 85 Tài liệu tham khảo TÀI LIỆ LIỆU THAM KHẢ KHẢO [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]] [12 [13] [14] [15] [16] [17] [18] [19] [20] Z Shelby and C Bor Bormann mann,, "6LoWPAN: 6Lo WPAN: The Wir Wirel eless ess Embedded Inter Internet," net," ed: WILEY, 2009 A Moschitta an andd I Neri, "Po Pow wer co consump nsumptio tionn Asse ssessment ssment in Wirel Wireless ess Senso Sensorr ICT T - Energy - Concepts Towar Towards Zero , ed, Networks," in IC ed, 201 2014 4.Arc A A A Alkhatib and G S Baicher Baicher,, "Wir Wirel eles esss ds Sensor Senso r Network rchite hitect cture," ure," 2012 20 12 IANA IA NA (2 (201 019) 9) IP IPv4 v4 Addre Address ss R Repo eport rt Available: https://ipv4.potaroo.net/ https://ipv4.potaroo.net/ IET IETF, F, ""RFC RFC 4291 4291:: IP Version ers ion Addressing Archite Architecture," cture," ed, 2006 200 A L Coli Colina, na, A V Vives, ives, M Zennaro, A Bagu Bagula, la, aand nd E Piet Pi etro rose semol moli,i, Intern Internet et of Things in days T Đ Thuận, "Nghiên c ứu, đánh giá hiệu giao thức định tuyến cho mạng Cảm biến không dây vớ i hỗ tr ợ ợ 6loWPAN," Trường Đại học Công nghệ, 2013 A Dunkel Dunkels, s, "The Co ContikiMAC ntikiMAC Radio Duty Cycling Pr Prot otoc ocol ol," ," SICS Tec echnical hnical Report T2011:132011 N T T Giang, Giang, "Định tuyến RPL cho mạng không dây cơng suất thấ p," T ạ p chí Cơn Cơng g ng ngh hệ thông tin Truyề n thông, 4/2017 JP Vasseur, asse ur, N Agarw garwal, al, and J Hui, "RPL: The IP IP routing ro uting prot protoc ocol ol desi designed gned for fo r low lo w power an power andd lossy loss y nnetworks," etworks," 4/2 4/201 011 Trickle kle Library ANRG (Novemb (November er 20 2014, 14, March 3, 201 2019) 9) Tric IEFT IEFT,, "The Tric Trickle kle Algo lgori rithm," thm," in Stan Standard dard Trac Track k , ed: P Levis, T Clausen, J Hui, O Gnawali, Gnawali, J Ko, March 20 2011 11 K Q A F F K Elsayed, ""ESMRF: ESMRF: enhanced stateles statel esss multi multicast cast forwa fo rwarding rding for fo r Ipv Ipv66 based ba sed Low-Po Low-Pow wer an andd los lossy sy Networks," presente presentedd at the IET IETA A2 Web of Objec Objects ts Project Egypt, May 2015 IET IETF, F, "Multicast Prot P rotoco ocoll for Low-pow Low-power er an andd Lossy Networks (MPL)," in RFC 7731, ed: J.Hui & R.Kelsey, February 2016 G Oikonomou, "IPv "IPv66 Multicast Forwarding Forwarding in RPL-Based Wi Wirel reless ess Sensors Networks," 201 2013 I P George Geor ge Oikonomou, ""Stateless Stateless Multicast Forwa Forwarding rding with RPL in 6LowPAN Sensor Networks," in 8th IEE EEE E Internation International al Workshop on Sen Sensor sor Networks and Systems for Pervasive C Computing omputing 2012 , Lug Lugan ano, o, March 19 19,, 2012 201 G.Oik G.Oikonomou onomou (20 (2014 14,, March 2019 019) ) Document: RPL Available: https://github.com/contiki-ng/contiki-ng/wiki/Documentation:-RPL O schmidt (2003 (20 03,, January January 201 2019) 9) Contiki: The The Open Source OS fo forr the Internet of Things Available: http://www.contiki-os.org/index.html http://www.contiki-os.org/index.html G.Oik G.Oikonomou onomou (2014, (20 14, Janu January ary 2019 2019) ) An Introd Introduction uction to Cooja Available: https://githu https://github b.com/contiki-os/co com/contiki-os/contik ntiki/w i/wiki/An iki/An-Introdu -Introduction-toction-to-Cooja Cooja T In Instrument, strument, ""CC2538 CC2538 Pow Po werf erful ul Wirel Wireless ess Micro Microcontro controller ller System-On-Ch System- On-Chip ip for 2.4-GHz 2.4GHz IIEEE EEE 802.15 802.15.4, 4, 6LoWPA 6LoWP AN, and and ZigBee® A App pplicatio lications," ns," ed, 2012 201 86 Phụ lục PHỤ LỤC PHỤ A. Q trình mơ Contiki/Cooja ụ lục A - Tiế Hình ph phụ Tiế n trình thự thự c hiệ hiệ n mơ phỏ user@instant-contiki:~$ cd contiki/tools/cooja/ user@instant-contiki:~/contiki/tools/cooj user@instan t-contiki:~/contiki/tools/cooja$ a$ ant run Ứ ng ng dụng cooja đượ c compile, tạo file mô mớ i File > New New simulation simula tion Thay đđổổi thiết lậ p mô sau tiế n hành create: Hình phụ phụ lục A - Khở Khở i ttạạo mô phỏ mớ i Tại cửa sổ Network, View > Radio Rad io env enviro ironment nment (UDG (UDGM) M), click phải vào c ửa số Network, chọn Change Transmission ranges, Chang Changee TX TX/RX /RX ssucc uccess ess ratio để thay đôi thông số của hệ thống mô 87 Phụ lục Hình phụ phụ lục A - Cử Cử a sổ s ổ tha thayy đổi đổi thông số s ố mô phỏ Tiế p theo, khở i tạo node tương ứng t ại Motes > Add motes mot es > C Crea reate te ne new w mote types > sky motes Trong c ửa sổ mớ i xuất hiện, load firmware tương ứng root.c sink.c thư mục: ~/contiki/examples/ipv6/multicast tiến hành compile Sau create, nhậ p thơng t hơng s ố về số lượ ng, ng, vị trí node ti ến hành tạo node Hình phụ phụ lục A - Com Compile pile firm firmw ware ttạạo node 88 Phụ lục Sau hoàn tất thiết l ập môi trườ ng ng mô với Cooja, ta thay đố i thông số cấn thiết firmware c root sink, đồng thời thay đổ i gi ải thuật multicast mu lticast file project-conf.h project -conf.h thư mục: ~/contiki/example/ipv6/multicast d File root.c : #define INT INTER ERATI ATIONS ONS 1000 /* change number of multicast packets */ #define #defi ne SEND_I SEND_INTE NTERVAL RVAL CLO CLOCK_SECO CK_SECOND ND /*Traf /*Traffic fic Flow*/ #define START START_DEL _DELAY AY 60 /* Sta Start rt sending multicast packet af after ter a delay */ Thay đổi thông s ố Interations để điề u chỉnh s ố lượ ng ng multicast packet khảo sát, send_interval để thay đổi tốc độ gửi multicast packet Start_delay để đảm báo việc routing t ạo DODAG hồn thành trướ c gửi gói multica multicast st e File project-conf.h project-c onf.h:: #define #defi ne UI UIP_MCA P_MCAST_CONF_ENGINE ST_CONF_ENGINE #define NETST NETSTAC ACK_CON K_CONF_RDC F_RDC contikimac_driver /* RDC RDC driver */ #define #defi ne ROL ROLL_TM_CO L_TM_CONF_IMIN_1 NF_IMIN_1 64 #define #defi ne UI UIP_MCA P_MCAST6_ROUTE_CONF_ROUT ST6_ROUTE_CONF_ROUTES ES UIP_MCAST_CONF_ENGINE dùng để khai báo gi ải thuật multicast sử dụng, tùy chọn bao gồm: 1: SMRF; 2: TM; 3: ESMRF RDC driver lưu khai khai báo báo NET NETSTACK_CO STACK_CONF_ NF_RDC, RDC, ROLL_TM_CONF_I ROLL_TM_CONF_IMIN_: MIN_: thay đ ổi giá tr ị IMIN đối vớ i giải thuật TM, s ử dụng 64ms đối vớ i Contiki MAC Sau hoàn tất thiết lập cài đặt, t ại c ửa số Simulation control ccủa Cooja, ta ti ến hành Reload bắt đầu mô phỏng, quan sát mức tiêu thụ lượ ng ng c mode vớ i tool Power Tracker K ết thúc q trình mơ phỏng, c ửa sổ Mote Output Outp ut , chọn file file/sa /save ve to file để lưu lại file fi le loglistener.tx loglistener.txtt chứa s ố liệu để phânn tíc phâ tích h Q trình đượ c lặ p lại vớ i lần vớ i topology, l ần cho gi ải thuật multicast riêng bi ệt B. Thi ết k ế chương trì trình nh xử l í dữ li l i ệu đầu c q trình mơ Sau thực mô Cooja, Cooj a, k ết quả tr ả về là l nội dung ccác ác message mes sage c node (hình phụ lục B-1) Để tính tốn đượ c average delay, packet delivery 89 Phụ lục ratio (PDR) c node, ta phải thêm gi đoạn xử lí đoạn output Do vậy, nhóm viết tool nhỏ, lậ p trình ngôn ngữ C, đầu vào file text chứa output c Cooj Cooja, a, đầu file text chưa c hưa giá giá trị t rị delay, PDR c node Hình phụ phụ lục B - Ou Output tput node sau mô phỏ Cooja Giải thuật c chương trình đượ c minh ho ạ theo sơ đồ hình B - Ban đầu, ngườ i dùng c ần thiết l ậ p tthông hông s ố tổng s ố node mạng, ID c Root, tổng s ố multicast packet Root gửi Chương tr ình ình sẽ thực duyệt dòngg file text đầ dòn đ ầu vào, dùng hàm xử lý chuỗi để tá tách ch c ác thơng s ố như thờ i gian gửi/ nhận gói tin, tổng s ố gói tin nhận đượ c, c, node ID Các giá tr ị này lưu vào mảng : TimeStart[ t[ ] : lưu thờ i gian gửi gói tin c Root node, kích thướ c c mảng • TimeStar bằng tổng số multicast packet Root gửi đi. • Delay Delay[[ ] : lưu tổ ng thờ i gian tr ễ nhân t ừ lúc gửi đến lúc nhận gói tin node mạng, mảng có kích thướ c tổng số node tro ng mạng (ban đầu, tất c ả phần tử trong mảng ảng đượ c gán 0) Delay Dela y Note NoteID ID time _ rece receive ive Time TimeStart Start pack packetID etID Giá tr ị Average Delay c node s ẽ tính dựa giá tr ị Delay s ố packet pa cket nhận đượ c node đó: 90 Phụ lục Averagee _ Delay Averag Delay nodeID Tota To tall _ pa pack cket et *100 PDR[[ ] : lưu giá trị p PDR packet acket deli delivvery ratio nhận đượ c c node PDR nodeID tota to tall _ pa pack cket et _ rec receiv eived *100 tota totall _ pa pack cket et _ send sended ed Bắt đầu chương trình Xác định Root ID, tổng số node , tổng số multicast packet Duyệt message file text input SAI Xác định TimeStart[], Delay[], PDR[] End of file? ĐÚNG Xuất kết file text Hình phụ phụ lục B - Giả Giải thuậ thuật chương trình trình Sau chạy xong, chương trình xuất k ết quả file text : Resul Result.txt t.txt hình Console hình B-3 B-4 (Trong (Trong trườ ng ng hợ p ESMR ESMRF F Forwarding) Forwarding) : 91 Phụ lục Hình phụ phụ lục B - K ế t qu quả trả trả về v ề trên hình Console Hình phụ phụ lục B - K ế t qu quả dướ i dạng text file 92 Phụ lục C. Tạo Mosquitto Mosquitto Broker CloudMQTT CloudMQTT Clo udMQTT l giải pháp hồn hảo cho vi ệc gửi gói tin ti n c ác c ảm biến lượ ng ng thấ p thi ết bị di động điện thoại, máy tính nhúng nhúng board sử dụng vi điều khiển Arduino. CloudMQTT tự độ ng hóa phần thiết lậ p vận hành Broker Mosquitto c người dùng Sau nhóm xin giớ i thiệu cách để tạo Broker CloudMQT CloudMQTT T cách miễn phí Trướ c tiên c ần có tài kho ản trang https://www.cloudmqtt.com/,, ta có thể trang https://www.cloudmqtt.com/ đăng kí mớ i ho ặc sử dụng tài kho ản có s ẵn Google hay GitHub để đăng nhậ p Hình phụ phụ lục C - Màn hình đăng nhập trướ c khở khở i ttạạo Broker Sau đăng nhậ p thành thành công, s ẽ chuyển sang trang c CloudMQTT vớ i thơng tin về những Broker tạo Tại ta bấm chọn “Create new Instance” để t ạo Broker mới, bướ c tạo broker đượ c mô tả ở hình đây. 93 Phụ lục Hình phụ phụ lục C - Đặ Đặtt tên gói dị dịch vụ CloudMqtt (miễ (miễ n phí hoặ trả trả phí) Hình phụ phụ lục C - Ch Chọọn Data Center 94 Phụ lục ụ lục C - Các đặt Hình ph phụ Các nh nhận lại thơng số s ố cài đặt Hình phụ phụ lục C - K ế t qu quả sau cài đặt đặt xong mộ MQTT Broker Như chỉ sau bước đơn giản, ta khở i tạo thành công MQTT Broker, ưu điểm phương pháp títính nh tự độ ng hố, khơng c ần phải tự bu build ild tay server, đặc biệt mi ễn phí Tuy nhiên nhượ c điể m muốn phát triển thêm tính khác cho server hay muốn làm việc vớ i database khơng thể làm Do tuỳ mục đích sử dụng mà ta chọn tảng hợp lí để thiết k ế ser servver