Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
2,07 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Nguyễn Thanh Tùng NGHIÊN CỨU VÀ ỨNG DỤNG IoT TRONG HỆ THỐNG CHĂM SÓC CÂY TRỒNG Chuyên ngành: Kỹ thuật phần mềm LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Thanh Hùng HÀ NỘI – 2018 LỜI CAM ĐOAN Em – Nguyễn Thanh Tùng – cam kết luận văn công trình nghiên cứu thân em hướng dẫn TS Nguyễn Thanh Hùng Trong trình làm luận văn, em kế thừa thành tựu nhà khoa học với trân trọng biết ơn Các kết nêu luận văn trung thực, chép tồn văn cơng trình khác Hà Nội, ngày tháng năm 2018 Học viên Nguyễn Thanh Tùng MỤC LỤC LỜI CAM ĐOAN DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ DANH MỤC HÌNH DANH MỤC BẢNG MỞ ĐẦU .10 CHƯƠNG 1: TỔNG QUAN VỀ IoT 12 1.1 Định nghĩa IoT .12 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.3 1.3.1 1.3.2 1.3.3 1.3.4 Đặc tính IoT 13 Yêu cầu hệ thống IoT 13 Kiến trúc hệ thống IoT 15 Application Layer 15 Service Support and Application Support Layer 16 Network Layer 16 Device Layer 16 Các vấn đề IoT trồng trọt 18 Phần mềm & phần cứng 18 Khả tổ chức & tương tác 18 Hệ thống mạng 19 Hệ thống bảo mật 19 CHƯƠNG 2: GIẢI PHÁP THU THẬP DỮ LIỆU CẢM BIẾN 21 2.1 Lựa chọn giao thức truyền tải liệu 21 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 MQTT (Message Queue Telemetry Transport) 21 MQTT HTTP(S) 22 MQTT CoAP 24 MQTT DDS 25 MQTT XMPP 26 Ưu điểm MQTT với giao thức IoT khác 28 Mạng cảm biến không dây 29 Đĩnh nghĩa mạng cảm biến không dây 29 Kiến trúc mạng cảm biến không dây 29 Ứng dụng WSN 32 Internet of Things Gateway 34 Định nghĩa IoT Gateway 34 Tính IoT Gateway 36 Ứng dụng IoT Gateway 38 2.3.2 2.3.3 2.4 Thu thập liệu cảm biển giải pháp IoT 39 2.4.1 2.4.1.1 2.4.1.2 2.4.1.3 2.4.2 2.5 Mơ hình chăm sóc trồng 44 2.5.1 2.5.2 2.5.3 2.5.3.1 2.5.3.2 2.5.3.3 2.5.3.4 2.5.3.5 2.5.4 2.6 2.6.1 2.6.2 Đặc điểm liệu cảm biến IoT 39 Định dạng XML 40 Định dạng CSV 42 Định dạng JSON (JavaScript Object Notation) 42 Ứng dụng liệu cảm biến IoT 43 Khảo sát trồng 44 Thiết kế hệ thống 45 Cấu trúc tính nắng thiết bị 46 Raspberry Pi 46 Arduino UNO 47 Wemos D1 48 Cảm biến nhiệt độ & độ ẩm môi trường DHT11 49 Cảm biến độ ẩm đất 50 Thiết kế mạch 51 Mơ hình hoạt động hệ thống 51 Sơ đồ Use-case 51 Sơ đồ Flow-chart 52 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG & ĐÁNH GIÁ KẾT QUẢ 54 3.1 Thiết kế hệ thống 54 3.1.1 Giới thiệu chung hệ thống 54 3.1.2 Mô hình thực tế 55 3.1.3 Nguyên lý hoạt động 55 3.2 Arduino IDE 56 3.3 Firebase 57 3.4 Hiển thị liệu lên ứng dụng smartphone 58 3.5 Ứng dụng chăm sóc trồng 59 KẾT LUẬN 62 DANH MỤC THAM KHẢO 63 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết đầy đủ Từ viết tắt, thuật ngữ IoT MQTT Internet of Things Message Queuing Telemetry Transport CPV Concentrator Photovoltaics CoAP Constrained Applications Protocol ACK Acknowledgment DDS Data Distribution Service OMG Object Management Group XMPP Extensible Messaging Presence Protocol IETF Internet Task Task Force WSN Wireless Sensor Network HTTP Hyper Text Transfer Protocol SMTP Simple Mail Transfer Protocol IMAP Internet Message Access Protocol POP Post Office Protocol SDK Software Development Kit SIDF Sensor Information Data Format RFID Radio Frequency Identification JSON JavaScript Object Notation CSV Comma Separated Values Broker SSL/TLS Secure Sockets Layer /Transport Layer Security FTP File Transfer Protocol UDP User Datagram Protocol DANH MỤC HÌNH Hình 1.1 Kiến trúc hệ thống IoT [2] 15 Hình 1.2 Arduino (trái) Raspberry Pi (phải) .17 Hình 2.1 Kiến trúc MQTT 21 Hình 2.2 Kiến trúc HTTP 23 Hình 2.3 Kiến trúc CoAP 24 Hình 2.4 Kiến trúc DDS 25 Hình 2.5 Kiến trúc XMPP 27 Hình 2.6 Kiến trúc WSN .30 Hình 2.7 Các thành phần cảm biến .31 Hình 2.8 Mơ hình hoạt động IoT Gateway [13] 35 Hình 2.9 Vị trí IoT Gateway [13] .37 Hình 2.10 Sơ đồ tạo subscriber [15] .39 Hình 2.11 Sơ đồ hủy subscriber [15] 40 Hình 2.12 Thơng điệp đo luờng XML [15] 41 Hình 2.13 Hai phép đo nhiệt độ hai cảm biến nút [15] 41 Hình 2.14 Bản tin đo mức chuyển động [15] 42 Hình 2.15 Bản tin đo nhiệt độ với thông tin c ảnh báo [15] 42 Hình 2.16 Bản tin đo lường gia tốc (x, y, z, pitch, roll, yaw, tổng số) [15] 42 Hình 2.17 Raspbery Pi .47 Hình 2.18 Arduino UNO R3 47 Hình 2.19 Wemos D1 49 Hình 2.20 Cảm biến DHT11 49 Hình 2.21 Cảm biến độ ẩm đất 50 Hình 2.22 Sơ đồ Use-case 52 Hình 2.23 Sơ đồ thu thập liệu .52 Hình 2.24 Sơ đồ hoạt động ứng dụng 53 Hình 3.1 Sơ đồ hoạt động hệ thống 54 Hình 3.2 Mơ hình thực tế hệ thống 55 Hình 3.3 Giao diện Arduino IDE 56 Hình 3.4 Giao diện Firebase .57 Hình 3.5 Thu thập liệu log trồng .58 Hình 3.6 Gửi log data lên Firebase 59 Hình 3.7 Đăng nhập, đăng ký 59 Hình 3.8 Tạo nhóm, khai báo 60 Hình 3.9 Cơ sở liệu 60 Hình 3.10 Danh sách, chăm sóc, nhật ký trồng 61 DANH MỤC BẢNG Bảng 2.1 Một số tảng IoT Gateway phổ biến giới [14] 36 Bảng 2.2 Kết nối Arduino UNO R3 với cảm biến DHT11 51 Bảng 2.3 Kết nối Arduino UNO R3 với cảm biến độ ẩm đất 51 Bảng 2.4 Kết nối Wemos D1 với mạch điều khiển .51 LỜI CẢM ƠN Để hoàn thành luận văn tốt nghiệp này, em xin chân thành cảm ơn thầy hướng dẫn luận văn tốt nghiệp, TS Nguyễn Thanh Hùng, Bộ môn Công nghệ phần mềm, trường Đại học Bách Khoa Hà Nội Thầy nhiệt tình hướng dẫn, truyền đạt kiến thức cần thiết định hướng cho em suốt trình thực đề tài Em xin chân thành cảm ơn thầy cô giáo Bộ môn Công nghệ phần mềm thầy cô giáo Viện CNTT & TT; Các thầy cô, anh chị chuyên viên Viện Đào tạo Sau đại học trường Đại học Bách Khoa Hà Nội Em xin chân thành cảm ơn giúp đỡ quý báu anh Nguyễn Đức Toàn giảng viên Bộ môn Mạng Truyền thông, trường Đại học Bách Khoa Hà Nội Dù cố gắng luận văn chắn khơng tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp thầy Em xin chân thành cảm ơn! MỞ ĐẦU Những cách mạng cơng nghệ ln đóng vai trị quan trọng trình phát triển người, chúng làm sống người phát triển theo hướng ngày Nhưng song song với q trình phát triển thay đổi xuất phát từ người tự nhiên, môi trường sống diễn tác động lại sống người ô nhiễm môi trường, biến đổi khí hậu, đồng thời gia tăng dân số vấn đề lớn gây ảnh hưởng đến ngành dựa vào mơi trường, khí hậu có ngành trồng trọt Các tác nhân gây hại trực tiếp lên sản lượng, chất lượng sản phẩm thu nhập người dân Trước tình hình này, việc nghiên cứu tìm kiếm giải pháp phát triển ngành trồng trọt thích ứng với biến đổi khí hậu cấp thiết nhằm đảm bảo an ninh lương thực, nâng cao sản lượng đảm bảo chất lượng sản phẩm Do đó, việc áp dụng trồng trọt công nghệ cao sử dụng Internet of Things (IoT) vào việc đo lường, phân tích, đánh giá thông số thời tiết, môi trường xây dựng hệ thống tự động chăm sóc trồng hỗ trợ người lao động thay cách chăm sóc trồng trọt truyền thống gây hao phí sức lao động không đạt hiệu cao quan trọng cần thiết Hiện nay, khái niệm IoT trở nên quen thuộc ứng dụng nhiều lĩnh vực đời sống người, đặc biệt nước phát triển có khoa học công nghệ tiên tiến Tuy nhiên, công nghệ chưa áp dụng cách rộng rãi nước ta, điều kiện kỹ thuật, kinh tế, nhu cầu sử dụng Song hứa hẹn đích đến tiêu biểu cho nhà nghiên cứu, cho mục đích phát triển đầy tiềm Nhận thấy tiềm tầm quan trọng tương lai IoT vói ngành trồng trọt, học viên chọn đề tài “Nghiên cứu ứng dụng IoT hệ thống chăm sóc trồng” hướng dẫn TS Nguyễn Thanh Hùng để nghiên cứu xây dựng hệ thống 10 Thông số kỹ thuật: - Điện áp hoạt động: 3-5.5V DC - Ngưỡng độ ẩm: 20-90% - Ngưỡng nhiệt độ: 0-55oC - Sai số: ± 2-5oC 2.5.3.5 Cảm biến độ ẩm đất Cảm biến phát độ ẩm đất đất bình thường đầu mức thấp, đất thiếu nước đầu mức cao; module sử dụng để tưới nước tự động Độ nhạy cảm biến độ ẩm đất điều chỉnh cách điều chỉnh biến trở màu xanh board mạch Phần đầu dò cắm vào đất để phát độ ẩm, độ ầm đất đạt ngưỡng thiết lập, đầu DO chuyển trạng thái từ mức thấp lên mức cao [21] Hình 2.21 Cảm biến độ ẩm đất Thông số kỹ thuật: - Điện áp làm việc 3.3V ~ 5V - Có lỗ cố định để lắp đặt thuận tiện - PCB có kích thước nhỏ 3.2 x 1.4 cmỗ - Sử dung chip LM393 để so sánh, ổn định làm việc 50 2.5.4 Thiết kế mạch Bảng mô tả thứ tự kết nối thiết bị: Arduino UNO R3 DHT11 5V VCC D9 DATA GND GND Bảng 2.2 Kết nối Arduino UNO R3 với cảm biến DHT11 Arduino UNO R3 Cảm biến độ ẩm đất 3.3 V VCC GND GND A0 A0 Bảng 2.3 Kết nối Arduino UNO R3 với cảm biến độ ẩm đất Wemos D1 Module Relay 5V 5V DC + GND DC – D2 IN Bảng 2.4 Kết nối Wemos D1 với mạch điều khiển 2.6 Mơ hình hoạt động hệ thống 2.6.1 Sơ đồ Use-case Mơ hình hoạt động biểu diễn sơ đồ use-case, thể tương tác thành phần cấu trúc chương trình 51 Hình 2.22 Sơ đồ Use-case 2.6.2 Sơ đồ Flow-chart - Quá trình đo đạc, hiển thị liệu hệ thống Hình 2.23 Sơ đồ thu thập liệu 52 - Sơ đồ hoạt động tổng quan cho ứng dụng Hình 2.24 Sơ đồ hoạt động ứng dụng 53 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG & ĐÁNH GIÁ KẾT QUẢ 3.1 Thiết kế hệ thống 3.1.1 Giới thiệu chung hệ thống Hình 3.1 Sơ đồ hoạt động hệ thống Hệ thống xây dựng thực trình: - Thu thập liệu thông số nhiệt độ độ ẩm - Phân tích liệu hiển thị thông tin, cảnh báo smartphone - Tự động điều khiển bơm, bật đèn, kéo mái che, … có cảnh báo - Điều khiển thiết bị tay qua smartphone 54 3.1.2 Mơ hình thực tế Hình 3.2 Mơ hình thực tế hệ thống 3.1.3 Nguyên lý hoạt động Dữ liệu nhiệt độ độ ẩm mà cảm biến thu thập đưa broker Mosquitto giao thức MQTT sau truyền lên máy chủ để lưu trữ xử lý Cơ sở liệu trực truyến Firebase Firestore sử dụng để lưu trữ liệu, làm trung gian nhận thông tin điều khiển từ ứng dụng smartphone nhật ký hành vi điều khiển Các liệu hiển thị smartphone laptop có kết nối Internet 55 Để hệ thống tự động bật chế độ chăm sóc trồng, trước tiên phải thiết đặt điều kiện để giá trị mà cảm biến trả khác với giá trị thiết lập ban đầu, vi điều khiển tự động điều khiển xử lý chăm sóc bật bơm nước, bật đèn hiển thị cảnh báo smartphone cho người dùng Ngồi để tự chủ động bật, tắt chế độ chăm sóc qua smartphone, học viên xây dựng ứng dụng dựa Reactnative hai tảng iOS Android để người dùng điều khiển 3.2 Arduino IDE Arduino IDE môi trường lập trình đơn giản, dễ sử dụng với ngơn ngữ lập trình Wiring dễ hiểu dựa tảng C/C++ quen thuộc với người làm kỹ thuật Và quan trọng hơn, số lượng thư viện code viết sẵn chia sẻ cộng đồng mã nguồn mở lớn Hình ảnh sau mở giao diện Arduino IDE lên sử dụng [18] Hình 3.3 Giao diện Arduino IDE Arduino IDE phần mềm dùng để lập trình cho arduino Mơi trường lập trình Arduino IDE chạy ba tảng phổ biến Windows, Mac OS Linux Do có tính chất nguồn mở nên mơi trường lập trình hồn tồn miễn phí 56 mở rộng người dùng có kinh nghiệm Ngơn ngữ lập trình mở rộng thơng qua thư viện C++ ngơn ngữ lập trình dựa tảng ngôn ngữ C AVR nên người dùng hồn tồn nhúng thêm code viết AVR vào chương trình muốn 3.3 Firebase Firebase dịch vụ hệ thống backend Google cung cấp sẵn cho ứng dụng Mobile, với Firebase ta rút ngắn thời gian phát triển, triển khai thời gian mở rộng quy mơ ứng dụng mobile phát triển Hỗ trợ tảng Android IOS, Firebase mạnh mẽ, đa năng, bảo mật dịch vụ cần thiết để xây dưng ứng dụng với hàng triệu người sử dụng [22] Hình 3.4 Giao diện Firebase Tính Firebase: - Xây dựng ứng dụng nhanh chóng mà khơng tốn thời gian, nhân lực để quản lý hệ thống sơ sở hạ tầng phía sau: Firebase cung cấp chức phân 57 tích, sở liệu, báo cáo hoạt động báo cáo cố lỗi để dễ dàng phát triển, định hướng ứng dụng vào người sử dụng nhằm đem lại trải nghiệm tốt cho họ - Uy tín chất lượng đảm bảo từ Google: Firebase google hỗ trợ cung cấp tảng phần cứng với quy mô rộng khắp giới, tập đoàn lớn ưng dụng với triệu lượt sử dụng từ người dùng - Quản lý cấu hình trải nghiệm ứng dụng Firebase tập trung giao diện website đơn giản, ứng dụng hoạt động độc lập liên kết liệu phân tích chặt chẽ 3.4 Hiển thị liệu lên ứng dụng smartphone Hình 3.5 Thu thập liệu log trồng 58 Hình 3.6 Gửi log data lên Firebase 3.5 Ứng dụng chăm sóc trồng Hình 3.7 Đăng nhập, đăng ký 59 Hình 3.8 Tạo nhóm, khai báo Hình 3.9 Cơ sở liệu 60 Hình 3.10 Danh sách, chăm sóc, nhật ký trồng 61 KẾT LUẬN Kết đạt 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 tổng quan IoT, vai trị, lợi ích hay khó khăn thách thức IoT áp dụng vào trồng trọt - Tìm hiểu chế hoạt động giao thức sử dụng IoT phổ biến so sánh đưa giao thức MQTT giao thức có nhiều tiện ích ứng dụng phổ biến - Tìm hiểu giải pháp thu thập liệu cảm biến IoT IoT Gateway, cầu nối quan trọng mơ hình kiến trúc IoT - Xây dựng ứng dụng thử nghiệm thu thập liệu, lưu trữ, phân tích liệu điều khiển hệ thống chăm sóc trồng từ điện thoại di động Hướng phát triển - Ứng dụng công nghệ vào thực tế diện rộng để tối ưu hóa hệ thống - Ứng dụng Machine learning việc học liệu cảm biến, ảnh chụp theo dõi để hệ thống tự động đưa định xác việc chăm sóc trồng 62 DANH MỤC THAM KHẢO [1] https://en.wikipedia.org/wiki/Internet_of_things [2] Paul Fremantle, A Reference Architecture for The Internet of Things, Oct 2015 [3] https://en.wikipedia.org/wiki/MQTT [4] M Belshe, R Peon, M Thomson, Hypertext Transfer Protocol Version (HTTP/2), IETF RFC 7540, 2015 [5] Tetsuya Yokotani, Comparison with HTTP and MQTT on Required Network Resources for IoT, ICCEREC, 2016 [6] https://en.wikipedia.org/wiki/Constrained_Application_Protocol [7] Niccolò De Caro, Walter Colitti, Kris Steenhaut, Comparison of two lightweight protocols for smartphone-based sensing, IEEE, 2013 [8] http://www.prismtech.com/vortex/technologies/dds-and- mqtt [9] https://en.wikipedia.org/wiki/XMPP [10] H Wang, D Xiong, P Wang, and Y Liu, A Lightweight XMPP Publish/Subscribe Scheme for ResourceConstrained IoT Devices, IEEE, 2017 [11] Jun Zheng and Abbas Jamalipour (2009), Wireless sensor networks a Networking Perspective, A John wiley & Sons, inc., publication [12] National Instruments (Aug 24, 2016) What Is a Wireless Sensor Network? http://www.ni.com/white-paper/7142/en/ [13] John Treadway Using an IoT gateway to connect the "Things" to the cloud, http://internetofthingsagenda.techtarget.com/feature/Using-an-IoT-gateway-to-connect-theThings-to-the-cloud [14] Henryk Konsek, (Aug 18, 15) The Architecture of IoT Gateways, https://dzone.com/articles/iot- gateways-and-architecture 63 [15] Jukka Suhonen, Olli Kivela, (2012, September) Sensor Information Data Format, http://www.tkt.cs.tut.fi/research/gwg/openapi/sidf.html [16] Introducing JSON, http://www.json.org/ [17] https://www.raspberrypi.org/ [18] Michael Margolis, Arduino Cookbook, December 2011 [19] https://wiki.wemos.cc/products:d1:d1_mini [20] http://www.circuitbasics.com/how-to-set-up-the-dht11-humidity-sensor-on-an-arduino/ [21] https://electronicsforu.com/resources/electronics-components/humidity-sensor- basic-usage-parameter [22] https://firebase.google.com/ [23] Peter Waher, Pradeeka Senevirantne, Brian Russellm, Drew Van Duren, IoT: Buiding Arduino-Based Projects, August 2016 [24] Ian F Akyildiz, A Survey on Sensor Networks, IEEE Communications Magazine, August 2002 [25] Antonis Tzounis, Internet of Things in agriculture, recent advances and future challenges, December 2017, Biosystems Engineering 164, December 2017 64 ... công nghệ IoT nhân tố quan trọng hệ thống IoT Gateway Cuối khảo sát mơ hình, hệ thống chăm sóc trồng giới thiệu công cụ sử dụng cho hệ thống Chương 3: Triển khai hệ thống đánh giá kết Trên sở nghiên. .. độ chăm sóc trồng qua giao diện smartphone - Hệ thống tự động bật chế độ chăm sóc có cảnh báo - Hệ thống tự động dừng chế độ chăm sóc trồng khơng cịn bị cảnh báo 45 Thiết bị sử dụng cho hệ thống: ... chức thể sống 2.5 Mô hình chăm sóc trồng 2.5.1 Khảo sát trồng Để ứng dụng IoT vào việc xây dựng hệ thống chăm sóc trồng, trước tiên phải khảo sát yêu cầu sinh thái trồng thực tế khu vực triển