1. Trang chủ
  2. » Tất cả

(Đồ án hcmute) hệ thống bảo mật và điều khiển tự động các thiết bị trong nhà

157 4 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 NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ, TRUYỀN THÔNG HỆ THỐNG BẢO MẬT VÀ ĐIỀU KHIỂN TỰ ĐỘNG CÁC THIẾT BỊ TRONG NHÀ GVHD: PHẠM HỒNG LIÊN SVTH: NGUYỄN VĂN TỈNH MSSV: 15141070 SVTH: ĐẶNG HỮU QUANG MSSV: 15141053 SKL 0 Tp Hồ Chí Minh, tháng 01/2020 an 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: HỆ THỐNG BẢO MẬT VÀ ĐIỀU KHIỂN TỰ ĐỘNG CÁC THIẾT BỊ TRONG NHÀ SVTH: NGUYỄN VĂN TỈNH MSSV: 15141070 SVTH: ĐẶNG HỮU QUANG MSSV: 15141053 Khố: 2015 Ngành: Cơng nghệ kỹ thuật Điện tử, Truyền thông GVHD: PGS.TS PHẠM HỒNG LIÊN Tp Hồ Chí Minh, tháng 01 năm 2020 an CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, ngày … tháng … năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Văn Tỉnh Đặng Hữu Quang Ngành:Công Nghệ Kỹ Thuật Điện tử, Truyền thông Giảng viên hướng dẫn: PGS.TS Phạm Hồng Liên Ngày nhận đề tài: 10/09/2019 MSSV:15141070 MSSV:15141053 Lớp: 15141CLVT ĐT: 0988.202.124 Ngày nộp đề tài: 29/12/2019 Tên đề tài: Nghiên cứu tích hợp hệ thống điều khiển tự động nhà thông minh Các số liệu, tài liệu ban đầu: Kiến thức môn: Mạch điện, Điện tử bản, Hệ thống điều khiển tự động, Ngơn ngữ lập trình C, Vi xử lý, Lập trình android Nội dung thực đề tài:  Nghiên cứu lý thuyết có liên quan đến đề tài: Vi điều khiển Aruino Mega 2560, ESP8266 NodeMCU…     Nghiên cứu thiết kế mơ hình hệ thống Thiết kế thi cơng mạch Thiết kế phần mềm cho hệ thống Viết báo cáo Sản phẩm: Mơ hình hệ thống nhà thơng minh TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN i an CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên 1: Nguyễn Văn Tỉnh MSSV: 15141070 Họ tên Sinh viên 2: Đặng Hữu Quang MSSV: 15141053 Ngành: Công nghệ kỹ thuật Điện tử - Truyền thông Tên đề tài: Nghiên cứu tích hợp hệ thống điều khiển tự động nhà thông minh Họ tên Giáo viên hướng dẫn: PGS.TS Phạm Hồng Liên NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2019 Giáo viên hướng dẫn ii an (Ký & ghi rõ họ tên) CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: MSSV: Ngành: Tên đề tài: Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2019 Giáo viên phản biện (Ký & ghi rõ họ tên) iii an CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: MSSV: Ngành: Tên đề tài: Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: 10 Đề nghị cho bảo vệ hay không? 11 Đánh giá loại: 12 Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2019 Giáo viên phản biện (Ký & ghi rõ họ tên) iv an LỜI CẢM ƠN Xin chân thành cảm ơn đến quý thầy cô khoa Đào tạo chất lượng cao giảng dạy chúng em suốt thời gian học trường cung cấp kiến thức tảng tạo điều kiện thuận lợi để nhóm em thực đề tài Cảm ơn gia đình nguồn động viên to lớn vật chất tinh thần suốt thời gian học hành, bên cạnh ủng hộ, tạo điều kiện thuận lợi để hồn thành đồ án Đặc biệt cảm ơn cô Phạm Hồng Liên tạo điều kiện, chia sẻ kinh nghiệm quý báu hướng dẫn em cách học tập nghiên cứu để hoàn thành tốt đồ án tốt nghiệp Cuối xin chúc gia đình, bạn bè, quý thầy cô nhiều sức khỏe thành công công việc Xin chân thành cảm ơn! Nhóm thực đề tài Nguyễn Văn Tỉnh Đặng Hữu Quang v an MỤ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 PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN IV LỜI CẢM ƠN 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 SÁCH CÁC HÌNH ẢNH, BIỂU ĐỒ XI CHƯƠNG 1: TỔNG QUAN 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 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 LIÊN QUAN 2.1 Vi điều khiển 2.1.1 Giới thiệu giao thức UART 2.1.2 Arduino Mega 2560 2.1.3 ESP8266 NodeMCU 13 2.2 Giới thiệu Wifi 16 2.3 Module LCD & I2C 17 2.3.1 Giới thiệu giao thức I2C 17 2.3.2 Màn hình LCD 18 2.3.3 Module I2C 20 CHƯƠNG 3: XÂY DỰNG VÀ THIẾT KẾ HỆ THỐNG 21 3.1 Sơ đồ khối hệ thống 21 3.1.1 Yêu cầu hệ thống 21 3.1.2 Sơ đồ khối 21 vi an 3.1.3 3.2 Chức khối 22 Thiết kế tính tốn hệ thống 22 3.2.1 Khối cảm biến 22 3.2.2 Ứng dụng điều khiển 30 3.2.3 Khối động 30 3.2.4 Khối đóng ngắt 32 3.2.5 Khối cảm biến vân tay 36 3.2.6 Khối hiển thị 38 3.2.7 Khối xử lý trung tâm 39 3.2.8 Khối nguồn 41 3.2.9 Sơ đồ nguyên lý toàn mạch 42 CHƯƠNG 4: THI CÔNG HỆ THỐNG 44 4.1 Thi công bảng mạch kết nối 44 4.1.1 Giới thiệu 44 4.1.2 Vẽ mạch in 45 4.1.3 Xuất file mạch in PDF tiến hành in 46 4.1.4 Kết sau thi công 48 4.2 Lập trình hệ thống 48 4.2.1 Lưu đồ giải thuật 48 4.2.2 Phần mềm lập trình vi điều khiển 58 4.3 Lập trình ứng dụng cho điện thoại 61 4.3.1 Giới thiệu phần mềm Android Studio Firebase 61 4.3.2 Lưu đồ giải thuật Android 66 4.3.3 Lập trình ứng dụng Android 69 4.3.4 Chạy ứng dụng điện thoại 73 CHƯƠNG 5: KẾT QUẢ THỰC HIỆN 77 5.1 Kết 77 5.1.1 Kết mơ hình 77 5.1.2 Ứng dụng điều khiển điện thoại Error! Bookmark not defined 5.2 Nhận xét 81 5.3 Đánh giá 81 vii an CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82 6.1 Kết luận 82 6.2 Hướng phát triển 82 TÀI LIỆU THAM KHẢO 83 PHỤ LỤC 85 viii an PHỤ LỤC Manager.TYPE_NOTIFICATION)); builder.setContentIntent(pendingIntent); builder.setAutoCancel(true); // Tự động cancel ấn vào notification notificationManager.notify(1, builder.build()); };  Chương trình điều khiển bật tắt thiết bị public void imgLight1(View view) { DatabaseReference Status2 = database.getReference("Thiết bị 1"); Calendar calendar = Calendar.getInstance(); SimpleDateFormat tg = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a"); String off2 = tg.format(calendar.getTime()); String on2 = tg.format(calendar.getTime()); if(state1==1) { DatabaseReference FirebaseLight = database.getReference("Smarthome"); FirebaseLight.child("Light").child("light1").setValue(0) ; imageView1.setImageResource(R.drawable.lightoff); Status2.child("Tắt").push().setValue(off2); state1=0;} else { DatabaseReference FirebaseLight = database.getReference("Smarthome"); FirebaseLight.child("Light").child("light1").setValue(1) ; imageView1.setImageResource(R.drawable.lighton); Status2.child("Mở").push().setValue(on2); state1=1;} } public void imgLight2(View view) { DatabaseReference Status2 = database.getReference("Thiết bị 2"); Calendar calendar = Calendar.getInstance(); SimpleDateFormat tg = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a"); String off1 = tg.format(calendar.getTime()); CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 129 PHỤ LỤC String on1 = tg.format(calendar.getTime()); if(state2==1) { DatabaseReference FirebaseLight = database.getReference("Smarthome"); FirebaseLight.child("Light").child("light2").setValue(0) ; imageView2.setImageResource(R.drawable.lightoff); Status2.child("Tắt").push().setValue(off1); state2=0;} else { DatabaseReference FirebaseLight = database.getReference("Smarthome"); FirebaseLight.child("Light").child("light2").setValue(1) ; imageView2.setImageResource(R.drawable.lighton); Status2.child("Mở").push().setValue(on1); state2=1;} } public void imgLight3(View view) { DatabaseReference Status2 = database.getReference("Thiết bị 3"); Calendar calendar = Calendar.getInstance(); SimpleDateFormat tg = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a"); String off2 = tg.format(calendar.getTime()); String on2 = tg.format(calendar.getTime()); if(state3==1) { DatabaseReference FirebaseLight = database.getReference("Smarthome"); FirebaseLight.child("Light").child("light3").setValue(0) ; imageView3.setImageResource(R.drawable.lightoff); Status2.child("Tắt").push().setValue(off2); state3=0;} else { DatabaseReference FirebaseLight = CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 130 PHỤ LỤC database.getReference("Smarthome"); FirebaseLight.child("Light").child("light3").setValue(1) ; imageView3.setImageResource(R.drawable.lighton); Status2.child("Mở").push().setValue(on2); state3=1;} } public void imgLight4(View view) { DatabaseReference Status2 = database.getReference("Thiết bị 4"); Calendar calendar = Calendar.getInstance(); SimpleDateFormat tg = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a"); String off1 = tg.format(calendar.getTime()); String on1 = tg.format(calendar.getTime()); if(state4==1) { DatabaseReference FirebaseLight = database.getReference("Smarthome"); FirebaseLight.child("Light").child("light4").setValue(0) ; imageView4.setImageResource(R.drawable.lightoff); Status2.child("Tắt").push().setValue(off1); state4=0;} else { DatabaseReference FirebaseLight = database.getReference("Smarthome"); FirebaseLight.child("Light").child("light4").setValue(1) ; imageView4.setImageResource(R.drawable.lighton); Status2.child("Mở").push().setValue(on1); state4=1;} }  Chương trình đọc giá trị từ Firebase hình cài đặt public void phanhoi() { setup.addValueEventListener(new CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 131 PHỤ LỤC ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Map map = (Map) dataSnapshot.getValue(); String redata1 = String.valueOf(map.get("Autolight1")); String redata2 = String.valueOf(map.get("Autolight2")); String redata3 = String.valueOf(map.get("Autolight3")); String redata4 = String.valueOf(map.get("Autolight4")); res1 = Integer.parseInt(redata1); res2 = Integer.parseInt(redata2); res3 = Integer.parseInt(redata3); res4 = Integer.parseInt(redata4); if(res1 == 1) { Auto1.setChecked(true); auto1=1; TT1.setText("Tự động"); } else { Auto1.setChecked(false); auto1=0; TT1.setText("Thủ công"); } if(res2 == 1) { Auto2.setChecked(true); auto2=1; TT2.setText("Tự động"); } else { Auto2.setChecked(false); auto2=0; TT2.setText("Thủ công"); } if(res3 == 1) { CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 132 PHỤ LỤC Auto3.setChecked(true); auto3=1; TT3.setText("Tự động"); } else { Auto3.setChecked(false); auto3=0; TT3.setText("Thủ công"); } if(res4 == 1) { Auto4.setChecked(true); auto4=1; TT4.setText("Tự động"); } else { Auto4.setChecked(false); auto4=0; TT4.setText("Thủ công"); } } @Override public void onCancelled(DatabaseError databaseError) { } }); }  Chương trình lựa chọn chế độ public void chedo() { Auto1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(auto1==0) { setup.child("Autolight1").setValue(1); auto1=1; TT1.setText("Tự động"); } else CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 133 PHỤ LỤC { setup.child("Autolight1").setValue(0); auto1=0; TT1.setText("Thủ công"); } } }); Auto2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(auto2==0) { setup.child("Autolight2").setValue(1); auto2=1; TT2.setText("Tự động"); } else { setup.child("Autolight2").setValue(0); auto2=0; TT2.setText("Thủ công"); } } }); Auto3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(auto3==0) { setup.child("Autolight3").setValue(1); auto3=1; TT3.setText("Tự động"); } else { setup.child("Autolight3").setValue(0); auto3=0; TT3.setText("Thủ công"); } } }); CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 134 PHỤ LỤC Auto4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(auto4==0) { setup.child("Autolight4").setValue(1); auto4=1; TT4.setText("Tự động"); } else { setup.child("Autolight4").setValue(0); auto4=0; TT4.setText("Thủ cơng"); } } }); }  Chương trình cài đặt thời gian bật tắt public void thoigianbattat() { Dat.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(auto1==1) { String houron = Gioon.getText().toString(); String minuteon = Phuton.getText().toString(); String secondon = Giayon.getText().toString(); String houroff =Giooff.getText().toString(); String minuteoff = Phutoff.getText().toString(); String secondoff = Giayoff.getText().toString(); String all = houron+(":")+minuteon+(":")+secondon; setup.child("all").setValue(all); setup.child("Cài đặt tb1").child("giây CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 135 PHỤ LỤC mở tb1").setValue(secondon); setup.child("Cài mở tb1").setValue(minuteon); setup.child("Cài mở tb1").setValue(houron); setup.child("Cài tắt tb1").setValue(secondoff); setup.child("Cài tắt tb1").setValue(minuteoff); setup.child("Cài tắt tb1").setValue(houroff); countdown(); initHandler(); } if(auto2==1) { laythoigian(); setup.child("Cài mở tb2").setValue(secondon); setup.child("Cài mở tb2").setValue(minuteon); setup.child("Cài mở tb2").setValue(houron); setup.child("Cài tắt tb2").setValue(secondoff); setup.child("Cài tắt tb2").setValue(minuteoff); setup.child("Cài tắt tb2").setValue(houroff); countdown(); initHandler(); } if(auto3==1) { laythoigian(); setup.child("Cài mở tb3").setValue(secondon); setup.child("Cài mở tb3").setValue(minuteon); setup.child("Cài mở tb3").setValue(houron); setup.child("Cài tắt tb3").setValue(secondoff); setup.child("Cài CNKT ĐIỆN TỬ - TRUYỀN THÔNG an đặt tb1").child("phút đặt tb1").child("giờ đặt tb1").child("giây đặt tb1").child("phút đặt tb1").child("giờ đặt tb2").child("giây đặt tb2").child("phút đặt tb2").child("giờ đặt tb2").child("giây đặt tb2").child("phút đặt tb2").child("giờ đặt tb3").child("giây đặt tb3").child("phút đặt tb3").child("giờ đặt tb3").child("giây đặt tb3").child("phút 136 PHỤ LỤC tắt tb3").setValue(minuteoff); setup.child("Cài đặt tb3").child("giờ tắt tb3").setValue(houroff); countdown(); initHandler(); } if(auto4==1) { laythoigian(); setup.child("Cài đặt tb4").child("giây mở tb4").setValue(secondon); setup.child("Cài đặt tb4").child("phút mở tb4").setValue(minuteon); setup.child("Cài đặt tb4").child("giờ mở tb4").setValue(houron); setup.child("Cài đặt tb4").child("giây tắt tb4").setValue(secondoff); setup.child("Cài đặt tb4").child("phút tắt tb4").setValue(minuteoff); setup.child("Cài đặt tb4").child("giờ tắt tb4").setValue(houroff); countdown(); initHandler(); } } }); } private void initHandler() { mhandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case mess_count_down: DatabaseReference setup1 = database.getReference("Smarthome"); setup1.child("Setup time").setValue(1); break; case mess_done: DatabaseReference setup0 = database.getReference("Smarthome"); setup0.child("Setup time").setValue(0); break; CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 137 PHỤ LỤC default: break; } } }; } void laythoigian() { houron = Integer.parseInt(Gioon.getText().toString()); minuteon = Integer.parseInt(Phuton.getText().toString()); secondon = Integer.parseInt(Giayon.getText().toString()); houroff = Integer.parseInt(Giooff.getText().toString()); minuteoff = Integer.parseInt(Phutoff.getText().toString()); secondoff = Integer.parseInt(Giayoff.getText().toString()); int all = houron+minuteon+secondon; } void countdown() { Thread thread = new Thread(new Runnable() { @Override public void run() { int time =1; { time ; Message mss= new Message(); mss.what=mess_count_down; mss.arg1=time; mhandler.sendMessage(mss); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } }while ( time > 0); mhandler.sendEmptyMessage(mess_done); } }); CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 138 PHỤ LỤC thread.start(); }  Chương trình hiển thị thời gian bật tắt thiết bị public void tb1() { Light1 = FirebaseLight.child("Cài đặt tb1"); Light1.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Map map = (Map) dataSnapshot.getValue(); String redata1 = String.valueOf(map.get("giờ mở tb1")); String redata2 = String.valueOf(map.get("phút mở tb1")); String redata3 = String.valueOf(map.get("giây mở tb1")); String redata4 = String.valueOf(map.get("giờ tắt tb1")); String redata5 = String.valueOf(map.get("phút tắt tb1")); String redata6 = String.valueOf(map.get("giây tắt tb1")); String tb1mo = redata1+(":")+redata2+(":")+redata3; String tb1tat = redata4+(":")+redata5+(":")+redata6; Tgbtb1.setText(tb1mo); Tgttb1.setText(tb1tat); } @Override public void onCancelled(DatabaseError databaseError) { } }); } public void tb2() { Light2 = FirebaseLight.child("Cài đặt tb2"); Light2.addValueEventListener(new CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 139 PHỤ LỤC ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Map map = (Map) dataSnapshot.getValue(); String redata1 = String.valueOf(map.get("giờ mở tb2")); String redata2 = String.valueOf(map.get("phút mở tb2")); String redata3 = String.valueOf(map.get("giây mở tb2")); String redata4 = String.valueOf(map.get("giờ tắt tb2")); String redata5 = String.valueOf(map.get("phút tắt tb2")); String redata6 = String.valueOf(map.get("giây tắt tb2")); String tb1mo = redata1+(":")+redata2+(":")+redata3; String tb1tat = redata4+(":")+redata5+(":")+redata6; Tgbtb2.setText(tb1mo); Tgttb2.setText(tb1tat); } @Override public void onCancelled(DatabaseError databaseError) { } }); } public void tb3() { Light3 = FirebaseLight.child("Cài đặt tb3"); Light3.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Map map = (Map) dataSnapshot.getValue(); String redata1 = String.valueOf(map.get("giờ mở tb3")); String redata2 = String.valueOf(map.get("phút mở tb3")); String redata3 = CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 140 PHỤ LỤC String.valueOf(map.get("giây mở tb3")); String redata4 = String.valueOf(map.get("giờ tắt tb3")); String redata5 = String.valueOf(map.get("phút tắt tb3")); String redata6 = String.valueOf(map.get("giây tắt tb3")); String tb1mo = redata1+(":")+redata2+(":")+redata3; String tb1tat = redata4+(":")+redata5+(":")+redata6; Tgbtb3.setText(tb1mo); Tgttb3.setText(tb1tat); } @Override public void onCancelled(DatabaseError databaseError) { } }); } public void tb4() { Light4 = FirebaseLight.child("Cài đặt tb4"); Light4.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Map map = (Map) dataSnapshot.getValue(); String redata1 = String.valueOf(map.get("giờ mở tb4")); String redata2 = String.valueOf(map.get("phút mở tb4")); String redata3 = String.valueOf(map.get("giây mở tb4")); String redata4 = String.valueOf(map.get("giờ tắt tb4")); String redata5 = String.valueOf(map.get("phút tắt tb4")); String redata6 = String.valueOf(map.get("giây tắt tb4")); String tb1mo = redata1+(":")+redata2+(":")+redata3; String tb1tat = CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 141 PHỤ LỤC redata4+(":")+redata5+(":")+redata6; Tgbtb4.setText(tb1mo); Tgttb4.setText(tb1tat); } @Override public void onCancelled(DatabaseError databaseError) { } }); } CNKT ĐIỆN TỬ - TRUYỀN THÔNG an 142 an ... như: hệ thống báo cháy, hệ thống nhiệt độ, độ ẩm, điều khiển vào… thành hệ thống thống Xuất phát từ thực tiễn nói trên, nhóm em định chọn đề tài “Nghiên cứu tích hợp hệ thống điều khiển tự động nhà. .. DỰNG VÀ THIẾT KẾ HỆ THỐNG 3.1 Sơ đồ khối hệ thống 3.1.1 Yêu cầu hệ thống  Hệ thống có chức : - Điều khiển thiết bị nhà thơng qua nút nhấn - Khóa cửa sử dụng vân tay hiển thị hình LCD - Điều khiển. .. CAO ĐỒ ÁN TỐT NGHIỆP Đề tài: HỆ THỐNG BẢO MẬT VÀ ĐIỀU KHIỂN TỰ ĐỘNG CÁC THIẾT BỊ TRONG NHÀ SVTH: NGUYỄN VĂN TỈNH MSSV: 15141070 SVTH: ĐẶNG HỮU QUANG MSSV: 15141053 Khố: 2015 Ngành: Cơng nghệ kỹ

Ngày đăng: 02/02/2023, 09:11

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w