Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)Giao thức MQTT và ứng dụng trong IOT cho giải pháp ngôi nhà thông minh (tt)
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG LÊ HỮU TUẤN ANH GIAO THỨC MQTT VÀ ỨNG DỤNG TRONG IOT CHO GIẢI PHÁP NGÔI NHÀ THÔNG MINH Chuyên ngành: Kỹ thuật Viễn thông Mã số: 60.52.02.08 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI – 2017 Luận văn hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: PGS.TS NGUYỄN TIẾN BAN Phản biện 1: Phản biện 2: Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Công nghệ Bưu Viễn thông Vào lục: ngày tháng năm 2017 Có thể tìm hiểu luận văn tại: ‐ Thư viện Học viện Công nghệ Bưu Viễn Thông MỞ ĐẦU IOT xu hướng mạnh mẽ toàn giới, mở hội chưa có cho kinh tế, doanh nghiệp, tổ chức cá nhân để cạnh tranh môi trường Phạm vi ứng dụng công nghệ IoT thực rộng lớn đa dạng, từ quản lý giao thông, quản lý đô thị, quản lý môi trường, ứng phó khẩn cấp đến mua sắm thông minh, dịch vụ y tế chăm sóc sức khỏe, nhà thông minh hướng tới thành phố thông minh Để thiết bị giao tiếp với nhau, thiết bị cần nhiều giao thức, HTTP dùng phổ biến để tải web hay số khác SMTP, IMAP cho email… Những giao thức trao đổi thông tin, cần có trung gian đứng giải mã cho hai bên hiểu Còn với thiết bị IoT, chúng phải đảm đương nhiều thứ, trao đổi thông tin với nhiều loại thiết bị khác nhau, người ta chưa có đồng giao thức để IoT trao đổi liệu Nói cách khác, tình gọi “communication fail”, bên nói bên không tiếp nhận Hiện có nhiều giao thức giao tiếp thiết bị IoT như: HTTP, UpnP, CoAp, MQTT Trong giai đoạn gần giao thức MQTT lên giao thức sử dụng phổ biến dùng IoT, nhiều hãng công nghệ áp dụng hỗ trợ giao thức MQTT cho ứng dụng sản phẩm Facebook cho ứng dụng facebook message, IBM cho dự án bảo vệ môi trường, Intel, Microsoft Luận văn xây dựng với nội dung sau: Chương 1: Tổng quan IoT ứng dụng Chương 2: Giao thức MQTT Chương 3: Ứng dụng giao thức MQTT IoT cho nhà thông minh 2 CHƯƠNG 1: TỔNG QUAN VỀ IOT VÀ ỨNG DỤNG 1.1 Giới thiệu chung IoT 1.1.1 Khái niệm IoT Internet of Things (IoT) thuật ngữ dùng để đối tượng nhận biết tồn chúng kiến trúc mang tính kết nối Đây viễn cảnh vật, vật người cung cấp định danh khả tự động truyền tải liệu qua mạng lưới mà không cần tương tác người-với-con người người-với-máy tính IoT tiến hoá từ hội tụ công nghệ không dây, hệ thống vi điện tử (MEMS) Internet Cụm từ đưa Kevin Ashton vào năm 1999 Ông nhà khoa học sáng lập Trung tâm Auto-ID đại học MIT, nơi thiết lập quy chuẩn toàn cầu cho RFID (một phương thức giao tiếp không dây dùng sóng radio) số loại cảm biến khác 1.1.2 Góc nhìn kỹ thuật IoT Internet Of Things sở hạ tầng mang tính toàn cầu cho xã hội thông tin, mang đến dịch vụ tiên tiến cách kết nối “Things” (cả physical lẫn virtual) dựa tồn thông tin, dựa khả tương tác thông tin đó, dựa công nghệ truyền thông Devices phần hệ thống với chức bắt buộc truyền thông chức không bắt buộc là: cảm biến, thực thi,thu thập liệu, lưu trữ xử lý liệu Things đối tượng giới vật chất (physical things) hay giới thông tin ảo(virtual things) “Things” có khả nhận diện, “Things” tích hợp vào mạng lưới thong tin liên lạc Hai loại đối tượng ánh xạ (mapping) qua lại lẫn Một đối tượng vật lý trình hay đại diện đối tượng thông tin, nhiên đối tượng thông tin tồn mà không thiết phải ánh xạ từ đối tượng vật lý [6] Yêu cầu tối thiểu “device” IOT khả giao tiếp Devices phân loại vào dạng device mang thông tin, device thu thập liệu, device cảm nhận(sensor), device thực thi, hay general device 3 1.2 Công nghệ IoT 1.2.1 Công nghệ IoT Các giao thức ‐ MQTT: giao thức cho việc thu thập liệu giao tiếp cho máy chủ (D2S) ‐ XMPP: giao thức tốt để kết nối thiết bị với người, trường hợp đặc biệt mô hình D2S, kể từ người kết nối với máy chủ ‐ DDS: giao thức tốc độ cao cho việc tích hợp máy thông minh (D2D) ‐ AMQP: hệ thống hàng đợi thiết kế để kết nối máy chủ với (S2S) Giao thức truyền thông không dây ‐ Zigbee ‐ BLE (Bluetooth low energy) ‐ RFID Cảm biến sensor Trong Internet of Things, cảm biến đóng vai trò then chốt, đo đạt cảm nhận giá trị từ môi trường xung quanh gửi đến vi xử lý sau gửi lên mạng Chúng ta bắt gặp số loại cảm biến cảnh báo cháy rừng, cảnh báo động đất, cảm biến nhiệt độ, cảm biến độ ẩm, 1.2.2 Đặc điểm hệ thống IoT Bất kỳ hệ thống IOT xây dựng lên từ kết hợp layer sau: ‐ Lớp ứng dụng (Application Layer): Lớp ứng dụng tương tự mô hình OSI lớp, lớp tương tác trực tiếp với người dùng để cung cấp chức hay dịch vụ cụ thể hệ thống IOT [7] ‐ Lớp Hỗ trợ dịch vụ hỗ trợ ứng dụng (Service support and application support layer) +Nhóm dịch vụ chung: Các dịch vụ hỗ trợ chung, phổ biến mà hầu hết ứng dụng IOT cần, ví dụ xử lý liệu lưu trữ liệu + Nhóm dịch vụ cụ thể, riêng biệt: Những ứng dụng IOT khác có nhóm dịch phụ hỗ trợ khác đặc thù ‐ Lớp mạng (Network Layer) + Chức Networking: cung cấp chức điều khiển kết nối kết nối mạng, chẳng hạn tiếp cận ngu n tài nguyên thông tin chuyển tài nguyên đến nơi cần thiết, hay chứng thực, uỷ quyền… + Chức Networking: cung cấp chức điều khiển kết nối kết nối mạng, chẳng hạn tiếp cận ngu n tài nguyên thông tin chuyển tài nguyên đến nơi cần thiết, hay chứng thực, uỷ quyền… ‐ Lớp thiết bị (Device Layer): Lớp Device phần cứng vật lý hệ thống IOT 1.3 Các ứng dụng IoT 1.3.1 Các ứng dụng IoT Với hiệu thông minh thiết thực mà IoT đem đến cho người, IoT tích hợp khắp thứ, nơi xung quanh giới mà người sống Từ vòng đeo tay, đồ gia dụng nhà, mảnh vườn ươm hạt giống, sinh vật sống động vật hay người…đều có sử dụng giải pháp IoT ‐ Ứng dụng lĩnh vực vận tải ‐ Ứng dụng nông nghiệp ‐ Ứng dụng nhà thông minh ‐ Ứng dụng thành phố thông minh ‐ Ứng dụng lưới điện thông minh 1.3.2 Các thách thức việc nghiên cứu, triển khai IoT ‐ Chưa có ngôn ngữ chung Hiện thiết bị IoT, chúng phải đảm đương nhiều thứ, phải nói chuyện với nhiều loại máy móc thiết bị khác Đáng tiếc người ta chưa có nhiều đồng thuận giao thức để IoT trao đổi liệu Nói cách khác, tình gọi "giao tiếp thất bại", bên nói bên không thèm (và không thể) nghe ‐ Hàng rào subnetwork Như nói trên, thay giao tiếp trực tiếp với nhau, thiết bị IoT chủ yếu kết nối đến máy chủ trung tâm hãng sản xuất nhà phát triển quản lí Cách ổn thôi, thiết bị hoàn toàn nói với thông qua chức phiên dịch máy chủ Thế chuyện không đơn giản thế, mạng lưới tạo thành subnetwork riêng, buồn thay máy móc nằm subnetwork giao tiếp tốt với subnetwork khác ‐ Tiền chi phí Cách để thiết bị IoT thật giao tiếp có động lực kinh tế đủ mạnh khiến nhà sản xuất đồng ý chia sẻ quyền điều khiển liệu mà thiết bị họ thu thập Hiện tại, động lực không nhiều 1.4 Kết luận chương Chương trình bày tóm tắt hiểu rõ khái niệm, kiến trúc, mô hình, ứng dụng thách thức môi trường IoT Như Internet of Things hiểu đơn giản mạng lưới vật thể gắn cảm biến hệ thống điện tử đặc biệt cho phép chúng kết nối với để thu thập trao đổi liệu Các vật thể mạng lưới kết nối với mạng Internet cho mục đích điều khiển từ xa Internet Of Things ngày phát triển cách vô mạnh mẽ Có thể nói IoT dần thay đổi thể giới trở thành xu hướng thời đại, mà nhắc đến lĩnh vực nghe đến IoT 6 CHƯƠNG 2: GIAO THỨC MQTT 2.1 Giao thức MQTT 2.1.1 Các khái niệm MQTT tạo TS Andy Standford Clark IBM Arlen Nipper of Arcom (giờ Eurotech) năm 1999 phương thức đáng tin cậy hiệu với chi phí để kết nối thiết bị giám sát sử dụng ngành công nghiệp dầu mỏ khí đốt với máy chủ doanh nghiệp từ xa Khi thử thách với việc tìm kiếm cách để đẩy liệu từ cảm biến đường ống sa mạc để quản lý hệ thống SCADA, họ định giao thức TCP/IP dựa mô hình cung cấp/thuê bao (publish/subscrible) kiện hướng tới giảm chi phí giữ liên kết truyền hình vệ tinh [3] MQTT dựa Broker (điểm trung gian) "nhẹ" (khá xử lý), thiết kế có tính mở (không đăng trưng cho ứng dụng nào), đơn giản dễ để tích hợp MQTT phù hợp cho ứng dụng M2M (Mobile to mobile), WSN (Wireless Sensor Networks) hay IoT (Internet of Things) 2.1.2 Mô hình MQTT(Message Queuing Telemetry Transport) Các thành phần MQTT clients, servers (=brokers), sessions, subscriptions topics [8] Hình Mô hình giao thức MQTT - MQTT client (publisher, subscriber): Client thực subscribe đến topics để publish receive gói tin 7 - MQTT server (broker): Servers thực run topic, đồng thời nhận subscriptions từ clients yêu cầu topics, nhận messages từ clients forward chúng - Topic: Về mặt kỹ thuật, topics hàng đợi chứa message Về logic, topics cho phép clients trao đổi thông tin liệu - Session: Một session định nghĩa kết nối từ client đến server Tất giao tiếp client server phần session - Subscription: Không giống sessions, subscription mặt logic kết nối từ client đến topic Khi thực subscribed đến topic, client trao đổi messages với topic Subscriptions trạng thái ‘transient’ ‘durable’, phụ thuộc vào cờ clean session gói Connect ‐ Message: Messages đơn vị liệu trao đổi topic clients 2.2 MQTT v3.1 protocol specification 2.2.1 Định dạng message Tất message chứa phần cố định theo bảng 2.1 Bảng Header cố định Bit Byte Loại message Byte Cờ DUP QoS level RETAIN Độ dài lại Trong đó: - Byte : Chứa loại Message cờ (DUP, QoS level, and RETAIN) ‐ Byte : (Ít byte) quy định độ dài lại ‐ Loại Message : vị trí byte 1, bits 7-4 ‐ Các cờ: bit lại byte đầu chứa trường DUP, QoS RETAIN + DUP : Vị trí byte 1, bit Cờ bật client server cố chuyển lại gói PUBLISH, PUBREL, SUBSCRIBE UNSUBSCRIBE Giá trị sử dụng mesage mà có QoSS lớn yêu cầu ACK Khi bit DUP set, phần header thay đổi chứa Message ID Nhìn vào giá trị biết gói tin nhận trước hay không Nó không nên sử dụng để tin có duplicates hay không + QoS : Vị trí byte 1, bits 2-1 Cờ cho biết độ đảm bảo việc nhận message PUBLISH + RETAIN: Vị trí byte 1, bit Cờ sử dụng message PUBLISH Khi client gửi message PUBLISH đến server, cờ Retain set (1), server phải hiểu nên giữ message sau chuyển đến subcribers Khi có subcription thiết lập topic, message cuối topic nên gửi đến subscriber với trường Retain set header Nếu messsage còn, không cần gửi hết + Độ dài lại Vị trí: byte Miêu tả độ dài bao gồm phần header payload có message 2.2.2 Câu lệnh message Bảng 2 Các lệnh message Từ gợi nhớ Giá trị thứ tự Miêu tả Reserved Chưa dùng CONNECT Client yêu cầu kết nối đến Server CONNACK Kết nối chấp nhận PUBLISH Xuất message PUBACK Xuất message chấp nhận PUBREC Xuất nhận (đảm bảo nhận part 1) PUBREL Xuất release (đảm bảo nhận part 2) PUBCOMP Xuất hoàn thành (đảm bảo nhận part 3) SUBSCRIBE Yêu cầu subcribe từ client SUBACK Yêu cầu subcriber chấp nhận UNSUBSCRIBE 10 Yêu cầu unsubcribe UNSUBACK 11 Yêu cầu unsubcribe chấp nhận PINGREQ 12 Request PING PINGRESP 13 Response PING DISCONNECT 14 Client kết nối Reserved 15 Reserved 2.2.3 Quy trình truyền nhận liệu MQTT Trường hợp 1: Session subscription thiết lập với clean session flag = (transient subscription) Quy trình truyền nhận liệu MQTT session flag = 1: - Client Server kết nối qua giao thức TCP - Client gửi gói tin CONNECT yêu cầu kết nối đến Server, clean session = Đây thời điểm đánh dấu session thiết lập - Server gởi gói CONNACK xác nhận thiết lập kết nối thành công - Client thực SUBSCRIBE đến topic XYZ Đây thời điểm bắt đầu timeout subscription - Server gởi gói SUBACK xác nhận trình subscription - Client PUBLISH để gởi topic - message đến server - Sau nhận đủ thông tin, client gửi gói UNSUBSCRIBE topic XYZ để kết thúc trình Subscribe - Server trả gói UNSUBACK - Client gửi gói DISCONNECT để kết thúc session truyền thông Trường hợp 2: Session subscription thiết lập với clean session flag = (durable subscription) Quy trình truyền nhận liệu MQTT session flag = 0: - Subscription lifetime thiết lập trước - Client Server kết nối qua giao thức TCP - Client gửi gói tin CONNECT yêu cầu kết nối đến Server, clean session = Đây thời điểm đánh dấu session thiết lập - Server gởi gói CONNACK xác nhận thiết lập kết nối thành công - Client PUBLISH để gởi topic - message đến server ‐ Client gửi gói DISCONNECT để kết thúc session truyền thông 2.3 So sánh điểm hai chuẩn giao thức MQTT CoAP 2.3.1 Điểm giống hai giao thức MQTT CoAP hai giao thức triển vọng IoT, chúng có đặc điểm giống như: 10 - Là chuẩn mở - Phù hợp HTTP môi trường bị hạn chế - Cung cấp chế truyền tin không đồng - Chạy IP (Internet Protocol) - Có hàng loạt cách triển khai 2.3.2 Điểm khác hai giao thức MQTT CoAP hữu ích giao thức IoT, có khác biệt sau: - MQTT giao thức truyền thông N-N để truyền thông điệp nhiều khách hàng thông qua broker trung tâm Nó tách riêng người sản suất producer người tiêu thụ consumer cách cho phép client gửi tin có broker định đường chép tin MQTT có số hỗ trợ để trì tin, làm tốt nhiệm vụ bus truyền liệu trực tiếp CoAP chủ yếu giao thức 1-1 để truyền trạng thái thông tin client máy chủ Nó hỗ trợ quan sát tài nguyên, CoAP phù hợp với mô hình state transfer (***) không đơn dựa kiện - Client MQTT tạo kết nối TCP lâu dài đến broker Điều thường không dành cho thiết bị phía sau NAT Client máy chủ CoAP gửi nhận gói tin UDP Trong môi trường NAT, luồng cổng chuyển tiếp sử dụng để thông qua CoAP thiết bị lần mở kết nối đến đầu cuối LWM2M - MQTT không hỗ trợ nhãn tin với loại liệu khác để giúp client hiểu Bản tin MQTT sử dụng cho mục đích nào, tất client phải biết định dạng tin phép truyền thông CoAP ngược lại, hỗ trợ việc đàm phán nội dung khám phá cho phép thiết bị thăm dò để tìm cách trao đổi liệu 2.4 Kết luận chương Chương trình bày cho phần hình dung khái niệm mô hình giao thức MQTT, giao thức gởi dạng publish/subscribe sử dụng cho thiết bị Internet of Things với băng thông thấp, độ tin cậy cao khả sử 11 dụng mạng lưới không ổn định Do giao thức sử dụng băng thông thấp môi trường có độ trễ cao nên giao thức lý tưởng cho ứng dụng M2M Đặc điểm kỹ thuật giao thức MQTT v3.1, cấu trúc, định dạng tin, lệnh tin giao thức So sánh điểm giao thức MQTT CoAP, hai giao thức triển vọng dùng IoT MQTT có tính linh hoạt mô hình truyền thông hoạt động hoàn toàn đường ống cho liệu nhị phân, giao thức truyền thông N-N để truyền thông điệp nhiều khách hàng thông qua broker trung tâm ta sử dụng nhiều thiết bị điều khiển hệ thống đồng thời chia sẻ liệu nhận từ thiết bị cho nhiều người khác CoAP thiết kế để có khả tương tác với trang web, giao thức 1-1 để truyền trạng thái thông tin client máy chủ Nó hỗ trợ quan sát tài nguyên, CoAP phù hợp với mô hình state transfer (***) không đơn dựa kiện tính bảo mật thông tin cao giao thức MQTT khả trao đổi thông tin bị hạn chế Trong giới phát triển theo xu hướng mở giao thức MQTT hứa hẹn thông dụng ứng dụng IoT 12 CHƯƠNG 3: ỨNG DỤNG GIAO THỨC MQTT TRONG IOT CHO NGÔI NHÀ THÔNG MINH 3.1 Giới thiệu arduino IDE 3.1.1 Tổng quan arduino Arduino board mạch vi xử lý, nhằm xây dựng ứng dụng tương tác với với môi trường thuận lợi Phần cứng bao gồm board mạch nguồn mở thiết kế tảng vi xử lý AVR Atmel 8bit, ARM Atmel 32bit Những model trang bị gồm cổng giao tiếp USB, chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác Những nhà thiết kế Arduino cố gắng mang đến phương thức dễ dàng, không tốn cho người yêu thích, sinh viên giới chuyên nghiệp để tạo thiết bị có khả tương tác với môi trường thông qua cảm biến cấu chấp hành Những ví dụ phổ biến cho người yêu thích bắt đầu bao gồm robot đơn giản, điều khiển nhiệt độ phát chuyển động Đi với môi trường phát triển tích hợp (IDE) chạy máy tính cá nhân thông thường cho phép người dùng viết chương trình cho Aduino ngôn ngữ C C++ 3.1.2 Arduino IDE Môi trường phát triển tích hợp (IDE) Arduino ứng dụng crossplatform (nền tảng) viết Java, từ IDE sử dụng cho Ngôn ngữ lập trình xử lý (Processing programming language) project Wiring Nó thiết kế để dành cho người tập làm quen với lĩnh vực phát triển phần mềm Nó bao gồm chương trình code editor với chức đánh dấu cú pháp, tự động brace matching, tự động canh lề, compile(biên dịch) upload chương trình 3.2 Cài đặt Arduino IDE 3.2.1 Cài đặt chương trình Arduino IDE Truy cập vào trang web http://arduino.cc/en/Main/Software tải chương trình Arduino IDE phù hợp với hệ điều hành máy bao gồm Windown, Mac OS 13 hay Linux Đối với Windown có cài đặt (.exe) Zip, Zip cần giải nén chạy chương trình không cần cài đặt 3.2.2 Arduino IDE Arduino IDE nơi để soạn thảo code, kiểm tra lỗi upload code cho arduino Hình Giao diện Arduino IDE 3.3 Quá trình mô dùng giao thức MQTT số ứng dụng cho nhà thông minh 3.3.1 Mô tả yêu cầu thiết kế hệ thống Hệ thống ứng dụng công nghệ Internet of Things thu thập đánh giá liệu nhiệt độ, độ ẩm, hệ thống đèn nhà có yêu cầu đặt là: thu thập, đánh giá nhiệt độ, độ ẩm hệ thống đèn nhà, cho phép giám sát nhiệt độ, độ ẩm 14 đèn web, vẽ đồ thị thời gian thực thể thay đổi thông số theo thời gian web Hình Sơ đồ khối hệ thống Nguyên lý hoạt động hệ thống: Khi ta cấp nguồn cho hệ thống, khối nguồn với LM2596 có nhiệm vụ điều chỉnh đảm bảo điện áp hoạt động phù hợp để nuôi toàn hệ thống Khối cảm biến với module cảm biến DHT11 có chức thu thập nhiệt độ độ ẩm môi trường gửi liệu cho khối vi xử lý Khối vi xử lý với module ESP8266 gửi liệu lên server thông qua đường truyền Internet Server tiếp nhận liệu đồng thời hiển thị liệu web để người dùng theo dõi bắt lúc có kết nối internet 3.3.2 Lưu đồ thuật toán 15 Hình 3 Lưu đồ thuật toán chương trình 3.3.3 Phần cứng NodeMCU bo mạch khai thác khả chip esp8266 Nó kết hợp chức WIFI, vi xử lý ngôn ngữ LUA Thông số kỹ thuật NodeMCU - 32-bit RISC CPU, running at 80 MHz - Hổ trợ Flash 4MiB - 64KBytes RAM thực thi lệnh - 96KBytes RAM liệu - 64KBytes boot ROM - Chuẩn wifi EEE 802.11 b/g/n, Wi-Fi 2.4 GHz - 16 chân GPIO - ADC 10 bit - Dải nhiệt độ hoạt động: -40~125 độ 16 DHT11 sử dụng cho Khối cảm biến với thông số kỹ thuật sau: - Điện áp hoạt động 3.5V– 5.5V - Dải đo độ ẩm 20-95% - Dải đo nhiệt độ 0-50% - Sai số độ ẩm ±5% - Sai số nhiệt độ ±2% 3.3.4 Phần mềm ‐ Khởi động chương trình Arduino IDE ‐ Cài đặt thư viện ESP8266 Vào Tool→Board→Boards Manager, đợi lát để chương trình tìm kiếm Ta kéo xuống click vào ESP8266 by ESP8266 Community, click vào Install Hình Cài đặt thành công library esp8266 - Cài đặt thư viện sensor DHT11 Vào Tool→Board→Boards Manager, ta cài đặt chương trình thư viện cho sensor DHT11 ô tìm kiếm, click vào DHT sensor library, click vào Install 17 Hình Cài đặt thành công library sensor DHT11 3.3.5 Quá trình mô Thực kiểm tra trao đổi liệu publish subcribe Dùng ESP8266 (NodeMCU) làm Client để kết nối lên dịch vụ MQTT Broker CloudMQTT Gửi (publish) liệu lên broker, nhận thông tin (subcribe) từ broker, kiểm tra publish subcribe liệu ESP8266 MQTT Broker thực bật tắt LED - Tạo tài khoản cấu hình CloudMQTT - Tạo cấu hình MQTT Broker Hình Cấu hình MQTT broker - Kiểm tra chức subcribe publish bật tắt LED Trong chương trình ta thực kết nối với mạng wifi trước để có kết nối tới internet, sau thực gửi thông tin lên broker lệnh publish, sau lắng nghe 18 thông tin có Broker (ở thông tin gửi lên) in thông tin terminal Arduino thông qua hàm callback Từ giao diện Websocket UI Send message xuống, nhận message ESP8266 thực bật/tắt LED có sẵn kit ‐ Kết nối gửi liệu thành công lên broker Hình Quá trình kết nối thành công thiết bị lên webserver Hình Quá trình bật/tắt LED từ webserver truyền thiết bị Thực đo nhiệt độ độ ẩm gửi lên MQTT broker ‐ Đấu nối cảm biến DHT11 với NodeMCU hình vẽ 19 Hình Sơ đồ đấu nối cảm biến DHT11 với NodeMCU - Chân đất DHT11 nối với chân GND NodeMCU - Chân nguồn DHT11 nối với chân nguồn 5V NodeMCU - Chân tín hiệu DHT11 nối với chân D2 NodeMCU Sau chuẩn bị xong phần cứng, thực chuẩn bị mã nguồn để nạp vào NodeMCU Thiết bị kết nối lên broker, sau lấy liệu từ cảm biến DHT11, gửi liệu nhiệt độ độ ẩm lên broker - Tạo Field mô tả trường liệu nhiệt độ độ ẩm nhận từ thiết bị thinkspeak Hình 10 Tạo hai trường liệu nhiệt độ, độ ẩm thinkspeak 20 Cảm biết DHT11 thu thập liệu nhiệt độ độ ẩm thông qua NodeMCU esp8266 gửi lên broker thinkspeak hiển thị hai trường liệu Hình 11 Dữ liệu trường nhiệt độ webserver Hình 12 Dữ liệu trường độ ẩm webserver 3.4 Đánh giá kết mô Quá trình mô thực kết nối từ client lên dịch vụ MQTT Broker CloudMQTT Gửi (publish) liệu lên broker, nhận thông tin 21 (subcribe) từ broker, kiểm tra publish subcribe liệu client MQTT Broker để thực bật tắt LED Lập trình để đọc liệu sensor cảm biến nhiệt độ, độ ẩm thu nhận Sau gửi liệu lên webserver cách trực quan dễ hiểu Qua nhiều lần thử nghiệm, chương trình demo chạy ổn định, thiết kế hệ thống Ngoài chương trình demo sử dụng thiết bị có thị trường (nhiệt kế, ẩm kế, lux kế) để đo thủ công thời điểm với sensor hệ thống thu liệu Kết cho thấy, kết thiết bị đo thủ công đo tự động sensor (chương trình demo) 3.5 Kết luận chương Chương trình bày bước cài đặt Arduino IDE, cách sử dụng lệnh key chức trình biên dịch, biết cách cài đặt thư viện cần thiết cho trình thực dự án Hiểu rõ cấu trúc chức chân sensor cảm biến DHT11, kit NodeMCU ESP8266, trình đấu nối cảm biến với kit, đồng thời thực trình mô bật tắt LED từ MQTT broker, giám sát nhiệt độ, độ ẩm nhà gửi liệu lên web giúp theo dõi nhà đâu Qua ta phát triển tích hợp thêm cảm biến giúp người dùng theo dõi, giám sát bật tắt thiết bị điện cần thiết nhà lúc dù nơi đâu qua smartphone hay table có kết nối internet 22 KẾT LUẬN VÀ KIẾN NGHỊ Luận văn nghiên cứu tổng quan vấn đề công nghệ Internet of Things, xu hướng phát triển tương lai, đưa khái niệm, mô hình, kiến trúc IoT Luận văn phát triển thêm nhiều chức khác thêm tính giám sát thiết bị điện nhà điều khiển chúng theo ý muốn chủ sở hữu, thực công việc cụ thể khác cài đặt nhiệt độ, độ ẩm ngưỡng nhà… Thêm nhiều node cảm biến sản phẩm, xây dựng thành mạng cảm biến để thu thập, giám sát cảnh báo có việc vượt ngưỡng cài đặt thiết bị Bổ sung kết nối không dây khác RF, Bluetooth,… để giám sát, cảnh báo, thực thi công việc thiết bị cầm tay (ví dụ: Smartphone, tay phát RF…) Sản phẩm thu thập đánh giá nhiệt độ độ ẩm môi trường ứng dụng thực tiễn nhà thông minh, áp dụng nông nghiệp trang trại cần đảm bảo nhiệt độ, độ ẩm (trang trại chăn nuôi gà, trồng nấm, vườn ươm cây, lò ấm trứng…), ứng dụng công nghiệp để đảm bảo tính xác sản xuất Sản phẩm áp dụng giám sát, quan trắc, thời tiết môi trường… Dựa vào biến đối nhiệt độ, độ ẩm môi trường theo thời gian để có dự báo biện pháp phù hợp với khu vực cần khảo sát, thực nghiệm ... mật thông tin cao giao thức MQTT khả trao đổi thông tin bị hạn chế Trong giới phát triển theo xu hướng mở giao thức MQTT hứa hẹn thông dụng ứng dụng IoT 12 CHƯƠNG 3: ỨNG DỤNG GIAO THỨC MQTT TRONG. .. 2: Giao thức MQTT Chương 3: Ứng dụng giao thức MQTT IoT cho nhà thông minh 2 CHƯƠNG 1: TỔNG QUAN VỀ IOT VÀ ỨNG DỤNG 1.1 Giới thiệu chung IoT 1.1.1 Khái niệm IoT Internet of Things (IoT) thuật... nhiều giao thức giao tiếp thiết bị IoT như: HTTP, UpnP, CoAp, MQTT Trong giai đoạn gần giao thức MQTT lên giao thức sử dụng phổ biến dùng IoT, nhiều hãng công nghệ áp dụng hỗ trợ giao thức MQTT cho