Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 138 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
138
Dung lượng
5,68 MB
Nội dung
BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾTKẾVÀTHICÔNGHỆTHỐNGĐIỀUKHIỂNCÁCTHIẾTBỊTRONGPHÒNGHỌC GVHD: Ths Nguyễn Văn Hiệp SVTH1: Huỳnh Nguyễn Nhân Hậu MSSV: 14141092 SVTH2: Thái Ngọc Hậu MSSV: 14141093 Tp Hồ Chí Minh – Tháng 01/2019 ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o Tp HCM, ngày 10 tháng năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Huỳnh Nguyễn Nhân Hậu MSSV: 14141092 Thái Ngọc Hậu MSSV: 14141093 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 141 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2014 Lớp: 1414DT2 I TÊN ĐỀ TÀI: THIẾTKẾVÀTHICÔNGHỆTHỐNGĐIỀUKHIỂNCÁCTHIẾTBỊTRONGPHÒNGHỌC II NHIỆM VỤ Các số liệu ban đầu: _ Sử dụng điện thoại hệđiều hành Android _ Sử dụng Module wifi ESP8266 NodeMCU _ Sử dụng Arduino Mega2560 _ Sử dụng LCD 16x2 _ Sử dụng Module thời gian thực DS1307 _ Sử dụng Module Relay _ Sử dụng Module Relay _ Sử dụng Module RFID Nội dung thực hiện: _ Tìm hiểu cách cập nhật liệu lấy liệu từ Firebase chia sẻ quyền điềukhiển cho thiếtbị _ Tìm hiểu cách giao tiếp Module ESP8266 NodeMCU với Firebase _ Tìm hiểu cách giao tiếp Module ESP8266 NodeMCU với Arduino Mega2560 _ Tìm hiểu thiếtkế giao diện cho ứng dụng chạy hệđiều hành android MIT App Inventor _ Thicơng mơ hình điềukhiển _ Chỉnh sửa, hồn thiện mơ hình _ Đánh giá kết thực III NGÀY GIAO NHIỆM VỤ: 08/10/2018 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/01/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Ths Nguyễn Văn Hiệp CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 08 tháng 10 năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Huỳnh Nguyễn Nhân Hậu Lớp:14141DT2 Họ tên sinh viên 2: Thái Ngọc Hậu Lớp:14141DT2 MSSV:14141092 MSSV:14141093 Tên đề tài: THIẾTKẾVÀTHICƠNGHỆTHỐNGĐIỀUKHIỂNCÁCTHIẾTBỊTRONG PHỊNG HỌC Tuần Thời gian Nội dung 01-10 đến 08-10 08-10 đến 15-10 15-10 đến 05-11 Gặp GVHD trao đổi xác nhận đề tài 3-6 7-9 05-11 đến 26-11 10-11 26-11 đến 17-12 17-12 đến 24-12 24-12 đến 07-01 12 13-14 Xác nhận GVHD Hoàn thành đề cương Tìm hiểu cách kết giao tiếp kit arduino với NodeMCU esp 8266, module relay RFID Tìm hiểu viết app android cách điêukhiểnthiếtbị qua NodeMCU esp 8266 Thicônghệthống chạy thử nghiệm Hoàn thiệthệthống viết báo cáo đồ án tốt nghiệp Hoàn thiện hệthống báo cáo đồ án tốt nghiệp GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii LỜI CAM ĐOAN Đề tài nhóm tơi tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Những người thực đề tài Thái Ngọc Hậu Huỳnh Nguyễn Nhân Hậu iv LỜI CẢM ƠN Để hoàn thành tốt Đồ án tốt nghiệp, chúng em xin gởi lời chân thành cảm ơn thầy cô Khoa Điện-Điện Tử tạo điều kiện tốt cho chúng em hoàn thành đề tài Đặc biệt chúng em xin gởi lời cảm ơn sâu sắc đến Thầy Nguyễn Văn Hiệp _ Giảng viên môn Điện Tử Công Nghiệp- Y Sinh trực tiếp hướng dẫn tận tình giúp đỡ tạo điều kiện để hồn thành tốt đề tài Chúng em gửi lời đồng cảm ơn đến bạn lớp 1414DT2B chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Cuối chúng em xin cảm ơn đến gia đình, chỗ dựa nguồn động viên tinh thần chúng em gặp khó khắn học tập q trình nghiên cứu để hồn thành đề tài tốt nghiệp Chúng em xin chân thành cảm ơn! Người thực đề tài Thái Ngọc Hậu Huỳnh Nguyễn Nhân Hậu v MỤC LỤC Trang bìa i Nhiệm vụ đồ án .ii Lịch trình iii Cam đoan iv Lời cảm ơn v Mục lục vi Liệt kê hình vẽ viii Liệt kê bảng vẽ xi Tóm tắt xii CHƯƠNG 1: 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 2: CƠ SỞ LÝ THUYẾT 2.1 VẤN ĐỀ TIẾT KIỆM ĐIỆN CÁCTHIẾTBỊ DÂN DỤNG 2.2 IOT VÀ ỨNG DỤNG TRONG ĐỜI SỐNG 2.3 LỊCH SỬ HỆĐIỀU HÀNH ANDROID 2.4 KHÁI NIỆM VỀ MẠNG WIFI 10 2.5 CƠ SỞ DỮ LIỆUGOOGLE FIREBASE VÀ ỨNG DỤNG 14 2.6 CÔNG NGHỆ RFID VÀ ỨNG DỤNG TRONG ĐỜI SỐNG 18 CHƯƠNG 3: TÍNH TỐN VÀTHIẾTKẾ 25 3.1 GIỚI THIỆU 25 3.1.1 Thực trạng nhu cầu 25 3.1.2 Bài toán đặt 25 3.2 TÍNH TOÁN VÀTHIẾTKẾ 25 vi 3.2.1 Thiếtkế sơ đồ khối hệthống 26 3.2.2 App điềukhiển 27 3.2.3 Board điềukhiển 32 CHƯƠNG 4: THICÔNGHỆTHỐNG 50 4.1 GIỚI THIỆU 50 4.2 THICÔNGHỆTHỐNG 50 4.2.1 Board điềukhiển 50 4.2.2 App điềukhiển 66 4.3 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 79 4.3.1 App Android 79 4.3.2 Web-server 84 CHƯƠNG 5: KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ 87 5.1 GIỚI THIỆU 87 5.2 KẾT QUẢ ĐẠT ĐƯỢC 87 5.3 NHẬN XÉT – ĐÁNH GIÁ 90 5.4.1 Nhận xét 90 5.4.2 Đánh giá 91 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 92 6.1 KẾT LUẬN 92 6.2 HƯỚNG PHÁT TRIỂN 92 TÀI LIỆU THAM KHẢO 93 PHỤ LỤC 94 vii LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: Smart home Hình 2.2: Thiếtbị đeo thơng minh Hình 2.3: Smart city Hình 2.4: IoT nông nghiệp Hình 2.5: Quá trình phát triển Android 10 Hình 2.6: Biểu tượng sóng WIFI 11 Hình 2.7: Hệthốngthiếtbị kết nối với WIFI 11 Hình 2.8: Biểu tượng Google Firebase 15 Hình 2.9: Các ứng dụng Firebase 16 Hình 2.10: Thiếtbị IFF thiếtbị RFID đại ngày 20 Hình 2.11: Sơ đồ khối hệthống RFID 21 Hình 2.12: Hoạt động tag reader RFID 22 Hình 3.1: Sơ đồ khối hệthống 26 Hình 3.2: Thiếtkế giao diện hình App Android 28 Hình 3.3: Thiếtkế giao diện điềukhiển đèn 29 Hình 3.4: Thiếtkế giao diện điềukhiển quạt 30 Hình 3.5: Thiếtkế giao diện điềukhiểnĐiều hòa, TV loa 31 Hình 3.6: Giao diện thiếtkế web-server 32 Hình 3.7: Sơ đồ nguyên lý ESP8266 34 Hình 3.8: Sơ đồ chân NodeMCU 36 Hình 3.9: Sơ đồ chân Arduino Mega 2560 39 Hình 3.10: Module DS1307 42 Hình 3.11: Cấu tạo DS1307 43 Hình 3.12: Module Relay 44 Hình 3.13: Sơ đồ chân module RFID RC522 45 Hình 3.14: Sơ đồ chân LCD 16x2 46 viii Hình 3.15: Sơ đồ chân module I2C LCD 48 Hình 3.16: Sơ đồ khối tồn mạch 49 Hình 4.1: Sơ đồ mạch in 51 Hình 4.2: Mạch điềukhiển thực tế hoàn chỉnh 53 Hình 4.3: Cửa sổ làm việc Arduino IDE 54 Hình 4.4: Thêm thư viện cho Arduino IDE 56 Hình 4.5: Cửa số Library Manager 56 Hình 4.6: Lưu đồ chương trình Arduino IDE 57 Hình 4.7: Project setting firebase 58 Hình 4.8: Database secrets firebase 58 Hình 4.9: Code Dabase secrets 59 Hình 4.10: Realtime Database firebase 59 Hình 4.11: URL firebase 60 Hình 4.12: Lưu đồ module wifi 61 Hình 4.13: Lưu đồ đọc thời gian thực hiển thị 64 Hình 4.14: Lưu đồ đọc thẻ RFID 66 Hình 4.15: Biểu tượng phần mềm Atom 67 Hình 4.16: Giao diện phần mềm Atom 67 Hình 4.17: Download phần mềm Atom 68 Hình 4.18: Giao diện sau cài đặt 69 Hình 4.19: Setting Atom 69 Hình 4.20: Atom live server 70 Hình 4.21: Cửa sổ trình duyệt web-server 70 Hình 4.22: Cấu trúc web-server 71 Hình 4.23: Cấu trúc HTML 72 Hình 4.24: Chọn Start New Project 75 Hình 4.25: Thiếtkế giao diện App 75 Hình 4.26: Lập trình cho App 76 Hình 4.27: Biên dịch cho chương trình 76 Hình 4.28: Giao diện trang web Firebase 77 Hình 4.29:Cửa số khởi tạo Project 77 Hình 4.30: Create database 78 Hình 4.31: Chọn Security Rules cho Realtime Database 78 ix Hình 4.32: Giao diện làm việc database 79 Hình 4.33: Giao diện hình App SmartRoom 80 Hình 4.34: Bảng giao diện điềukhiển đèn 81 Hình 4.35: Bảng giao diện điềukhiểnđiều hòa, TV loa 82 Hình 4.36: Bảng giao diện điềukhiển quạt 83 Hình 4.37: Giao diện thiếtbị thay đổi theo trạng thái 84 Hình 4.38: Start atom-live-server 85 Hình 4.39: Giao diện web-server 85 Hình 4.40: Bảng điềukhiểnthiếtbị web-server 86 Hình 5.1: Giao diện App Android điện thoại 87 Hình 5.2: Giao diện điềukhiểnthiếtbị App Android 88 Hình 5.3: Firebase cập nhật liệu qua App Android 89 Hình 5.4: Giao diện web-server 89 Hình 5.5: Giao diện điềukhiểnthiếtbị web-server 90 Hình 5.6: Firebase cập nhật liệu qua web-server 90 x lcd.setCursor(0, 0); lcd.print("CAI GIAY HEN"); lcd.setCursor(0, 1); lcd.print("GIAY:"); _HienThiSo(GiayHen); if (digitalRead(TANG) == 0) //neu nhan nut nhan { while (digitalRead(TANG) == 0); GiayHen = GiayHen + 1; if (GiayHen > 59) { GiayHen = 0; } } if (digitalRead(GIAM) == 0) //neu nhan nut nhan { while (digitalRead(GIAM) == 0); GiayHen = GiayHen - 1; if (GiayHen < 0) { GiayHen = 59; } } if (digitalRead(HEN_GIO) == 0) //neu nhan nut { while (digitalRead(HEN_GIO) == 0); CheDo = CheDo + 1; //chuyen sang che cai dat khac if (CheDo > 13) { CheDo = 0; //che chay tu dong } lcd.clear();//xoa man hinh LCD } } if (CheDo == 11) //che cai gio hen { lcd.setCursor(0, 0); lcd.print("CAI GIO TAT"); lcd.setCursor(0, 1); lcd.print("GIO:"); _HienThiSo(GioHen2); if (digitalRead(TANG) == 0) //neu nhan nut nhan { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 112 while (digitalRead(TANG) == 0); GioHen2 = GioHen2 + 1; if (GioHen2 > 23) { GioHen2 = 0; } } if (digitalRead(GIAM) == 0) //neu nhan nut nhan { while (digitalRead(GIAM) == 0); GioHen2 = GioHen2 - 1; if (GioHen2 < 0) { GioHen2 = 23; } } if (digitalRead(HEN_GIO) == 0) //neu nhan nut { while (digitalRead(HEN_GIO) == 0); CheDo = CheDo + 1; //chuyen sang che cai dat khac if (CheDo > 13) { CheDo = 0; //che chay tu dong } lcd.clear();//xoa man hinh LCD } } if (CheDo == 12) //che cai phut hen { lcd.setCursor(0, 0); lcd.print("CAI PHUT TAT"); lcd.setCursor(0, 1); lcd.print("PHUT:"); _HienThiSo(PhutHen2); if (digitalRead(TANG) == 0) //neu nhan nut nhan { while (digitalRead(TANG) == 0); PhutHen2 = PhutHen2 + 1; if (PhutHen2 > 59) { PhutHen2 = 0; } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 113 if (digitalRead(GIAM) == 0) //neu nhan nut nhan { while (digitalRead(GIAM) == 0); PhutHen2 = PhutHen2 - 1; if (PhutHen2 < 0) { PhutHen2 = 59; } } if (digitalRead(HEN_GIO) == 0) //neu nhan nut { while (digitalRead(HEN_GIO) == 0); CheDo = CheDo + 1; //chuyen sang che cai dat khac if (CheDo > 13) { CheDo = 0; //che chay tu dong } lcd.clear();//xoa man hinh LCD } } if (CheDo == 13) //che cai giay hen { lcd.setCursor(0, 0); lcd.print("CAI GIAY TAT"); lcd.setCursor(0, 1); lcd.print("GIAY:"); _HienThiSo(GiayHen2); if (digitalRead(TANG) == 0) //neu nhan nut nhan { while (digitalRead(TANG) == 0); GiayHen2 = GiayHen2 + 1; if (GiayHen2 > 59) { GiayHen2 = 0; } } if (digitalRead(GIAM) == 0) //neu nhan nut nhan { while (digitalRead(GIAM) == 0); GiayHen2 = GiayHen2 - 1; if (GiayHen2 < 0) { GiayHen2 = 59; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 114 } } if (digitalRead(HEN_GIO) == 0) //neu nhan nut { while (digitalRead(HEN_GIO) == 0); CheDo = CheDo + 1; //chuyen sang che cai dat khac if (CheDo > 13) { CheDo = 0; //che chay tu dong } lcd.clear();//xoa man hinh LCD } } } //CÁC CHƯƠNG TRÌNH CON void _HienThiSo(signed int SoDem) { signed char Ngan, Tram, Chuc, DonVi; signed int Tam = SoDem; DonVi = SoDem % 10; SoDem = SoDem / 10; Chuc = SoDem % 10; SoDem = SoDem / 10; Tram = SoDem % 10; SoDem = SoDem / 10; Ngan = SoDem % 10; if (Tam < 99) { lcd.print(Chuc); lcd.print(DonVi); } else { lcd.print(Ngan); lcd.print(Tram); lcd.print(Chuc); lcd.print(DonVi); } } void _ReadDS1307(void) { Wire.beginTransmission(DS1307); Wire.write((byte)0x00); Wire.endTransmission(); Wire.requestFrom(DS1307, NumberOfFields); second = _BCD2DEC(Wire.read() & 0x7F); minute = _BCD2DEC(Wire.read() ); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 115 hour = _BCD2DEC(Wire.read() & 0x3F); // chế độ 24h wday = _BCD2DEC(Wire.read() ); day = _BCD2DEC(Wire.read() ); month = _BCD2DEC(Wire.read() ); year = _BCD2DEC(Wire.read() ); //year += 2000; } /* Chuyển từ format BCD (Binary-Coded Decimal) sang Decimal */ int _BCD2DEC(byte num) { return ((num / 16 * 10) + (num % 16)); } /* Chuyển từ Decimal sang BCD */ int _DEC2BCD(byte num) { return ((num / 10 * 16) + (num % 10)); } /* cài đặt thời gian cho DS1307 */ void _SetTime(byte hr, byte min, byte sec, byte wd, byte d, byte mth, byte yr) { Wire.beginTransmission(DS1307); Wire.write(byte(0x00)); // đặt lại pointer Wire.write(_DEC2BCD(sec)); Wire.write(_DEC2BCD(min)); Wire.write(_DEC2BCD(hr)); Wire.write(_DEC2BCD(wd)); // day of week: Sunday = 1, Saturday = Wire.write(_DEC2BCD(d)); Wire.write(_DEC2BCD(mth)); Wire.write(_DEC2BCD(yr)); Wire.endTransmission(); } void _HienThiThoiGian(void) { lcd.setCursor(1, 0); lcd.print("Time:"); _HienThiSo(hour); lcd.print(":"); _HienThiSo(minute); lcd.print(":"); _HienThiSo(second); lcd.setCursor(1, 1); lcd.print("Date:"); _HienThiSo(day); lcd.print("-"); _HienThiSo(month); lcd.print("-"); _HienThiSo(2000 + year); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 116 } Code Web-server : Code HTML: Do an phonghocthong minh ĐỒ ÁN TỐT NGHIỆPĐề tài: Hệthống IOT điềukhiểnphònghọcthơng minhGVHD: Ths NGUYỄN VĂN HIỆPSVTH1: Thái Ngọc HậuSVTH2: Huỳnh Nguyễn Nhân Hậu Light 1 Light 2 Light 3 Light 4 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 117 Fan 1 Fan 2 Fan 3 Fan 4 AC 1 AC 2 TV Speaker Code CSS: body{ text-align: left; background-color: #ffffff; } LightStatus1{ color: black; font-family: Verdana; } LightButton1{ font-size: 1em; font-family: Verdana; padding: 10px; } LightStatus2{ color: black; font-family: Verdana; } LightButton2{ font-size: 1em; font-family: Verdana; padding: 10px; } LightStatus3{ color: black; font-family: Verdana; } LightButton3{ font-size: 1em; font-family: Verdana; padding: 10px; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 118 } LightStatus4{ color: black; font-family: Verdana; } LightButton4{ font-size: 1em; font-family: Verdana; padding: 10px; } FanStatus1{ color: black; font-family: Verdana; } FanButton1{ font-size: 1em; font-family: Verdana; padding: 10px; } FanStatus2{ color: black; font-family: Verdana; } FanButton2{ font-size: 1em; font-family: Verdana; padding: 10px; } FanStatus3{ color: black; font-family: Verdana; } FanButton3{ font-size: 1em; font-family: Verdana; padding: 10px; } FanStatus4{ color: black; font-family: Verdana; } FanButton4{ font-size: 1em; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 119 font-family: Verdana; padding: 10px; } ACStatus1{ color: black; font-family: Verdana; } ACButton1{ font-size: 1em; font-family: Verdana; padding: 10px; } ACStatus2{ color: black; font-family: Verdana; } ACButton2{ font-size: 1em; font-family: Verdana; padding: 10px; } TVStatus{ color: black; font-family: Verdana; } TVButton{ font-size: 1em; font-family: Verdana; padding: 10px; } SpeakerStatus{ color: black; font-family: Verdana; } SpeakerButton{ font-size: 1em; font-family: Verdana; padding: 10px; } Code Javascript var config = { apiKey: "AIzaSyBWeWVfwpy-E9JfHBkspFEP9jPvYu-2yYY", BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 120 authDomain: "", databaseURL: "https://smartroom8f242.firebaseio.com", //URL Firebase projectId: "", //Code Firebase cho web-server storageBucket: "", messagingSenderId: "" }; firebase.initializeApp(config); $(document).ready(function(){ var database = firebase.database(); var Light1; var Light2; var Light3; var Light4; var Fan1; var Fan2; var Fan3; var Fan4; var AC1; var AC2; var TV; var Speaker; database.ref().on("value", function(snap){ Light1 = snap.val().Light1; if(Light1 == 1){ $(".LightStatus1").text("Light1 is off"); } else { $(".LightStatus1").text("Light1 is on"); } } ); database.ref().on("value", function(snap){ Light2 = snap.val().Light2; if(Light2 == 1){ $(".LightStatus2").text("Light2 is off"); } else { $(".LightStatus2").text("Light2 is on"); } } ); database.ref().on("value", function(snap){ Light3 = snap.val().Light3; if(Light3 == 1){ $(".LightStatus3").text("Light3 is off"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 121 } else { $(".LightStatus3").text("Light3 is on"); } } ); database.ref().on("value", function(snap){ Light4 = snap.val().Light4; if(Light4 == 1){ $(".LightStatus4").text("Light4 is off"); } else { $(".LightStatus4").text("Light4 is on"); } } ); $(".LightButton1").click(function(){ var firebaseRef = firebase.database().ref().child("Light1"); if(Light1 == 1){ firebaseRef.set("0"); Light1 = 0; } else { firebaseRef.set("1"); Light1 = 1; } }); $(".LightButton2").click(function(){ var firebaseRef = firebase.database().ref().child("Light2"); if(Light2 == 1){ firebaseRef.set("0"); Light2 = 0; } else { firebaseRef.set("1"); Light2 = 1; } }); $(".LightButton3").click(function(){ var firebaseRef = firebase.database().ref().child("Light3"); if(Light3 == 1){ firebaseRef.set("0"); Light3 = 0; } else { firebaseRef.set("1"); Light3 = 1; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 122 }); $(".LightButton4").click(function(){ var firebaseRef = firebase.database().ref().child("Light4"); if(Light4 == 1){ firebaseRef.set("0"); Light4 = 0; } else { firebaseRef.set("1"); Light4 = 1; } }); database.ref().on("value", function(snap){ Fan1 = snap.val().Fan1; if(Fan1 == 1){ $(".FanStatus1").text("Fan1 is off"); } else { $(".FanStatus1").text("Fan1 is on"); } } ); database.ref().on("value", function(snap){ Fan2 = snap.val().Fan2; if(Fan2 == 1){ $(".FanStatus2").text("Fan2 is off"); } else { $(".FanStatus2").text("Fan2 is on"); } } ); database.ref().on("value", function(snap){ Fan3 = snap.val().Fan3; if(Fan3 == 1){ $(".FanStatus3").text("Fan3 is off"); } else { $(".FanStatus3").text("Fan3 is on"); } } ); database.ref().on("value", function(snap){ Fan4 = snap.val().Fan4; if(Fan4 == 1){ $(".FanStatus4").text("Fan4 is off"); } else { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 123 $(".FanStatus4").text("Fan4 is on"); } } ); $(".FanButton1").click(function(){ var firebaseRef = firebase.database().ref().child("Fan1"); if(Fan1 == 1){ firebaseRef.set("0"); Fan1 = 0; } else { firebaseRef.set("1"); Fan1 = 1; } }); $(".FanButton2").click(function(){ var firebaseRef = firebase.database().ref().child("Fan2"); if(Fan2 == 1){ firebaseRef.set("0"); Fan2 = 0; } else { firebaseRef.set("1"); Fan2 = 1; } }); $(".FanButton3").click(function(){ var firebaseRef = firebase.database().ref().child("Fan3"); if(Fan3 == 1){ firebaseRef.set("0"); Fan3 = 0; } else { firebaseRef.set("1"); Fan3 = 1; } }); $(".FanButton4").click(function(){ var firebaseRef = firebase.database().ref().child("Fan4"); if(Fan4 == 1){ firebaseRef.set("0"); Fan4 = 0; } else { firebaseRef.set("1"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 124 Fan4 = 1; } }); database.ref().on("value", function(snap){ AC1 = snap.val().AC1; if(AC1 == 1){ $(".ACStatus1").text("AC1 is off"); } else { $(".ACStatus1").text("AC1 is on"); } } ); database.ref().on("value", function(snap){ AC2 = snap.val().AC2; if(AC2 == 1){ $(".ACStatus2").text("AC2 is off"); } else { $(".ACStatus2").text("AC2 is on"); } } ); $(".ACButton1").click(function(){ var firebaseRef = firebase.database().ref().child("AC1"); if(AC1 == 1){ firebaseRef.set("0"); AC1 = 0; } else { firebaseRef.set("1"); AC1 = 1; } }); $(".ACButton2").click(function(){ var firebaseRef = firebase.database().ref().child("AC2"); if(AC2 == 1){ firebaseRef.set("0"); AC2 = 0; } else { firebaseRef.set("1"); AC2 = 1; } }); database.ref().on("value", function(snap){ TV = snap.val().TV; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 125 if(TV == 1){ $(".TVStatus").text("TV is off"); } else { $(".TVStatus").text("TV is on"); } } ); database.ref().on("value", function(snap){ Speaker = snap.val().Speaker; if(Speaker == 1){ $(".SpeakerStatus").text("Speaker is off"); } else { $(".SpeakerStatus").text("Speaker is on"); } } ); $(".TVButton").click(function(){ var firebaseRef = firebase.database().ref().child("TV"); if(TV == 1){ firebaseRef.set("0"); TV = 0; } else { firebaseRef.set("1"); TV = 1; } }); $(".SpeakerButton").click(function(){ var firebaseRef = firebase.database().ref().child("Speaker"); if(Speaker == 1){ firebaseRef.set("0"); Speaker = 0; } else { firebaseRef.set("1"); Speaker = 1; } }); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 126 ... phòng học nhóm chúng em định thực đề tài: THI T KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN THƠNG MINH CÁC THI T BỊ TRONG PHỊNG HỌC.” 1.2 MỤC TIÊU Nhóm thi t kế thi cơng mơ hình điều khiển thi t bị điện phòng. .. điện phòng học nên nhóm chúng em chọn đề tài “ Thi t kế thi công hệ thống điều khiển thông minh thi t bị phòng học 2.3 LỊCH SỬ HỆ ĐIỀU HÀNH ANDROID Android hệ điều hành dựa tảng Linux thi t kế. .. Điện tử Mã ngành: 141 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2014 Lớp: 1414DT2 I TÊN ĐỀ TÀI: THI T KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN CÁC THI T BỊ TRONG PHÒNG HỌC II NHIỆM VỤ Các số liệu ban đầu: