1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Đồ án tốt nghiệp) thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT

99 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BỘ 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 KHOA ĐIỆN – ĐIỆN TỬ THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG QUẢN LÝ NHÀ YẾN SỬ DỤNG CƠNG NGHỆ IOT GVHD: Trần Vũ Hồng SVTH: Trần Đức Trọng MSSV:16141313 SVTH: Trần Đức Trọng MSSV:15141293 SKL007336 Tp Hồ Chí Minh, tháng 07/2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN CNKT ĐIỆN TỬ – CÔNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG QUẢN LÝ NHÀ YẾN SỬ DỤNG CÔNG NGHỆ IOT Giảng viên hướng dẫn Sinh viên thực MSSV Sinh viên thực MSSV TP HỒ CHÍ MINH – 20/07/2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Khóa: Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG QUẢN LÝ NHÀ YẾN SỬ DỤNG CÔNG NGHỆ IOT AI NHIỆM VỤ Các số liệu ban đầu: - Sử dụng Arduino Mega 2560, module ESP8266 linh kiện liên quan đến đề tài - Có thể sử dụng để điều khiển thiết bị qua điện thoại, qua website giám sát điều kiện đáp ứng cho chim yến sinh trưởng Nội dung thực hiện: - NỘI DUNG 1: Tìm hiểu đặc điểm sinh trưởng lồi chim yến khảo sát nhà chim yến thực tế - NỘI DUNG 2: Tìm hiểu hệ thống kĩ thuật nhà chim yến - NỘI DUNG 3: Viết đề cương tóm tắt nội dung đề tài - NỘI DUNG 4: Tiến hành vẽ sơ đồ khối, giải thích lựa chọn linh kiện cho khối - NỘI DUNG 5: Vẽ sơ đồ nguyên lý giải thích hoạt động mạch - NỘI DUNG 6: Viết chương trình điều khiển cho hệ thống - NỘI DUNG 7: Liên kết với ứng dụng điện thoại để điều khiển thiết bị ngoại vi - NỘI DUNG 8: Thiết kế website hiển thị thông tin điều khiển thiết bị ngoại vi i - NỘI DUNG 9: Thi công mạch - NỘI DUNG 10: Thi công mô hình nhà ni chim yến thực kết nối website, điện thoại - NỘI DUNG 11: Chạy thử nghiệm mơ hình - NỘI DUNG 12: Thực điều chỉnh mơ hình, điều chỉnh mạch - NỘI DUNG 13: Viết sách luận văn - NỘI DUNG 14: Tiến hành báo cáo đề tài III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/08/2020 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Trần Vũ Hoàng CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: TRẦN ĐỨC TRỌNG Lớp: 16141DT2A MSSV:16141313 Họ tên sinh viên 2: Phạm Văn Thuận Lớp:15141DT2A MSSV:15141293 Tên đề tài: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG QUẢN LÝ NHÀ YẾN SỬ DỤNG CÔNG NGHỆ IOT Tuần/Ngày Tuần (09/3 – 15/3) Tuần (16/3 – 22/3) Tuần (23/3 – 29/3) Tuần (30/3 – 05/4) Tuần (06/4 – 12/4) Tuần (13/4 – 19/4) Tuần (20/4 – 26/4) Tuần (27/4 – 03/5) iii Tuần (04/5 – 10/5) Tuần 10 (11/5 – 17/5) Tuần 11 (18/5 – 24/5) Tuần 12 (25/5 – 31/5) Tuần 13 (01/6 – 07/6) Tuần 14 (08/6 – 14/6) Tuần 15 (15/6 – 21/6) Tuần 15 (22/6 – 03/7) iv LỜI CAM ĐOAN Chúng cam đoan đề tài đồ án tốt nghiệp chúng tơi thực hướng dẫn TS Trần Vũ Hồng, có tham khảo số tài liệu liên quan khơng chép từ tài liệu hay cơng trình trước đó, nội dung kết đề tài đồ án tốt nghiệp hoàn toàn trung thực Nếu có gian lận nào, chúng tơi xin chịu trách nhiệm hoàn toàn nội dung đề tài Người thực đề tài Trần Đức Trọng v Phạm Văn Thuận LỜI CẢM ƠN Lời đầu tiên, chúng em xin gửi lời cảm ơn chân thành tới Thầy/Cô trường Đại học Sư phạm Kỹ thuật TPHCM nói chung Thầy/Cơ khoa Điện – Điện tử nói riêng dạy dỗ, truyền đạt cho chúng em kiến thức vô giá môn đại cương lẫn kiến thức chuyên ngành Những năm tháng đại học qua thật nhanh chúng em, buổi thực hành hướng dẫn tận tình Thầy/Cơ giúp chúng em có kiến thức vững vàng để hoàn thành đề tài nghiệp sau Lời tiếp theo, chúng em xin phép gửi đến Thầy Trần Vũ Hồng lịng biết ơn lời cảm ơn chân thành sâu sắc Thầy giúp nhóm vạch hướng hướng dẫn cụ thể yêu cầu đề tài, tận tình giúp đỡ, hướng dẫn tạo điều kiện tốt suốt thời gian hoàn thành Đồ Án Tốt Nghiệp Cuối cùng, nhóm em xin cảm ơn đến gia đình bạn bè lời cảm ơn, biết ơn chân thành Trong suốt trình học trường, gia đình bạn bè người ln ln quan tâm, giúp đỡ động viên để chúng em hồn thành tốt chương trình học nói chung Đồ Án Tốt Nghiệp nói riêng Mặc dù cố gắng hoàn thành mục tiêu đặt kiến thức cịn hạn chế nên q trình thực đồ án khơng thể tránh sai sót, mong đóng góp chỉnh sửa từ Thầy/Cơ để nhóm hồn thiện đồ án tốt Nhóm em xin chân thành cảm ơn! Người thực đề tài Trần Đức Trọng vi Phạm Văn Thuận MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC LIỆT KÊ HÌNH VẼ LIỆT KÊ BẢNG TÓM TẮT Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT 2.1 KỸ THUẬT NUÔI CHIM YẾN 2.1.1 Đặc điểm, tập tính sinh sống chim yến 2.1.2 Các điều kiện đáp ứng để nuôi yến 2.2 GIỚI THIỆU VỀ PHẦN CỨNG 2.2.1 Cảm biến cường độ sáng BH1750 2.2.1.1 Tổng quan 2.2.2 Cảm biến nhiệt độ, độ ẩm DHT11 2.2.3 Cảm biến thời gian thực DS1307 2.2.3.1 Tổng quan 2.2.4 Arduino Mega 2560 vii MỤC LỤC 2.2.5 Module ESP8266 11 2.2.5.1 Tổng quan 11 2.2.6 Màn hình LCD 20x4 12 2.2.7 Mạch chuyển đổi I2C cho LCD 14 2.2.8 Động servo MG995 .15 2.2.9 Các thiết bị ngoại vi 15 2.2.9.4 Máy sưởi 17 2.2.10 Relay SRD12VDC 17 2.3 GIỚI THIỆU ỨNG DỤNG TRÊN ĐIỆN THOẠI 18 3.1 ĐIỀU KHIỂN, GIÁM SÁT MƠ HÌNH NHÀ YẾN BẰNG ĐIỆN THOẠI 18 2.3.2 BẬT TẮT THIẾT BỊ NGOẠI VI THÔNG QUA TRỢ LÝ ẢO GOOGLE 2.3.2.1 Tổng quan Google Asisstant .19 2.4 GIỚI THIỆU VỀ WEBSITE 20 Chương TÍNH TỐN VÀ THIẾT KẾ 21 3.1 YÊU CẦU THIẾT KẾ .21 3.2 SƠ ĐỒ KHỐI VÀ CHỨC NĂNG 22 3.2.1 Sơ đồ khối 22 3.2.2 Nguyên lý hoạt động chức khối 23 3.3 TÍNH TỐN VÀ THIẾT KẾ MẠCH .23 3.3.1 Khối cảm biến 23 3.3.2 Khối thời gian thực .27 3.3.3 Khối xử lí trung tâm kết nối internet, kết nối điện thoại 29 3.3.4 Khối hiển thị 32 3.3.5 Khối điều khiển thiết bị ngoại vi 33 3.3.6 Khối nguồn 34 3.4 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 36 vii Chương KẾT LUẬN, HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN, HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau thời gian thực đề tài “Thiết kế thi công hệ thống quản lý nhà yến sử dụng công nghệ IoT”, nhóm thực học hỏi nhiều kiến thức trau dồi nhiều kinh nghiệm Bên cạnh thực hành, nghiên cứu thiết kế mạch điều khiển, thiết kế website để áp dụng vào thực tế giúp ích nhiều cho người ni chim yến Kết đạt nhóm với mục tiêu đề ban đầu Nhóm thiết kế thành cơng hệ thống quản lý nhà yến có chức đo nhiệt độ, độ ẩm, cường độ ánh sang Thiết bị có chế độ điều khiển bao gồm chế độ điều khiển tự động chế độ điều khiển tay Với chế độ tự động thiết bị tự điều chỉnh thơng số đáp ứng điều kiện sống lí tưởng chim Bên cạnh người dùng tự điều khiển tùy chỉnh thông số tay Dữ liệu thông số nhiệt độ, độ ẩm gửi lên website qua ứng dụng điện thoại để người dùng dễ dàng nắm bắt Đánh giá hệ thống hoạt động ổn định, khơng bị treo Bên cạnh có hình hiển thị trực quan giúp cho việc sử dụng theo dõi trình hoạt động thuận tiện Website giao diện thân thiện đơn giản dễ sử dụng Các thông số thời gian, nhiệt độ, độ ẩm, ánh sáng cập nhật nhanh xác Có thể điều khiển thiết bị đâu điện thoại laptop cần thiết bị có kết nối internet Qua q trình thực nhóm tìm hiểu sâu mảng thiết kế website viết trang điều khiển, giao diện website sở liệu Tìm hiểu ngôn ngữ thiết kế website HTML, PHP, SQL, CSS 6.2 HƯỚNG PHÁT TRIỂN Từ đề tài hoàn thành, phát triển mở rộng khả hoạt động mơ sau: - Thêm cảm biến nhận diện số lượng chim bay vào khoảng thời gian gọi đàn Qua xác định xác tổng số chim nhà yến - Sử dụng kết hợp với camera giám sát gửi liệu lên website giúp người dùng xem từ xa - Kết hợp thêm cảm biến hồng ngoại để nhận diện cảnh báo yếu tố tác động đến mơ hình nhà yến BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 62 TÀI LIỆU THAM KHẢO  Tài liệu online [1] Lê Cúc, “Thực trạng tiềm nghề nuôi yến”, tên Web Báo Quân đội Nhân Dân online, 2019 [2] “Kĩ thuật nuôi chim yến sử dụng công nghệ Malaysia”, tên Web vuayen.vn, 2016 [3] “Nuôi yến nhà: yếu tố giúp bạn thành công”, tên Web Farmvina.com, 2015 [4] Thạc sỹ Lê Hữu Hoàng, “Một số đặc điểm sinh học chim yến nhà Khánh Hòa”, tên Web Nongnghiep.vn, 2013 [5] “Arduino Mega 2560”, tên Web Arduinokit.vn [6] Trung Ngo, “Đồng điều khiển tay từ xa sử dụng ứng dụng Blynk”, tên Web Tapit.vn, 2018 [7] “Điều khiển thiết bị giọng nói thơng qua Google Assistant Tiếng Viết sử dụng ESP8266, Blynk IFTTT”, tên Web Arduinokit.vn, 2019 [8] “Phần mềm vẽ mạch trực quan Fritzing”, tên Web Chosangtao.com, 2020 [9] Phạm Như Sang, Huỳnh Lê Công Tú, “Thiết kế thi cơng mơ hình nhà ni chim yến điều khiển giám sát từ xa, tên Web slideshare.net  Sách tham khảo [10] Nguyễn Đình Phú, “Giáo trình vi xử lý II”, NXB ĐH Quốc Gia Tp.HCM, 2007 [11] Nguyễn Đình Phú, Nguyễn Trường Duy, “Giáo Trình: Kỹ Thuật Số, Xuất ĐH Quốc Gia”, Tp.HCM, 2013 [12] TS Phan Văn Ca – Ths Trương Quang Phúc, “Giáo trình Cơ sở ứng dụng Internet Of Things”, Đại Học Quốc Gia TP Hồ Chí Minh, Tp.HCM, 2017 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 PHỤ LỤC  Chương trình cho nút nhấn tay if (digitalRead(btn_quat) == LOW) { lastMsg = millis(); while (1) { lastMsg = millis(); if (digitalRead(btn_quat) == HIGH) { bien_quat++; if (bien_quat % == 1) { Serial.println(">>Btn ON quat"); digitalWrite(rl_quat, LOW); trangthai_quat = 1; lastMsg = millis(); break; } else { Serial.println(">>Btn OFF quat"); digitalWrite(rl_quat, HIGH); trangthai_quat = 0; lastMsg = millis(); break; } } } BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH  Chương trình cho nút nhấn blynk BLYNK_WRITE(V2) { int btn2 = param.asInt(); if (chedo == 1) { if (btn2 == 1) { mySerial.println("V2A1B"); Serial.println("V2A1B"); } if (btn2 == 0) { mySerial.println("V2A0B"); Serial.println("V2A0B"); } } }  Chương trình so sánh bật tắt thiết bị void Sosanh() { if (nhietdo >= 31 && nhietdo = 70 && doam = && gio = 17 && gio = 70 && doam 85 ) { //ON quạt ,ON suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, LOW); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 1; trangthai_phunsuong = 0; } if (nhietdo >= 31 && nhietdo = 31 && nhietdo 85 ) { //ON quạt ,ON suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, LOW); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 1; trangthai_phunsuong = 0; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH if (nhietdo > 34 && doam < 70 ) { //ON quạt ,OFF suoi ,ON phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, HIGH); digitalWrite(rl_phunsuong, LOW); trangthai_quat = 1; trangthai_suoi = 0; trangthai_phunsuong = 1; } if (nhietdo > 34 && doam >= 70 && doam 34 && doam > 85) { //ON quạt , OFF suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, HIGH); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 0; trangthai_phunsuong = 0; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68  Chương trình truyền liệu ESP8266 void SendEsp() { bien++; biensend = 1; DataSendEsp = ""; DataSendEsp = A + chedo + B + nhietdo + C + doam + D + dolux + E + trangthai_loa + F + trangthai_quat + G + trangthai_suoi + H + trangthai_phunsuong + J + trangthai_servo + K + mucservo + L; / A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] //G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L Serial.print(bien); Serial.print(".DataSendEsp = "); Serial.println(DataSendEsp); Serial1.println(DataSendEsp); Serial1.flush(); delay(100); Serial2.println(DataSendEsp); Serial2.flush(); delay(100); biensend = 0; }  Chương trình truyền nhận UART ESP8266 với blynk void Read_Uart() { while (mySerial.available()) { char inChar = (char)mySerial.read(); inputString += inChar; if (inChar == '\n') { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH stringComplete = true; } if (stringComplete) { bien++; Serial.print(bien); Serial.print(".Data Mega = "); Serial.println(inputString); / A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] //G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L int TimA, TimB, TimC, TimD, TimE , TimF , TimG , TimH , TimJ , TimK , TimL = -1; TimA = inputString.indexOf("A"); TimB = inputString.indexOf("B"); TimC = inputString.indexOf("C"); TimD = inputString.indexOf("D"); TimE = inputString.indexOf("E"); TimF = inputString.indexOf("F"); TimG = inputString.indexOf("G"); TimH = inputString.indexOf("H"); TimJ = inputString.indexOf("J"); TimK = inputString.indexOf("K"); TimL = inputString.indexOf("L"); if (TimA >= && TimD >= && TimH >= && TimL >= ) { String ChuoiA, ChuoiB, ChuoiC, ChuoiD, ChuoiE , ChuoiF , ChuoiG , ChuoiH , ChuoiJ , ChuoiK = ""; ChuoiA = inputString.substring(TimA + , TimB ); ChuoiB = inputString.substring(TimB + , TimC ); ChuoiC = inputString.substring(TimC + , TimD ); ChuoiD = inputString.substring(TimD + , TimE ); ChuoiE = inputString.substring(TimE + , TimF ); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ChuoiF = inputString.substring(TimF + , TimG ); ChuoiG = inputString.substring(TimG + , TimH ); ChuoiH = inputString.substring(TimH + , TimJ ); ChuoiJ = inputString.substring(TimJ + , TimK ); ChuoiK = inputString.substring(TimK + , TimL ); / A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] / G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L chedo = ChuoiA.toInt(); // tin hieu V0 auto / man Blynk.virtualWrite(V0, ChuoiA); // tin hieu V1 Loa Blynk.virtualWrite(V1, ChuoiE); // tin hieu V2 Quat Blynk.virtualWrite(V2, ChuoiF); // tin hieu V3 Sưởi Blynk.virtualWrite(V3, ChuoiG); // tin hieu V4 Phun sương Blynk.virtualWrite(V4, ChuoiH); // tin hieu V5 Servo Blynk.virtualWrite(V5, ChuoiJ); // tin hieu V6 ánh sáng Blynk.virtualWrite(V6, ChuoiD); // tin hieu V7 nhiệt độ Blynk.virtualWrite(V7, ChuoiB); // tin hieu V8 độ ẩm Blynk.virtualWrite(V8, ChuoiC); // tin hieu servo Blynk.virtualWrite(V10, ChuoiK);// trang thai servo } inputString = ""; stringComplete = false; } } }  Chương trình truyền nhận UART với web void Read_Uart() { while (mySerial.available()) { char inChar = (char)mySerial.read(); inputString += inChar; if (inChar == '\n') BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH { stringComplete = true; } if (stringComplete) { dem++; Serial.print(dem); Serial.print(".Data Mega = "); Serial.println(inputString); int TimA , TimB , TimC , TimD , TimE , TimF, TimG , TimH , TimJ , TimK , TimL = -1; TimA = inputString.indexOf("A"); TimB = inputString.indexOf("B"); TimC = inputString.indexOf("C"); TimD = inputString.indexOf("D"); TimE = inputString.indexOf("E"); TimF = inputString.indexOf("F"); TimG = inputString.indexOf("G"); TimH = inputString.indexOf("H"); TimJ = inputString.indexOf("J"); TimK = inputString.indexOf("K"); TimL = inputString.indexOf("L"); if (TimA >= && TimF >= && TimL >= ) { / A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] / G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L String ChuoiA, ChuoiB, ChuoiC , ChuoiD, ChuoiE, ChuoiF, ChuoiG , ChuoiH , ChuoiJ , ChuoiK = ""; ChuoiA = inputString.substring(TimA + , TimB); ChuoiB = inputString.substring(TimB + , TimC); ChuoiC = inputString.substring(TimC + , TimD); ChuoiD = inputString.substring(TimD + , TimE); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72 ChuoiE = inputString.substring(TimE + , TimF); ChuoiF = inputString.substring(TimF + , TimG); ChuoiG = inputString.substring(TimG + , TimH); ChuoiH = inputString.substring(TimH + , TimJ); ChuoiJ = inputString.substring(TimJ + , TimK); ChuoiK = inputString.substring(TimK + , TimL); / A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] / G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L chedo = ChuoiA.toInt(); nhietdo = ChuoiB.toInt(); doam = ChuoiC.toInt(); dolux = ChuoiD.toInt(); trangthai_loa = ChuoiE.toInt(); trangthai_quat = ChuoiF.toInt(); trangthai_suoi = ChuoiG.toInt(); trangthai_phunsuong = ChuoiH.toInt(); trangthai_servo = ChuoiJ.toInt(); mucservo = ChuoiK.toInt(); ChuoiGhep = A + chedo + B + nhietdo + C + doam + D + dolux + E + trangthai_loa + F + trangthai_quat + G + trangthai_suoi + H + trangthai_phunsuong + J + trangthai_servo + K + mucservo + L; for (byte len = 1; len

Ngày đăng: 22/12/2021, 06:06

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w