Nghiên cứu giao thức MQTT(Message queue telemetry transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT

78 50 0
Nghiên cứu giao thức MQTT(Message queue telemetry transport) và ứng dụng thu thập dữ liệu cảm biến theo MQTT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - Đỗ Huy Nam NGHIÊN CỨU GIAO THỨC MQTT (MESSAGE QUEUE TELEMETRY TRANSPORT) VÀ ỨNG DỤNG THU THẬP DỮ LIỆU CẢM BIẾN THEO MQTT Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC : TS HOÀNG LÊ MINH HÀ NỘI - 2016 HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - Đỗ Huy Nam NGHIÊN CỨU GIAO THỨC MQTT (MESSAGE QUEUE TELEMETRY TRANSPORT) VÀ ỨNG DỤNG THU THẬP DỮ LIỆU CẢM BIẾN THEO MQTT Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2016 i LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu riêng tơi Các số liệu, kết trung thực chưa công bố cơng trình khác Học viên Đỗ Huy Nam ii LỜI CẢM ƠN Với tất lịng kính trọng biết ơn sâu sắc, em xin gửi lời cảm ơn tới Thầy giáo TS Hoàng Lê Minh, người tận tình bảo hướng dẫn em q trình hồn thành luận văn Em xin gửi lời cảm ơn chân thành tới Thầy giáo, Cô giáo công tác Học viện Công nghệ bưu viễn thơng, người tận tình giảng dạy, truyền thụ cho em kiến thức khoa học trình học tập trường Cuối cùng, xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, đồng nghiệp động viên, sát cánh tơi q trình học tập thực đề tài Hà Nội, ngày 15 tháng 12 năm 2016 Học viên Đỗ Huy Nam iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v DANH MỤC CÁC HÌNH viii DANH MỤC CÁC BẢNG x MỞ ĐẦU CHƢƠNG I: TỔNG QUAN VỀ INTERNET OF THINGS (IoT) 1.1 Giới thiệu IoT 1.1.1 Định nghĩa IoT 1.1.2 Lợi ích vai trị IoT 1.1.3 Các hội xu hướng phát triển IoT 1.1.4 Các công nghệ tảng IoT 10 1.2 Tổng quan giao thức thu thập liệu IoT 13 1.2.1 Giao thức MQTT 13 1.2.1.1 Giới thiệu giao thức MQTT 13 1.2.1.2 Mơ hình giao thức MQTT 15 1.2.1.3 Định dạng thông điệp MQTT 16 1.2.1.4 Môi trường hoạt động MQTT 20 1.2.2 Giao Thức CoAP 21 1.2.2.1 Giới thiệu giao thức CoAP 21 1.2.2.2 Mơ hình giao thức CoAP 22 1.2.2.3 Định dạng thông điệp CoAP 23 1.2.2.4 Môi trường hoạt động CoAP 27 1.2.3 1.3 Một số ưu điểm MQTT so với giao thức IoT khác 28 Kết luận 29 iv CHƢƠNG 2: TÌM HIỂU GIẢI PHÁP THU THẬP DỮ LIỆU CẢM BIẾN BẰNG CÔNG NGHỆ IOT 2.1 Mạng cảm biến không dây 2.1.1 Mạng cảm biến gì? 2.1.2 Cấu trúc mạng cảm 2.1.3 Ứng dụng xu hướng 2.2 Tổng quan IoT Gateway 2.2.1 Giới thiệu IoT Gate 2.2.2 Đặc điểm lợi ích củ 2.2.3 Ứng dụng IoT Gat 2.3 2.3.1 Thu thập liệu cảm biến công nghệ I Đặc điểm liệu c 2.3.1.1Định dạng JSON (JavaScript Object Notation) 2.3.1.2 Định dạng XML 2.3.1.3 Định dạng CSV 2.3.2 Ứng dụng liệu 2.4 Kết luận CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG IOT THU THẬP DỮ LIỆU CẢM BIẾN THEO GIAO THỨC MQTT 3.1 Giới thiệu toán thu thập liệu IoT v 3.2 Xây dựng ứng dụng IoT thử nghiệm thu Gateway giao thức MQTT 3.2.1 Giới thiệu tảng 3.2.2 Giới thiệu ứng dụng 3.2.3 Cài đặt sử dụng ứng 3.3 Kết luận KẾT LUẬN TÀI LIỆU THAM KHẢO v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt Tiếng A IoT Internet MQTT Messag Transpo CoAP Constra APIs Applica Interfac WSN Wireles HTTP Hyper T SMTP Simple IMAP Internet POP Post Off SDK Softwar SIDF Sensor I XMPP Extensib Protoco vi IETF Internet RFID Radio F SCADA Supervi Acquisi JSON JavaScr CSV Comma Broker SSL/TLS Secure S Layer S MIT Massach Technol FTP File Tra MBAN Medical WebRTC Web Re UDP User Da vii LWM2M Lightwe OMA Open M viii DANH MỤC CÁC HÌNH Hình 1: Mơ hình Internet of Things Hình 2: Sự tăng trưởng thiết bị IoT [12] Hình 4: Mơ hình kết nối với giao thức MQTT [7] 13 Hình 5: Mơ hình giao thức MQTT [7] 15 Bảng 1.1: Bảng loại thông điệp mô tả [6] 16 Bảng 1.2: Cấu trúc gói tin điều khiển MQTT 17 Bảng 1.3: Định dạng cố định đầu file tin MQTT 17 Bảng 1.4: Bảng mô tả ký tự đại diện chủ đề thông điệp MQTT [6] 18 Hình 6: Các mức chất lượng dịch vụ giao thức MQTT [7] 19 Bảng 1.5: Bảng mô tả mức QoS ý nghĩa thơng điệp giao thức MQTT [6] 19 Hình 7: Mơ hình giao thức CoAP [8] 23 Hình 8: Truyền tải thông điệp tin cậy [8] 23 Hình 9: Truyền tải thơng điệp không tin cậy [8] 24 Hình 10: Kết phản hồi thành cơng thất bại phương thức GET [8] 24 Hình 11: Một yêu cầu GET với phản hồi riêng biệt [8] 25 Hình 12: Yêu cầu không xác nhận phản hồi [8] 26 Hình 13: Định dạng thông điệp [8] 26 Hình 14: Định dạng CoAP tùy chọn [8] 27 Hình 15: Hệ thống kiểm soát lượng [8] 28 Hình 1: Cấu trúc mạng WSN [4] 31 Hình 2: Kiến trúc nốt cảm biến [10] 33 Hình 3: Mơ hình IoT Gateway [16] 36 Hình 4: Vị trí IoT Gateway hệ sinh thái IoT [17] 38 52  Đối với ứng dụng web, phải đảm bảo thông tin thời gian chạy khung truyền đạt tới Bluemix, để Bluemix thiết lập mơi trường thực thi thích hợp để chạy ứng dụng Mỗi môi trường thực thi, bao gồm ứng dụng điện thoại di động web tách biệt từ môi trường thực thi ứng dụng khác Các môi trường thực bị tách biệt ứng dụng máy vật lý [11] Hình 4: Triển khai ứng dụng [11] Khi tạo ứng dụng triển khai đến Bluemix Cloud Foundry, mơi trường Bluemix xác định máy chủ ảo thích hợp để gửi ứng dụng Đối với ứng dụng điện thoại di động, back-end di động tạo Bluemix Bất kỳ mã cho ứng dụng điện thoại di động chạy đám mây chạy môi trường Bluemix Đối với ứng dụng web, mã chạy đám mây ứng dụng riêng mà nhà phát triển để triển khai Bluemix Việc xác định máy chủ ảo dựa số yếu tố, bao gồm:  Các tải tải có máy tính  Mơi trường thực thi tảng hỗ trợ máy ảo Sau máy chủ ảo chọn, ứng dụng quản lý ứng dụng máy chủ ảo cài đặt tảng thời gian thực thi thích hợp cho ứng 53 dụng Sau đó, ứng dụng triển khai vào tảng Khi triển khai hồn tất, vật ứng dụng bắt đầu [11] Hình 5: Thiết kế máy chủ ảo [11] Trong máy chủ ảo, ứng dụng quản lý giao tiếp với phần lại sở hạ tầng Bluemix, quản lý ứng dụng triển khai đến máy chủ ảo Mỗi máy chủ ảo có vùng chứa để tách bảo vệ ứng dụng Trong thành phần, Bluemix cài đặt tảng thời gian chạy thích hợp yêu cầu cho ứng dụng Khi ứng dụng triển khai, có giao diện web (như ứng dụng web Java), dịch vụ dựa REST khác (chẳng hạn dịch vụ điện thoại di động tiếp xúc công khai cho ứng dụng điện thoại di động), người sử dụng ứng dụng giao tiếp với cách sử dụng yêu cầu HTTP bình thường 54 Hình 6: Triển khai ứng dụng IBM Cloud Foundry [11] Mỗi ứng dụng có nhiều URL liên kết với nó, họ phải tất điểm đến điểm cuối Bluemix Khi có request đến, Bluemix xem xét yêu cầu, xác định ứng dụng dành cho, sau chọn thể ứng dụng nhận yêu cầu Với việc sử dụng Bluemix có thể:  Triển khai ứng dụng vài giây với vài cú click chuột đơn giản  Tùy chọn công cụ phát triển ứng dụng: Dùng công cụ phát triển ưa thích!  Tạo ứng dụng nhanh chóng với dịch vụ xây dựng sẵn: cung cấp loạt khả tích hợp cho ý tưởng  Tích hợp với ứng dụng nội doanh nghiệp  Giám sát, phân tích trạng thái ứng dụng theo thời gian thực Chúng ta triển khai ứng dụng Bluemix giao diện công cụ command line tảng Cloud Foundry [11] 55 3.2.2 Giới thiệu ứng dụng Ứng dụng IoT cho phép dễ dàng truy cập cảm biến thiết bị di động lấy thông tin thiết bị IoT gửi thông tin tới tảng IoT Gateway IBM Bluemix thông qua internet Sơ đồ bên bên cung cấp nhìn tổng quan cách thức thiết bị tương tác với tảng Watson IoT IBM Thiết bị di động đăng ký với IoT Gateway IBM, API mã tạo cho ứng dụng mà tiêu thụ liệu từ thiết bị Ứng dụng đọc liệu cảm biến chuyển động từ thiết bị điện thoại gửi Gateway IBM Hình 7: Mơ hình ứng dụng IoT thử nghiệm 3.2.3 Cài đặt sử dụng ứng dụng Bƣớc 1: Thiết lập cài đặt ứng dụng IBM Bluemix Đầu tiên, cần phải tạo ứng dụng Bluemix để có ứng dụng để lưu trữ sử dụng liệu cảm biến từ thiết bị [11] Đăng nhập vào ứng dụng IBM Bluemix với tài khoản IBM ID 56 Hình 8: Màn hình đăng nhập tảng IBM Bluemix IoT [11] Từ bảng dashboard, tạo ứng dụng Lựa chọn loại ứng dụng Internet of Things Platform Trang hiển thị chi tiết cho ứng dụng Ở bên phải trang, cung cấp tên cho ứng dụng (ví dụ:ptit_iot) Điều tạo đường link http://ptit_iot.mybluemix.net cho ứng dụng Nhấp vào “Create” Sau tạo ứng dụng, bảng điều khiển ứng dụng tải ứng dụng tự động bắt đầu Một ứng dụng hoàn thành, thêm dịch vụ tảng IoT: từ bảng điều khiển ứng dụng, nhấp vào “Add Service”, sau chọn tảng Internet of Things, Lưu ý: Nếu có dịch vụ IoT tạo, nhấn “Bind Service” thay “Add Service” Màn hình đưa tên dịch vụ (ví dụ: iot-ptit) 57 Hình 9: Màn hình tạo service IoT với IBM Bluemix [11] Tiếp theo, click vào “Service IoT” điều bảng điều khiển ứng dụng Điều mở trang cấu hình cho dịch vụ Từ đây, nhấp vào nút “Launch” để mở bảng điều khiển tảng IBM Bluemix IoT Hình 10: Dịch vụ IoT sau đƣợc tạo [11] Bƣớc 2: Sử dụng tảng IBM Bluemix IoT Bước khai báo đăng ký thiết bị với IoT Gateway Sau hoàn thành bước 1, thấy dứng dụng bảng điều khiển tàng Watson Internet of Things 58 Khai báo định danh cho tổ chức (ID), dùng để định danh kết nối từ thiết bị tới tổ chức khai báo IoT Gateway Tiếp theo, đăng ký thiết bị vào tổ chức khai báo bước Một thiết bị sử dụng định danh để kết nối từ ứng dụng tới IoT Gateway Nhấn “Add Device” tạo loại thiết bị - Với ứng dụng iOS, đặt tên 'iPhone' - Với ứng dụng Android, đặt tên 'Android' Nhớ trằng ứng dụng IoT loại thiết bị phân biệt hoa thường phải nhập vào xuất Khai báo thiết bị (ví dụ: AAA), sau nhấn “Next” Tạo auth-token xác thực cho thiết bị Nếu token không nhập, token ngẫu nhiên tạo Hãy lưu ý auth-token, điều sử dụng kết nối với IoT Gateway (Chú ý: chép dán authtoken nhập để tránh bị quên) nhập sau: - organization: lgipxv - deviceType: iPhone - deviceId: AAA - auth-token: iot_ptit_token 59 Hình 11: Màn hình khai báo thiết bị IoT [11] Bây giời thấy danh sách thiết bị khai báo tổ chức Nếu không kết nối với thiết bị từ ứng dụng khơng có liệu kiện cho thiết bị Bƣớc 3: Cài đặt sử dụng ứng dụng Khi lần chạy ứng dụng có hình đăng nhập phải nhập thông tin: - ID tổ chức - ID thiết bị - Token định danh 60 Hình 12: Màn hình khởi động ứng dụng sử dụng iPhone Sau truy cập cảm biến ứng dụng sẽ: - Tự động gửi liệu gia tốc chuyển động IoT Gateway Hình 13: Màn hình gửi liệu cảm biến gia tốc - Cho phép gửi thông điệp nhận thông tới IoT Gateway 61 Hình 14: Màn hình gửi liệu thơng điệp lên IoT Gateway Chúng ta vào ứng ứng dụng khai báo IoT Gateway để theo dõi thông tin thiết bị kết nối liệu truyền lên từ thiết bị 62 Hình 15: Màn hình thơng tin thiết bị gửi lên IoT Gateway [11] Hình 16: Màn hình xem thơng tin tổng hợp thiết bị gửi lên IoT Gateway [11] 63 3.3 Kết luận chƣơng Các ứng dụng IoT ngày phổ biến đưa vào sống ngày chúng ta, liệu cảm biến thu thập giúp ích cho nhiều cơng việc ngày từ phân tích đánh giá liệu, dự đoán, đưa gia cảnh báo, Từ ứng dụng thu thập liệu cảm biến xây dựng chương thấy ngày nhiều ứng dụng thu thập liệu cảm biến IoT xây dựng phát triển phục vụ cho nhiều mục đích mang lại hiệu lớn góp phần vào phát triển chung xã hội 64 KẾT LUẬN Kết đạt đƣợc luận văn Sau thời gian tìm hiểu, nghiên cứu đến luận văn hoàn thành Về nội dung luận văn đáp ứng nội dung đăng ký đề cương Cụ thể luận văn đạt số kết sau:  Đã tìm hiểu giới thiệu tổng quan IoT, lợi ích vai trị xu hướng phát triển thách thức IoT với cơng nghệ tảng IoT  Đã giới thiệu giao thức thu thập liệu IoT giao thức MQTT giao thức IoT xu hướng áp dụng nhiều ứng dụng IoT  Luận văn tìm hiểu giải pháp thu thập liệu cảm biến IoT đồng thời giới thiệu IoT Gateway (một thành phần đóng vai trị quan trọng bậc mơ hình kiến trúc IoT)  Xây dựng ứng dụng thử nghiệm thu thập liệu cảm biến gia tốc từ điện thoại di động dựa giao thức MQTT, công nghệ IoT Gateway tảng IoT cloud hãng IBM Hƣớng phát triển  Áp dụng xây dựng ứng dụng thu thập liệu cảm biến công nghệ IoT vào việc thu thập nhiều loại liệu cảm biến, từ nhiều loại thiết bị  Từ liệu cảm biến thu từ nguồn liệu thông qua ứng dụng thu thập liệu, cung cấp đưa kết đánh giá, phân tích từ sử dụng cho nhiều mục đích khác 65 TÀI LIỆU THAM KHẢO Tiếng Anh [1] Francis da Costa (2013), Rethinking the Internet of Things A Scalable Approroach to Connecting Everything, Apress Open [2] Intel (2014), Developing Solutions for the Internet of Things, Intel [3] John esposito (2015), The Dzone guide to the Internet of Things [4] Jun Zheng and Abbas Jamalipour (2009), Wireless sensor networks a Networking Perspective, A John wiley & Sons, inc., publication [5] Peter Waher (January 2015), “The MQTT Protocol”, Learning Internet of Things, Packt Publishing, pp 108 – 123 Website [6] Dominik Obermaier Getting Started With MQTT, https://dzone.com/refcardz/getting-started-with-mqtt [7] Margaret Rouse MQTT (MQTelemetryTransport), http://internetofthingsagenda.techtarget.com/definition/MQTT-MQ-TelemetryTransport [8] Xi Chen Constrained Application Protocol for Internet of Things, http://www.cse.wustl.edu/~jain/cse574-14/ftp/coap/ [9] Stan Schneider (Oct 9, 2013) Understanding The Protocols Behind The Internet Of Things, http://electronicdesign.com/iot/understanding-protocols-behindinternet-things [10] National Instruments (Aug 24, 2016) What Is a Wireless Sensor Network?, http://www.ni.com/white-paper/7142/en/ [11] IBM Corp, (2016) IBM Bluemix, https://www.ibm.com/cloud-computing/bluemix/ [12] Jukka Suhonen, Olli Kivela, (2012, September) Sensor Information Data Format, http://www.tkt.cs.tut.fi/research/gwg/openapi/sidf.html Truy cập ngày 04/06/2016 [13] STUART LEUNG, (Mar 20, 2014) Ways the Internet of Things Will Make Marketing Smarter, https://www.salesforce.com/blog/2014/03/internet-ofthings-marketing- 66 impact.html [14] Paul Fremantle, (10/2015) A Reference Architecture For The Internet of Things, http://wso2.com/whitepapers/a-reference-architecture-for-the-internet-of-things/ [15] Margaret Rouse Internet of Things (IoT), http://internetofthingsagenda.techtarget.com/definition/Internet-of-Things-IoT [16] Henryk Konsek, (Aug 18, 15) The Architecture of IoT Gateways, https://dzone.com/articles/iot-gateways-and-architecture [17] John Treadway Using an IoT gateway to connect the "Things" to the cloud, http://internetofthingsagenda.techtarget.com/feature/Using-an-IoT-gateway-toconnect-the-Things-to-the-cloud Introducing JSON, http://www.json.org/ Truy cập ngày 15/06/2016 [18] [19] B&B Electronics Mfg Co Inc () MQTT Topics and JSON Data Format, http://www.distrimedia.fr/pdf/wzzard/MQTT-Topics-and-JSON-DataFormat_R1_User_Manual_1115.pdf Truy cập ngày 15/06/2016 [20] Quản trị mạng, (03/08/2016) Internet of Things - hội thách thức cho doanh nghiệp, https://quantrimang.com/internet-of-things-co-hoi-va-thach-thuc-chodoanh-nghiep-124472 ... chúng biết hai giao thức phổ biến dùng để thu thập liệu IoT MQTT CoAP, thấy ưu điểm giao thức thu thập liệu MQTT so với giao thức lại Trong chương tìm hiểu giải pháp thu thập liệu cảm biến công nghệ... VIỄN THƠNG - Đỗ Huy Nam NGHIÊN CỨU GIAO THỨC MQTT (MESSAGE QUEUE TELEMETRY TRANSPORT) VÀ ỨNG DỤNG THU THẬP DỮ LIỆU CẢM BIẾN THEO MQTT Chuyên ngành: Khoa học máy tính Mã số:... ứng dụng Facebook Messenger, IBM, Intel, Amazon, WSO2, Microsoft [7] Đó lý chọn đề tài: ? ?Nghiên cứu giao thức MQTT (Message Queue Telemetry Transport) ứng dụng thu thập liệu cảm biến theo MQTT? ??

Ngày đăng: 28/10/2020, 22:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan