Khóa luận Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KIÊN GIANG KHOA THÔNG TIN & TRUYỀN THÔNG KHÓA LUẬN TỐT NGHIỆP NGÀNH : CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN - CÔNG NGHỆ CAO ĐỀ TÀI XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TẠI CÁC NHÀ MÁY XỬ LÝ RÁC Sinh viên : Giang Thành Đạt MSSV : 1703206118 Kiên Giang, 12/2020 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KIÊN GIANG KHOA THÔNG TIN & TRUYỀN THÔNG KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH

pdf86 trang | Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 287 | Lượt tải: 0download
Tóm tắt tài liệu Khóa luận Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CÔNG NGHỆ THÔNG TIN ĐỀ TÀI XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TẠI CÁC NHÀ MÁY XỬ LÝ RÁC Người hướng dẫn Sinh viên thực hiện Ths. Đỗ Trung Kiên Giang Thành Đạt MSSV : 1703206118 Kiên Giang, 12/2020 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác LỜI CẢM ƠN Luận văn tốt nghiệp này là cột mốc đánh dấu kết thúc quá trình học tập và rèn luyện của em tại Khoa TT&TT - Trường ĐHKG, là ngưỡng cửa để em bước từ môi trường học tập ra đời sống thực tế. Để có được thành quả học tập như ngày hôm nay, không chỉ có sự vất vả nuôi dưỡng và chăm sóc của cha - mẹ, mà còn có sự đóng góp rất nhiều từ những thầy cô đã dìu dắt em từ thuở mới cắp sách đến trường cho đến khi là sinh viên đại học. Đầu tiên, con xin cảm ơn cha mẹ đã vất vả nuôi dưỡng, dạy dỗ con nên người và đặc biệt là tạo điều kiện tốt nhất để cho con có thể được đến trường, được nâng cao kiến thức và giờ đây được ngồi làm đề tài khóa luận này. Với tất cả lòng kính trọng, em xin gửi lời cảm ơn đến các thầy cô Khoa Thông tin và Truyền thông trường Đại học Kiên Giang đã thắp đầy ngọn lửa và truyền đạt những kiến thức quý báu để em có thể hoàn thành được luận văn này. Em xin chân thành cám ơn thầy Ths.Đỗ Trung Kiên, thầy đã trực tiếp hướng dẫn và góp ý tận tình trong suốt thời gian thực hiện đề tài để em có thể hoàn thành tốt khoá luận này. Cuối cùng em xin cảm ơn sự chăm sóc của gia đình, sự động viên, giúp đỡ của bạn bè đã tạo điều kiện giúp em hoàn thành tốt khoá luận này. Dù đã rất cố gắng nỗ lực để hoàn thành, song những sai sót là điều khó thể tránh khỏi. Vì vậy, rất mong nhận được sự góp ý quý báu của thầy cô và các bạn để đề tài luận văn được hoàn thiện hơn nữa. Em xin chân thành cảm ơn! Kiên Giang, Ngày 07 tháng 12 năm 2020. Sinh viên thực hiện Giang Thành Đạt GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang ii Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác LỜI CAM ĐOAN Tôi cam đoan rằng khoá luận này là công trình nghiên cứu của giáo viên hướng dẫn và bản thân. Các thông tin về số liệu, hình ảnh, kết quả đã được trình bày trong khoá luận này là trung thực và chưa từng được công bố trong bất kì khoá luận nào trước đây. Kiên Giang, Ngày 07 tháng 12 năm 2020. Sinh viên thực hiện Giang Thành Đạt GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang iii Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Kiên Giang, ngày 07 tháng 12 năm 2020 Giáo viên hướng dẫn Ths.Đỗ Trung Kiên GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang iv Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Kiên Giang, ngày tháng năm 2020 Giáo viên phản biện (Ký và ghi rõ họ tên) GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang v Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Kiên Giang, ngày tháng năm 2020 Giáo viên phản biện (Ký và ghi rõ họ tên) GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang vi Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐẠI HỌC KIÊN GIANG Độc lập – Tự do – Hạnh phúc PHIẾU ĐÁNH GIÁ ĐỀ TÀI TỐT NGHIỆP Họ và tên người đánh giá: ..................................................................................................... Trách nhiệm trong hội đồng: ................................................................................................ Họ và tên sinh viên: .................................................. MSSV: ............................................... Tên đề tài: ............................................................................................................................. ............................................................................................................................................... Ý KIẾN NHẬN XÉT 1. Đánh giá về chất lượng đề tài tốt nghiệp: 2. Đánh giá về trình độ, kiến thức của sinh viên (trình bày và trả lời câu hỏi trước hội đồng) 3. Điểm số (theo thang điểm 10; số lẻ 0,5): . 4. Ý kiến đề nghị: Ngày tháng năm 2020. Người đánh giá GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang vii Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác MỤC LỤC LỜI CẢM ƠN ................................................................................................................... II LỜI CAM ĐOAN ........................................................................................................... III NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ............................................................ IV PHIẾU ĐÁNH GIÁ ĐỀ TÀI TỐT NGHIỆP .............................................................. VII Ý KIẾN NHẬN XÉT ..................................................................................................... VII DANH MỤC BẢNG ........................................................................................................ XI DANH MỤC HÌNH ....................................................................................................... XII DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................. XIV CHƯƠNG 1: GIỚI THIỆU .............................................................................................. 1 1.1 MÔ TẢ BÀI TOÁN ..................................................................................................... 1 1.2 MỤC TIÊU CỦA ĐỀ TÀI .......................................................................................... 2 1.2.1 MỤC TIÊU TỔNG QUÁT ...................................................................................... 2 1.2.2 MỤC TIÊU CỤ THỂ ............................................................................................... 2 1.3 ĐỐI TƯỢNG & PHẠM VI NGIÊN CỨU ................................................................ 2 1.3.1 ĐỐI TƯỢNG NGHIÊN CỨU ................................................................................. 2 1.3.2 PHẠM VI NGHIÊN CỨU ...................................................................................... 2 1.4 NỘI DUNG NGHIÊN CỨU ........................................................................................ 2 1.5 MÔI TRƯỜNG VẬN HÀNH ..................................................................................... 3 1.5.1 PHẦN CỨNG .......................................................................................................... 3 1.5.2 PHẦN MỀM ............................................................................................................ 3 1.6 HƯỚNG GIẢI QUYẾT VÀ KẾ HOẠCH THỰC HIỆN ........................................ 3 1.6.1 HƯỚNG GIẢI QUYẾT ........................................................................................... 3 1.6.2 KẾ HOẠCH THỰC HIỆN ...................................................................................... 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ................................................................................. 4 2.1 GIỚI THIỆU VỀ CÔNG NGHỆ INTERNET OF THINGS .................................. 4 2.1.1 INTERNET OF THINGS (IOT) LÀ GÌ? ................................................................. 4 2.1.2 HỆ THỐNG INTERNET OF THINGS (IOT SYSTEM) ........................................ 5 2.1.1.1 ĐẶC ĐIỂM CHUNG CỦA IOT ........................................................................ 6 2.1.1.2 NHỮNG LỢI ÍCH MANG LẠI ......................................................................... 7 2.1.1.3 NHỮNG THÁCH THỨC GẶP PHẢI ............................................................... 8 2.2 DỊCH VỤ, NỀN TẢNG SỬ DỤNG TRONG ĐỀ TÀI ............................................. 9 2.2.1 ESP32 ...................................................................................................................... 9 2.2.1.1 GIỚI THIỆU ..................................................................................................... 9 GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang viii Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác 2.2.1.2 THÔNG SỐ CƠ BẢN ...................................................................................... 11 2.2.1.3 VI ĐIỀU KHIỂN ............................................................................................. 11 2.2.1.4 NĂNG LƯỢNG ............................................................................................... 12 2.2.1.5 TÍNH NĂNG WI-FI ......................................................................................... 12 2.2.2 SƠ LƯỢC CÁC THIẾT BỊ CẢM BIẾN ............................................................... 13 2.2.2.1 CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT-11 ...................................................... 13 2.2.2.2 CẢM BIẾN KHÔNG KHÍ MQ-2..................................................................... 14 2.2.2.3 CẢM BIẾN CHẤT LƯỢNG KHÔNG KHÍ MQ-135 ...................................... 15 2.2.3 NGÔN NGỮ LẬP TRÌNH PHP. ........................................................................... 16 2.2.3.1 GIỚI THIỆU ................................................................................................... 16 2.2.3.2 MÔ HÌNH MVC .............................................................................................. 17 2.2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ......................................................................... 19 2.2.4.1 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ..................................... 19 2.2.4.2 VAI TRÒ CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU TRONG LẬP TRÌNH ....... 19 2.2.4.3 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL ..................................................... 19 2.2.4.4 PHPMYADMIN .............................................................................................. 20 2.2.5 HTML ................................................................................................................... 21 2.2.5.1 GIỚI THIỆU CHUNG .................................................................................... 21 2.2.5.2 LỊCH SỬ PHÁT TRIỂN .................................................................................. 21 2.2.5.3 CẤU TRÚC ..................................................................................................... 22 2.2.6 CSS ........................................................................................................................ 22 2.2.6.1 GIỚI THIỆU CHUNG .................................................................................... 22 2.2.6.2 PHÂN LOẠI .................................................................................................... 23 2.2.6.3 TÁC DỤNG ..................................................................................................... 23 2.2.6.4 SỬ DỤNG. ...................................................................................................... 23 2.2.7 JAVASCRIPT ....................................................................................................... 23 2.2.7.1 GIỚI THIỆU CHUNG .................................................................................... 23 2.2.7.2 KHẢ NĂNG CỦA JAVASCRIPT. ................................................................... 24 2.2.7.2 CÁC THÀNH PHẦN CÚ PHÁP CHÍNH. ....................................................... 24 2.2.8 ANGULARJS ....................................................................................................... 28 2.2.8.1 GIỚI THIỆU CHUNG. ................................................................................... 28 2.2.8.2 CÁC TÍNH NĂNG CƠ BẢN ............................................................................ 28 2.2.8.3 CÁC COMPONENT CHÍNH .......................................................................... 29 2.2.8.4 ƯU VÀ NHƯỢC ĐIỂM CỦA ANGULARJS................................................... 29 2.2.9 GIAO THỨC MẠNG HTTP ................................................................................. 30 2.2.9.1 CÁC ĐẶC TRƯNG CƠ BẢN CỦA HTTP ...................................................... 30 2.2.9.2 CẤU TRÚC CƠ BẢN ...................................................................................... 31 2.2.9.3 CLIENT ........................................................................................................... 31 2.2.9.4 SERVER .......................................................................................................... 32 CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG ................................................. 33 3.1 GIỚI THIỆU TỔNG QUAN .................................................................................... 33 3.2 THIẾT KẾ HỆ THỐNG – PHẦN CỨNG............................................................... 34 GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang ix Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác 3.2.1 THI CÔNG VÀ LẮP ĐẶT .................................................................................... 34 3.2.2 LẬP TRÌNH PHẦN CỨNG .................................................................................. 36 3.2.2.1 ARDUINO IDE ............................................................................................... 36 3.2.2.2 CẤU HÌNH ...................................................................................................... 37 3.2.2.3 LẬP TRÌNH ..................................................................................................... 38 3.3 THIẾT KẾ HỆ THỐNG – PHẦN MỀM ................................................................ 40 3.3.1 CƠ SỞ DỮ LIỆU ................................................................................................... 40 3.3.2 PHÂN TÍCH CƠ SỞ DỮ LIỆU ............................................................................. 41 3.3.3 LẬP TRÌNH PHẦN MỀM .................................................................................... 48 3.3.3.1 CÀI ĐẶT CHỨC NĂNG VÀ GIAO DIỆN ....................................................... 48 CHƯƠNG 4: KẾT LUẬN ............................................................................................... 69 4.1 KẾT QUẢ ĐẠT ĐƯỢC ............................................................................................ 69 4.2 HẠN CHẾ ................................................................................................................... 69 4.3 HƯỚNG PHÁT TRIỂN ............................................................................................ 70 TÀI LIỆU THAM KHẢO ............................................................................................... 71 GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang x Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác DANH MỤC BẢNG Bảng 2.1. Thông số kỹ thuật ESP32 Dev Kit .................................................................... 11 Bảng 2.2. Thông số kỹ thuật của cảm biến nhiệt độ, độ ẩm DHT-11 ............................... 14 Bảng 2.3. Giao tiếp DHT-11 với ESP32 ........................................................................... 14 Bảng 2.4. Thông số kỹ thuật MQ-2 ................................................................................... 15 Bảng 2.5. Giao tiếp MQ-2 với ESP32 ............................................................................... 15 Bảng 2.6. Thông số kỹ thuật của MQ-135 ........................................................................ 16 Bảng 2.7. Giao tiếp MQ-135 với ESP32 ........................................................................... 16 Bảng 3.1. Thông số kỹ thuật của nguồn adapter 5V-3A 0530 .......................................... 35 Bảng 3.2. Mô tả giao tiếp phần cứng ................................................................................. 35 Bảng 3.3. Bảng ví dụ minh họa cảm biến tại một trạm ..................................................... 40 Bảng 3.4. Bảng taikhoan ................................................................................................... 42 Bảng 3.5. Dữ liệu mẫu cho bảng taikhoan ........................................................................ 42 Bảng 3.6. Bảng tramquantrac ............................................................................................ 43 Bảng 3.7. Dữ liệu mẫu bảng tramquantrac ........................................................................ 43 Bảng 3.8. Bảng donvido .................................................................................................... 43 Bảng 3.9. Dữ liệu mẫu cho bảng donvido ......................................................................... 44 Bảng 3.10. Bảng cambien .................................................................................................. 44 Bảng 3.11. Dữ liệu mẫu cho bảng cảm biến ...................................................................... 45 Bảng 3.12. Bảng giatri ....................................................................................................... 45 Bảng 3.13. Dữ liệu mẫu cho bảng cambien ....................................................................... 45 Bảng 3.14. Bảng vaitro ...................................................................................................... 46 Bảng 3.15. Dữ liệu mẫu cho bảng vaitro ........................................................................... 46 Bảng 3.16. Bảng chucnang ................................................................................................ 46 Bảng 3.17. Dữ liệu mẫu cho bảng chucnang ..................................................................... 47 Bảng 3.18. Bảng quan hệ vai trò với chức năng ................................................................ 47 Bảng 3.19. Dữ liệu mẫu phân công vai trò và chức năng ................................................. 48 GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang xi Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác DANH MỤC HÌNH Hình 1.1. Nhà máy xử lý rác thải ........................................................................................ 1 Hình 2.1. Internet of things .................................................................................................. 4 Hình 2.2. Thống kê các danh mục đã cài đặt các thiết bị IOT từ 2016 – 2020 ................... 5 Hình 2.3. Những đặc điểm chung của IoT .......................................................................... 6 Hình 2.4. Hình ảnh thực tế ESP32-Dev Kit ...................................................................... 10 Hình 2.5. Sơ đồ chân của ESP32 DEVKIT V1 ................................................................. 11 Hình 2.6. Vi điều khiển ESP32 WROOM 32 .................................................................... 12 Hình 2.7. Cảm biến DHT-11 ............................................................................................. 13 Hình 2.8. Cảm biến MQ-2 ................................................................................................. 14 Hình 2.9. Cảm biến MQ-135 ............................................................................................. 15 Hình 2.10. Sơ đồ hoạt động của PHP ................................................................................ 17 Hình 2.11. Sơ lược tổng quát về mô hình MVC ............................................................... 18 Hình 2.12. Giao diện cơ bản của Hệ quản trị cơ sở dữ liệu phpMyAdmin ....................... 21 Hình 2.13. Tất cả các tính năng của AngularJs(‘viblo.asia’) ............................................ 29 Hình 3.1. Sơ đồ khối của toàn hệ thống ............................................................................ 33 Hình 3.2. Sơ đồ nguyên lý của phần cứng hệ thống .......................................................... 34 Hình 3.3. Nguồn adapter 5V – 3A 0530 ............................................................................ 35 Hình 3.4. Mạch - phần cứng (1) ........................................................................................ 36 Hình 3.5. Mạch - phần cứng (2) ........................................................................................ 36 Hình 3.6. Thêm file thông tin board ESP32. ..................................................................... 37 Hình 3.7. Cài đặt board ESP32 .......................................................................................... 38 Hình 3.8. Lưu đồ thuật toán phần cứng ............................................................................. 38 Hình 3.9.Mô hình quan niệm cơ sở dữ liệu của hệ thống phần mềm................................ 41 Hình 3.10. Lưu đồ thuật toán chức năng đăng nhập ......................................................... 48 Hình 3.11. Lưu đồ thuật toán chức năng đăng xuất .......................................................... 49 Hình 3.12. Giao diện chức năng đăng nhập ...................................................................... 49 Hình 3.13. Giao diện chức năng đăng xuất ....................................................................... 49 Hình 3.14. Lưu đồ thuật toán chức năng đăng kí .............................................................. 50 Hình 3.15. Giao diện chức năng đăng kí ........................................................................... 51 Hình 3.16. Điều hướng qua chức năng xem tổng quan ..................................................... 52 Hình 3.17. Giao diện đầu trang Tổng Quan ...................................................................... 52 Hình 3.18. Giao diện giữa trang Tổng Quan ..................................................................... 53 Hình 3.19. Các bảng thống kê số liệu của một trạm theo ngày ......................................... 53 Hình 3.20. Giao diện thống kê chi tiết giá trị cảm biến trong một ngày ........................... 54 Hình 3.21. Giao diện cửa sổ hẹn giờ gửi mail tổng hợp ................................................... 54 Hình 3.22 Sử dụng PHPMailer để thực hiện chức năng gửi mail trích xuất ..................... 55 Hình 3.23. Test chức năng gửi mail tổng hợp của hệ thống(1) ......................................... 55 Hình 3.24. Tập tin tổng hợp đính kèm .............................................................................. 56 Hình 3.25. Kiểm tra chức năng xuất File Excel(1) ............................................................ 56 Hình 3.26. Kiểm tra chức năng xuất File Excel(2) ............................................................ 57 Hình 3.27. Điều hướng đến trang quản lý trạm quan trắc ................................................. 57 GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang xii Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Hình 3.28. Giao diện trang quản lý trạm quan trắc ........................................................... 58 Hình 3.29. Cửa sổ giao diện chi tiết trạm và biểu diễn dữ liệu theo thời gian thực .......... 59 Hình 3.30. Chỉ có quản trị viên mới có quyền phân công người quản lý ......................... 60 Hình 3.31. Hay lắp đặt thêm một trạm quan trắc mới ....................................................... 60 Hình 3.32. Cửa sổ chức năng bổ sung cảm biến ............................................................... 61 Hình 3.33. Cửa sổ xem chi tiết và chỉnh sửa cảm biến ..................................................... 61 Hình 3.34. Cửa sổ chỉnh sửa thông tin đơn vị ................................................................... 62 Hình 3.35. Bổ sung thêm đơn vị mới nếu cần ................................................................... 62 Hình 3.36. Điều hướng đến trang xem thông tin cá nhân ................................................. 63 Hình 3.37. Giao diện chỉnh sửa thông tin cá nhân ............................................................ 63 Hình 3.38. Giao diện xem và chỉnh sửa địa chỉ cá nhân ................................................... 63 Hình 3.39. Giao diện xem danh sách trạm quản lý ........................................................... 64 Hình 3.40. Điều hướng đến trang quản lý nhân sự ............................................................ 64 Hình 3.41. Giao diện chính của trang quản lý nhân sự ..................................................... 65 Hình 3.42. Giao diện xem và chỉnh sửa thông tin nhân viên ............................................ 65 Hình 3.43. Điều hướng đến trang phân quyền .................................................................. 66 Hình 3.44. Giao diện chính của trang phân quyền và cài đặt ............................................ 66 Hình 3.45. Cửa sổ phân công chức năng cho từng vai trò ................................................ 67 Hình 3.46. Thêm vai trò mới ............................................................................................. 67 Hình 3.47. Thêm chức năng mới nếu cần thiết ................................................................. 68 GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang xiii Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác DANH MỤC CÁC TỪ VIẾT TẮT VIẾT TẮT CỤM TỪ IoT Internet of Things Wifi Wireless Fidelity LAN Local Area Network LED Light Emitting Diode AI Artifical Intelligence MAC Medicum Access Control RF Radio Frequency IDE Integrated Development Enviroment CPU Central Processing Unit SDK Software Development Kit SSID Service Set Identifier IP Internet Protocol DHCP Dynamic Host Configuration Protocol HTTP Hypertext Transfer Protocol TCP Transmission Control Protocol API Application Programming Interface MQTT Message Queuing Telemetry Transport GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang xiv Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác CHƯƠNG 1: GIỚI THIỆU 1.1 MÔ TẢ BÀI TOÁN Có thể nói Việt Nam là một quốc gia đông dân, ước tính hiện nay dân số Việt Nam đã lên đến hơn 95 triệu người, cùng với quá trình gia tăng nhanh chóng về dân số là việc phát triển mạnh mẽ của đô thị hóa, điều này làm nảy sinh những nguy cơ gây tổn hại đến môi trường sống, kèm theo đó là những nỗi lo về biến đổi rất thất thường của môi trường, các vấn đề ô nhiễm, sự nóng lên của Trái Đất. Lượng rác thải tại các đô thị theo đó sẽ tăng nhanh không thế kiểm soát, đây cũng là một vấn đề khiến các nhà chức trách phải đau đầu. Trước tình hình này, đòi hỏi chúng ta cần phải theo dõi sát sao về các biến đổi môi trường ở các nhà máy chứa và xử lý rác thải để nắm bắt tình trạng và có các biện pháp ứng phó kịp thời. Khảo sát tình hình thực tế cho thấy, việc thu thập và lưu trữ dữ liệu về môi trường ở một khu xử lý rác thải như Carbon monoxide (CO),Sulfur dioxide (SO2),Nitrogen dioxide (NO2), nhiệt độ, được ghi chép và lưu trữ bằng phương pháp thủ công. Do vậy công tác phân tích, đánh giá năng xuất, đưa ra giải pháp tăng năng xuất dựa trên những dữ liệu đó sẽ có nhiều khó khăn, hạn chế. Hình 1.1. Nhà máy xử lý rác thải Xuất phát từ những vấn đề nêu trên, đề tài “Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác” sẽ giải quyết bài toán này bằng giải pháp cung cấp một hệ thống giám sát thời gian thực chạy trên nền tảng Website. Nhờ vậy, đề tài nghiên cứu giúp cho người quản lý các nhà máy xử lý rác thải sẽ làm việc dễ dàng và nhanh chống dự đoán được những biến đổi của chất lượng không khí, từ đó tiết kiệm được thời gian và công sức đo đạt, kiểm tra, lấy mẩu và phân tích. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 1 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác 1.2 MỤC TIÊU CỦA ĐỀ TÀI 1.2.1 Mục tiêu tổng quát Ứng dụng công nghệ IoT vào giám sát môi trường công nghệ cao, giúp đảm bảo sức khỏe con người trong thời đại công nghiệp, góp phần xây dựng một quốc gia xanh, sạch và nói không với ô nhiễm môi trường. 1.2.2 Mục tiêu cụ thể Nghiên cứu và lắp đặt một mạch điện tử với vai trò là một trạm xử lý rác thải có nhiệm vụ là thu thập một cách liên tục các thay đổi của các thông số môi trường xung quanh như nhiệt độ, độ ẩm, chất lượng không khí, đồng thời truyền các dữ liệu thu thập được về một hệ thống trung tâm xử lý. Xây dựng một hệ thống website đóng vai trò là một trung tâm đón nhận dữ liệu từ các trạm xử lý rác thải. Nhiệm vụ của hệ thống này là biểu diễn, phân tích, giám sát và báo cáo một lượng dữ liệu tương đối lớn nhận được từ các trạm xử lý rác thải theo thời gian thực. 1.3 ĐỐI TƯỢNG & PHẠM VI NGIÊN CỨU 1.3.1 Đối tượng nghiên cứu • Module ESP32-Dev kit. • Các thiết bị cảm biến. • Ngôn ngữ lập trình Arduino IDE cho Arduino. • Cấu hình và lập trình WebServer , PHP, MySQL. 1.3.2 Phạm vi nghiên cứu • Giao tiếp giữa ESP32 và các thiết bị cảm biến. • Đ...erl,... (“MySQL - Wikipedia,” n.d.) 2.2.4.4 PhpMyAdmin phpMyAdmin là một ứng dụng web mã nguồn mở được viết bằng ngôn ngữ PHP dùng để quản trị cơ sở dữ liệu MySQL và MariaDB. phpMyAdmin có thể dễ dàng truy cập thông qua trình duyệt web với giao diện trực quan, dễ sử dụng. phpMyAdmin là một trong những công cụ quản trị cơ sở dữ liệu phỗ biến nhất và được yêu thích nhất do sự tiện lợi và đa năng của nó. Phiên bản đầu tiên của phpMyAdmin được phát hành vào năm 1998, cho đến nay đã được nâng cấp rất nhiều để bổ sung tính năng cũng như tăng cường bảo mật. Trang chủ của phpMyAdmin là: https://www.phpmyadmin.net phpMyAdmin có thể thực hiện nhiều tác vụ như tạo, chỉnh sửa hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hoặc bản ghi; nhập xuất cơ sở dữ liệu và quản lý, cấp quyền những người dùng tương tác với cơ sở dữ liệu. Ngoài việc thao tác dễ dàng với các lệnh có sẵn, GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 20 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác phpMyAdmin cũng cho phép người dùng thực thi, truy vấn thông qua câu lệnh SQL nếu cần. • Ưu điểm: - Dễ dàng truy cập và sử dụng. - Hoàn toàn miễn phí. - Đa dạng ngôn ngữ • Nhược điểm: - Tính bảo mật chưa cao. - Một số thao tác còn hạn chế. Hình 2.12. Giao diện cơ bản của Hệ quản trị cơ sở dữ liệu phpMyAdmin 2.2.5 HTML 2.2.5.1 Giới thiệu chung HTML: HyperText Markup Language – Ngôn ngữ đánh dấu siêu văn bản. Do Tim Berne r Lee phát minh và được W3C (World Wide Web Consortium) đưa thành chuẩn năm 1994. HTML sử dụng các thẻ (tags) để định dạng dữ liệu và không phân biệt chữ hoa, chữ thường. Các trình duyệt thường không báo lỗi cú pháp HTML. Nếu viết sai cú pháp chỉ dẫn đến kết quả hiển thị không đúng với dự định. 2.2.5.2 Lịch sử phát triển • Năm 1989: HTML ra đời bởi Tim Berners-Lee dựa trên cơ sở của ngôn ngữ SGML (Standard Generalized Markup Language) • Năm 1990: HTML 1.0 được đưa vào sử dụng, GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 21 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác • Năm 1994: HTML 2.0, • Năm 1996: HTML 3.2, • Năm 1999: HTML 4.01 (chuẩn phổ biến) • Năm 2000: XHTML 1.0 (chuẩn phổ biến) • Năm 2001: XHTML 1.1, • Năm 2002: XHTML 2.0, • Năm 200F8: HTML 5 ra đời với nhiều tính năng nổi bật. 2.2.5.3 Cấu trúc File HTML bao giờ cũng bắt đầu bằng thẻ và kết thúc bằng thẻ . Cặp thẻ này báo cho trình duyệt Web biết rằng nó đang đọc một file có chứa các mã HTML, còn thẻ có tác dụng như kết thúc file HTML. Bên trong cặp thẻ ... là các cặp thẻ ... và ... là phần thân, tại đây bạn có thể nhập vào các đoạn văn bản cùng các thẻ khác quy định về định dạng của trang. Ngoài ra để ghi chú thích, tiện cho việc xem tag HTML hoặc cập nhật một trang Web, ta cần đặt chú thích vào giữa . Ví dụ 1: 2.2.6 CSS 2.2.6.1 Giới thiệu chung GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 22 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác CSS (Cascading Style Sheet) là mẫu quy định cách thức thể hiện các thẻ HTML. CSS được đưa vào HTML 4.0 để giải quyết một số vấn đề về cách thức hiển thị và định dạng dữ liệu. Giúp tiết kiệm được rất nhiều thời gian và công sức cho việc thiết kế web. Ta có thể định nghĩa nhiều style vào một thẻ HTML (Cascading). 2.2.6.2 Phân loại Có 4 loại: • Inline Style (Được quy định trong 1 thẻ HTML cụ thể), • Internal Style (Được quy định trong thẻ của trang HTML), • External Style Được quy định trong file .CSS ngoài. • Browser Default (Thiết lập mặc định của trình duyệt). 2.2.6.3 Tác dụng Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các thẻ quy định kiểu dáng (chữ đậm, chữ in nghiêng, chữ có gạch chân, chữ màu), khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung. Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh phải lặp lại việc định dạng cho các trang Web giống nhau. 2.2.6.4 Sử dụng Có ba cách sử dụng CSS • Inline CSS: Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính style • Internal CSS: Đặt CSS ở đầu trang Web để áp dụng kiểu dáng cho toàn bộ trang ấy, khi đó chỉ cần đặt đoạn CSS vào trong cặp thẻ rồi đặt vào trong phần header của Web (giữa và ) • External CSS: Đặt các thuộc tính CSS vào một tệp tin riêng biệt (*.css), khi đó có thể tham chiếu đến từ nhiều trang Web khác nhau 2.2.7 Javascript 2.2.7.1 Giới thiệu chung GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 23 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Javascript là ngôn ngữ kịch bản dùng để tạo các client-side scripts và server-side scripts, làm cho việc tạo các trang Web động và tương tác dễ dàng hơn. Các ứng dụng client chạy trên một trình duyệt như Netscape Navigator hoặc Internet Explorer. Java và JavaScript là hai ngôn ngữ hoàn toàn khác nhau: Java là ngôn ngữ lập trình hướng đối tượng được phát triển bởi hãng Sun Microsysttôis; JavaScript là ngôn ngữ kịch bản WEB được phát triển bởi Netscape. 2.2.7.2 Khả năng của Javascript JavaScript có thể tăng cường tính động và tính tương tác của các trang web. Cung cấp sự tương tác người dùng; Thay đổi nội dung động; Xác nhận tính hợp lệ của dữ liệu. 2.2.7.2 Các thành phần cú pháp chính • Khoảng trắng: Dấu cách, tab và ký tự dòng mới sử dụng bên ngoài một chuỗi ký tự được gọi là khoảng trắng. Khác với C, khoảng trắng trong JavaScript có thể ảnh hưởng trực tiếp tới ý nghĩa của câu lệnh. Sử dụng phương pháp "tự động thêm dấu chấm phẩy ", bất cứ một dòng JavaScript nào thích hợp sẽ được coi là một câu lệnh hợp lệ (giống như có dấu chấm phẩy trước ký tự dòng mới). Tuy trong phần lớn trường hợp, dấu chấm phẩy trước khi kết thúc một dòng JavaScript là không cần thiết để đoạn mã nguồn hoạt động chính xác, lập trình viên nên sử dụng dấu chấm phẩy sau mỗi câu lệnh để đoạn mã nguồn dễ nhìn hơn. Ngoài ra, do đặc thù của JavaScript - chuyên dùng trên trang web, kích cỡ của đoạn mã nguồn là quan trọng, có một số phần mềm có thể làm giảm kích cỡ của đoạn mã nguồn JavaScript bằng cách bỏ đi những khoảng trắng không cần thiết, để những phần mềm này hoạt động chính xác, lập trình viên cần thêm dấu chấm phẩy vào cuối mỗi câu lệnh. • Chú thích: Cú pháp chú thích của JavaScript giống với C++. Lập trình viên có thể chú thích trên nhiều dòng bằng cách bao bọc chú thích với /* và */ hoặc sử dụng // để chú thích từ vị trí // đến hết dòng. • Biến: Trước khi sử dụng biến trong JavaScript, lập trình viên không nhất thiết phải khai báo biến. Có 3 cách để định nghĩa biến trong JavaScript: GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 24 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác var tên_biến let tên_biến const tên_biến • Toán tử: Một toán tử xác định phép toán sẽ được thực hiện trên các giá trị của các biến, và các biểu thức. Javascript cung cấp nhiều loại toán tử khác nhau để thực hiện việc tính toán, và đánh giá từ đơn giản đến phức tạp. Các toán tử của Javascript được phân thành sáu thể loại dựa trên loại hành động của chúng thực hiện với các toán hạng. Bao gồm toán tử số học, toán tử quan hệ, toán tử luận lý, toán tử thao tác bit, toán tử gán, toán tử đặc biệt. • Toán tử số học: Các toán tử số học là các toán tử nhị phân, khi chúng thực hiện các phép tính cơ bản trên hai toán hạng. Toán tử xuất hiện ở giữa hai toán hạng, cho phép bạn thực hiện các phép tính với giá trị số và chuỗi. Các toán tử bao gồm: + (cộng), - (trừ), * (nhân), / (chia), % (chia lấy dư). • Toán tử tăng và giảm: Các toán tử tăng và giảm là các toán tử đơn hạng, vì chúng chỉ thực hiện được trên một toán hạng duy nhất. Toán tử tăng làm tăng giá trị lên 1, trong khi toán tử giảm làm giảm giá trị xuống 1, các toán tử có thể được đặt trước, hoặc sau toán hạng. Các toán tử bao gồm: ++ (tăng), -- (giảm). • Toán tử quan hệ: Toán tử quan hệ là các toán tử dùng để so sánh giữa hai toán hạng. Sau khi thực hiện một so sánh, chúng trả lại một giá trị true (đúng) hay false (sai). Các toán tử bao gồm: == (bằng nhau), != (khác nhau), === (bằng nhau và cùng loại), !== (khác nhau và khác loại), > (lớn hơn), = (lớn hơn hoặc bằng), <= (nhỏ hơn hoặc bằng). • Toán tử luận lý: Các toán tử luận lý là các toán tử nhị phân thực hiện các phép toán logic trên hai toán hạng. Chúng thuộc loại toán tử quan hệ, vì chúng trả về một giá trị boolean. Các toán tử bao gồm: && (và), || (hoặc), ! (phủ định). • Toán tử đặc biệt: GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 25 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Toán tử điều kiện còn được biết đến với tên gọi toán tử tam phân. Cú pháp của toán tử này như sau: điều_kiện? biểu_thức_đúng: biểu_thức_sai; Toán tử này sẽ trả lại giá trị là kết quả của biểu_thức_đúng nếu điều_kiện có giá trị bool bằng true, ngược lại nó sẽ trả lại giá trị bằng biểu_thức_sai. Câu lệnh điều khiển [sửa | sửa mã nguồn] Câu lệnh ifelse [sửa | sửa mã nguồn] Cú pháp if... else dùng trong trường hợp muốn rẽ nhánh theo điều kiện. Cú pháp này tương đương với nếu x thì làm y, còn nếu không thì làm z. Các câu lệnh if... else có thể lồng trong nhau. • Câu lệnh Switch case: Cú pháp switch cũng là cú pháp điều kiện như if... else hay toán tử tam phân. Tuy nhiên, cú pháp switch thường được dùng khi chỉ cần so sánh bằng với số lượng kết quả cần kiểm tra lớn. Cú pháp: Switch (biểu thức điều kiện) { Case kết quả 1: Hành động; Break; Case kết quả N: Hành động; Break; Default : Hành động; Break; } Sau mỗi khối lệnh trong một mục kiểm tra kết quả (trừ mục default), lập trình viên cần phải thêm vào break. • Vòng lặp: Vòng lặp While Vòng lặp while có mục đích lặp đi lặp lại một khối lệnh nhất định cho đến khi biểu thức điều kiện trả về false. Khi dùng vòng lặp while phải chú ý tạo lối thoát cho vòng lặp (làm cho biểu thức điều kiện có giá trị false), nếu không đoạn mã nguồn sẽ rơi vào vòng lặp vô hạn, là một lỗi lập trình. Vòng lặp while thường được dùng khi lập trình viên không biết chính xác cần lặp bao nhiêu lần. Cú pháp của vòng lặp while như sau: GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 26 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác while (biểu thức điều kiện) { khối lệnh cần thực hiện nếu biểu_thức_điều_kiện trả về true; } Vòng lặp do while Về cơ bản, vòng lặp do... while gần như giống hệt như vòng lặp while. Tuy nhiên, trong trường hợp biểu thức điều kiện trả về false ngay từ đầu, khối lệnh trong vòng lặp whilesẽ không bao giờ được thực hiện, trong khi đó, vòng lặp do... while luôn đảm bảo khối lệnh trong vòng lặp được thực hiện ít nhất một lần. Cú pháp: do { khối lệnh; } while (biểu thức điều kiện); Vòng lặp for: Vòng lặp for thường được sử dụng khi cần lặp một khối lệnh mà lập trình viên biết trước sẽ cần lặp bao nhiêu lần. Cú pháp của vòng lặp for như sau: for (biểu thức khởi tạo; biểu thức điều kiện; biểu thức giá trị) { Khối lệnh cần lặp; } • Hàm Hàm là một khối các câu lệnh với một danh sách một hoặc nhiều đối số (có thể không có đối số) và thường có tên (mặc dù trong JavaScript hàm không nhất thiết phải có tên). Hàm có thể trả lại một giá trị. Cú pháp của hàm như sau: Function tên_hàm (đối số 1, đối số 2) { } Trong JavaScript, khi gọi hàm không nhất thiết phải gọi hàm với cùng số đối số như khi định nghĩa hàm, nếu số đối số ít hơn khi định nghĩa hàm, những đối số không được chuyển cho hàm sẽ mang giá trị undefined. Các kiểu cơ bản sẽ được chuyển vào hàm theo giá trị, đối tượng sẽ được chuyển vào hàm theo tham chiếu. Hàm là đối tượng hạng nhất trong JavaScript. Tất cả các hàm là đối tượng của nguyên mẫu Function. Hàm có thể được tạo và dùng trong phép toán gán như bất kỳ một đối tượng GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 27 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác nào khác, và cũng có thể được dùng làm đối số cho các hàm khác. Do đó, JavaScript hỗ trợ hàm cấp độ cao. 2.2.8 AngularJs 2.2.8.1 Giới thiệu chung Đây là một mã nguồn mở, 1 framwork cho các ứng dụng web. Được phát triển từ năm 2009, hiện tại được duy trì bởi google và đã ra mắt phiên bản 2.0 Định nghĩa chính thức được đưa ra như sau : AngularJS là một framework có cấu trúc cho các ứng dụng web động. Nó cho phép bạn sử dụng HTML như là ngôn ngữ mẫu và cho phép bạn mở rộng cú pháp của HTML để diễn đạt các thành phần ứng dụng của bạn một cách rõ ràng và súc tích. Hai tính năng cốt lõi: Data binding và Dependency injection của AngularJS loại bỏ phần lớn code mà bạn thường phải viết. Nó xảy ra trong tất cả các trình duyệt, làm cho nó trở thành đối tác lý tưởng của bất kỳ công nghệ Server nào. Để học được AngularJS bạn cần phải có những kiến thức cơ bản javascript, object, string . Việc bạn có hiểu biết chuyên sâu về javascript sẽ giúp cho bạn dễ dàng học AngularJS. Bản chất của AngularJS là hoạt động dạng Single Page, sử dụng API để lấy data, cho nên bạn cần biết các kĩ thuật DHTML, AJAX.(‘ viblo.asia’) 2.2.8.2 Các tính năng cơ bản Scope : là đối tượng có nhiệm vụ giao tiếp giữa controller và view của ứng dụng. Controller : xử lí dữ liệu cho đối tượng $scope, từ đây bên views sẽ sử dụng các dữ liệu trong scope để hiển thị ra tương ứng. Data-binding : tự động đồng bộ dữ liệu giữa model và view Service : là singleton object được khởi tạo 1 lần duy nhất cho mỗi ứng dụng, cung cấp các phương thức lưu trữ dữ liệu có sẵn. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 28 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác ($http, $httpBackend, $sce, $controller, $document, $compile, $parse, $ro otElement, $rootScope ..) Filter : Lọc các tập con từ tập item trong các mảng và trả về các mảng mới. Directive : dùng để tạo các thẻ HTML riêng phục vụ những mục đích riêng. AngularJS có những directive có sẵn như ngBind, ngModel Temple : một thành phần của view, hiển thị thông tin từ controller Routing : chuyển đổi giữa các action trong controller, qua lại giữa các view. MVC & MVVM : mô hình thiết kế để phân chia các ứng dụng thành nhiều phần khác nhau (gọi là Model, View và Controller) mỗi phần có một nhiệm vụ nhất định. AngularJS không triển khai MVC theo cách truyền thống, mà gắn liền hơn với Model-View- ViewModel. Deep link : Liên kết sâu, cho phép bạn mã hóa trạng thái của ứng dụng trong các URL để nó có thể bookmark với công cụ tìm kiếm. Các ứng dụng có thể được phục hồi lại từ các địa chỉ URL với cùng một trạng thái. Dependency Injection: AngularJS có sẵn một hệ thống con dependency injection để giúp các lập trình viên tạo ra các ứng dụng dễ phát triển, dễ hiểu và kiểm tra.(‘ viblo.asia’) Hình 2.13. Tất cả các tính năng của AngularJs(‘viblo.asia’) 2.2.8.3 Các component chính • ng-app : định nghĩa và liên kết một ứng dụng AngularJS tới HTML. • ng-model : gắn kết giá trị của dữ liệu ứng dụng AngularJS đến các điều khiển đầu vào HTML. • ng-bind : gắn kết dữ liệu ứng dụng AngularJS đến các thẻ HTML. 2.2.8.4 Ưu và nhược điểm của AngularJs GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 29 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Ưu điểm : • Cung cấp khả năng tạo ra các Single Page Aplication dễ dàng. • Cung cấp khả năng data binding tới HTML, khiến cho người dùng cảm giác linh hoạt, thân thiện. • Dễ dàng Unit test • Dễ dàng tái sử dụng component • Giúp lập trình viên viết code ít hơn với nhiều chức năng hơn. • Chạy được trên các loại trình duyệt, trên cả PC lẫn mobile. Nhược điểm : • Không an toàn : được phát triển từ javascript cho nên ứng dụng được viết bởi AngularJS không an toàn. Nên có sự bảo mật và xác thực phía server sẽ giúp ứng dụng trở nên an toàn hơn. • Nếu người sử dụng ứng dụng của vô hiệu hóa JavaScript thì sẽ chỉ nhìn thấy trang cơ bản. 2.2.9 Giao thức mạng HTTP HTTP là giao thức cấp độ ứng dụng cho các hệ thống thông tin phân phối, cộng tác, đa phương tiện, là nền tảng cho giao tiếp dữ liệu cho WWW (ví dụ: Internet) từ 1990. HTTP là một giao thức chung và không trạng thái (stateless) mà có thể được sử dụng cho các mục đích khác cũng như các sự co giãn của các phương thức yêu cầu, các code lỗi và Header của nó. Về cơ bản, HTTP là một giao thức giao tiếp trên cơ sở TCP/IP, mà được sử dụng để phân phối dữ liệu (các tệp HTML, các file ảnh, ) trên WWW. Cổng mặc định là TCP 80, những các cổng khác cũng có thể được sử dụng. Nó cung cấp một cách được tiêu chuẩn hóa cho các máy tính để giao tiếp với nhau. Chi tiết kỹ thuật HTTP xác định cách mà dữ liệu yêu cầu của Client sẽ được xây dựng và được gửi tới Server, và cách để Server phản hồi các yêu cầu này. 2.2.9.1 Các đặc trưng cơ bản của HTTP Có 3 đặc trưng cơ bản mà làm HTTP trở thành một giao thức đơn giản nhưng đầy sức mạnh: HTTP là giao thức connectionless (kết nối không liên tục): Client của HTTP, ví dụ: một trình duyệt khởi tạo một yêu cầu HTTP và sau đó một yêu cầu được tạo ra, Client GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 30 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác ngắt kết nối từ Server và đợi cho một phản hồi. Server xử lý yêu cầu và thiết lập lại sự kết nối với Client để gửi phản hồi trở lại. HTTP là một phương tiện độc lập: Nó nghĩa là, bất kỳ loại dữ liệu nào cũng có thể được gửi bởi HTTP miễn là Server và Client biết cách để kiểm soát nội dung dữ liệu. Nó được yêu cầu cho Client cũng như Server để xác định kiểu nội dung bởi sử dụng kiểu MIME thích hợp. HTTP là stateless: Như đã được đề cập ở trên, HTTP là connectionless và nó một kết quả trực tiếp là HTTP trở thành một giao thức Stateless. Server và Client biết về nhau chi trong một yêu cầu hiện tại. Sau đó, cả hai chúng nó quên tất cả về nhau. Do bản chất của giao thức, cả Client và các trình duyệt có thể giữ lại thông tin giữa các yêu cầu khác nhau giữa các trang web. 2.2.9.2 Cấu trúc cơ bản Sơ đồ dưới đây chỉ cấu trúc rất đơn giản của một ứng dụng web và miêu tả vị trí của HTTP: Giao thức HTTP là một giao thức Yêu cầu/Phản hồi dựa trên cấu trúc Client/Server, nơi mà các trình duyệt web, các thiết bị tìm kiếm, hoạt động như các Client, và các Server web hoạt động như một Server. 2.2.9.3 Client GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 31 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Client gửi một yêu cầu tới Server theo mẫu của một phương thức yêu cầu, URI, và phiên bản giao thức, được theo bởi một thông báo MIME chứa các bộ chỉnh sửa yêu cầu, thông tin Client, và nội dung đối tượng có thể qua một kết nối TCP/IP. 2.2.9.4 Server Server phản hồi với một dòng trạng thái, bao gồm phiên bản giao thức của thông báo và một code thành công hoặc lỗi, theo sau bởi một thông báo MIME chứa thông tin Server, thông tin thực thể đa phương tiện và nội dung đối tượng có thể. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 32 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác CHƯƠNG 3:THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG 3.1 GIỚI THIỆU TỔNG QUAN Hệ thống ứng dụng công nghệ IoT để quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác tự động là một hệ thống kết hợp giữa phần cứng và phần mềm. Hình 3.1. Sơ đồ khối của toàn hệ thống Phần cứng là một hệ thống được đóng gói kĩ càng, những thành phần nằm bên trong bao gồm các kết nối vật lý giữa những module mạch điện chuyên dụng được đề cập ở chương hai. Hệ thống này đóng vai trò như một thiết bị được lắp đặt bên trong các nhà máy xử lý rác thải, thu thập dữ liệu về khí thải trong không khí phân tích và cung cấp dữ liệu đó cho Server (Phần mềm). GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 33 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Phần mềm là một hệ thống chạy trên nền web cho phép theo dõi cảm biến từ xa, từ nhiều nơi khác nhau. Nó lấy dữ liệu đo của cảm biến từ các thiết bị lắp đặt ở các nhà máy ở nhiều nơi khác nhau một cách liên tục, sau đó lưu vào cơ sở dữ liệu và hiển thị cho người quản lý theo thời gian thực. Bên cạnh đó, người quản lý cũng có thể xem thống kê chi tiết theo các mốc thời gian mong muốn, xuất thống kê ra dạng Excel, quản lý thông tin trạm xử lý, thông tin người quản lý, phân quyền hệ thống. Hệ thống này là một thể hiện của IoT (Internet of things), mọi thứ đều được giám sát thông qua mạng internet mà không cần phải giám định giá trị của cảm biến bằng phương pháp thủ công. 3.2 THIẾT KẾ HỆ THỐNG – PHẦN CỨNG 3.2.1 Thi công và lắp đặt Phần cứng, tần vật lý của hệ thống cũng khá là đơn giản, các kết nối và đi dây giữa các cảm biến và ESP32 sẽ được trình bày theo sơ đồ nguyên lý như bên dưới. Hình 3.2. Sơ đồ nguyên lý của phần cứng hệ thống Do ESP32 và tất cả các cảm biến có điện áp đầu vào là 5V, vì thế để đảm bảo an toàn và đầy đủ về năng lượng, hệ thống sẽ dùng adapter 5V 3A để cung cấp nguồn cho toàn mạch. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 34 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Hình 3.3. Nguồn adapter 5V – 3A 0530 • Thông số kỹ thuật : Thông số Chi tiết Nguồn điện đầu vào: 100-240V Nguồn điện đầu ra 5V-3A Độ dài dây sạc 1.5 mét Trọng lượng 100g Bảng 3.1. Thông số kỹ thuật của nguồn adapter 5V-3A 0530 Adapter 0530 VCC GND Không Không Không ESP32-DevKit Vin GND D34 D35 D22 DHT-11 VCC GND Không Không Out MQ-2 VCC GND Aout Không Không MQ-135 VCC GND Không Aout Không Bảng 3.2. Mô tả giao tiếp phần cứng Một số hình ảnh của mạch GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 35 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Hình 3.4. Mạch - phần cứng (1) Hình 3.5. Mạch - phần cứng (2) 3.2.2 Lập trình phần cứng 3.2.2.1 Arduino IDE Hiểu một cách đơn giản, Arduino IDE là 1 phần mềm giúp chúng ta nạp code đã viết vào board mạch và thực thi ứng dụng. Arduino IDE là chữ viết tắt của Arduino Integrated Development Environment, một công cụ lập trình với các board mạch Arduino. Nó bao gồm các phần chính là Editor (trình soạn thảo văn bản, dùng để viết code), Debugger (công cụ giúp tìm kiếm và sửa lỗi phát sinh khi build chương trình), Compiler hoặc interpreter (công cụ giúp biên dịch code thành ngôn ngữ mà vi điều khiển có thể hiểu và thực thi code theo yêu cầu của người dùng). Hiện nay, ngoài các board thuộc họ Arduino, thì Arduino IDE còn hỗ trợ lập trình với nhiều dòng vi điều khiển khác như ESP, ARM, PIC, Cấu trúc một chương trình Arduino bao gồm 2 phần chính : void setup() GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 36 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác { Thực hiện việc thiết lập ban đầu cho các ứng dụng. } void loop() { Vòng lặp thực hiện chương trình. } Hàm setup() được sử dụng để khởi tạo giá trị các biến, thiết lập chế độ chân, bắt đầu sử dụng các thư việnHàm setup chỉ thực hiện một lần khi cấp nguồn hoặc reset Arduino. Hàm loop() được hiểu như là chương trình chính, thực hiện các chức năng được lập trình và có tính lặp lại liên tục. 3.2.2.2 Cấu hình Bước 1: Cài đặt bộ công cụ, trình biên dịch, SDK hỗ trợ chip ESP32 trong Arudino IDE. Với bộ công cụ này, chúng ta có thể dễ dàng lập trình, biên dịch và sử dụng các thư viện dành cho ESP32 trực tiếp trên Arduino IDE. Mở Arduino IDE, trên thanh Menu chọn File → Preferecens, trong tab settings chọn các tùy chọn như hình dưới: Hình 3.6. Thêm file thông tin board ESP32. Sketchbook location là đường dẫn mà bạn muốn lưu Sketch (file chương trình), trên các hệ điều hành Unix liked đường dẫn mặc định là: “/home/name_your_computer/Arduino”. Đây cũng sẽ là vị trí lưu những thư viện mà chúng ta sẽ thêm vào sau này. Mục Additional Board Manager URLs field nhập đường dẫn GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 37 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác “https://dl.espressif.com/dl/package_esp32_index.json”. Bước 2: Mở Boards Manager ở mục Tools trên thanh menu-bar → tìm board cần sử dụng với keyword ESP32 → chọn board cần cài đặt như hình và nhấn vào install. Hình 3.7. Cài đặt board ESP32 3.2.2.3 Lập trình • Lưu đồ thuật toán Hình 3.8. Lưu đồ thuật toán phần cứng • Giải thích Sau khi cấp nguồn cho mạch, hệ thống nhúng sẽ tự động thực thi các lệnh khai báo các thư viện cảm biến, khai báo các chân GPIO được sử dụng. Tiếp đến, thiết bị sẽ chạy GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 38 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác hàm setup(). Hàm này có chức năng khởi tạo các thư viện, cài đặt và cấu hình các chân GPIO cho việc sử dụng cảm biến, đặt chế độ Wi-Fi Station sau đó kết nối vào mạng Wi-Fi được lưu sẵn trong bộ nhớ. Chương trình sẽ đợi khi kết nối Wi-Fi vào trạng thái thành công, nếu kết nối thành công chương trình bắt đầu khởi tạo các đối tượng cảm biến từ các thư viện đã khai báo sẵn và thực thi hàm loop. Hàm loop sẽ là một vòng lặp vô tận thực thi các công việc như sau. Kiểm tra trạng thái Wi-Fi có đang kết nối thành công hay không? Nếu có thì chương trình sẽ đọc và tính toán các giá trị này sau đó gửi thẳng lên Web Server( Phầm mềm) bằng giao thức HTTP GET thông qua mạng Wi-Fi. Quá trình này sẽ lặp lại trong thơi gian nghỉ là 2 giây. Phần tính toán giá trị đề tài sẽ sử dụng 2 bộ thư viện đã được xây dựng và kiểm thử kỹ càng và đang được sử dụng phổ biến đó chính là thư viện DHT được xây dựng bởi Adafruit cho cảm biến DHT-11 và thư viện OpenSensor của tác giả Trần Trí Tân (ĐH Cần Thơ) dùng cho hai cảm biến MQ. Liên kết của hai bộ thư viện : • DHT sensor library : https://github.com/adafruit/DHT-sensor-library. • OpenSensor : https://github.com/tantt2810/Opensensor. Giải thích thêm về phần gửi giá trị lên Web server bằng giao thức mạng HTTP. Sau khi phân tích và thiết kế hệ thống cơ sở dữ liệu lưu trữ cho Web server ( sẽ được trình bày ở phần 3.3.2 ). Từ đó xây dựng lên một HTTP Request get method cấu trúc url như sau. tên phương thức controller action GET /hostname:port/giatri/thuthap&1=30&2=70 Port tên miền hoặc IP của web server mã cảm biến giá trị thu thập được Từ chuỗi Url được xây dựng bên trên, ta sẽ dùng tính năng gửi resquest thông qua kết nối không dây của ESP32 để gửi dữ liệu đến server (hostname), công việc của server sau đó là lưu các “giá trị thu thập được” vào bảng cảm biến trong cơ sở dữ liệu theo những dòng có mã bằng với “mã cảm biến” tương ứng trên Url. Số lượng tham số và giá trị tùy GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 39 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác thuộc theo số cảm biến được lắp đặt tại một trạm (nhà máy rác) nào đó và cách nhau giữa ký tự ‘&’. Vd: trạm số 01 có lắp 3 cảm biến lần lượt với mã như sau : Mã cảm biến Tên cảm biến 1 Nhiệt độ 2 Độ ẩm 5 CO2 Bảng 3.3. Bảng ví dụ minh họa cảm biến tại một trạm Như vậy trong mã nguồn cài đặt để nạp cho vi điều khiển trung tâm của hệ thống phần cứng sẽ có đoạn mã gửi một chuỗi request như sau: GET /iotimprove/giatri/thuthap&1={giá trị nhiệt độ}&2={giá trị độ ẩm}&5={nồng độ CO2} 3.3 THIẾT KẾ HỆ THỐNG – PHẦN MỀM Phần mềm là một ứng dụng Web: • Back-end: Được lập trình bằng PHP và kết nối, lưu dữ liệu cảm biến vào CSDL trong MySQL. • Fornt-end: Được lập trình bằng HTML View, CSS, JS, AngularJs. • Có chức năng cơ bản như sau: - Hiển thị dữ liệu được gửi từ thiết bị IoT theo thời gian thực. - Hiển thị, thống kê, báo cáo dữ liệu theo dạng biểu đồ đường. - Lưu trữ dữ liệu. - Giám sát tổng quan theo hướng theo dõi, thống kê. - Phân quyền hệ thống. - Xem thông tin các trạm, nhà máy, thông tin địa chỉ sử dụng bản đồ sử dụng công nghệ leaflet. - Xem thông tin, lắp , sửa và tháo cảm biến. 3.3.1 Cơ sở dữ liệu Cơ sở dữ liệu (Database) đơn giản chỉ là tập hợp các thông tin được tổ chức theo một cấu trúc nhất định giúp dễ dàng đọc thông tin, chỉnh sửa, thêm hoặc xóa dữ liệu. Đối với một phần mềm, cơ sở dữ liệu là một phần quan trọng không thể thiếu, nó được ví như là linh hồn trung tâm của một phần mềm. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 40 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Dựa trên những chức năng phân tích trên, trải qua quá trình tìm hiểu và nghiên cứu em đã xây dựng được một hệ thống cơ sở dữ liệu cho phần mềm hệ thống của mình như sau: Hình 3.9.Mô hình quan niệm cơ sở dữ liệu của hệ thống phần mềm 3.3.2 Phân tích cơ sở dữ liệu • Bảng tài khoản GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 41 Xây dựng hệ thống quản lý và giám sát chất lượng không khí tại các nhà máy xử lý rác Bảng 3.4. Bảng taikhoan Bảng taikhoan dùng để lưu trữ thông tin người sử dụng và quản lý ứng dụng. Một số trường đặt biệt: - tendangnhap tên đăng nhập của người dùng hệ thống, tendangnhap là khóa chính và bắt buộc không cho phép trùng và null. - matkhau_hash là mật khẩu của người dùng đã được thuật toán mã hóa một chiều mã hóa, trường nà

Các file đính kèm theo tài liệu này:

  • pdfkhoa_luan_xay_dung_he_thong_quan_ly_va_giam_sat_chat_luong_k.pdf