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

pdf 86 trang thiennha21 14/04/2022 6080
Bạn đang xem 20 trang mẫu của 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", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfkhoa_luan_xay_dung_he_thong_quan_ly_va_giam_sat_chat_luong_k.pdf

Nội dung text: 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

  1. 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
  2. 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 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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. • Đọc và hiển thị giá trị đo của cảm biến bằng ESP32. • Lập trình cho ESP32 kết nối và đưa dữ liệu vào database của webserver. • Lập trình webserver để lưu trữ và hiển thị dữ liệu theo thời gian thực. 1.4 NỘI DUNG NGHIÊN CỨU • Xây dựng lắp đặt và lập trình mạch điện tử. • Nghiên cứu cấu trúc và ngôn ngữ lập trình cho ESP32. • Lập trình C++ cho ESP32 sử dụng thư viện đọc các giá trị cảm biến. • Xây dựng hệ thống giám sát các thiết bị cảm biến theo thời gian thực. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 2
  18. 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 • Nghiên cứu xây dựng WebServer nhận dữ liệu từ cảm biến thông qua ESP32 để lưu vào database và hiển thị theo thời gian thực. 1.5 MÔI TRƯỜNG VẬN HÀNH 1.5.1 Phần cứng • ESP32-Dev kit. • Các cảm biến. • Dây cắm các loại. 1.5.2 Phần mềm • Hệ điều hành cho máy tính từ Windows 10. • Môi trường lập trình cho Arduino: Arduino IDE. • Xampp. • Sublime Text. • WebBrowser: Chrome, Firefox, IE, Edge, 1.6 HƯỚNG GIẢI QUYẾT VÀ KẾ HOẠCH THỰC HIỆN 1.6.1 Hướng giải quyết Tập trung phân tích hệ thống, chia hệ thống thành 3 tầng để dễ thiết kế, xây dựng: • Tầng Server: Kết nối, xử lý và lưu trữ dữ liệu từ tầng Client. • Tầng Client: Gửi dữ liệu từ tầng Application đến tầng Server; Hiển thị dữ liệu cho người dùng. • Tầng Application: Thu thập và xử lí dữ liệu từ cảm biến, truyền dữ liệu đến tầng Client. 1.6.2 Kế hoạch thực hiện • Nghiên cứu các dịch vụ, nền tảng và giao thức sử dụng trong IoT cần để xây dựng hệ thống. • Phân tích thiết kế hệ thống. • Xây dựng hệ thống. • Ứng dụng hệ thống vào thực tế. • Nghiệm thu và đưa ra phương hướng phát triển. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 3
  19. 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 2: CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ CÔNG NGHỆ INTERNET OF THINGS 2.1.1 Internet of Things (IoT) là gì? Internet of Things, hay IoT, internet vạn vật là đề cập đến hàng tỷ thiết bị vật lý trên khắp thế giới hiện được kết nối với internet, thu thập và chia sẻ dữ liệu. Nhờ bộ xử lý giá rẻ và mạng không dây, có thể biến mọi thứ, từ viên thuốc sang máy bay, thành một phần của IoT. Điều này bổ sung sự “thông minh kỹ thuật số” cho các thiết bị, cho phép chúng giao tiếp mà không cần có con người tham gia và hợp nhất thế giới kỹ thuật số và vật lý. Hình 2.1. Internet of things Internet of things (IoT) dùng để chỉ các đối tượng có thể được nhận biết cũng như chỉ sự tồn tại của chúng trong một kiến trúc tổng hòa mang tính kết nối: Mạng lưới vạn vật kết nối Internet, hay gọi đơn giản hơn là Things. Một bóng đèn có thể được bật bằng ứng dụng điện thoại thông minh là một thiết bị IoT, như một cảm biến chuyển động hoặc một bộ điều chỉnh nhiệt thông minh trong văn phòng của bạn hoặc đèn đường được kết nối. Một thiết bị IoT có thể đơn giản như đồ chơi của trẻ em hoặc nghiêm trọng như một chiếc xe tải không người lái, hoặc phức tạp như một động cơ phản lực hiện chứa hàng ngàn cảm biến thu thập và truyền dữ liệu trở lại để đảm bảo nó hoạt động hiệu quả. Ở quy mô lớn hơn, các dự án thành phố thông minh đang được lấp đầy bằng các cảm biến để giúp chúng ta hiểu và kiểm soát môi trường. Cụm từ Internet of things được đưa ra bởi Kevin Ashton vào năm 1999, tiếp sau đó nó cũng được dùng nhiều trong các ấn phẩm đến từ các hãng và nhà phân tích. Họ cho rằng IoT là một hệ thống phức tạp, bởi nó là một lượng lớn các đường liên kết giữa máy móc, GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 4
  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 thiết bị và dịch vụ với nhau. Ban đầu, IoT không mang ý nghĩa tự động và thông minh. Về sau, người ta đã nghĩ đến khả năng kết hợp giữa hai khái niệm IoT - Autonomous control lại với nhau. Nó có thể quan sát sự thay đổi và phản hồi với môi trường xung quanh, cũng có thể tự điều khiển bản thân mà không cần kết nối mạng. Việc tích hợp trí thông minh vào IoT còn có thể giúp các thiết bị, máy móc, phần mềm thu thập và phân tích các dữ liệu điện tử của con người khi chúng ta tương tác với chúng. Xu hướng tất yếu trong tương lai, con người có thể giao tiếp với máy móc chỉ qua mạng internet không dây mà không cần thêm bất cứ hình thức trung gian nào khác. Tình hình trên thế giới hiện nay, theo Analyst Gartner tính toán rằng khoảng 8.4 tỷ thiết bị IoT đã được sử dụng trong năm 2017, tăng 31% so với năm 2016 và con số này có thể sẽ đạt 20,4 tỷ vào năm 2020. Tổng chi tiêu cho IoT endpoint sẽ đạt gần 2 ngàn tỷ đô la trong năm 2017, với hai phần ba trong số các thiết bị được tìm thấy ở Trung Quốc, Bắc Mỹ và Tây Âu, Gartner cho biết. Trong số 8.4 tỷ thiết bị đó, hơn một nửa sẽ là các sản phẩm tiêu dùng như TV thông minh và loa thông minh. Các thiết bị IoT dành cho doanh nghiệp được sử dụng nhiều nhất sẽ là đồng hồ điện thông minh và camera an ninh thương mại, theo Gartner. Hình 2.2. Thống kê các danh mục đã cài đặt các thiết bị IOT từ 2016 – 2020 theo Gartner Người ta cho rằng, IoT là chìa khóa của sự thành công, là bước ngoặt và cơ hội lớn của tương lai. Để không bị tụt lại phía sau, các chính phủ và doanh nghiệp cần có sự đổi mới và đầu tư mạnh tay hơn để phát triển các sản phẩm ứng dụng công nghệ Internet of things. 2.1.2 Hệ thống Internet of Things (IoT System) GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 5
  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 Hệ thống IoT cho phép người dùng tiến sâu hơn vào việc tự động hóa, phân tích, tích hợp. Giúp cho việc cải thiện tầm nhìn, tính chính xác, nâng tầm các công nghệ về cảm biến, kết nối, robot để đạt hiệu quả cao nhất. Các hệ thống IoT phát triển, khai thác các tiến bộ của phần mềm, giảm giá thành khi xây dựng phần cứng và tận dụng các công nghệ hiện đại. Những cải tiến này làm thay đổi cách vận hành của quá trình sản xuất sản phẩm, dịch vụ, xã hội, kinh tế và ảnh hưởng đến cả chính trị. 2.1.1.1 Đặc điểm chung của IoT Mỗi thiết bị IOT đều có những đặt điểm giống và khác nhau tùy vào thiết kế và nhu cầu của người sử dụng, song nhìn chung những vấn đề quan trọng của hệ thống IoT thường thấy sẽ bao gồm những đặc điểm bên dưới. Hình 2.3. Những đặc điểm chung của IoT Connectivity - Là một đặc trưng cơ bản của IoT, không cần phải giải thích dài dòng về đặc điểm này, hiện nay các mạng thiết bị đang trở nên phổ biến, nhiều mạng thiết bị ngày càng nhỏ hơn, rẻ hơn và được phát triển phù hợp với thực tế cũng như nhu cầu của người dùng. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 6
  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 Things – Things nhìn chung là bất cứ thứ gì có thể kết nối và giao tiếp với mạng internet. Thể hiện rõ ràng nhất chính là cảm biến hay các thiết bị có gắn cảm biến kết nối không dây. IoT sẽ mất đi sự quan trọng của mình nếu không có things. Các cảm biến và thiết bị hoạt động giống như một công cụ giúp IoT chuyển từ mạng lưới các thiết bị thụ động sang mạng lưới các thiết bị tích cực, đồng thời có thể tương tác với thế giới thực. Data - Dữ liệu là chất kết dính của Internet of Things, là bước đầu tiên hướng tới hành động và trí tuệ. Communication - Hầu hết các thiết bị đều có thể thực hiện kết nối không dây với internet nên là chúng có thể giao tiếp, trao đổi dữ liệu và dữ liệu này được đã được phân tích, làm sạch. Giao tiếp có thể diễn ra trong khoản cách ngắn hay từ xa đến rất rất xa. Intelligence - Về mặt kỹ thuật, IoT làm cho mọi thứ trở nên thông minh, nghĩa là nó nâng cao các khía cạnh khác nhau của cuộc sống thông qua việc sử dụng hợp lý dữ liệu, mạng và thuật toán đó. Điều này có thể bao gồm một số việc đơn giản như cải thiện hoặc nâng cấp tủ lạnh của bạn bằng cách nhúng tủ lạnh với các cảm biến tự động phát hiện khi sữa và trứng sắp hết, đến đặt hàng với sự lựa chọn của bạn về cửa hàng tạp hóa. Action – Action nói cách khác là thực thi một hành động nào đấy. Điều này là thể hiện rõ ràng nhất của sự tự động hóa dựa trên sự đặc điểm Intelligence của những thiết bị IoT. Dựa vào trí thông minh của bản thân, thiết bị sẽ tự cân nhắc, tính toán và thực thi các tác vụ một cách tự động. Ecosystem – Hệ sinh thái thị trường của Internet vạn vật (IoT – Internet of Things) ngày càng trở nên phức tạp, nhưng về cơ bản nó hoạt động theo công thức B-B-C (Doanh nghiệp – Doanh nghiệp – Người tiêu dùng). 2.1.1.2 Những lợi ích mang lại Những lợi ích mà IoT đem lại được dàn trải hầu hết đến các tất cả các lĩnh vực trong đời sống, kinh doanh Dưới đây liệt kê ngắn gọn một số tính năng hữu ích của IoT: Cải thiện việc gắn kết khách hàng - Hệ thống IoT giúp phân tích các điểm mù hiện tại, tìm ra những sai sót về độ chính xác. IoT thay đổi điều này để mang lại nhiều sự gắn kết hơn và hiệu quả hơn với người dùng. Một ứng dụng tại các cửa hàng, giúp tăng số lượng sản phẩm tới người tiêu dùng bằng cách chỉ dẫn người dùng tới khu vực cụ thể trong cửa hàng và đưa ra các gợi ý về sản phẩm. Chúng cung cấp các thông tin chi tiết, các đánh GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 7
  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 giá về sản phẩm, Bên cạnh đó chúng cũng có khả năng cho phép người dùng chia sẻ các sản phẩm qua mạng xã hội Giáo dục: Bất cứ nơi nào cần thiết - Một trong những ứng dụng tốt nhất của IoT là nó có thể cung cấp giáo dục ở nơi cần thiết vào bất cứ lúc nào cần thiết. Công nghệ tiên tiến cho phép giáo viên theo dõi tiến trình chính xác của bất kỳ học sinh nào trong lớp, lần đầu tiên giúp học sinh có thể có được kiến thức mọi lúc mọi nơi. Học sinh kết nối với giáo viên của họ theo những cách khác nhau, nhận tin nhắn từ họ với các hướng dẫn và báo cáo học tập chi tiết. Học sinh thậm chí có thể gửi tin nhắn cho giáo viên của mình bất cứ khi nào họ thích. Công nghệ mạnh mẽ này cung cấp môi trường học tập đáng tin cậy cho sinh viên mới cho phép họ làm việc trong các dự án lớp học bất cứ nơi nào họ có thể. Tối ưu hóa công nghệ - giúp nâng cao trải nghiệm của khách hàng cũng như cải thiện việc sử dụng thiết bị và hỗ trợ cải tiến công nghệ. Giảm sự hao phí - IoT giúp việc quản lý tài nguyên ở các lĩnh vực được cải thiện 1 cách rõ ràng. Các phân tích hiện tại thường cung cấp cho chúng ta cái nhìn ở khía cạnh bên ngoài, trong khi IoT cung cấp các dữ liêu, thông tin thực tế để quản lý tài nguyên một cách hiệu quả hơn. Tăng cường việc thu thập dữ liệu - Thông thường, việc thu thập dữ liệu bị hạn chế do thiết kế hệ thống mang tính thụ động. IoT phá vỡ sự ràng buộc, giới hạn của thiết kế và tạo ra 1 hình ảnh chính xác của tất cả mọi thứ. 2.1.1.3 Những thách thức gặp phải Những lợi ích của IoT sẽ có mặt tại khắp mọi nơi trong tất cả các lĩnh vực, đó là điều không thể phủ định. Tuy vậy nó cũng gặp phải những thách thức đáng kể. Dưới đây là 1 số vấn đề chính của IoT : Tiêu chuẩn chung - Việc thiếu các tiêu chuẩn trong khi lại có rất nhiều giao thức kết nối đang được sử dụng như hiện nay là một cản trở cho IoT phát triển. Các giao thức với mức tiêu thụ năng lượng thấp: LTE, Sigfox, onramp, được sử dụng rộng rãi mà chưa có chuẩn giao thức rõ ràng. Hiện tại liên minh AllSeen đã được thành lập để xóa bỏ cản trở của việc phát triển Internet of Thing, tuy vậy để Việt Nam có thể xóa bỏ được những khó khăn khi tiếp cận IoT lại là cả một quá trình cần nhiều thời gian và sự nỗ lực bởi lẽ hiện tại Việt Nam cũng chưa có các quy chuẩn rõ ràng cho các thiết bị truyền thông trong IoT. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 8
  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 Nhu cầu của người dùng - Việt Nam là một nước xã hội chủ nghĩa, đời sống người dân còn nghèo đói, và trình độ hiểu biết khoa học công nghệ chưa thực sự đồng đều. Bởi thế thuyết phục người dân sử dụng những ứng dụng công nghệ đòi hỏi tư duy và sáng tạo là một điều vô cùng khó khăn. Với tư duy truyền thống và tâm lí ngại thay đổi, sợ tiếp cận cái mới thì việc xu hướng IoT có thể thâm nhập vào từng ngôi nhà Việt là một bài toán không hề dễ dàng. IoT sẽ là tốt hơn cho nhà sản xuất khi họ có thể dễ dàng có được dữ liệu về người dùng thông qua một loạt các ứng dụng, tuy nhiên người dùng phải thấy được những lợi ích từ công nghệ này có thể đáp ứng trong thời gian dài, nếu không họ sẽ bỏ qua. Kiểm soát an ninh - Với một thế giới kết nối như hiện nay thì việc chỉ ra các điểm yếu của thiết bị là điều vô cùng dễ dàng. Đối với các thiết bị cá nhân có khả năng kết nối internet thì vẫn đề về an ninh, bảo mật thông tin lại là mối quan tâm hàng đầu. Khả năng giao tiếp tự động của các thiết bị IoT làm cho việc đảm bảo sự riêng tư khó khăn hơn rất nhiều. Đây cũng là vấn đề khiến người dùng e ngại khi tiếp cận các phương pháp mới ứng dụng IoT. Đơn giản như chỉ với chiếc đồng hồ thông minh trong smart home mà tất cả các hoạt động trong nhà bạn đều có thể bị ghi lại và kiểm soát. Tính bảo mật - Do tính bảo mật chưa cao cộng với bản chất của IoT là không cần nhiều sự tương tác của con người nên các kẻ tấn công có thể cung cấp các thông tin người dùng giả mạo. Tính phức tạp - Một số hệ thống IoT có độ phức tạp về thiết kế và triển khai ứng dụng cũng như khó khăn trong việc bảo trì, nâng cấp hệ thống do sử dụng nhiều công nghệ còn khá mới mẻ. Tính linh hoạt - Có nhiều sự lo ngại khi đề cập đến tính linh hoạt của hệ thống IoT khi tích hợp với các hệ thống khác bởi các hệ thống khi kết hợp có thể xảy ra xung đột và các tính năng sẽ bị khóa lẫn nhau. 2.2 DỊCH VỤ, NỀN TẢNG SỬ DỤNG TRONG ĐỀ TÀI 2.2.1 ESP32 2.2.1.1 Giới thiệu ESP32-WROOM-32 là mô đun MCU đa dụng, mạnh mẽ và được sử dụng rộng rãi trong thiết kế mạch PCB Wifi- Bluetooth, BLE được ứng dụng rất phổ biến cho nhiều ứng dụng về IoT hiện nay. Phạm vi ứng dụng từ mạng sensor tiết kiệm năng lượng đến những GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 9
  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 ứng dụng với tác vụ phức tạp nhất, như mã hóa âm thanh, âm nhạc trực tuyến đến giải mã MP3. Hình 2.4. Hình ảnh thực tế ESP32-Dev Kit Lõi của module là họ chip ESP32-D0WDQ6, chip nhúng được thiết kế cho khả năng mở rộng và tùy biến cao. Có đến 2 lõi CPU độc lập có thể điều khiển, tần số clock của CPU có thể được điều chỉnh tử 80MHZ đến 240 Mhz. Người lập trình có thể tắt CPU để sử dụng bộ đồng xử lý công suất thấp để theo dõi sự thay đổi hoặc vượt ngưỡng của các ngoại vi. ESP32 tích hợp bộ ngoại vi khá phong phú từ cảm biến điện dung, cảm biến Hall, SD card, Ethernet, SPI tốc độ cao, UART, I2S hay I2C. Việc tích hợp cả Bluetooth, BLE và Wifi đảm bảo cho khả năng ứng đáp ứng nhiều loại ứng dụng khác nhau và module đó sử dụng với ngoại vi, thiết bị nào: wifi cho phép kết nối rộng rãi về mặt vật lý ra Internet qua Wi-fi router, trong khi sử dụng Bluetooth cho phép người dùng thuận tiện khi kết nối với smartphone, hay thiết bị beacon tiết kiệm điện. Ở chế độ ngủ, chíp ESP32 tiêu thụ dòng dưới 5A, phù hợp với những thiết kế mạch dùng pin hay thiết bị đeo được. Tốc độ truyền thông cho phép lên đến 150 Mbps, và công suất tín hiệu khoảng 20 dBm trên anten cho phép phạm vi tín hiệu xa. Như vậy module này có thông số kỹ thuật thuộc dạng đầu bảng trên thị trường cũng như hiệu suất, độ tin cậy tốt nhất cho tích hợp, thiết kế ứng dụng điện tử, tự động hóa, đòi hỏi phạm vi hoạt động rộng, tiết kiệm năng lượng cũng như khả năng kết nối đa dạng. Hệ điều hành chạy được trên ESP32 là FreeRTOS vơi LwIP, TLS 1.2. Hỗ trợ update firmware qua OTA mã hóa, điều này cho phép nhà phát triển sản phẩm có thể nâng cấp GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 10
  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 phần mềm sản phẩm ngay cả khi thiết bị đang được sử dụng một cách tiết kiệm tiền bạc và nhân lực. 2.2.1.2 Thông số cơ bản Thông số Chi tiết Vi điều khiển Dual-Core 32-bit (ESP-WROOM-32) Điện áp logic 3.3V GPIO 38 Flash Memory 4MB SRAM 520KB Clock Speed 240MHz Wi-Fi 802.11b/g/n Wi-Fi transceiver Bluetooth Bluetooth 4.2/BLE Nguồn điện (khuyên dùng) 5V (cổng USB hoặc chân VIN) Bảng 2.1. Thông số kỹ thuật ESP32 Dev Kit Hình 2.5. Sơ đồ chân của ESP32 DEVKIT V1 2.2.1.3 Vi điều khiển ESP32 Dev kit sử dụng vi điều khiển ESP32-WROOM-32 , ESP32-WROOM-32 là một module với nhiều tính năng cải tiến hơn các module dòng ESP8266 khi hỗ trợ thêm các tính năng Bluetooth và Bluetooth Low Energy (BLE) bên cạnh tính năng WiFi. Sản phẩm sử dụng chip ESP32-D0WDQ6 với 2 CPU có thể được điều khiển độc lập với tần số xung clock lên đến 240 MHz. Module hỗ trợ các chuẩn giao tiếp SPI, UART, I2C và I2S và có khả năng kết nối với nhiều ngoại vi như các cảm biến, các bộ khuếch đại, thẻ nhớ (SD card), GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 11
  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 Ở chế độ sleep dòng điện hoạt động là 5 µA nên thích hợp cho các ứng dụng dùng pin như các thiết bị điện tử đeo tay. Ngoài ra module còn hỗ trợ cập nhật firmware từ xa (OTA) do đó người dùng vẫn có thể có những bản cập nhật mới nhất của sản phẩm. Hình 2.6. Vi điều khiển ESP32 WROOM 32 2.2.1.4 Năng lượng ESP32 có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài. Giới hạn điện áp đầu vào tối đa là 15V, trong trường hợp cấp nguồn ở mức tối đa ESP32 sẽ tỏa ra lượng nhiệt khá cao vì không có tích hợp sẵn bộ tản nhiệt. Điện áp đầu vào dùng để cấp nguồn khuyên dùng là 7-12V DC. Thường nó được cấp nguồn bằng adapter 5V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên sẽ làm hỏng ESP32 Dev kit. 2.2.1.5 Tính năng Wi-Fi Kết nối WiFi chính điểm mạnh nhất của chip ESP32, nó có thể kết nối đến các Router sẵn có trong gia đình, các Access Point với các tiêu chuẩn kết nối thông dụng hiện nay ở tần số 2.4GHz - ở chế độ STA. Ngoài ra, ESP32 còn hỗ trợ chế độ AP (Access Point), tức là nó có thể khởi động một (hoặc nhiều) Access Point và cho phép các client khác có thể kết nối vào, hoặc chạy đồng thời cả chế độ STA và AP. Trong đa phần các ứng dụng thì chế độ STA được sử dụng rất nhiều, nó giúp thiết bị kết nối đến mạng WiFi cục bộ, có internet để kết nối đến Server và gởi dữ liệu. Một số trường hợp khác thì chế độ AP được sử dụng để trao đổi dữ liệu với ESP32 và máy tính GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 12
  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 (hoặc thiết bị có hỗ trợ trình duyệt). Ví dụ như điều khiển đóng tắt đèn thông qua Web Server chạy trên ESP32. WiFi Access Point là một thiết bị xử lý kết nối trung tâm và phân phối các luồng dữ liệu. Như là việc xử lý các gói tin IP để định địa chỉ mạng LAN, định tuyến các gói tin từ Internet về các máy trạm (Station). Thiết bị kết nối đến Access Point được gọi là Station, các máy tính Laptop, máy tính có card WiFi khi kết nối vào Access Point thì đều được gọi là Station Các Station khi muốn kết nối vào Access Point thì cần xác định thông qua BSSID, thông thường chúng ta hay gọi là SSID - hay mạng WiFi. Bạn có thể dễ dàng xem danh sánh SSID xung quanh mình khi scan wifi trên máy tính để kết nối mạng Internet. 2.2.2 Sơ lược các thiết bị cảm biến 2.2.2.1 Cảm biến nhiệt độ, độ ẩm DHT-11 • Giới thiệu Cảm biến độ ẩm và nhiệt độ DHT11 Temperature Humidity Sensor là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào. Hình 2.7. Cảm biến DHT-11 • Thông tin kỹ thuật Thông số Chi tiết Điện áp đầu vào 3 ± 5 VDC. Dòng sử dụng 2.5mA max (khi truyền dữ liệu). Độ ẩm 20 - 70% RH với sai số 5% - Phạm vi đo nhiệt độ 0 - 50°C sai số ±2°C. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 13
  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 Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần) Kích thước 15mm x 12mm x 5.5mm Số chân 4 chân, khoảng cách chân 0.1 Bảng 2.2. Thông số kỹ thuật của cảm biến nhiệt độ, độ ẩm DHT-11 • Giao tiếp ESP32 Vin GND Analog Pin DHT-11 Vcc GND Aout Adapter 5V GND Bảng 2.3. Giao tiếp DHT-11 với ESP32 2.2.2.2 Cảm biến không khí MQ-2 • Giới thiệu MQ-2 là cảm biến khí, dùng để phát hiện các khí có thể gây cháy. Nó được cấu tạo từ chất bán dẫn SnO2. Chất này có độ nhạy cảm thấp với không khí sạch. Nhưng khi trong môi trường có chất gây cháy, độ dẫn của nó thay đổi ngay. Chính nhờ đặc điểm này người ta thêm vào mạch đơn giản để biến đổi từ độ nhạy này sang điện áp. - Khi môi trường sạch điện áp đầu ra của cảm biến thấp, giá trị điện áp đầu ra càng tăng khi nồng độ khí gây cháy xung quanh MQ-2 càng cao. Hình 2.8. Cảm biến MQ-2 MQ-2 hoạt động rất tốt trong môi trường khí hóa lỏng LPG, H2, và các chất khí gây cháy khác. Nó được sử dụng rộng rãi trong công nghiệp và dân dụng do mạch đơn giản và chi phí thấp. • Thông số kỹ thuật GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 14
  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 Thông số Chi tiết Điện áp đầu 5V ± 0.1 AC/DC Phạm vi phát hiện 300 - 10000 ppm Cảm kháng 1KΩ - 20KΩ / 50ppm Thời gian đáp ứng vào ≤10s Thời gian phục hồi ≤ 30s Trở kháng khi nóng 31Ω ± 3Ω Dòng tiêu thụ khi nóng ≤ 180mA Điện áp khi nóng 5.0V ± 0.2V Năng lượng khi nóng ≤ 900mW Điện áp đo ≤ 24V Thời gian đốt nóng cần thiết Ít nhất 24 giờ Bảng 2.4. Thông số kỹ thuật MQ-2 • Giao tiếp ESP32 Vin GND Analog Pin MQ-2 Vcc GND Aout Adapter 5V GND Bảng 2.5. Giao tiếp MQ-2 với ESP32 2.2.2.3 Cảm biến chất lượng không khí MQ-135 • Giới thiệu MQ-135 thường được dùng trong các thiết bị kiểm tra chất lượng không khí bên trong cao ốc, văn phòng, thích hợp để phát hiện NH3, NOx, Ancol, Benzen, khói, CO2, MQ- 135 được thiết kế mạch đơn giản và có độ nhạy cao với các thay đổi môi trường. Nó có thời gian sử dụng lâu, bền bỉ. Hình 2.9. Cảm biến MQ-135 GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 15
  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 • Thông số kỹ thuật Thông số Chi tiết Điện áp đầu 5V ± 0.1 AC/DC 10 - 300 ppm NH3, 10 - 1000 ppm Phạm vi phát hiện Benzene, 10 - 300 Alco Điện trở tải Thay đổi được (2kΩ-47kΩ) Thời gian phục hồi ≤ 30s Trở kháng khi nóng 33Ω ± 5% Năng lượng khi nóng ≤ 800mW Điện áp đo ≤ 24V Thời gian đốt nóng cần thiết Ít nhất 24 giờ Bảng 2.6. Thông số kỹ thuật của MQ-135 • Giao tiếp ESP32 Vin GND Analog Pin MQ-135 Vcc GND Aout Adapter 5V GND Bảng 2.7. Giao tiếp MQ-135 với ESP32 2.2.3 Ngôn ngữ lập trình PHP 2.2.3.1 Giới thiệu Hiện nay có rất nhiều ngôn ngữ lập trình web khác nhau có thể giúp cho lập trình viên thiết kế được những trang web tốt như : Java, Asp.net, PHP . Nhưng với sự vượt trội cũng như các tính năng mạnh mẽ PHP đã vương lên và trở thành ngôn ngữ web hàng đầu được rất nhiều lập trình viên ưu chuộng và đa số các trang web hiện nay đều được viết bằng PHP. Nhờ tính năng mã nguồn mở mà PHP đã trở thành một ngôn ngữ mà ai cũng có thể tiếp cận. PHP (viết tắt của "Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã html trên client. PHP đã trải qua rất nhiều phiên bản GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 16
  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 và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng. PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP). • Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt. • MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu. • Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver. Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu (“PHP,” n.d.-a) Hình 2.10. Sơ đồ hoạt động của PHP 2.2.3.2 Mô hình MVC MVC là từ viết tắt bởi 3 từ Model – View – Controller. Đây là mô hình thiết kế sử dụng trong kỹ thuật phần mềm. Mô hình source code thành 3 phần, tương ứng mỗi từ. Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 17
  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 Hình 2.11. Sơ lược tổng quát về mô hình MVC Để hiểu rõ hơn, sau đây chúng ta sẽ cùng đi phân tích từng thành phần: • Model (M): Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng. Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View và Controller. Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường. Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu, • View (V): Đây là phần giao diện (theme) dành cho người sử dụng. Nơi mà người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếm hoặc sử dụng thông qua các website. Thông thường, các ứng dụng web sử dụng MVC View như một phần của hệ thống, nơi các thành phần HTML được tạo ra. Bên cạnh đó, View cũng có chức năng ghi nhận hoạt động của người dùng để tương tác với Controller. Tuy nhiên, View không có mối quan hệ trực tiếp với Controller, cũng không được lấy dữ liệu từ Controller mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi. Ví dụ: Nút “delete” được tạo bởi View khi người dùng nhấn vào nút đó sẽ có một hành động trong Controller. • Controller (C): GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 18
  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 Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view. Từ đó, C đưa ra dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller còn có chức năng kết nối với model. 2.2.4 Hệ quản trị cơ sở dữ liệu 2.2.4.1 Tổng quan về Hệ quản trị cơ sở dữ liệu Nói một cách đơn giản, thì một hệ quản trị CSDL, hay Database Management System (DBMS) được định nghĩa là một ứng dụng phần mềm máy tính, một hệ thống được thiết kế, sử dụng để tạo và quản lý một khối lượng dữ liệu nhất định trong cơ sở dữ liệu một cách tự động và có trật tự. Nhiệm vụ của chúng là cung cấp cho người sử dụng, lập trình viên và các công ty thiết kế website một giải pháp thích hợp để họ có thể truy xuất, kiểm soát, cập nhập và tạo dữ liệu. 2.2.4.2 Vai trò của hệ quản trị cơ sở dữ liệu trong lập trình Chúng ta đều biết với sự lên ngôi của công nghệ số, hầu hết các quy trình, hệ thống quản trị, đều được mã hóa và vận hành bởi các phần mềm, thiết bị. Điều này nhằm hỗ trợ các đối tượng sử dụng có thể đạt được hiệu suất làm việc tốt nhất. Dựa trên cơ sở đó, sự ra đời của các cơ sở quản trị dữ liệu đóng vai trò rất quan trọng để có thể quản lý lẫn xử lý các nguồn dữ liệu, thông tin đơn lẻ. Một số chức năng chính của hệ quản trị cơ sở dữ liệu có thể kể đến như: • Cung cấp môi trường để tạo lập nên cơ sở dữ liệu: cụ thể hơn, chúng cung cấp cho người sử dụng một ngôn ngữ định nghĩa dữ liệu để có thể mô tả, khai báo kiểu dữ liệu hoặc các cấu trúc dữ liệu. • Cách thức cập nhật và khai thác các dữ liệu: ngoài ngôn ngữ định nghĩa dữ liệu, hệ quản trị cơ sở dữ liệu còn cung cấp ngôn ngữ thao tác dữ liệu bao gồm cập nhật (nhập, sửa, xóa các dữ liệu) và khai thác (tìm kiếm, kết xuất các dữ liệu). • Cung cấp các công cụ điều khiển, kiểm soát truy cập vào cơ sở dữ liệu: điều này sẽ đảm bảo một số yêu cầu cơ bản của hệ cơ sở dữ liệu được thực hiện, chẳng hạn như duy trì tính nhất quán dữ liệu, khả năng tổ chức và điều khiển các truy cập, phát hiện và ngăn chặn các truy cập bất hợp pháp nhằm đảm bảo an ninh, 2.2.4.3 Hệ quản trị cơ sở dữ liệu MySQL GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 19
  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 MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. Người dùng có thể tải về MySQL miễn phí từ trang chủ. MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl, (“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à: 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
  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 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
  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 • 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
  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 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
  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 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
  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 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
  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 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 if else [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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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ện Hà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
  53. 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ướ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
  54. 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 : • 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
  55. 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
  56. 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
  57. 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ày cũng không cho phép null. - ma_vaitro là một khóa phụ trỏ đến trường ma_vaitro của bảng vaitro, mục đích là để phân quyền hệ thống. Dữ liệu mẫu : Bảng 3.5. Dữ liệu mẫu cho bảng taikhoan • Bảng Trạm quan trắc GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 42
  58. 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.6. Bảng tramquantrac Bảng trạm quan trắc dùng để lưu trữ thông tin các nhà máy rác thải. Một số trường đặt biệt : - ma_tram là mã dùng để phân biệt giữa các trạm với nhau, ma_tram là khóa chính và bắt buộc, không cho phép null. - taikhoan_quanly là khóa phụ trỏ đến trường tendangnhap của bảng taikhoan nhằm mục đích định danh người được phân công quản lý trạm này là ai. Dữ liệu mẫu : Bảng 3.7. Dữ liệu mẫu bảng tramquantrac • Bảng đơn vị đo Bảng 3.8. Bảng donvido Bảng đơn vị đo dùng để lưu trữ thông tin đơn vị của các cảm biến. Một số trương đặt biệt : - ma_donvi là mã dùng để phân biệt giữa các đơn vị với nhau, ma_donvi là khóa chính và bắt buộc, không cho phép null Dữ liệu mẫu : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 43
  59. 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.9. Dữ liệu mẫu cho bảng donvido • Bảng cảm biến Bảng 3.10. Bảng cambien Bảng cảm biến dùng để lưu trữ thông tin của các nòng độ, nhiệt độ, nói chung lại nó là nơi lưu thông tin của các cảm biến được lặp tại các trạm. Một số trường đặt biệt: - ma_cambien là mã dùng để phân biệt các cảm biến với nhau, ma_cambien là khóa chính, bắt buộc và không cho phép null. - ma_donvi là khóa phụ trỏ đến trường ma_donvi trong bảng donvido, mục đích là để xác định xem cảm biến, nòng độ này có đơn vị gì. - ma_tram là khóa phụ trỏ đến trường ma_tram trong bảng tramquantrac, mục đích là để xác định xem cảm biến đó được lắp đặt ở trạm (nhà máy) nào. Dữ liệu mẫu : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 44
  60. 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.11 . Dữ liệu mẫu cho bảng cảm biến • Bảng giá trị Bảng 3.12. Bảng giatri Bảng giá trị là một bảng khá đặt biệt. Bảng này được thiết kế ra nhằm mục đích lưu trữ các giá trị của từng cảm biến được lắp ở các trạm gửi lên theo thời gian thực. Một số trường đặt biệt : - ma_cambien là một khóa chính trỏ đến trường ma_cambien trong bảng cambien. Mục đích nhằm xác định giá trị được gửi lên theo thời gian thực tại thời điểm đó là của cảm biến nào. Dữ liệu mẫu : Bảng 3.13. Dữ liệu mẫu cho bảng cambien • Bảng vai trò GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 45
  61. 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.14. Bảng vaitro Bảng vai trò dùng để lưu trữ thông tin liên quan tới việc phân quyền hệ thống, bảng này là từ điển các vai trò có trong hệ thống. Một số trường đặt biệt : - ma_vaitro là một khóa chính của bảng vaitro, trường này dùng để phân biệt các vai trò với nhau. Dữ liệu mẫu : Bảng 3.15. Dữ liệu mẫu cho bảng vaitro • Bảng chức năng Bảng 3.16. Bảng chucnang Bảng chức năng cũng là một bảng lưu trữ thông tin liên quan tới phân quyền hệ thống, bảng này là từ điển các chức năng có trong hệ thống. Một số trường đặt biệt : - ma_chucnang là khóa chính của bảng, trường này dùng để phân biết các chức năng với nhau. Dữ liệu mẫu : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 46
  62. 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.17. Dữ liệu mẫu cho bảng chucnang • Mối quan hệ vai trò và chức năng. Bảng 3.18. Bảng quan hệ vai trò với chức năng Bảng này là một mối quan hệ 1,n – 1,n giữa hai bảng vai trò và chức năng. Mối quan hệ này có ý nghĩa là: một vai trò có thể sử dụng được ít nhất là một hoặc nhiều chức năng và một chức năng có thể được sử dụng ở ít nhất là một hoặc nhiều vai trò cho phép. Một số trường đặt biệt : - ma_phancong là khóa chính của bảng, dùng để phân biệt các phân công khác nhau. - ma_vaitro là khóa phụ trỏ đến trường ma_vaitro của bảng vaitro. Mục đích là để xác định vai trò nào được phân công. - ma_chucnang là khóa phụ trỏ đến trường ma_chucnang của bảng chucnang. Mục đích là để xác định chức năng nào được phân công cho vai trò nào. Dữ liệu mẫu : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 47
  63. 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.19. Dữ liệu mẫu phân công vai trò và chức năng 3.3.3 Lập trình phần mềm 3.3.3.1 Cài đặt chức năng và giao diện • Chức năng đăng nhập, đăng xuất. - Mục đích : Đăng nhập vào hệ thống để sử dụng các chức năng ,Đăng xuất khỏi hệ thống để thoát. - Lưu đồ thuật toán : Hình 3.10. Lưu đồ thuật toán chức năng đăng nhập GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 48
  64. 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.11. Lưu đồ thuật toán chức năng đăng xuất • Giao diện : Hình 3.12. Giao diện chức năng đăng nhập Hình 3.13. Giao diện chức năng đăng xuất GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 49
  65. 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ức năng đăng ký tài khoản. - Mục đích : Đăng ký tài khoản thành viên để sử dụng hệ thống - Lưu đồ thuật toán : Hình 3.14. Lưu đồ thuật toán chức năng đăng kí - Giao diện : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 50
  66. 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.15. Giao diện chức năng đăng kí • Chức năng xem tổng quan. - Mục đích : Cung cấp một giao diện thống kê dữ liệu một cách nhanh và trực quan nhất. - Chức năng và giao diện : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 51
  67. 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.16. Điều hướng qua chức năng xem tổng quan Phần đầu trang tổng quan người dùng sẽ ngay lập tức biết được các số liệu thống kê liên quan đến số trạm, số cảm biến, vị trí của các trạm quan trắc trên bản đồ, người dùng có thể nhấp vào điểm đánh dấu trên bảng đồ để xem nhanh các thông tin về trạm quan trắc. Hình 3.17. Giao diện đầu trang Tổng Quan Tiếp theo khi lướt xuống bên dưới ta sẽ thấy được phần biểu đồ thống kê số liệu trung bình theo ngày của các cảm biến tại một trạm nào đó qua các ngày, biểu đồ thống kê theo mốc thời gian và khoảng thời gian người sử dụng có thể tự đặt. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 52
  68. 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.18. Giao diện giữa trang Tổng Quan Cuối trang sẽ là các bảng cũng có chức năng thống kê số liệu trung bình theo ngày của các cảm biến tại một trạm nào đó qua các ngày, điều khác biệt ở đây là chúng ta có thể xem thống kê chi tiết ngày đó các lựa chọn tính trung bình theo giờ, phút hoặc thậm chí là theo giây. Hình 3.19. Các bảng thống kê số liệu của một trạm theo ngày GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 53
  69. 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.20. Giao diện thống kê chi tiết giá trị cảm biến trong một ngày Khi nhấn vào nút “Hẹn giờ gửi mail tổng hợp” một cửa sổ nhỏ sẽ hiển thị lên. Nội dung của nó là đặt giờ để hệ thống gửi file Excel tổng hợp vào email của người quản lý. Hình 3.21. Giao diện cửa sổ hẹn giờ gửi mail tổng hợp Về phương thức gửi mail đề tài sử dụng thư viện hỗ trợ cho việc gửi mail khá tiện lợi trong PHP có tên là PHPMailer. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 54
  70. 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.22 Sử dụng PHPMailer để thực hiện chức năng gửi mail trích xuất Các tính năng của PHPMailer : • Gửi mail thông qua giao thức SMTP. • Có thể dễ dàng dùng địa chỉ email cá nhân hoặc email công ty của bạn để gửi đi làm tăng độ uy tín cho mail. • Gửi mail nhanh ít lỗi mail được chuyển vào thằng vào inbox. • Có thể thêm cc,bcc, đính kèm file. Hình 3.23. Test chức năng gửi mail tổng hợp của hệ thống(1) GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 55
  71. 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.24. Tập tin tổng hợp đính kèm Hình 3.25. Kiểm tra chức năng xuất File Excel(1) GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 56
  72. 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.26. Kiểm tra chức năng xuất File Excel(2) • Chức năng quản lý trạm quan trắc. - Mục đích : Cung cấp một giao diện quản lý trạm quan trắc một cách trực quan và chuyên nghiệp. - Chức năng và giao diện: Hình 3.27. Điều hướng đến trang quản lý trạm quan trắc Giao diện của trang quản lý trạm quan trắc khá là trực quan và đơn giản, người dùng sẽ biết được có bao nhiêu trạm người đó quản lý và nằm ở những vị trí nào trên bản đồ thế GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 57
  73. 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 giới. Người dùng cũng có thể nhấp vào điểm đánh dấu trên bản đồ để xem nhanh các thông tin của trạm mình đang quản lý hoặc có thể nhấn vào nút xem chi tiết để thực hiện các thao tác khác. Riêng với tài khoản có quyền “Quản trị viên” thì có thể xem tất cả các trạm của tất cả các tài khoản trong hệ thống. Chưa hết, tài khoản có quyền “Quản trị viên” cũng có thể làm những thao tác mà các tài khoản bình thường không được cho phép như : lắp thêm trạm, phân công người quản lý Hình 3.28. Giao diện trang quản lý trạm quan trắc Khi người sử dụng hệ thống nhấp vào nút xem chi tiết hay nhấp vào tên trạm trong danh sách bên dưới thì sẽ hiện ra một cửa sổ, nội dụng của cửa sổ đó là thông tin chi tiết trạm cùng với hiển thị các số liệu môi trường từ các trạm gửi lên theo thời gian thực. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 58
  74. 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.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 Khi đang ở giao cửa sổ như trên hình, nếu người dùng nhấn vào nút bổ sung cảm biến, một cửa sổ nhỏ tiếp theo sẽ mở lên và cho phép người dùng xem được danh sách các cảm biến được lắp đặt trong trạm, bên cạnh đó người dùng cũng có thể lắp thêm cảm biến mới hoặc tháo đi nếu trong trạm thực tế không còn cảm biến đó nữa. Trong lúc chỉnh sửa thông tin cảm biến, nếu muốn người dùng cũng có thể bổ sung thêm đơn vị đo cho cảm biến của mình. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 59
  75. 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.30. Chỉ có quản trị viên mới có quyền phân công người quản lý Hình 3.31. Hay lắp đặt thêm một trạm quan trắc mới GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 60
  76. 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.32. Cửa sổ chức năng bổ sung cảm biến Hình 3.33. Cửa sổ xem chi tiết và chỉnh sửa cảm biến GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 61
  77. 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.34. Cửa sổ chỉnh sửa thông tin đơn vị Hình 3.35. Bổ sung thêm đơn vị mới nếu cần • Chức năng quản lý thông tin cá nhân. - Mục đích : Cung cấp cho người dùng các giao diện để người dùng xem và chỉnh sửa thông tin cá nhân của bản thân một cách trực quan và nhanh chóng. - Chức năng và giao diện : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 62
  78. 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.36. Điều hướng đến trang xem thông tin cá nhân Giao diện thông tin cá nhân có ba phần chính đó là danh sách trạm mình đang quản lý, chỉnh sửa địa chỉ cá nhân và chỉnh sửa thông tin cá nhân. Hình 3.37. Giao diện chỉnh sửa thông tin cá nhân Hình 3.38. Giao diện xem và chỉnh sửa địa chỉ cá nhân GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 63
  79. 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.39. Giao diện xem danh sách trạm quản lý • Chức năng quản lý nhân sự. - Mục đích : Cung cấp cho người dùng với vai trò là “Quản trị viên” các giao diện và chức năng để quản lý nhân viên nhanh chóng và đạt hiệu quả cao. - Chức năng và giao diện : Hình 3.40. Điều hướng đến trang quản lý nhân sự Quản lý nhân sự là chức năng đặt biệt, chỉ có tài khoản có quyền “Quản trị viên” mới có thể sử dụng chức năng này. Quản lý nhân sự cho người sử dụng xem được danh sách nhân viên đang làm việc trong hệ thống giám sát của mình, bên cạnh đó với vai trò là “Quản trị viên” người sử dụng có thể chỉnh sửa một số thông tin cơ bản của nhân viên. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 64
  80. 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.41. Giao diện chính của trang quản lý nhân sự Để chỉnh sửa hay muốn xem nhiều thông tin hơn, người sử dụng chỉ cần nhấn vào nút màu xanh có chú thích “xem thông tin” ở góc phải dưới của mỗi thẻ. Hình 3.42. Giao diện xem và chỉnh sửa thông tin nhân viên • Chức năng cài đặt và phân quyền - Mục đích : Cung cấp cho “Quản trị viên” giao diện và chức năng phân quyền hệ thống một cách trực quan, sử dụng dễ dàng và hiệu quả cao. - Chức năng và giao diện : GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 65
  81. 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.43. Điều hướng đến trang phân quyền Cài đặt và phân quyền cũng là một chức năng đặc biệt và có phần quan trọng vì thế nên chỉ có tài khoản có quyền “Quản trị viên” mới có thể sử dụng chức năng này. Cài đặt và phân quyền cho phép “Quản trị viên” hệ thống phân công cho từng nhân viên của mình trong hệ thống, bên cạnh đó nó còn cho phép người sử dụng cài đặt cho từng vai trò được sử dụng gồm những chức năng gì hay có thể thêm vai trò và chức năng nếu thật sự cần thiết. Hình 3.44. Giao diện chính của trang phân quyền và cài đặt GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 66
  82. 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.45. Cửa sổ phân công chức năng cho từng vai trò Hình 3.46. Thêm vai trò mới GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 67
  83. 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.47. Thêm chức năng mới nếu cần thiết GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 68
  84. 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 4: KẾT LUẬN 4.1 KẾT QUẢ ĐẠT ĐƯỢC Sau thời gian tìm tòi, nghiên cứu và làm việc một cách nghiêm túc, đến nay đề tài cũng đã xây dựng được một hệ thống quản lý giám sát, thu thập và thống kê ứng dụng cho các nhà máy xử lý rác thải. Hệ thống chạy được trên nền tảng website, có giao diện trực quan và thân thiện với người dùng kể cả khi truy cập bằng điện thoại thông minh, có các chức năng cơ bản của một hệ thống quản lý như phân quyền và cài đặt hay quản lý nhân sự. Toàn bộ mã nguồn của hệ thống phần mềm được chia sẽ tại địa chỉ : Đồng thời bên cạnh đó đề tài nhằm với mục đích kiểm thử lý thuyết và kiểm tra chức năng giám sát thời gian thực của hệ thống phần mềm. Sau một thời gian nghiên cứu lý thuyết và thực hành nghiêm túc, đề tài cũng đã lắp ráp thành công phần cứng là một mạch điện tử khá hoàn chỉnh. Mô phỏng và xây dựng được mã nguồn đo lường và truyền gửi dữ liệu từ ESP32 và các cảm biến. File mã nguồn được lưu tại địa chỉ sau đây : Lý thuyết : • Tìm hiểu về cấu trúc và thực thi chương trình cho Arduino. • Tìm hiểu về cấu trúc và thực thi các thiết bị cảm biến. • Nắm được cách thức giao tiếp, nối dây giữa ESP32 và cảm biến. • Ôn lại và nắm được kiến thức về ngôn ngữ lập trình C++. • Ôn lại và tìm hiểu thêm kiến thức phân tích, thiết kế hệ thống thông tin, phát triển website bằng các công nghệ PHP, MySQL, Ajax, Jquery,Bootstrap, AngularJs • Tìm hiểu cấu trúc mô hình phát triển website theo chuẩn MVC. • Tiếp cận, làm quen với phát triển dự án hệ thống nhúng. • Kỹ năng quản lý thời gian, làm việc độc lập và đặc biệt là kỹ năng giao tiếp, đặt câu hỏi trực tiếp qua các diễn đàn nước ngoài, từ đó nâng cao kiến thức chuyên ngành cũng như trau dồi ngoại ngữ. 4.2 HẠN CHẾ GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 69
  85. 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 Do thời gian nghiên cứu có hạn nên phải vừa nghiên cứu và lập trình do đó trong quá trình thực hiện đề tài gặp khá nhiều khó khăn. Hơn nữa bản thân cũng chưa có nhiều kinh nghiệm trong lĩnh vực điện tử, iot nên đề tài khó có thể tránh một số hạn chế: Hạn chế về trang bị thiết bị là một hạn chế lớn để có thể phát triển bộ công cụ lập trình hỗ trợ thêm nhiều cảm biến hơn nữa. Đặc biệt, việc thiếu các thiết bị đo lường chuẩn làm cho việc kiểm tra độ chính xác của cảm biến trở nên khó khăn. Hạn chế về kiến thức chuyên ngành điện tử nên việc lắp đặt mạch điện còn gặp nhiều khó khăn, đặc biệt là việc điều chỉnh giá trị biến trở, tìm hiểu công thức chuyển đổi điện áp của các cảm biến MQ2, MQ135 và DHT-11. 4.3 HƯỚNG PHÁT TRIỂN Hệ thống quan trắc, giám sát, cảnh báo thông số môi được xây dựng theo hướng hệ thống mở, có thể thiết lập bổ sung nhiều cảm biến, đo lường thêm nhiều thông số quan trọng trong môi trường. Thích hợp lắp đặt ở những trạm xử lý rác thải có quy mô vừa và nhỏ, thậm chí là những nơi cần giám sát thường xuyên mà không nhất thiết phải là trạm xử lý rác thải như : Nhà yến, cây xăng hay các khu vườn sinh thái có quy mô vừa và nhỏ. Bên cạnh đó hệ thống có thể phát triển thêm vô số chức năng khá hay như ngoài việc cảnh báo trên website đồng thời hệ thống sẽ gửi tin nhắn sms khẩn cấp đến người dùng nếu có nguy hiểm, hay người sử dụng có thể đầu tư thêm chi phí để lắp đặt các module xử lý vấn đề ngay lặp tức khi có sự cố xẩy ra như module còi báo động, module phun nước chữa cháy hay phun dung dịch khử trùng khi mức ô nhiểm tăng cao GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 70
  86. 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 TÀI LIỆU THAM KHẢO [1] Đỗ Trung Kiên, Huỳnh Minh Trí, Giáo trình Lập Trình Nhúng 2019. [2] Nguyễn Bá Quang Lâm, BÀI GIẢNG LẬP TRÌNH WEB. [3] Phạm Thị Xuân Lộc, Phân Tích Hệ Thống Thông Tin. [4] Charalampos Doukas, Building Internet of Things with the Arduino, CreateSpace, 2012. [5] Cuno Pfister, Getting Started with the Internet of Things Paperback, O'Reilly Media 2011. [6] Kiều Xuân Thực, Vũ Thị Thu Hương và Vũ Trung Kiên, Vi điều khiển cấu trúc lập trình và ứng dụng. Nhà xuất bản Giáo dục Hà Nội, 2008. [7] Phạm Minh Tuấn, Internet of Things cho người mới bắt đầu, Iotmackervn, 2017. GVHD: Ths. Đỗ Trung Kiên SVTH: Giang Thành Đạt Trang 71