Nội dung thực hiện đề tài: Thiết kế và xây dựng hệ thống ngôi nhà thông minh qua việc giám sát nhiệt độ, khả năng rò rỉ gas, tình trạng thời tiết, đồng thời điều khiển các thiết bị gia
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ÐIỆN TỬ TRUYỀN THÔNG
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH
NGÔI NHÀ THÔNG MINH
GVHD: TRƯƠNG NGỌC HÀ SVTH : NGUYỄN THÀNH NHÂN MSSV: 13141524
S K L 0 0 5 4 2 3
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
-
ĐỒ ÁN TỐT NGHIỆP
Đề tài:
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH
NGÔI NHÀ THÔNG MINH
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
-
ĐỒ ÁN TỐT NGHIỆP
Đề tài:
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH
NGÔI NHÀ THÔNG MINH
Trang 4Tp Hồ Chí Minh, ngày tháng 7 năm 2019
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Nguyễn Thành nhân MSSV: 13141524
Ngành: Công nghệ kỹ thuật điện tử truyền thông Lớp: 13141CL-VT
Giảng viên hướng dẫn: ThS Trương Ngọc Hà ĐT: 0928370302
Ngày nhận đề tài: 06/03/2019 Ngày nộp đề tài: 08/07/2019
1 Tên đề tài: Thiết kế và thi công mô hình ngôi nhà thông minh
2 Các số liệu, tài liệu ban đầu: Đồ án môn học 2: Thiết kế và thi công hệ thống thu thập dữ liệu nhiệt độ, độ ẩm qua webserver
3 Nội dung thực hiện đề tài: Thiết kế và xây dựng hệ thống ngôi nhà thông minh qua việc giám sát nhiệt độ, khả năng rò rỉ gas, tình trạng thời tiết, đồng thời điều khiển các thiết bị gia dụng Thu thập thông số của hệ thống và điều khiển hoạt động của
hệ thống qua App trên điện thoại di động sử dụng công nghệ truyền thông mạng Wifi
4 Sản phẩm: Mô hình hệ thống ngôi nhà thông minh gồm khối xử lý trung tâm thu thập dữ liệu và điều khiển thiết bị thông qua App trên điện thoại di động chạy hệ điều hành Android thông qua hệ thống Wifi
TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc ***
Trang 5PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Nguyễn Thành Nhân MSSV: 13141524 Ngành: Công nghệ kỹ thuật điện tử truyền thông
Tên đề tài: Thiết kế và thi công mô hình ngôi nhà thông minh
Họ và tên Giáo viên hướng dẫn: ThS Trương Ngọc Hà
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:……….(Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2019 Giáo viên hướng dẫn CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
Trang 6*** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên sinh viên: Nguyễn Thành Nhân MSSV: 13141524 Ngành: Công nghệ kỹ thuật điện tử truyền thông
Tên đề tài: Thiết kế và thi công mô hình ngôi nhà thông minh
Họ và tên Giáo viên phản biện:
NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:……….(Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2019 Giáo viên phản biện CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
Trang 7suốt thời gian thực hiện đồ án tốt nghiệp SVTH xin được phép gửi đến thầy lòng biết
ơn, lời cảm ơn chân thành và sâu sắc nhất
Bên cạnh đó, SVTH cũng xin cảm ơn các bạn sinh viên trong lớp
14141CL-VT đã nhiệt tình đóng góp ý kiến và chia sẻ kinh nghiệm, cảm ơn gia đình đã tạo điều kiện, động viên, chia sẻ và tiếp thêm động lực để giúp SVTH có thể hoàn thành đề tài này
Cuối cùng, dù đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra đảm bảo thời hạn nhưng do kiến thức có hạn nên trong quá trình thực hiện đề tài không tránh khỏi những thiếu sót SVTH rất mong nhận được ý kiến đóng góp của quý thầy cô và các bạn để đồ án được hoàn thiện hơn
Xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Thành Nhân
Trang 8LỜI NÓI ĐẦU
Công nghệ hiện nay ngày càng phát triển, đặc biệt là công nghệ IoTs (Internet
of Things) đang là công nghệ rất phổ biến áp dụng trong mọi lĩnh vực Đi song song với nó thì các căn hộ chung cư cao cấp ngày càng xuất hiện nhiều hơn
Việc ứng công nghệ IoTs vào trong các căn hộ là một trong những ý tưởng sáng tạo vì nó có thể đáp ứng được các nhu cầu sinh hoạt của người dân trở nên dễ dàng, tiện dụng và luôn đảm bảo an toàn cho họ
Chính vì thế, sinh viên lựa chọn đề tài THIẾT KẾ VÀ THI CÔNG MÔ HÌNH NGÔI NHÀ THÔNG MINH nhằm tìm hiểu thêm về sự quan trọng cũng như ứng dụng của vi xử lý, Web Server và mạng Wifi trong đời sống nhằm đáp ứng nhu cầu cấp thiết của xã hội
Bên cạnh việc có thể điều khiển thiết bị gia dụng mọi lúc mọi nơi chỉ cần có internet, hệ thống còn có thể thu thập dữ liệu về nhiệt độ, kiểm soát trường hợp gas
bị rò rỉ và thông báo về tình trạng thời tiết
Trang 9MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii
LỜI CẢM ƠN iv
LỜI NÓI ĐẦU v
MỤC LỤC vi
DANH MỤC CÁC TỪ VIẾT TẮT ix
DANH MỤC CÁC BẢNG BIỂU x
DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH xi
CHƯƠNG 1: TỔNG QUAN 1
1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY 1
1.1.1 Đặt vấn đề 1
1.1.2 Tính cấp thiết của đề tài 1
1.2 MỤC TIÊU NGHIÊN CỨU 2
1.3 ĐỐI TƯỢNG NGHIÊN CỨU 2
1.4 PHẠM VI NGHIÊN CỨU 2
1.5 BỐ CỤC ĐỒ ÁN 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 GIỚI THIỆU VI ĐIỀU KHIỂN ARDUINO UNO 4
2.1.1 Sơ lược về ARDUINO UNO R3 4
2.1.2 Thông số kỹ thuật 4
2.1.3 Các chức năng cơ bản của Arduino Uno R3 5
2.2 ESP8266 VÀ ARDUINO ESP8266 WEMOS D1 R2 5
2.2.1 Giới thiệu ESP8266 5
2.2.2 Thông số kỹ thuật 6
2.2.3 Chức năng của module ESP8266 6
2.2.4 ARDUINO ESP8266 WEMOS D1 R2 7
2.3 MUDULE ĐIỀU KHIỂN ĐỘNG CƠ L298N 8
Trang 102.3.2 Thông số kỹ thuật 9
2.4 MODULE RELAY 9
2.4.1 Giới thiệu 9
2.4.2 Thông số kỹ thuật 10
2.5 ĐỘNG CƠ DC GIẢM TỐC D1 10
2.5.1 Giới thiệu 10
2.5.2 Thông số kỹ thuật 10
2.6 CẢM LM35 11
2.6.1 Giới thiệu 11
2.6.2 Thông số kỹ thuật 11
2.7 CẢM BIẾN MQ-135 12
2.7.1 Giới thiệu 12
2.7.2 Thông số kỹ thuật 12
2.8 CẢM BIẾN QUANG TRỞ 13
2.8.1 Giới thiệu 13
2.8.2 Thông số kỹ thuật 13
2.9 CẢM BIẾN MƯA 14
2.9.1 Giới thiệu 14
2.9.1 Nguyên lý hoạt động 14
2.10 BỘ THU PHÁT RF PT2262 - PT2272-T4 15
2.10.1 Giới thiệu 15
2.10.2 Thông số kỹ thuật 15
2.11 NGUỒN 16
2.12 CHUẨN GIAO TIẾP 1-WIRE 16
2.12.1 Giới thiệu 16
2.12.2 Nguyên lý hoạt động 16
2.13 CHUẨN GIAO TIẾP UART 18
2.13.1 Giới thiệu 18
2.13.2 Các thông số cơ bản của chuẩn truyền UART 20
2.14 GOOGLE FIREBASE 20
2.14.1 Giới thiệu 20
2.14.2 Các chức năng chính của Google Firebase 21
Trang 112.14.3 Những lợi ích từ Google Firebase 21
2.14.4 Cách tạo project trên Firebase 22
2.15 PHƯƠNG PHÁP XÂY DỰNG WEB SERVER 24
2.15.1 Phần mềm hỗ trợ lập trình Web Server 24
2.15.2 Ngôn ngữ HTML 25
2.15.3 Ngôn ngữ PHP 28
2.15.4 Giao thức HTTP 29
2.15.5 Ngôn ngữ CSS 30
2.15.6 Cơ sở dữ liệu MySQL 33
2.15.7 Phần mềm tạo biểu tượng Favicon cho trang web 34
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 37
3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG 37
3.1.1 Yêu cầu của hệ thống 37
3.1.2 Sơ đồ khối và chức năng mỗi khối 37
3.1.3 Hoạt động của hệ thống 39
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 39
3.2.1 Khối điều khiển trung tâm chính 39
3.3 THIẾT KẾ PHẦN MỀM HỆ THỐNG 47
3.3.1 Firebase – App Android 47
3.3.2 Web 49
CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ 56
4.1 KẾT QUẢ PHẦN CỨNG 56
4.2 KẾT QUẢ PHẦN MỀM 61
4.2.1 Firebase – App Android 61
4.2.2 Web 65
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
5.1 KẾT LUẬN 67
5.2 HƯỚNG PHÁT TRIỂN 67
TÀI LIỆU THAM KHẢO 68
Trang 12nối tiếp CSS Cascading Style Sheets Một dạng file text với phần tên
mở rộng là css PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch bản
I/O Input/Output Ngõ vào/ngõ ra
MCU Microprocessor Control Unit Khối vi điều khiển
UART Universal Asynchronous Receiver
– Transmitter
Truyền dữ liệu nối tiếp bất đồng
bộ
HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bản
HTTP Hyper Text Transfer Protocol Giao thức truyền siêu văn bản ADC hay
A/D
Analog Digital Converter Chuyển đổi tín hiệu tương tự
sang tín hiệu số USB Universal Serial Bus Kết nối cổng serial trực tiếp SSL Secure Sockets Layer Chuẩn bảo mật của hệ thống
mạng DDos Distributed Denial of Service Từ chối dịch vụ phân tán
Trang 13DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Thông số kĩ thuật của ESP8266EX [4] 7
Bảng 2.2 Code lồng PHP vào HTML 28
Bảng 2.3 Một đoạn mã PHP 28
Bảng 2.4 Tạo mảng trên PHP 29
Bảng 2.5 Cú pháp vòng lặp while 29
Bảng 2.6 Cấu trúc cơ bản của CSS 31
Bảng 2.7 Đặt các định dạng vào trong CSS 31
Bảng 2.8 Nội dung tập tin CSS 32
Bảng 2.9 Tập tin sau khi nhúng 32
Bảng 2.10 Chèn icon vào HTML 36
Trang 14DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH
Hình 1.1 Hình ảnh minh họa máy tính bảng điều khiển 1
Hình 2.1 Board Arduino Uno R3 [1] 4
Hình 2.2 ESP8266 [3] 6
Hình 2.3 Sơ đồ chân board ESP8266 Wemos D1 R2[4] 8
Hình 2.4 Module L298N[5] 8
Hình 2.5 Module Relay [6] 9
Hình 2.6 Động cơ DC giảm tốc [7] 10
Hình 2.7 Cảm biến LM35 [8] 11
Hình 2.8 Cảm biến MQ-135 [9] 12
Hình 2.9 Module cảm biến quang trở [10] 13
Hình 2.10 Module cảm biến mưa [11] 14
Hình 2.11 Bộ thu RF PT2272-T4 và phát PT2262 16
Hình 2.12 Nguồn DC 9V-2A 16
Hình 2.13 Gửi tín hiệu bit “1” 17
Hình 2.14 Gửi tín hiệu bit “0” 17
Hình 2.15 Đọc tín hiệu 17
Hình 2.16 Tín hiệu Reset và Presence 18
Hình 2.17 Tổng hợp dạng sóng các tiến trình hoạt động chuẩn 1-Wire 18
Hình 2.18 Truyền dữ liệu UART 19
Hình 2.19 Logo công cụ Google Firebase 20
Hình 2.20 Hệ thống CSDL Realtime của Firebase 21
Hình 2.21 Tạo Project mới trong Firebase 23
Hình 2.22 Giao diện của Project mới trên Firebase 23
Hình 2.23 Giao diện của XAMPP 24
Hình 2.24 Giao diện phần mềm soạn thảo 25
Hình 2.25 Giao diện phần mềm Perfect Icon 35
Hình 2.25 Hình ảnh sử dụng làm Favicon cho trang web 35
Hình 3.1 Sơ đồ khối của hệ thống 37
Hình 3.2 Sơ đồ kết nối hệ thống 38
Hình 3.3 Board ESP8266 Wemos D1R2 và board Arduino Uno R3 40
Hình 3.4 Sơ đồ kết nối khối trung tâm 40
Hình 3.5 Sơ đồ kết nối các thiết bị điện với ESP8266 Wemos D1 R2 41
Trang 15Hình 3.6 Lưu đồ thuật toán khối điều khiển giữa khối trung tâm và Firebase 42
Hình 3.7 Lưu đồ Wemos đọc cảm biến từ Arduino Uno 43
Hình 3.8 Lưu đồ đẩy dữ liệu cảm biến lên Firebase 43
Hình 3.9 Lưu đồ đẩy dữ liệu cảm biến lên Web Server 45
Hình 3.10 Lưu đồ thu thập dữ liệu cảm biến của Arduino Uno 46
Hình 3.11 Sơ đồ kết nối Arduino Uno và cảm biến, động cơ 47
Hình 3.12 Trang điều khiển thiết bị qua App Android 48
Hình 3.13 Trang cập nhật thông tin cảm biến qua App Android 49
Hình 3.14 Các mã nguồn của trang web được lưu trữ tại 000webhost 50
Hình 3.15 Dữ liệu được lưu trữ trên Database hệ thống 000webhost 50
Hình 3.16 Cấu trúc căn bản website 51
Hình 3.17 Lưu đồ thuật toán website 52
Hình 3.18 Lưu đồ giải thuật trang đăng nhập 53
Hình 3.19 Trang điều khiển thiết bị qua website 54
Hình 3.20 Lưu đồ thuật toán cập nhật dữ liệu cảm biến tới Website 55
Hình 4.1 Khối xử lý trung tâm 56
Hình 4.2 Mô hình nhìn từ trên xuống 57
Hình 4.3 Mô hình nhìn phía trước 57
Hình 4.4 Mạch sản phẩm tương tự thực tế 59
Hình 4.5 Giao diện CSDL trên Firebase 61
Hình 4.6 Giao diện trang điều khiển thiết bị 62
Hình 4.7 Giao diện trang theo dõi dữ liệu từ cảm biến 63
Hình 4.8 Notification báo về điện thoại khi có gas rò rĩ 64
Hình 4.9 Trang chủ của hệ thống 65
Hình 4.10 Giao diện điều khiển thiết bị 65
Hình 4.11. Giao diện Theo dõi cảm biến 66
Trang 17Hình 1.1 Hình minh họa máy tính bảng điều khiển
Chính vì thế, sinh viên thực hiện đề tài: “THIẾT KẾ VÀ THI CÔNG MÔ HÌNH NGÔI NHÀ THÔNG MINH” nhằm đưa mong muốn đó thành một hệ thống thực tế, áp dụng kiến thức đã học sử dụng các module cảm biến nhiệt độ, hơi gas, mưa để xây dựng một hệ thống hoàn chỉnh
1.1.2 Tính cấp thiết của đề tài
Ngày trước, khi về nhà muộn, ta không thể mở trước đèn ở nhà trước khi về, điều này gây nguy cơ có kẻ trộm hoặc người có ý định xấu xâm nhập vào nhà Ngoài
ra hiện nay, trên thông tin thời sự có rất nhiều sự cố liên quan đến nổ bình gas ở nhà gây thiệt hại về tài sản và tính mạng
Trang 18Mọi vấn đến sẽ được giải quyết nếu ta có một thiết bị điều khiển từ xa, có thể điều khiển tất cả thiết bị ở nhà mọi lúc mọi nơi chi cần có Internet, đồng thời sẽ kiểm soát tình trạng rò rĩ gas trong nhà, báo về điện thoại của chủ nhà và thoát hết khí gas khi
có rò rĩ
1.2 MỤC TIÊU NGHIÊN CỨU
Mục tiêu nghiên cứu của đề tài bao gồm các vấn đề sau:
- Xây dựng mô hình ngôi nhà thông minh
- Hoạt động của các vi điều khiển, cảm biến…
- Cách thức tạo ra một ứng dụng di động chạy trên nền tảng hệ điều hành Android
- Tìm hiểu về CSDL thời gian thực
- Các ngôn ngữ lập trình, thiết kế Web như HTML,JS, PHP và CSS
1.3 ĐỐI TƯỢNG NGHIÊN CỨU
Đối tượng nghiên cứu của đề tài bao gồm:
- Vi điều khiển Arduino Uno và Wifi ESP8266 Wemos D1 R2
- Cảm biến nhiệt độ, hơi gas, mưa
- Máy bơm một chiều
- Cách thức hoạt động của công cụ thiết kế ứng dụng Mit App Inventor 2
- Thiết kế Web và các ngôn ngữ hỗ trợ
- Trao đổi dữ liệu giữa App, Web, CSDL và phần cứng của mô hình
1.4 PHẠM VI NGHIÊN CỨU
Phạm vi nghiên cứu của đề tài gồm có:
- Nghiên cứu và xây dựng mô hình ngôi nhà với các tính năng đo nhiệt độ, cảm biến hơi gas khi có rò rĩ tắt hết thiết bị điện và quạt thông hơi gas ra ngoài, cảm biến mưa khi phát hiện mưa thì kéo sào phơi đồ vào
- Điều khiển các thiết bị gia dụng theo ý muốn
- Trao đổi dữ liệu giữa CSDL và các thiết bị phần cứng
- Xây dựng ứng dụng giám sát, điều khiển trên hệ điều hành Android
1.5 BỐ CỤC ĐỒ ÁN
Bố cục của đồ án được trình bày thành 5 phần như sau:
Chương 1: Tổng quan: Trong chương này, sinh viên thực hiện đề tài trình bày
tổng quan về tình hình nghiên cứu, về mạng Wifi Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài
Chương 2: Cơ sở lý thuyết: Giới thiệu về sơ lược về Arduino, mạng Wifi, Arduino
Wifi ESP8266 Wemos, chuẩn giao tiếp UART, hệ quản trị CSDL, các ngôn ngữ để thiết kế website như HTML, PHP, CSS
Trang 19Chương 3: Thiết kế và thi công: Trong chương này, sinh viên thực hiện đề tài sẽ
đưa ra các yêu cầu khi thiết kế, các thiết kế về phần cứng và phần mềm
Chương 4: Kết quả đạt được và đánh giá: Đưa ra kết quả mà sinh viên đạt được,
số liệu, hình ảnh hệ thống sau khi thi công
Chương 5: Kết luận và hướng phát triển: Đưa ra kết luận và hướng phát triển của
đề tài
Trang 20CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU VI ĐIỀU KHIỂN ARDUINO UNO
2.1.1 Sơ lược về ARDUINO UNO R3
Arduino board có rất nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như: Arduino Mega, Arduino Uno R3, Aruino LilyPad [1] Trong số đó, Arduino Uno R3 là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí và tính linh động của nó
Hình 2.1 Board Arduino Uno R3 [1]
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là: ATmega8 (Board Arduino Uno r2), ATmega168, ATmega328 (Board Arduino Uno r3) [1]
2.1.2 Thông số kỹ thuật
Mạch Arduino UNO R3 với thiết kế tiêu chuẩn sử dụng vi điều khiển ATmega328 với các thông số kỹ thuật như sau [2]:
Điện áp hoạt động: 5V
Điện áp vào khuyên dùng: 7-12V
Điện áp vào giới hạn: 6-20V
Digital I/O pin: 14 (trong đó 6 pin có khả năng băm xung)
PWM Digital I/O Pins: 6
Analog Input Pins: 6
Trang 21 Cường độ dòng điện trên mỗi I/O pin: 20 mA
Cường độ dòng điện trên mỗi 3.3V pin: 50 mA
Flash Memory: 32 KB (ATmega328P)
0.5 KB được sử dụng bởi bootloader
2.1.3 Các chức năng cơ bản của Arduino Uno R3
Board Arduino Uno R3 [2] có các chức năng cơ bản sau:
Điều khiển động cơ: board Arduino Uno R3 sử dụng các chân 3, 5, 9, 10, 11 cho phép xuất xung PWM (Pulse Width Modulation) với độ phân giải 8 bit dùng để điều khiển động cơ DC
Truyền dữ liệu qua các chuẩn như UART, SPI, I2C
Giao tiếp với cảm biến thông qua các chân ADC từ A0 – A5
Bộ định thời Timer với 2 bộ 8 bit và 1 bộ 16 bit
Với những chức năng như trên thì chúng ta hoàn toàn có thể sáng tạo, ứng dụng vào nhiều lĩnh vực khác nhau từ những thiết kế đơn giản như điều khiển đèn Led nhấp nháy, điều khiển đèn tín hiệu giao thông… cho đến những ứng dụng phức tạp hơn như nhà thông minh, vườn rau, làm Robot hay máy bay không người lái…
2.2 ESP8266 VÀ ARDUINO ESP8266 WEMOS D1 R2
2.2.1 Giới thiệu ESP8266
ESP là viết tắt của electronic stability program nghĩa là hệ thống cân bằng điện
tử Module ESP8266 là một module với bộ xử lý 32 bit, dựa trên giao thức TCP/IP,
là một chip tích hợp được thiết kế dùng cho chuẩn kết nối mới Có thể lưu trữ ứng dụng hoặc xử lý các kết nối WiFi từ bộ xử lý tích hợp trên chip, có khả năng tạo kết nối giống như một máy chủ hoặc một cầu nối trung gian và có thể download dữ liệu
từ internet
Trang 22Hình 2.2 ESP8266 [3]
Đây là module truyền nhận WiFi đơn giản dựa trên chip ESP8266 SoC (System on Chip) của hãng Espressif Module ESP8266 V1 thường được sử dụng cho các ứng dụng IoT (Internet of Things) Module này đã được nạp sẵn firmware giúp người dùng giao tiếp với wifi rất dễ dàng qua tập lệnh AT thông qua giao tiếp UART (baudrate mặc định 9600) quen thuộc
2.2.2 Thông số kỹ thuật
Module ESP8266 có các thông số kỹ thuật như sau [3]:
- Hỗ trợ chuẩn Wifi 802.11 b/g/n
- Wi-Fi 2.4 GHz, hỗ trợ WPA/WPA2 Wi-Fi Direct (P2P), soft-AP
- Chuẩn điện áp hoạt động: 3.3V
- Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến115200 Có 3 chế độ
hoạt động: Client, Access Point, Both (Client and Access Point)
- Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK, WPA
WPA2_PSK Hỗ trợ cả 2 giao tiếp TCP và UDP
- Làm việc như 1 Access Point có thể kết nối với 5 Device Công suất đầu ra
19.5dBm ở chế độ 802.11b
- Tích hợp giao thức TCP / IP stack
2.2.3 Chức năng của module ESP8266
Module ESP8266 có các chức năng chính như sau [3]:
- Hỗ trợ chuẩn 802.11 n/g/n
- Điện áp hoạt động 3.3v
Trang 23- Wifi 2.4 Ghz, hỗ trợ WPA/WPA2
- Chuẩn giao tiếp UART với tốc độ Baud lên đến 115200
- Giao thức TCP, UDP
- Có ba chế độ hoạt động: Client/ Acesspoint, Both
- Hỗ trợ các chuẩn bảo mật như: WEP, WPA_PSK, WPA2_PSK
ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế giới kết nối mới, thế giới Internet of thing (Iot) Nó cung cấp một giải pháp kết nối mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng dụng Ngoài ra, ESP8266 khả năng xử lý và lưu trữ mạnh mẽ cho phép nó được tích hợp với các bộ cảm biến,
vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua GPIOs (General Purpose Input Output) với một chi phí tối thiểu và một PCB (Printed Circuit Board) tối thiểu
2.2.4 ARDUINO ESP8266 WEMOS D1 R2
ESP8266 WEMOS D1 R2 (hay còn được gọi là Arduino UNO WiFi) là kit phát triển phiên bản mới nhất từ WeMos, kit được thiết kế với hình dáng tương tự Arduino Uno nhưng trung tâm lại là module wifi Soc ESP8266EX được build lại firmware để có thể chạy với chương trình Arduino Kit thích hợp và dễ dàng thực hiện các ứng dụng thu thập dữ liệu và điều khiển qua Wifi
Module hỗ trợ 11 chân GPIO , 1 chân ADC, 1 giao tiếp UART, 1 giao tiếp SPI
và hỗ trợ PWM Tích hợp 1 nút reset
IC chính: wifi Soc ESP8266EX Chip nạp và giao tiếp UART: CH340G Cấp nguồn: 5VDC MicroUSB hoặc V-in GPIO giao tiếp mức 3.3VDC Tích hợp Led báo trạng thái, nút Reset, Flash Tương thích hoàn toàn với trình biên dịch Arduino
Cách vào các chế độ boot của NodeMCU:
Bảng 2.1 Thông số kĩ thuật của ESP8266EX [4]
Điện áp hoạt động 3V3
Analog Pin 1 (Max input=3V2)
Xung clock 80MHz/160MHz
Kích thước 68.6mmX53.4mm
Trang 24Hình 2.3 Sơ đồ chân ESP8266 WEMOS D1 R2 [4]
2.3 MUDULE ĐIỀU KHIỂN ĐỘNG CƠ L298N
2.3.1 Giới thiệu
Hình 2.4 Module L298N [5]
Module điều khiển động cơ (Motor Driver) sử dụng chip cầu H L298N giúp điều khiển tốc độ và chiều quay của động cơ DC một cách dễ dàng [5], ngoài ra module L298N còn điều khiển được 1 động cơ bước lưỡng cực Mạch cầu H của IC L298N có thể hoạt động ở điện áp từ 5V đến 35V
Trang 25Module L298N có tích hợp một IC nguồn 78M05 để tạo ra nguồn 5V để cung cấp cho các thiết bị khác
2.3.2 Thông số kỹ thuật
Thông số kỹ thuật của mạch điều khiển động cơ L298N [5]:
Driver: L298N tích hợp hai mạch cầu H
Điện áp điều khiển: +5 V ~ +35 V
Dòng tối đa cho mỗi cầu H: 2A
Điện áp tín hiệu điều khiển: +5 V ~ +7 V
Dòng tín hiệu điều khiển: 0 ~ 36mA
Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
Tiếp điểm đóng ngắt gồm 3 tiếp điểm NC (thường đóng), NO (thường mở) và COM (chân chung) được cách ly hoàn toàn với board mạch chính, ở trạng thái bình thường chưa cấp tín hiệu, NC sẽ nối với COM, khi có trạng thái cấp tín hiệu, COM
sẽ chuyển sang nối với NO và mất kết nối với NC
Hình 2.5 Module Relay [6]
Trang 262.4.2 Thông số kỹ thuật
Module Relay có các thông số kỹ thuật như sau [6]:
Sử dụng điện áp nuôi DC 5V
Dòng mỗi Relay tiêu thụ dòng khoảng 80mA
Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A
Có đèn báo đóng ngắt trên mỗi Relay
Có thể chọn mức tín hiệu kích 0 hoặc 1 qua jumper
Hình 2.6 Động cơ DC giảm tốc V1 [7]
Động cơ DC giảm tốc V1 cải tiến khác với loại bình thường ở phần thiết kế trục bổ xung thêm những vòng đồng ở các chỗ tiếp xúc giúp đăng độ bền và giảm ma sát, quan sát kỹ khi mở phần đuôi của động cơ sẽ thấy sự khác nhau về cơ cấu chổi than, chổi than của động cơ bình thường chỉ là các tiếp xúc bằng đồng mỏng trong khi với động cơ V1 cải tiến là 2 khối chổi than lớn, điều này giúp động cơ V1 cải tiến
có độ bền > 10 lần so với động cơ thường cùng với khả năng chịu được mức điện áp lên đến 12VDC
Trang 27ta có thể dễ dàng đọc được giá trị của nó bằng hàm analogRead()
2.6.2 Thông số kỹ thuật
Trang 28 Điện áp đầu vào từ 4V đến 30V
Điện áp ra: -1V đến 6V
Công suất tiêu thụ là 60uA
Độ phân giải điện áp đầu ra là 10mV/oC
Độ chính xác cao ở 25 C là 0.5 C
Trở kháng đầu ra thấp 0.1 cho 1mA tải
Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng 55°C tới 150°C
-2.7 CẢM BIẾN MQ-135
2.7.1 Giới thiệu
Cảm biến này có thể nhận biết được các chất khí như NH3, Nox, Ancol, Benzen, Khói, gas, CO2 Đa số khí nó nhận biết đều là khí tạp chất và không có lợi cho sức khỏe nên chính vì vậy người ta gọi nó là cảm biến chất lượng không khí
Điện áp của heater: 5V±0.1 AC/DC
Điện trở tải: thay đổi được (2kΩ-47kΩ)
Điện trở của heater: 33Ω±5%
Công suất tiêu thụ của heater: ít hơn 800mW
Khoảng phát hiện: 10 - 300 ppm NH3, 10 - 1000 ppm Benzene, 10 - 300 Alcol
Kích thước: 32mm*20mm
Trang 29Nguyên lý làm việc của quang điện trở là khi ánh sáng chiếu vào chất bán dẫn (có thể là Cadmium sulfide – CdS, Cadmium selenide – CdSe) làm phát sinh các điện
tử tự do, tức sự dẫn điện tăng lên và làm giảm điện trở của chất bán dẫn Các đặc tính điện và độ nhạy của quang điện trở dĩ nhiên tùy thuộc vào vật liệu dùng trong chế tạo
Cảm biến ánh sáng quang trở có tích hợp sẵn opamp và biến trở so sánh mức tín hiệu giúp cho việc nhận biết tín hiệu trở nên dễ dàng, sử dụng để nhận biết hay bật tắt thiết bị theo cường độ ánh sáng môi trường
Hình 2.9 Module cảm biến quang trở [10]
2.8.2 Thông số kỹ thuật
Cảm biến quang trở có các thông số kỹ thuật sau [10]:
Điện áp làm việc: 3.3 ~ 5VDC
Output: Digital
Trang 30 Có thể điều chỉnh cường độ ánh sáng phát hiện bằng biến trở gắn trên cảm biến
Hình 2.10 Module cảm biến mưa [11]
Có đèn báo hiệu nguồn và đầu ra
Độ nhạy có thể được điều chỉnh thông qua chiết áp
LED sáng lên khi không có mưa đầu ra cao, có mưa, đầu ra thấp LED tắt
Chế độ kết nối:
o VCC: Nguồn
o GND: Đất
Trang 31o D0: Đầu ra tín hiệu TTL chuyển đổi
o A0: Đầu ra tín hiệu Analog
2.10 BỘ THU PHÁT RF PT2262 – PT2272-T4
2.10.1 Giới thiệu
Bộ thu phát RF này được sử dụng để điều khiển các thiết bị bằng sóng RF với tần số 315Mhz, phù hợp với khoảng cách xa (30m-50m) Trong đồ án , sinh viên sử dụng bộ thu phát này để điều khiển thiết bị không dây
Hình 2.11 Bộ thu RF PT2272-T4 (phải) và phát RF PT2262 (trái) [12]
PT2272-T4: Kích nhớ trạng thái, 4bit hoạt động độc lập, trong thời điểm kích nhớ trạng thái của từng bit, không kích vẫn giữ trạng thái, kích tiếp theo sẽ chỉ thay đổi trạng thái của bit bị tác động
Trang 32dữ liệu khi ở trạng thái rảnh (khi không có dữ liệu trên đường truyền) phải ở mức cao
do vậy bus dữ liệu phải được kéo lên nguồn thông qua một điện trở
Một tính năng đặc biệt của bus là khả năng chỉ sử dụng hai dây tín hiệu: data
và GND Để thực hiện điều này, các thiết bị 1-Wire bao gồm một tụ điện 800pF để trữ điện, và cung cấp nguồn trong quá trình đường data đang hoạt động
2.12.2 Nguyên lý hoạt động
Tín hiệu trên bus 1 wire chia thành các khe thời gian 60 µs 1 bit dữ liệu được truyền trên bus dựa trên khe thời gian (time slots) Các thiết bị slave cho phép có thời
Trang 33gian nền có một chút khác biệt từ thời gian nền danh nghĩa Tuy nhiên đối với thiết
bị master cần có bộ định thời với độ chính xác cao, để đảm bảo giao tiếp đúng với các thiết bị salve có thời gian nền khác biệt Do đó rất quan trọng để tuân theo giới hạn thời gian mô tả trong các phần sau
Bốn thao tác hoạt động cơ bản của bus 1 wire là Reset/Presence, gửi bit 1, gửi bit 0, và đọc bit Thao tác byte như gửi byte và đọc byte dựa trên thao tác từng bit
Gửi bit 1 (“Write 1” signal): Thiết bị master kéo bus xuống mức thấp trong khoảng 1 đến 15µs Sau đó nhả bus (releases the bus) cho đến hết phần còn lại của khe thời gian
Hình 2.13 Gửi tín hiệu bit “1”
Gửi bit 0 ("Write 0" signal): Kéo bus xuống mức thấp trong ít nhất 60µs, với chiều dài tối đa là 120 µs
Hình 2.14 Gửi tín hiệu bit “0”
Lưu ý: giữa các lần gửi bit (0 hoặc 1), phải có khoảng thời gian phục hồi bus (recovery time) tối thiểu 1 µs
Đọc bit: Thiết bị master kéo bus xuống mức thấp từ 0 -15µs Khi đó thiết bị tớ khi đó sẽ giữ bus ở mức thấp nếu muốn gửi bit 0, Nếu muốn gửi bit 1 đơn giản là nhả bus Bus nên lấy mẫu 15 µs sau khi bus kéo xuống mức thấp
Đọc tín hiệu
Trang 34Reset/Presence: Tín hiệu Reset và Presence (báo hiện diện) được trình bày như hình bên dưới Thiết bị master kéo bus xuống thấp ít nhất 8 khe thời gian (tức là 480 µs) và sau đó nhả bus Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu reset Nếu
có thiết bị slave gắn trên bus nó sẽ trả lời bằng tín hiệu Presence tức là thiết bị tớ sẽ kéo bus xuống mức thấp trong khoảng thời gian 60µs Nếu không có tín hiệu Presence, thiết bị master sẽ hiểu rằng không có thiết bị slave nào trên bus, và các giao tiếp tiếp theo sẽ không thể diễn ra
Hình 2.16 Tín hiệu Reset và Presence
Hình 2.17 Tổng hợp dạng sóng các tiến trình hoạt động chuẩn
Trang 35khác UART chuyển đổi dữ liệu nhận được dạng dữ liệu nối tiếp thành dạng dữ liệu song song cho CPU có thể đọc vào bus hệ thống
Hình 2.18 Truyền dữ liệu UART
UART của PC hỗ trợ cả hai kiểu giao tiếp là giao tiếp đồng thời và giao tiếp không đồng thời Giao tiếp đồng thời tức là UART có thể gửi và nhận dữ liệu vào cùng một thời điểm Còn giao tiếp không đồng thời (không kép) là chỉ có một thiết
bị có thể chuyển dữ liệu vào một thời điểm, với tín hiệu điều khiển hoặc mã sẽ quyết định bên nào có thể truyền dữ liệu Giao tiếp không đồng thời được thực hiện khi mà
cả 2 chiều chia sẽ một đường dẫn hoặc nếu có 2 đường nhưng cả 2 thiết bị chỉ giao tiếp qua một đường ở cùng một thời điểm Thêm vào đường dữ liệu, UART hỗ trợ bắt tay chuẩn RS232 và tín hiệu điều khiển như RTS, CTS, DTR, DCR, RT và CD
Để thuận tiện, các chương trình gửi và nhận dữ liệu trong định dạng không đồng bộ đơn giản hơn những gì bạn tưởng PC và nhiều vi xử lý khác có một bộ phận gọi là UART (universal asynchronous receiver/transmitter: truyền /nhận không đồng bộ chung) vì thế có thể vận dụng phần lớn những chi tiết truyền và nhận dữ liệu Trong
PC, hệ điều hành và ngôn ngữ lập trình hỗ trợ cho lập trình liên kết nối tiếp mà không cần phải hiểu rõ chi tiết cấu trúc UART Để mở liên kết, ứng dụng lựa chọn một tần
số dữ liệu hoặc là thiết lập khác hoặc cho phép truyền thông tại các cổng Để gửi 1 byte, ứng dụng ghi byte này vào bộ đệm truyền của cổng được lựa chọn, và UART gửi dữ liệu này, từng bit một, trong định dạng yêu cầu, thêm bit Start, bit Stop, bit chẵn lẻ khi cần Trong một cách đơn giản, byte nhận được tự động được lưu trữ trong
bộ đệm UART có thể dùng nhanh một ngắt để báo cho CPU và các ứng dụng biết dữ liệu đang nhận được và các sự kiện khác Một vài vi điều khiển không bao gồm UART, và thỉnh thoảng bạn cần nhiều hơn các UART mà vi xử lý có Trong trường hợp này, có 2 lựa chọn: thêm UART ngoài, hoặc mô phỏng UART trong mã chương trình Basic Stamp của Parallax là một ví dụ của chip với một UART bổ sung trong
Trang 36mã chương trình UART là một thiết bị đơn giản hỗ trợ tốt cả hai kiểu truyền thông đồng bộ và không đồng bộ
2.13.2 Các thông số cơ bản của chuẩn truyền UART
Baud rate (tốc độ Baud) [13]: Khi truyền nhận không đồng bộ để hai module hiểu được nhau thì cần quy định một khoảng thời gian cho 1 bit truyền nhận, nghĩa
là trước khi truyền thì tốc độ phải được cài đặt đầu tiên Theo định nghĩa thì tốc độ baud là số bit truyền trong một giây
Frame (khung truyền): Do kiểu truyền thông nối tiếp này rất dễ mất dữ liệu nên ngoài tốc độ, khung truyền cũng được cài đặt từ ban đầu để giảm bớt sự mất mát
dữ liệu này Khung truyền quy định số bit trong mỗi lần truyền, các bit thông báo như start, stop, các bit kiểm tra như parity, và số bit trong một data
Bit Start: Là bit bắt đầu trong khung truyền Bit này nhằm mục đích báo cho thiết bị nhận biết quá trình truyền bắt đầu Trên AVR bit Start có trạng thái là 0
Data: Dữ liệu cần truyền data không nhất thiết phải 8 bit có thể là 5, 6, 7, 8, 9 Trong UART bit LSB được truyền đi trước, bit MSB được truyền đi sau
Parity bit: Là bit kiểm tra dữ liệu Có 2 loại parity: chẵn (even parity), lẻ (old parity) Parity chẵn là bit parity thêm vào để số số 1 trong data + parity = chẵn Parity
lẻ là bit parity thêm vào để số số 1 trong data + parity = lẻ Bit parity là không bắt buộc nên có thể dùng hoặc không
2.14 GOOGLE FIREBASE
2.14.1 Giới thiệu
Google Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu
Hình 2.19 Logo công cụ Google Firebase
Trang 37Hình 2.20 Hệ thống CSDL Realtime của Firebase
2.14.2 Các chức năng chính của Google Firebase
Với Google Firebase, bạn có thể tạo ra các ứng dụng chat như Yahoo Message
của ngày xưa hoặc như Facebook Messager của ngày nay trong thời gian cực ngắn
như khoảng một ngày thậm chí là vài giờ bởi đơn giản là bạn chỉ cần lo phần client
còn phần server và database đã có firebase lo Firebase là sự kết hợp giữa nền tảng
cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta
những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database
Cụ thể hơn Google Firebase cung cấp tới chúng ta những chức năng chính sau [14]:
Realtime Database – Cơ sở dữ liệu thời gian
Firebase Authentication – Hệ thống xác thực của Firebase
Firebase Hosting – Tạo tên miền
2.14.3 Những lợi ích từ Google Firebase
Những lợi ích từ việc sử dụng Google Firebase [14]:
Triển khai ứng dụng nhanh: Với Firebase bạn có thể giảm bớt rất nhiều thời
Trang 38sẽ diễn ra hoàn toàn tự động với các API của Firebase Không chỉ có vậy Firebase còn hỗ trợ đa nền tảng nên bạn sẽ càng đỡ mất thời gian rất nhiều khi ứng dụng bạn muốn xây dựng là ứng dụng đa nền tảng Không chỉ nhanh chóng trong việc xây dựng database, Google Firebase còn giúp ta đơn giản hóa quá trình đăng kí và đăng nhập vào ứng dụng bằng các sử dụng hệ thống xác thực
do chính Firebase cung cấp
Bảo mật Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server Không chỉ
có vậy, việc cho phép phân quyền người dùng database bằng cú pháp javascipt cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn, bởi chỉ những user mà bạn cho phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu
Tính linh hoạt và khả năng mở rộng: Sử dụng Firebase sẽ giúp bạn dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ Ngoài ra firebase còn cho phép bạn tự xây dựng server của riêng mình để bạn có thể thuận tiện hơn trong quá trình quản lý
Sự ổn định: Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như bạn không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm nữa bởi đơn giản là Firebase hoạt động trên hệ thống server của Google Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản mà không cần phải dừng server để nâng cấp như truyền thống
Giá thành Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao động từ Free đến $500
đủ để đáp ứng được nhu cầu của tất cả các đối tượng Chính vì vậy bạn có thể lựa chọn gói dịch vụ phù hợp nhất với nhu cầu của mình Điều này giúp bạn tới ưu hóa được vốn đầu tư và vận hành của mình tùy theo số lượng người sử dụng Ngoài ra bạn còn không mất chi phí để bảo trì, nâng cấp, khắc phục các sự cố bởi vì những điều này đã có Firebase hỗ trợ
2.14.4 Cách tạo project trên Firebase
Để tạo một Firebase project mới, chúng ta truy cập vào Firebase Console, đăng nhập với tài khoản Google của mình, và nhấn “CREATE NEW PROJECT” và tạo project mới
Trang 39Hình 2.21 Tạo Project mới trong Firebase
Sau khi tạo xong, bạn sẽ thấy giao diện trang Firebase với các công cụ hỗ trợ cho các mục đích Develop, Grow và Earn phía bên trái của chúng ta
Trang 402.15 PHƯƠNG PHÁP XÂY DỰNG WEB SERVER
2.15.1 Phần mềm hỗ trợ lập trình Web Server
2.15.1.1 Máy chủ giả lập XAMPP
Xampp là "chương trình tạo máy chủ Web" (Web Server) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như php MyAdmin Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào
Xampp chính là một phần mềm cho phép bạn giả lập môi trường server hosting cho phép bạn chạy thử demo một website ngay trên chiếc máy vi tính của bạn mà không cần thiết phải mua hosting hay vps Mọi người thường sử dụng để thực hành
và phát triển Web phục vụ cho việc học tập và giải trí
XAMPP là viết tắt của X + Apache + Mysql + PHP + Perl [15]
Chữ X là cross (platform) ám chỉ dùng được cho cả 4 hệ điều hành khác nhau: Windows, Linux, Solaris và MAC Chúng ta có thể download XAMPP miễn phí tại: