Nhiệm vụ của nền tảng công nghệ IoTs là tạo ra hệ thống các thiết bị có thể kết nối với nhau, quản lý và điều khiển từ xa thông qua hệ thống Internet để ứng dụng vào mọi lĩnh vực của ngà
Trang 1THÀNH PHỐ HỒ CHÍ MINH
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
XÂY DỰNG HỆ THỐNG QUẢN LÝ
PHÒNG CHO THUÊ
GVHD: NGUYỄN NGÔ LÂM SVTH: LƯU ĐỨC HUY MSSV: 15119022 SVTH: PHẠM HIẾU TRUNG MSSV: 15119056
SKL 0 0 6 7 4 6
Trang 2TRƯỜ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
NGÀNH: CNKT MÁY TÍNH
GVHD: ThS NGUYỄN NGÔ LÂM
Trang 3Tp Hồ Chí Minh, ngày 18 tháng 09 năm 2019
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
2 Các số liệu, tài liệu ban đầu: Kiến thức cơ bản về các môn: Mạch điện, Điện tử cơ bản, Vi xử lý, lập trình và phát triển ứng dụng di động Kinh nghiệm đã thực hiện các
đồ án môn học
3 Nội dung thực hiện đề tài: Nghiên cứu tài liệu Thiết kế sơ đồ khối, sơ đồ nguyên
lý Xây dựng ứng dụng di động Android Thi công mô hình hệ thống và viết báo cáo
4 Sản phẩm: Mô hình hệ thống quản lý phòng gồm hệ thống Master và hệ thống Slave
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 ***
Họ và tên sinh viên: Lưu đức Huy MSSV: 15119022
Phạm Hiếu Trung MSSV: 15119056
Ngành: Lớp:
Giảng viên hướng dẫn: ThS Nguyễn Ngô Lâm ĐT: 0908434763 Ngày nhận đề tài: 18/9/2019 Ngày nộp đề tài: 08/1/2020
1 Tên đề tài: Xây dựng hệ thống quản lý phòng cho thuê
Công nghệ kỹ thuật máy tính
Trang 4PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Lưu đức Huy MSSV: 15119022
Phạm Hiếu Trung MSSV: 15119056 Ngành: Công nghệ kỹ thuật máy tính
Tên đề tài: Xây dựng hệ thống quản lý phòng cho thuê
Họ và tên Giáo viên hướng dẫn: ThS Nguyễn Ngô Lâm
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 2020 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 5*** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên sinh viên: Lưu đức Huy MSSV: 15119022
Phạm Hiếu Trung MSSV: 15119056 Ngành: Công nghệ kỹ thuật máy tính
Tên đề tài: Xây dựng hệ thống quản lý phòng cho thuê
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 2020 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 6*** LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này và có được những kiến thức vô cùng quý báu trong quá trình thực hiện, nhóm sinh viên thực hiện xin chân thành gửi lời cảm
ơn sâu sắc đến Thầy Nguyễn Ngô Lâm là giảng viên chính trong thời gian qua đã tận
tình hướng dẫn, chỉ bảo những kinh nghiệm quý giá trong suốt quá trình thực hiện đề tài Trong thời gian làm việc với Thầy đã không những tiếp thu được nhiều kiến thức
mà còn học tập được thái độ làm việc nghiêm túc, trách nhiệm, chuyên nghiệp và hiệu quả của Thầy Đây sẽ là những kinh nghiệm cần thiết cho quá trình học tập và làm việc sau này
Đồng thời, nhóm cũng xin cảm ơn các Thầy/Cô trong trường Đại học Sư phạm
Kỹ thuật Thành phố Hồ Chí Minh nói chung, các thầy cô bộ môn Kỹ thuật Máy tính – Viễn thông của đã truyền đạt lại rất nhiều kiến thức từ môn đại cương cũng như các môn cơ sở ngành và các môn chuyên ngành Từ đó giúp nhóm có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập
Bên cạnh đó, nhóm cũng xin chân thành cảm ơn các anh, chị khóa trước cũng như các bạn trong lớp đã nhiệt tình đóng góp ý kiến và chia sẻ kinh nghiệm giúp nhóm hoàn thành đề tài này
Cuối cùng, mặc dù đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra và đảm bảo thời hạn nhưng do kiến thức còn hạn hẹp chắc chắn sẽ không tránh khỏi những thiếu sót, mong Thầy/Cô và các bạn sinh viên thông cảm Nhóm mong nhận được những ý kiến của Thầy/Cô và các bạn sinh viên
Nhóm xin chân thành cảm ơn!
Trang 7LỜI NÓI ĐẦU
Công nghệ và khoa học ngày càng phát triển một cách nhanh chóng, mục đích cuối cùng chính là đem lại cho con người sự thuận tiện đến mức tối đa trong cuộc sống hàng ngày
Đồng thời nền tảng công nghệ IoTs ngày càng phát triển manh mẽ Đóng vai trò vô cùng quan trọng trong sự phát triển công nghiệp hóa, hiện đại hóa trong nhiều lĩnh vực từ công nghiệp, nông nghiệp cho đến dân dụng Nhiệm vụ của nền tảng công nghệ IoTs là tạo ra hệ thống các thiết bị có thể kết nối với nhau, quản lý và điều khiển
từ xa thông qua hệ thống Internet để ứng dụng vào mọi lĩnh vực của ngành kỹ thuật
Nhu cầu nhà ở tại Thành phố Hồ Chí Minh ngày càng tăng cũng như nhu cầu
về chất lượng phòng ở ngày càng cao Vì thế việc quản lý cần phải cải thiện hơn nhằm mang đến những trải nghiệm thông minh và nhiều tiện ích cho người khách hàng cũng như người quản lý dễ dàng giám sát hệ thống phòng của mình
Chính vì thế, nhóm quyết định chọn đề tài “XÂY DỰNG HỆ THỐNG QUẢN
LÝ PHÒNG CHO THUÊ” Tìm hiểu, nghiên cứu và áp dụng các công nghệ để xây
dựng một mô hình quản lý cơ bản để đáp ứng nhu cầu của xã hội hiện nay
Trang 8MỤ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
CÁC TỪ VIẾT TẮT x
DANH MỤC HÌNH xi
DANH MỤC BẢNG xiii
CHƯƠNG 1: GIỚI THIỆU 1
1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY 1
1.2 MỤC TIÊU ĐỀ TÀI 1
1.3 GIỚI HẠN ĐỀ TÀI 1
1.4 PHƯƠNG PHÁP NGHIÊN CỨU 2
1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2
1.6 BỐ CỤC CUỐN BÁO CÁO 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1 KIT NODEMCU ESP32 3
2.1.1 Giới thiệu 3
2.1.2 Thông số kỹ thuật 3
2.2 MẠCH GIAO TIẾP I2C 4
2.2.1 Giới thiệu 4
2.2.2 Thông số kỹ thuật 5
2.2.3 Sơ đồ kết nối 6
2.3 MODULE CẢM BIẾN ĐO DÒNG ACS712 6
2.3.1 Giới thiệu cảm biến Hall 6
2.2.4 Giới thiệu module ACS712 [8] 7
2.3.2 Thông số kỹ thuật 7
Trang 92.3.3 Sơ đồ kết nối 8
2.3.4 Cách sử dụng 8
2.3.3.1 Đo dòng DC 8
2.3.3.2 Đo dòng AC 8
2.4 MODULE CẢM BIẾN KHÍ GAS MQ-2 [9] 8
2.4.1 Giới thiệu 8
2.4.2 Thông số kỹ thuật 9
2.4.3 Sơ đồ mạch cảm biến thực tế 9
2.5 MODULE RELAY 9
2.5.1 Giới thiệu 9
2.5.2 Cấu tạo Relay 10
2.5.3 Cách thức hoạt động 10
2.6 MÀN HÌNH LCD 20X4 11
2.7 NỀN TẢNG ANDROID 13
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 15
3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG 15
3.1.1 Yêu cầu của hệ thống 15
3.1.2 Mô hình chung của hệ thống 15
3.1.3 Sơ đồ khối và chức năng từng khối 16
3.1.4 Hoạt động chung của hệ thống 18
3.1.3.1 Khối Master 18
3.1.3.2 Khối Slave 18
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 19
3.2.1 Khối Master 19
3.2.1.1 Khối xử lý trung tâm 19
3.2.1.2 Khối điều khiển bằng phím cảm ứng 20
3.2.1.3 Khối hiển thị 21
3.2.2 Khối Slave 22
3.2.2.1 Khối xử lý trung tâm 22
3.2.2.2 Khối điều khiển bằng phím cảm ứng 23
3.2.2.3 Khối hiển thị 24
Trang 103.2.2.4 Khối tải tiêu thụ 25
3.2.2.5 Khối chuông báo động 26
3.2.2.6 Khối cảm biến khí Gas 27
3.2.2.7 Khối cảm biến đo dòng 28
3.2.2.8 Khối chống trộm 29
3.2.3 Khối nguồn 30
3.2.4 Sơ đồ nguyên lý hệ thống 31
3.3 THIẾT KẾ PHẦN MỀM 32
3.3.1 Yêu cầu của phần mềm 32
3.3.2 Lưu đồ giải thuật phần cứng 32
3.3.2.1 Thiết lập hệ thống 32
3.3.2.2 Thiết lập kết nối 33
3.3.2.3 Hiển thị LCD 34
3.3.2.4 Đọc dữ liệu từ cảm biến khí gas MQ2 35
3.3.2.5 Tính công suất tiêu thụ 36
3.3.3 Lưu đồ giải thuật phần mềm 37
3.3.3.1 Đăng nhập tài khoản 37
3.3.3.2 Đăng ký tài khoản 38
3.3.3.3 Khởi động ứng dụng 39
3.3.3.4 Quản lý phòng 40
3.3.3.5 Quản lý người dùng 41
3.3.3.6 Quản lý thiết bị 42
3.3.3.7 Thay đổi thông tin cá nhân 43
CHƯƠNG 4: KẾT QUẢ THỰC HIỆN 44
4.1 KẾT QUẢ THI CÔNG PHẦN CỨNG 44
4.2 KẾT QUẢ THI CÔNG PHẦN MỀM 45
4.2.1 Lập trình vi điều khiển 45
4.2.2 Phần mềm 47
4.3 NHẬN XÉT KẾT QUẢ 51
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52
5.1 KẾT LUẬN 52
Trang 115.2 HƯỚNG PHÁT TRIỂN 52 TÀI LIỆU THAM KHẢO 53 PHỤ LỤC 54
Trang 12CÁC TỪ VIẾT TẮT
Trang 13DANH MỤC HÌNH
Hình 2.1: Kit NODEMCU ESP32 DEVKIT V1 3
Hình 2.2: Sơ đồ chân giao tiếp kit ESP32 4
Hình 2.3: Chuẩn giao tiếp I2C 5
Hình 2.4: Quá trình truyền 1 bit dữ liệu 5
Hình 2.5: Sơ đồ kết nối chân mạch giao tiếp I2C 6
Hình 2.6: Mô phỏng hiệu ứng Hall 7
Hình 2.7: Sơ đồ kết nối chân cảm biến đo dòng ACS712 8
Hình 2 8: Sơ đồ mạch cảm biến khí Gas 9
Hình 2.9: Cấu tạo relay 10
Hình 2.10: Module relay 2 kênh 10
Hình 2.11: LCD 20x4 11
Hình 2.12: Cấu trúc hệ điều hành Android 14
Hình 3.1: Mô hình kết nối hệ thống 15
Hình 3.2: Sơ đồ khối của khối Master 16
Hình 3.3: Sơ đồ khối của khối Slave 17
Hình 3.4: Sơ đồ mạch khối xử lý trung tâm 20
Hình 3.5: Sơ đồ mạch phím cảm ứng 21
Hình 3.6: Sơ đồ mạch khối hiển thị khối Master 22
Hình 3.7: Sơ đồ mạch khối xử lý trung tâm 23
Hình 3.8: Sơ đồ mạch phím cảm ứng 24
Hình 3.9: Sơ đồ mạch khối hiển thị khối Slave 25
Hình 3.10: Sơ đồ mạch khối tải tiêu thụ 26
Hình 3.11: Sơ đồ mạch khối báo động 27
Hình 3.12: Sơ đồ mạch khối cảm biến khí Gas 28
Hình 3.13: Sơ đồ mạch khối cảm biến đo dòng 29
Hình 3.14: Sơ đồ mạch khối chống trộm 30
Hình 3.15: Nguồn Adapter thực tế 31
Hình 3.16: Sơ đồ mạch của khối nguồn 31
Hình 3.17: Lưu đồ thiết lập hệ thống 32
Hình 3.18: Lưu đồ thiết lập kết nối 33
Hình 3.19: Lưu đồ hiển thị LCD 34
Hình 3.20: Lưu đồ cảm biến MQ2 35
Hình 3.21: Lưu đồ giải thuật tính công suất tiêu thụ 36
Hình 3.22: Lưu đồ giải thuật đăng nhập tài khoản 37
Hình 3.23: Lưu đồ giải thuật đăng ký tài khoản 38
Hình 3.24: Lưu đồ giải thuật khởi động ứng dụng 39
Hình 3.25: Lưu đồ giải thuật quản lý phòng 40
Hình 3.26: Lưu đồ giải thuật quản lý người dùng 41
Hình 3.27: Lưu đồ giải thuật quản lý thiết bị 42
Trang 14Hình 3.28: Lưu đồ thuật toán thay đổi thông tin người dùng 43
Hình 4.1: Mô hình tổng quan 44
Hình 4.2: Thông tin hiển thị trên LCD 44
Hình 4.3: Kết nối dữ liệu trên EEPROM thành công 45
Hình 4.4: Kết nối dữ liệu trên EEPROM thất bại 45
Hình 4.5: Thiết lập kết nối Smartconfig thành công 45
Hình 4.6: Cấu trúc dữ liệu của thiết bị trên Firebase 46
Hình 4.7: Trang đăng nhập 47
Hình 4.8: Trang đăng ký 47
Hình 4.9: Trang quản lý thiết bị 48
Hình 4.10: Trang quản lý phòng 48
Hình 4.11: Trang điều khiển thiết bị 49
Hình 4.12: Trang quản lý người dùng 49
Hình 4.13: Trang thay đổi thông tin người dùng 50
Hình 4.14: Trang thêm thiết bị bằng Smartconfig 50
Trang 15DANH MỤC BẢNG
Bảng 2.1: Sơ đồ chân của LCD 20x4 12
Bảng 2.2: Thông số kỹ thuật của LCD 20x4 13
Bảng 2.3: Một số hàm thông dụng của LCD trong thư viện 13
Bảng 3.1: Thông số dòng tiêu thụ và nguồn cung cấp trên các linh kiện 30
Trang 16CHƯƠNG 1: GIỚI THIỆU
1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY
Việt Nam là đất nước đang phát triển, dân số ngày càng tăng nhanh Hiện nay dân số nước ta đã hơn 90 triệu dân chủ yếu tập trung ở các thành phố lớn như Hà Nội
và thành phố Hồ Chí Minh Đa phần người dân ở tại các thành phố này là người lao động có thu nhập thấp chưa có khả năng sở hữu nhà Điều đó dẫn đến nhu cầu về nhà cũng như phòng cho thuê ngày càng tăng cao Để đáp ứng được nhu cầu đó thì hệ thống phòng cho thuê liên tục được phát triển trong những năm gần đây Với nhiều quy mô lớn nhỏ khác nhau có thể từ một hai phòng đến hàng chục phòng Các chủ phòng vẫn còn đang áp dụng cách quản lý phòng còn nhiều hạn chế
Với sự phát triển mạnh mẽ của công nghệ IoTs, mạng Internet và các module cảm biến xuất hiện ngày càng nhiều như hiện nay Chúng ta cần xây dựng và phát triển một hệ thống quản lý phòng cho thuê có nhiều tiện ích và dễ quản lý hơn
Chính vì thế, nhóm thực hiện đề tài: ” XÂY DỰNG HỆ THỐNG QUẢN LÝ PHÒNG CHO THUÊ” để đáp ứng nhu cầu cấp thiết của các chủ phòng cho thuê hiện nay
1.2 MỤC TIÊU ĐỀ TÀI
Đề tài “Xây dựng hệ thống quản lý phòng cho thuê” nhằm thiết kế và thi công
mô hình quản lý phòng cho thuê thông qua ứng dụng di động với các chức năng như sau:
− Điều khiển thiết bị trong phòng bằng các nút nhấn cảm ứng hoặc có thể bằng smartphone thông qua Internet
− Các tính năng được tích hợp trong hệ thống gồm: hệ thống phát hiện khói, hệ thống chống trộm
− Theo dõi lượng điện tiêu thụ hằng tháng hiển thị trên ứng dụng đi động
− Xây dựng ứng dụng di động cho người thuê phòng và chủ phòng
1.3 GIỚI HẠN ĐỀ TÀI
Hệ thống chưa thể đo được lượng nước tiêu thụ hàng tháng Và hệ thống chỉ dừng
ở mức mô hình nghiên cứu cơ bản chưa thể áp dụng vào mục đích thương mại Cảm biến được sử dụng là loại có giá thành rẻ nên chưa có độ chính xác và ổn định cao
Trang 171.4 PHƯƠNG PHÁP NGHIÊN CỨU
Trong đề tài này, nhóm đã sử dụng các phương pháp nghiên cứu sau:
− Phương pháp tham khảo tài liệu: bằng cách thu nhập thông tin từ sách, tạp chí và giáo trình về điện tử, viễn thông, truy cập từ mạng Internet và các đồ án của khóa trước
− Phương pháp quan sát: khảo sát một số ứng dụng từ mạng Internet, khảo sát tình trạng hiện nay để lựa chọn phương án thiết kế sau này
− Phương pháp thực nghiệm: từ những ý tưởng và kiến thức của nhóm, kết hợp sự hướng dẫn của giáo viên, nhóm đã tiến hành thử nghiệm nhiều cách khác nhau
để tìm ra cách tối ưu
1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
Để thiết kế và thi công hệ thống cần nghiên cứu các đối tượng sau:
− Kit NodeMCU ESP32, cảm biến khói MQ-2, cảm biến đo dòng ACS712, Module relay và màn hình LCD
− Cơ sở dữ liệu Google Firebase
− Ngôn ngữ C, Java
− Các thư viện hỗ trợ viết trình trong Arduino IDE
− Ứng dụng di động Android để tương tác giữa người dùng với hệ thống
1.6 BỐ CỤC CUỐN BÁO CÁO
Bố cục đề tài này được chia thành 5 chương:
− Chương 1: Giới thiệu - trình bày tổng quan về hệ thống điều khiển cùng
với các mục tiêu đặt ra, phân tích để đưa ra giới hạn cũng như phạm vi nghiên cứu
đồ án
− Chương 2: Cơ sở lý thuyết - Trình bày về các cơ sở lý thuyết được áp
dụng trong đề tài
− Chương 3: Thiết kế hệ thống - Trình bày chi tiết về ý tưởng thiết kế, lựa
chọn giải pháp, thiết kế phần cứng và thiết kế phần mềm
− Chương 4: Kết quả thực hiện - Trình bày kết quả thực hiện trên thực tế
của đề tài và đưa ra nhận xét
− Chương 5: Kết luận và hướng phát triển - Tổng kết lại các vấn đề đã giải
quyết được của đề tài, đồng thời đề ra các hướng phương pháp triển cho đề tài
Trang 18CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Sau khi trình bày tổng quan về nội dung của cuốn báo cáo ở chương 1 thì chương
2 này nhóm sẽ trình bày một số lý thuyết cơ bản đã nghiên cứu được và áp dụng trong
đề tài
2.1 KIT NODEMCU ESP32
2.1.1 Giới thiệu
Là kit phát triển dựa trên nền tảng chip ESP32-D0WDQ6 với nhân xử
lý dual-core Xtensa® 32-bit LX6 microprocessors đầy mạnh mẽbên trong module ESP32-WROOM-32 với thiết kế dễ sử dụng có tích hợp luôn giao tiếp WIFI, Bluetooth truyền nhận dữ liệu và đặc biệt là sử dụng trực tiếp trên trình biên dịch của Arduino IDE để lập trình và nạp chương trình
Được dùng trong các ứng dụng cần kết nối, thu thập dữ liệu điều khiển qua Wifi và Bluetooth, đặc biệt là các ứng dụng liên quan đến công nghệ IoT Kit còn tích hợp IC CP2102, giúp dễ dàng giao tiếp với máy tính thông qua Micro USB để thao tác với board
Hình Kit ngoài thực tế:
2.1.2 Thông số kỹ thuật
− IC chính : Modulde ESP32-WROOM-32 SoC
− Wifi: 2.4GHz hỗ trợ chuẩn 802.11 b/g/n/e/I (up to 150 Mbps)
− Bluetooth: Bluetooth v4.2 BR/EDR và BLE
− Phiên bản firmware: NodeMCU-32S
− Điện áp hoạt động: 3.3V
Hình 2.1: Kit NODEMCU ESP32 DEVKIT V1
Trang 19− Điện áp cung cấp: 5V thông qua cổng USB hoặc chân Vin
− Số chân I/O: 30 chân (tất cả các chân I/O đều có Interrupt/PWM, wire)
One-− Số chân ngõ vào Analog: 15 chân
− Giao tiếp: IC giao tiếp UART CP2102 thông qua cáp Micro USB
Hình 2.2: Sơ đồ chân giao tiếp kit ESP32
2.2 MẠCH GIAO TIẾP I2C
2.2.1 Giới thiệu
Do LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng nhiều chân của vi điều khiển, nên Module chuyển đổi I2C ra đời khắc phục cho nhược điểm trên Thay vì sử dụng tất cả các chân của LCD thì với I2C chỉ cần sử dụng hai chân tín hiệu là SCL và SDA
I2C là chuẩn giao tiếp được phát minh để đơn giản hóa việc trao đổi dữ liệu Đôi khi nó cũng được gọi là chuẩn giao tiếp Two Wire Interface (TWI) vì chỉ sử dụng hai kết nối để truyền tải dữ liệu, hai kết nối của I2C là SDA và SCL SDA là đường truyền dữ liệu hai hướng, còn SDL là đường truyền xung đồng hồ và chủ theo một hướng
Nhìn vào hình 2.3, có thể thấy có hai thiết bị được nối cùng một bus I2C, tuy nhiên không xảy ra sự nhầm lẫn giữa các thiết bị vì mỗi thiết bị sẽ được nhận ra bởi một địa chỉ duy nhất với một quan hệ chủ/ tớ tồn tại trong suốt thời gian kết nối
Trang 20Trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ (Master) Thiết
bị chủ nắm vai trò tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ (Slave) trong quá trình kết nối
Một bus I2C chuẩn truyền 8 bit dữ liệu có hướng trên đường truyền là 100Kbits/s ở chế độ chuẩn, 400Kbits/s ở chế độ nhanh và cao nhất là 3.4Mbits/s ở chế độ cao tốc
Mỗi xung clock có một bit dữ liệu được truyền Mức tín hiệu SDA chỉ được thay đổi khi xung clock đang ở mức thấp, và ổn định khi xung clock ở mức cao
Hình 2.3: Chuẩn giao tiếp I2C Hình 2.4: Quá trình truyền 1 bit dữ liệu Quá trình truyền dữ liệu:
• Thiết bị chủ xác định đúng địa chỉ của thiết bị tớ Cùng với việc xác định địa chỉ, thiết bị chủ sẽ quyết định đọc hay ghi vào thiết bị tớ
• Thiết bị chủ gửi dữ liệu tới thiết bị tớ
• Thiết bị chủ kết thúc quá trình truyền dữ liệu
• Khi thiết bị chủ muốn nhận dữ liệu từ thiết bị tớ, quá trình cũng diễn ra tương tự
Trang 212.2.3 Sơ đồ kết nối
Dưới đây là sơ đồ kết nối chân của mạch giao tiếp I2C:
Hình 2.5: Sơ đồ kết nối chân mạch giao tiếp I2C
2.3 MODULE CẢM BIẾN ĐO DÒNG ACS712
2.3.1 Giới thiệu cảm biến Hall
Hiệu ứng Hall
Ban đầu ta có 1 thanh kim loại và sau đó ta cấp nguồn điện vào 2 đầu của tấm kim loại khi đó sẽ xuất hiện dòng điện đó là dòng dịch chuyển của các electron chạy từ đầu này sang đầu kia của tấm kim loại
Sau đó ta đặt một nam châm điện vuông góc với tấm kim loại có cực S gần với tấm kim loại khi đó sẽ làm lệnh các electron khỏi vị trí ban đầu vì cùng dấu thì đẩy nhau khác dấu là hút nhau Nếu ta coi vị trí ban đầu khi các electron chưa bị dịch chuyển là mức 0, khi đó các electron bị từ trường của nam châm dịch chuyên khỏi
vị trí mốc sẽ là âm còn phía trên mức 0 sẽ xuất hiện các điện tích dương và nếu ta đo đồng hồ vào 2 điểm này sẽ xuất hiện 1 điện áp
Hiệu ứng Hall là một hiệu ứng vật lý được thực hiện khi ta áp dụng một từ trường vuông góc lên một 1 bảng làm bằng kim loại hay chất dẫn điện nói chung (thanh Hall) đang có dòng điện chảy qua lúc đó ta nhận được một hiệu điện thế U (hiệu điện thế Hall) sinh ra tại 2 mặt đối diện của thanh Hall
Trang 22Sau đây là hình ảnh minh họa về hiệu ứng Hall:
2.2.4 Giới thiệu module ACS712 [8]
Module cảm biến đo dòng ACS712 20A sử dụng IC ACS712ELC-30B dựa trên hiệu ứng Hall chuyển dòng điện cần đo thành giá trị điện thế IC ACS712 sẽ xuất ra một tín hiệu analog ở chân Vout biến đổi tuyến tính theo Ip(dòng điện cần đo) được lấy mẫu thứ cấp DC (hoặc AC) trong phạm vi cho phép Tụ Cf dùng để chống nhiễu
2.3.2 Thông số kỹ thuật
− Đường tín hiệu analog có độ nhiễu thấp
− Thời gian chuyển đổi: 5µS
− Điện trở nội: 1.2 mΩ
− Nguồn cung cấp: 5V
− Độ nhạy ngõ ra: 96 – 104 mV/A
− Điện áp cách ly tối đa: 2100V (RMS)
− Nhiệt độ hoạt động: -40 – 85 °C
Hình 2.6: Mô phỏng hiệu ứng Hall
Trang 232.3.3 Sơ đồ kết nối
2.3.4 Cách sử dụng
2.3.3.1 Đo dòng DC
Khi đo DC phải mắc tải nối tiếp Ip+ và Ip- đúng chiều, khi dòng điện
đi từ Ip+ đến Ip- Vout sẽ ra mức điện áp tương ứng 2.5~5VDC tương ứng dòng 0~Max, nếu mắc ngược Vout sẽ ra điện thế 2.5~0VDC tương ứng với 0~(-Max) Khi cấp nguồn 5VDC cho module khi chưa có dòng Ip (chưa có tải mắc nối tiếp) thì Vout
= 2.5VDC, khi dòng Ip( dòng của tải) bằng Max thì Vout=5DC, Vout sẽ tuyến tính với dòng Ip trong khoản 2.5~5VDC tương ứng với dòng 0~Max, để kiểm tra có thể
dùng đồng hồ VOM thang đo DC để đo Vout
2.3.3.2 Đo dòng AC
Khi đo dòng điện AC, do dòng điện AC không có chiều nên không cần quan tâm chiều, khi cấp nguồn 5V DC cho module khi chưa có dòng Ip (chưa có tải mắc nối tiếp với domino) thì Vout = 2.5VDC, khi có dòng xoay chiều Ip (dòng AC)
do dòng xoay chiều độ lớn thay đổi liên tục theo hàm Sin, nên điện thế Vout sẽ có
độ lớn tuyến tính với dòng điện AC từ 0~5VDC tương ứng với (-Max)~Max (dòng
xoay chiều), để kiểm tra dùng đồng hồ VOM thang đo AC đo Vout
2.4 MODULE CẢM BIẾN KHÍ GAS MQ-2 [9]
Trang 24Cảm biến xuất ra cả hai dạng tín hiệu là Analog và Digital, tín hiệu Digital
có thể điều chỉnh độ nhạy bằng biến trở
Sự khác nhau là do có 2 loại transistor là NPN – kích ở mức cao và PNP – kích ở mức thấp Relay gồm có:
− Cơ cấu tiếp thu: Có nhiệm vụ tiếp nhận những tín hiệu đầu vào và biến đổi nó thành đại lượng cần thiết cung cấp tín hiệu phù hợp cho khối trung gian
− Cơ cấu trung gian: Làm nhiệm vụ tiếp nhận những tín hiệu đưa đến
từ khối tiếp thu và biến đổi nó thành đại lượng cần thiết cho Relay tác động
− Cơ cấu chấp hành: Làm nhiệm vụ phát tín hiệu cho mạch điều khiển
Trang 252.5.2 Cấu tạo Relay
Các chân đấu nối và chân chuyển mạch của relay thường được ký hiệu là COM, NC và NO:
− COM là chân chung, nơi kết nối vào đường cấp nguồn chờ
− NC và NO là 2 chân chuyển đổi Trong đó, NC là chân thường đóng
và NO là chân thường mở (hay dùng để nối với thiết bị)
Hình 2.10: Module relay 2 kênh
Trang 26Thông số kỹ thuật:
• Điện áp hoạt động 5V
• Dòng tiêu thụ: khoảng 20mA
• Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A
• Có đèn báo đóng ngắt Có thể chọn mức tín hiệu kích HIGH (5V) hoặc LOW (0V) qua Jumper trên mỗi relay
• Kích thước: 52 (L) * 41(W) * 19 (H) mm
Các chân của module:
• VCC,GND: Hai chân cấp nguồn 5V cho module
• IN1, IN2: Chân tín hiệu điều khiển được nối với vi điều khiển
• COM: Nối vào nguồn của của thiêt bị nếu dùng điện xoay chiều và nối vào cực dương nếu dùng điện một chiều
• NO: Nối chân dương (DC) của thiết bị và một đầu bất kỳ từ thiết bị
Hình ảnh thực tế của LCD 20x4:
Hình 2.11: LCD 20x4
Trang 27Sơ đồ chân
Bảng 2.1: Sơ đồ chân của LCD 20x4
Chân Ký hiệu Mô tả
• Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (chế độ “đọc” - read)
• Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu
DR bên trong LCD
logic “0” - LCD hoạt động ở chế độ ghi, nối với logic “1” -LCD
ở chế độ đọc
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
7-14
DB0-DB7
8 đường của bus dữ liệu dùng để trao đổi thông tin với MCU
Có 2 chế độ sử dụng 8 đường bus này :
• Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7
• Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7
Trang 28Thông số kỹ thuật:
Bảng 2.2: Thông số kỹ thuật của LCD 20x4
STT Thông số Giá trị Đơn vị
Min Typical Max
Giới thiệu thư viện sử dụng:
Thư viện được sử dụng là thư viện LiquidCrytal_I2C Thư viện này giúp ta có thể viết chương trình để vi điều khiển truyền dữ liệu ra LCD thông qua module I2C Một số hàm của thư viện được sử dụng:
Bảng 2.3: Một số hàm thông dụng của LCD trong thư viện
STT Hàm Tham số Chức năng
(Addr, Cols, Rows)
Addr: Địa chỉ của LCD
Hệ điều hành Android là một tập hợp của các thành phần, phần mềm có cấu trúc được chia thành 5 phần chính như sau:
Trang 29− Linux Kernel: Là lớp thấp nhất, nó cung cấp các chức năng cơ bản như
quản lý tiến trình, quản lý bộ nhớ, quản lý thiết bị như camera, bàn phím, màn hình Ngoài ra, nó còn quản lý mạng, driver của các thiết bị
− Libraries: Phía trên Linux Kernel là tập hợp các bộ thư viện mã nguồn
mở WebKit, cơ sở dữ liệu SQLite hữu ích cho việc lưu trữ và chia sẻ dữ liệu, bộ thư viện có thể phát, ghi âm về âm thanh, hoặc video Thư viện SSL chịu trách nhiệm cho bảo mật internet
− Application Framework: Lớp này cung cấp nhiều dịch vụ cấp cao hơn
cho các ứng dụng trong các class Java
− Applications: Chúng ta sẽ thấy tất cả các ứng dụng Android ở lớp trên
cùng Ứng dụng được viết sẽ được cài đặt vào lớp này
Hình minh họa cho các cấu trúc của Android:
Hình 2.12: Cấu trúc hệ điều hành Android
Trang 30
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
Sau khi trình bày về các cơ sở lý thuyết đã nghiên cứu được ở chương 2 thì trong chương này nhóm sẽ trình bày về yêu cầu hệ thống phần cứng và phần mềm, sơ đồ khối, sơ đồ nguyên lý của các khối trong hệ thống và lưu đồ thuật toán
3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG
3.1.1 Yêu cầu của hệ thống
Hệ thống có các chức năng sau:
− Giám sát trạng thái hoạt động của các thiết bị trong phòng
− Bật/tắt các thiết bị thông qua phần cứng hoặc phần mềm
− Đo dòng điện và tính công suất tiêu thụ trong từng phòng
− Tích hợp các hệ thống tiện ích như hệ thống chống trộm, phát hiện khí gas
− Xây dựng ứng dụng di động trên nền tảng Android bao gồm:
• Trang đăng ký và đăng nhập tài khoản
• Giao diện trang quản lý và điều khiển thiết bị
• Chức năng tương tác giữa người quản lý và người thuê phòng
3.1.2 Mô hình chung của hệ thống
Mô hình hệ thống sẽ gồm có 2 khối chính là khối Slave và khối Master
Hình 3.1: Mô hình kết nối hệ thống
Trang 31Hệ thống sẽ có chế độ hoạt động:
− Chế độ Online: Khi có tín hiệu điều khiển từ điện thoại Dữ liệu sẽ
được gửi lên Firebase, từ đây khối Master sẽ nhận dữ liệu từ Firebase và truyền các yêu cầu đến các khối Slave để thực hiện các yêu cầu
− Chế độ Offline: Khi mạng Internet mất kết nối, khối Master sẽ
được xem như là Webserver local Khi điện thoại gửi tín hiệu điều khiển, khối Master
sẽ nhận tín hiệu và gửi các yêu đến các khối Slave thực hiện
3.1.3 Sơ đồ khối và chức năng từng khối
Sơ đồ khối gồm các khối chính:
• Khối nguồn
• Khối xử lý trung tâm
• Khối điều khiển bằng phím cảm ứng
• Khối hiển thị
• Khối Firebase
Hình 3.2: Sơ đồ khối của khối Master
Trang 32Chức năng từng khối của khối Master:
• Khối nguồn: Cung cấp nguồn cho toàn bộ hệ thống hoạt động
• Khối xử lý trung tâm: có chức năng nhận tín hiệu từ khối điều khiển, xuất
thông tin của các phòng ra khối hiển thị, truyền dữ liệu lên Firebase thông qua Internet
• Khối điều khiển bằng phím cảm ứng: Ngắt nguồn khẩn cấp nguồn điện
các phòng khi có sự cố xảy ra
• Khối hiển thị: Sử dụng LCD và LED để hiển thị thông tin của các phòng
• Khối Firebase: Lưu trữ dữ liệu và điều khiển hệ thống qua Internet
Hình 3.3: Sơ đồ khối của khối Slave
Trang 33Sơ đồ khối gồm các khối chính:
• Khối nguồn
• Khối xử lý trung tâm
• Khối điều khiển bằng phím cảm ứng
• Khối hiển thị
• Khối Firebase
Chức năng từng khối của khối Master:
• Khối nguồn: Cung cấp nguồn cho toàn bộ hệ thống hoạt động
• Khối xử lý trung tâm: có chức năng nhận tín hiệu từ khối điều khiển, xuất
thông tin của các phòng ra khối hiển thị, truyền dữ liệu lên Firebase thông qua Internet
• Khối điều khiển bằng phím cảm ứng: Ngắt nguồn khẩn cấp nguồn điện
các phòng khi có sự cố xảy ra
• Khối hiển thị: Sử dụng LED để hiển thị trạng thái và dòng điện của thiết
bị trong các phòng
• Khối Firebase: Lưu trữ dữ liệu và điều khiển hệ thống qua Internet
• Khối tải tiêu thụ: Gồm có module Relay điều khiển đóng ngắt điện và các
thiết bị tiêu thụ điện năng như quạt, đèn, tivi, tủ lạnh,…
• Khối chuông báo động: Có chức năng báo động khi có các sự cố xảy ra
như rò rỉ khí gas, báo trộm,…
• Khối cảm biến khí gas: có chức năng phát hiện ra khí gas trong môi trường
• Khối cảm biến đo dòng: đo dòng điện đi qua khi có tải thiêu thụ được gắn
vào
• Khối Firebase: Lưu trữ dữ liệu và điều khiển hệ thống qua Internet
3.1.4 Hoạt động chung của hệ thống
3.1.3.1 Khối Master
Điều khiển hệ thống điện tổng cho từng phòng thông qua hệ thống nút cảm ứng, hiển thị trạng thái kết nối của từng phòng thông qua đèn led và LCD và truyền dữ liệu lên cơ sở dữ liệu Firebase
3.1.3.2 Khối Slave
Hệ thống phím nhấn cảm ứng sẽ điều khiển hệ thống tải tiêu thụ và nguồn điện tổng của từng phòng Cảm biến đo dòng sẽ đo dòng và tính ra công suất tiêu thụ cho người dùng Khi có khí gas trong phòng cảm biến MQ-2 sẽ phát hiện và báo động thông qua chuông Ngoài ra khi có trộm đột nhập thì sẽ được phát hiện thông qua khối chống trộm Khối LCD sẽ hiển thị trạng thái bật/tắt của các thiết bị tải tiêu thụ và lượng điện đã tiêu thụ
Trang 34sử dụng board nhúng ESP32 vì nguồn tài liệu phong phú, gần gũi và dễ sử dụng đối với sinh viên trong việc nghiên cứu và học tập
Vi điều khiển ESP32 có chức năng sẽ kết nối mạng Internet thông qua mạng không dây Wifi và điều khiển hệ thống phần cứng kết nối bên ngoài Trong vi điều khiển có bộ chuyển đổi tính hiệu tương tự - số với 18 ngõ vào Các ngõ vào sẽ được lấy mẫu, ngõ ra của mẫu được nối vào bộ biến đổi Bộ biến đối sẽ quy đổi thàng giá trị nhị phân tương ứng với ngõ vào tương tự Giá trị tương tự sẽ biến dổi cho ra một kết quả tương ứng với 12 bit nhị phân Một trong số các chân này được dùng để xây dựng bộ khuyếch đại có độ lợi khả trình (programmable gain amplifier) nhằm đo các tín hiệu analog yếu
Để cấp nguồn cho vi điều khiển hoạt động ta sẽ nối chân VIN vào nguồn 5V và chân GND sẽ nối vào GND của adapter
Sơ đồ chân kết nối
− Chân D13 và D34 sẽ nối với chân tín hiệu của 2 phím cảm ứng
− Chân D21 và D22 sẽ nối lần lượt các chân SDA và SCL của module I2C
− Chân D2 và D4 sẽ nối lần lượt và cực dương của 2 led
Trang 35Hình 3.4: Sơ đồ mạch khối xử lý trung tâm.
3.2.1.2 Khối điều khiển bằng phím cảm ứng
Lựa chọn phần cứng
Với khối điều khiển ta có các lựa chọn như: nút nhấn giữ, nút nhấn nhả, phím cao su, công tắc, phím cảm ứng,…
Nhóm đã lựa chọn sử dụng nút nhấn cảm ứng vì phím nhấn cảm ứng có thể thao tác qua vật cản phi kim độ dày tối đa lên tới 5mm Đồng thời phím còn tạo tính thẩm mỹ cao
Sơ đồ chân kết nối
Hệ thống sẽ dùng 4 phím cảm ứng Phím cảm ứng sẽ gồm có 3 chân:
− Chân VCC được nối vào nguồn 5V
− Chân I/O được nối lần lượt vào các port D13, D34 của vi điều khiển
− Chân GND được nối vào GND
Trang 36Hình 3.5: Sơ đồ mạch phím cảm ứng 3.2.1.3 Khối hiển thị
Lựa chọn phần cứng
Trong khối hiển thị ta có nhiều cách để hiển thị thông tin từ vi điều khiển sau khi xử lý dữ liệu như: LCD, led 7 đoạn, TFT-LCD, OLED,…
Vì nhu cầu sử dụng chỉ xuất cùng lúc thông tin trạng thái bật/tắt của thiết
bị và lượng điện năng tiêu thụ Do đó, để hiển thị đầy đủ các thông tin trên nhóm đã
sử dụng LCD nhằm hiển thị trực quan hơn và tiết kiệm chi phí
Vì vi điều khiển có giới hạn về số chân nên để giao tiếp với LCD ta sẽ sử dụng module I2C để tiết kiệm chân cho vi điều khiển Với module I2C thì ta chỉ cần
sử dụng 2 chân SDA và SCL để truyền dữ liệu
Để kết nối module I2C và LCD ta nối các chân từ D0 đến D7 lần lượt với các chân từ 7 đến 14 của module I2C Các chân E, RW, RS lần lượt với các chân 4,
5, 6 và các chân VEE, VDD, VSS với lần lượt các chân 3, 2, 1
Sơ đồ chân kết nối
− Từ module I2C hai chân SDA và SCL sẽ kết nối lần lượt vào chân D21, D22 của vi điều khiển
− Hai chân dương của led sẽ nối vào lần lượt chân D2, D4
Trang 37Hình 3.6: Sơ đồ mạch khối hiển thị khối Master
3.2.2 Khối Slave
3.2.2.1 Khối xử lý trung tâm
Lựa chọn phần cứng
Tương tự như khối Master
Sơ đồ chân kết nối
− Chân D13 và D34 sẽ nối với chân tín hiệu của 2 phím cảm ứng
− Chân D21 và D22 sẽ nối lần lượt các chân SDA và SCL của module I2C