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