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. 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
Trang 1KHOA THÔNG TIN & TRUYỀN THÔNG
NGÀNH : CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN - CÔNG NGHỆ CAO
Trang 2KHOA 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
MSSV : 1703206118
Kiên Giang, 12/2020
Trang 3LỜ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ệncủa em tại Khoa TT&TT - Trường ĐHKG, là ngưỡng cửa để em bước từ môi trường họctậ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ữngthầ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ếnthứ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ữngkiế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ậnnà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ánhkhỏ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ậnvă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
Trang 4LỜ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ậnnà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
Trang 5NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
……
………
… ………
… ………
… ………
… ………
… ………
… ………
… ………
… ………
… ………
… ………
…
Trang 6Kiên Giang, ngày 07 tháng 12 năm 2020
Giáo viên hướng dẫn
Ths.Đỗ Trung Kiên
Trang 7NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1
Trang 8Kiên Giang, ngày … tháng … năm 2020
(Ký và ghi rõ họ tên)
Trang 9NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2
Trang 10Kiên Giang, ngày … tháng … năm 2020
Giáo viên phản biện (Ký và ghi rõ họ tên)
Trang 11BỘ 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ị: ………
………
……
Trang 12Ngày … tháng … năm 2020.
Người đánh giá
Trang 13MỤ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 MỤC LỤC VIII 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
Trang 142.2.1 ESP32 9
2.2.1.1 GIỚI THIỆU 9
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
Trang 153.1 GIỚI THIỆU TỔNG QUAN 33
3.2 THIẾT KẾ HỆ THỐNG – PHẦN CỨNG 34
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 41
3.3.2 PHÂN TÍCH CƠ SỞ DỮ LIỆU 42
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
DANH MỤC BẢN
Trang 16Bả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 43
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 44
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 46
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
DANH MỤC HÌN
Trang 17Hì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 42
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
Trang 18Hì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
Trang 19DANH MỤC CÁC TỪ VIẾT TẮT
Trang 20CHƯƠ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ệcphá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 đếnmô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ôitrườ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áchphả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ôitrườ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ápthủ 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ấtdự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ễ
Trang 21dà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ếtkiệm được thời gian và công sức đo đạt, kiểm tra, lấy mẩu và phân tích.
1.2 MỤC TIÊU CỦA ĐỀ TÀI
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ờigian 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
Trang 22 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.
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
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 đếntầng Client
Trang 23CHƯƠ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ênkhắ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ầncủ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únggiao 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.2 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ạnvậ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ănphò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ạpnhư 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ôngminh đ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ôitrường
Trang 24Cụ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ọ chorằ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áymóc, thiết bị và dịch vụ với nhau Ban đầu, IoT không mang ý nghĩa tự động và thôngminh 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ôitrườ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ệctí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 thuthậ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 Xuhướ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ạnginternet 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ôngminh và loa thông minh Các thiết bị IoT dành cho doanh nghiệp được sử dụng nhiềunhất sẽ là đồng hồ điện thông minh và camera an ninh thương mại, theo Gartner
Hình 2.3 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ớncủ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
Trang 25mớ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 ofthings.
2.1.2 Hệ thống Internet of Things (IoT System)
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 khixâ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 đổicá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à nhucầu của người sử dụng, song nhìn chung những vấn đề quan trọng của hệ thống IoTthường thấy sẽ bao gồm những đặc điểm bên dưới
Hình 2.4 Những đặc điểm chung của IoT
Trang 26Connectivity - 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ủangười dùng
Things – Things nhìn chung là bất cứ thứ gì có thể kết nối và giao tiếp với mạnginternet 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ốikhô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ântí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ệnhoặ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áthiệ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áctá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 ofThings) 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ựctrong đờ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ủaIoT:
Trang 27Cả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 giá về sản phẩm, …Bên cạnh đó chúng cũng có khả năng cho phép người dùngchia 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êntiế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ớigiá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ậycho 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ạnhbê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ộtcá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ứ
Trang 28chư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ỏ đượcnhữ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ựcbở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ềnthông trong IoT.
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ườidâ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ởithế 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ốiinternet 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ănggiao 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ấtnhiề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 tinngườ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ôngnghệ 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.1 DỊCH VỤ, NỀN TẢNG SỬ DỤNG TRONG ĐỀ TÀI
Trang 292.1.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ãitrong 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 đếnnhững ứ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 đếngiải mã MP3
Hình 2.5 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ố clockcủ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ủacá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ếnHall, 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ềuloạ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épkết nối rộng rãi về mặt vật lý ra Internet qua Wi-fi router, trong khi sử dụng Bluetoothcho 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ạchdùng pin hay thiết bị đeo được Tốc độ truyền thông cho phép lên đến 150 Mbps, và côngsuấ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 modulenà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
Trang 30cậ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 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ệmtiền bạc và nhân lực
2.2.1.2 Thông số cơ bản
Vi điều khiển Dual-Core 32-bit (ESP-WROOM-32)
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.6 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êmcác tính năng Bluetooth và Bluetooth Low Energy (BLE) bên cạnh tính năng WiFi Sảnphẩ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
Trang 31Module hỗ trợ các chuẩn giao tiếp SPI, UART, I2C và I2S và có khả năng kết nốivới nhiều ngoại vi như các cảm biến, các bộ khuếch đại, thẻ nhớ (SD card),…
Ở 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ùngpin 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.7 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ớihạ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ớihạ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ácRouter 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ệnnay ở tần số 2.4GHz - ở chế độ STA Ngoài ra, ESP32 còn hỗ trợ chế độ AP (AccessPoint), tức là nó có thể khởi động một (hoặc nhiều) Access Point và cho phép các clientkhác có thể kết nối vào, hoặc chạy đồng thời cả chế độ STA và AP
Trang 32Trong đ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(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 WebServer 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áytí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 danhsánh SSID xung quanh mình khi scan wifi trên máy tính để kết nối mạng Internet
2.1.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ấtthô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 (giaotiế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ếngiú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.8 Cảm biến DHT-11
Thông tin kỹ thuật
Dòng sử dụng 2.5mA max (khi truyền dữ liệu).
Phạm vi đo Độ ẩm 20 70% RH với sai số 5% nhiệt độ 0
Trang 33-50°C sai số ±2°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
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 khitrong 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àyngườ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ôitrườ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
Phạm vi phát hiện 300 - 10000 ppm
Trang 34Thời gian phục hồi ≤ 30s
… 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.10 Cảm biến MQ-135
Thông số kỹ thuật
Phạm vi phát hiện 10 - 300 ppm NH3, 10 - 1000 ppm Benzene, 10 -300 AlcoĐiện trở tải Thay đổi được (2kΩ-47kΩ)
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
Trang 35mẽ PHP đã vương lên và trở thành ngôn ngữ webhà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ênbản 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ệtngườ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)
Trang 36Hình 2.11 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
Hình 2.12 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):
Trang 37Là 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ộtcầ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ậnhoạt động của người dùng để tương tác với Controller Tuy nhiên, View không có mốiquan hệ trực tiếp với Controller, cũng không được lấy dữ liệu từ Controller mà chỉ hiểnthị 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ộthành động trong Controller
Controller (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ếtnối với model
2.1.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 ManagementSystem (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ể truyxuấ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ốngquả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ở đó,
Trang 38sự 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 chongườ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ạnnhư 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
MySQL là hệ quản trị cơ sở dữ liệu tự donguồ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ệutố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 íchrấ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ó truycậ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ềuhành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGIIrix, 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
Trang 39phpMyAdmin 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ệntrực quan, dễ sử dụng phpMyAdmin là một trongnhữ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ềnnhữ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, phpMyAdmin cũng cho phép người dùng thực thi, truy vấn thông qua câu lệnhSQL nếu cần
Trang 40Hình 2.13 Giao diện cơ bản của Hệ quản trị cơ sở dữ liệu phpMyAdmin
2.1.5 HTML
2.1.5.1 Giới thiệu chung
HTML: HyperText Markup Language – Ngôn ngữ đánh dấusiêu văn bản Do Tim Berne r Lee phát minh và được W3C (WorldWide 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ôngphân biệt chữ hoa, chữ thường Các trình duyệt thường không báolỗ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
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