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

Hcmute thiết kế thiết bị điều khiển đa chức năng dùng smartphone thông qua firebase

67 8 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 CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN ĐA CHỨC NĂNG DÙNG SMARTPHONE THÔNG QUA FIREBASE S K C 0 9 MÃ SỐ: SV2021 - 84 CHỦ NHIỆM ĐỀ TÀI: NGUYỄN ANH QUỐC S KC 0 Tp Hồ Chí Minh, tháng 6/2021 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM - - BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN Đề tài: THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN ĐA CHỨC NĂNG DÙNG SMARTPHONE THÔNG QUA FIREBASE Mã số đề tài: SV2021-84 Thuộc khoa: Đào tạo Chất lượng cao Sinh viên thực hiện: Nguyễn Anh Quốc Nam, Nữ: Nam Dân tộc: Kinh Lớp/ Khoa: 17141CLVT1B Năm thứ: /Khoa Đào tạo Chất lượng cao /Số năm đào tạo: Ngành học: Điện tử viễn thông Người hướng dẫn: Th.s Nguyễn Ngơ Lâm Tp Hồ Chí Minh, tháng năm 2021 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI Thông tin chung: - Tên đề tài: Thiết kế thiết bị điều khiển đa chức dùng smartphone thông qua firebase - Chủ nhiệm đề tài: Nguyễn Anh Quốc - Lớp: 17141CLVT1B Mã số SV: 17141127 Khoa: Đào tạo Chất lượng cao - Thành viên đề tài: Stt Họ tên Phan Trường An MSSV Lớp Khoa 17141040 17141CLVT1B Đào tạo Chất lượng cao Nguyễn Hoàng Thịnh 17141135 17141CLVT1B Đào tạo Chất lượng cao - Người hướng dẫn: Th.s Nguyễn Ngô Lâm Mục tiêu đề tài: Thiết kế thi công thiết bị điều khiển đồ dùng điện gia đình trực tiếp qua cảm biến gián tiếp ứng dụng điện thoại thơng qua Wifi Tính sáng tạo: Đề tài nhiều doanh nghiệp nghiên cứu đưa vào kinh doanh đại trà Phần lớn thiết bị thị trường lập trình chip ARM liên kết điều khiển với ESP Thiết bị nhóm dùng kit ESP32 để thực Phạm vi áp dụng thiết bị điện gia đình tủ điều khiển tủ điện công nghiệp cần nâng cấp giám sát điều khiển từ xa Kết nghiên cứu: Thiết bị điều khiển đa chức dùng Smartphone thơng qua Firebase Đóng góp mặt giáo dục đào tạo, kinh tế - xã hội, an ninh, quốc phòng khả áp dụng đề tài: Luan van Thiết bị lắp đặt ứng dụng hộ gia đình, khu trọ cao cấp, nhà hàng, khách sạn công ty, nhà máy, … Công bố khoa học SV từ kết nghiên cứu đề tài (ghi rõ tên tạp chí có) nhận xét, đánh giá sở áp dụng kết nghiên cứu (nếu có): Ngày Tháng Năm SV chịu trách nhiệm thực đề tài (kí, họ tên) Nhận xét người hướng dẫn đóng góp khoa học SV thực đề tài ( phần người hướng dẫn ghi ): Ngày tháng năm Người hướng dẫn (kí, họ tên) Luan van MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU 10 DANH MỤC CÁC TỪ VIẾT TẮT 11 MỞ ĐẦU 12 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU 12 MỤC TIÊU CỦA ĐỀ TÀI: 12 PHƯƠNG PHÁP NGHIÊN CỨU: 12 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 13 CHƯƠNG CƠ SỞ LÝ THUYẾT 14 1.1 TỔNG QUAN VỀ INTERNET OF THINGS 14 1.1.1 Giới thiệu 14 1.1.2 Ứng dụng IoTs 14 1.2 TỔNG QUAN VỀ MẠNG WIFI 16 1.2.1 Giới thiệu WiFi 16 1.2.2 Các chuẩn công nghệ truyền nhận liệu 16 1.2.3 Các thành phần mạng WiFi 18 1.2.4 Cách thức hoạt động WiFi 18 1.2.5 Ưu điểm nhược điểm mạng WiFi 18 1.2.6 Cách thức Ứng dụng truyền nhận liệu thông qua WiFi: 19 1.3 TỔNG QUAN VỀ MƠ HÌNH TCP/IP 19 1.3.1 Giới thiệu 19 1.3.2 Cấu trúc mơ hình TCP 20 1.3.3 Cách thức hoạt động 20 1.4 GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU FIREBASE 23 1.4.1 Khái niệm 23 1.4.2 Các tinh Firebase 23 1.4.3 Ưu điểm nhược điểm Firebase 24 1.5 HỆ ĐIỀU HÀNH ANDROID 25 1.5.1 Giới thiệu hệ điều hành Android 25 1.5.2 Các tính 25 Luan van 1.5.3 Kiến trúc 25 1.5.4 Các thành phần 27 1.5.5 Ưu điểm nhược điểm 28 1.6 TỔNG QUAN VỀ KIT WEMOS LOLIN32 ESP32 28 1.7 CẢM BIẾN VÀ CÁC LINH KIỆN 32 1.7.1 Cảm biến chạm điện dung TTP223 32 1.7.2 Relay 5V-10A 33 1.7.3 IC ổn áp 7805 34 CHƯƠNG THIẾT KẾ VÀ THI CƠNG MƠ HÌNH 35 3.1 YÊU CẦU ĐỐI VỚI ĐỀ TÀI: 35 3.2 SƠ ĐỒ KHỐI VÀ CHỨC NĂNG CỦA MỖI KHỐI: 35 3.3 THIẾT KẾ SƠ ĐỒ NGUYÊN LÝ: 36 3.3.1 Khối cảm biến: 36 3.3.2 Khối chấp hành: 37 3.3.3 Khối xử lý trung tâm: 38 3.3.4 Khối nguồn: 40 3.4 THI CÔNG HỆ THỐNG: 42 3.4.1 3.5 Thi công mạch in 42 LƯU ĐỒ GIẢI THUẬT CHO CHƯƠNG TRÌNH PHẦN CỨNG: 45 CHƯƠNG LẬP TRÌNH ỨNG DỤNG ANDROID 47 3.1 GIỚI THIỆU 47 3.2 LẬP TRÌNH TRÊN ANDROID STUDIO 47 3.2.1 Liên kết Android Studio với Firebase 47 3.2.2 Viết chương trình phần mềm Android 52 CHƯƠNG KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 58 4.1 KẾT QUẢ ĐẠT ĐƯỢC 58 4.2 KẾT QUẢ THỰC NGHIỆM 58 4.3 NHẬN XÉT VÀ ĐÁNH GIÁ 62 4.3.1 Nhận xét 62 4.3.2 Đánh giá 62 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63 5.1 KẾT LUẬN 63 Luan van 5.2 HƯỚNG PHÁT TRIỂN 64 TÀI LIỆU THAM KHẢO 65 Luan van DANH MỤC HÌNH ẢNH Hình 1.1: Smart Home 14 Hình 1.2: IoT y tế 15 Hình 1.3: IoT nông nghiệp 15 Hình 1.4: Smart City 16 Hình 1.5: Cấu trúc mô hình TCP dạng liệu lớp 20 Hình 1.6: Hướng luồng liệu 21 Hình 1.7: Sơ đồ mô tả chức vận chuyển 22 Hình 1.8: Cơ sở liệu Firebase .23 Hình 1.9: Cấu trúc Android 26 Hình 1.10: Module thu phát WiFi, Bluetooth Lolin32 ESP32 28 Hình 1.11: Cấu trúc ESP32 .29 Hình 1.12: Cấu trúc địa nhớ ESP32 30 Hình 1.13: Sơ đồ chức chân module thu phát WiFi, Bluetooth Lolin32 ESP32 31 Hình 1.14: Cảm biến chạm thực tế mặt sau trước .32 Hình 1.15: Hình ảnh thực tế Relay 5V- 10A 33 Hình 1.16: Sơ đồ chân IC 7805 34 Hình 2.1: Sơ dồ khối mạch điều khiển thiết bị thông qua wiFi 35 Hình 2.2: Hình sơ đồ nguyên lý toàn hệ thống .36 Hình 2.3: Cảm biến chạm thực tế mặt sau trước .37 Hình 2.4: Cảm biến chạm thực tế ký hiệu mạch nguyên lý 37 Hình 2.5: Mạch nguyên lý khối chấp hành hình ảnh thực tế 38 Hình 2.6: Ký hiệu LOLIN32 mạch nguyên lý ảnh thực tế 39 Hình 2.7: Sơ đồ chức chân kit LOLIN32 40 Hình 2.8: Sơ đồ chức chân kit LOLIN32 40 Hình 2.9: Mạch nguồn bố trí board xem chế độ 3D .41 Hình 2.10 Bottom Layer phần cứng phần mềm Altium 42 Hình 2.11: Mặt phần cứng sau hoàn thành 43 Hình 2.12: Mặt phần cứng sau hoàn thành 43 Hình 2.13: Bên hộp phần cứng 44 Hình 2.14: Bên hộp phần cứng 44 Hình 2.15: Lưu đồ chương trình 45 Hình 2.16: Lưu đồ chương trình .46 Hình 3.1: Giao diện Android studio 47 Hình 3.2: Giao diện thực liên kết Firebase 48 Hình 3.3: Hộp thoại Firebase 48 Hình 3.4: Hộp thoại Realtime Database 49 Hình 3.5: Giao diện trang web Firebase Console 49 Luan van Hình 3.6: Giao diện đặt tên cho project 50 Hình 3.7: Giao diện chọn liên kết 50 Hình 3.8: Hộp thoại Realtime Database 51 Hình 3.9: Giao diện xác nhận thêm thư viện .51 Hình 3.10: Giao diện sau kết nối thành công Android studio 52 Hình 3.11: Giao diện sau kết nối thành công Firebase 52 Hình 3.12: Giao diện ứng dụng Android 53 Hình 3.13: Giao diện điều khiển ứng dụng Android 54 Hình 3.14: Cơ sở liệu Realtime Database 55 Hình 3.15: Trạng thái bật/tắt thiết bị 57 Hình 4.1: Quá trình kết nối WiFi cho ESP32 chế độ WiFi station Aduino IDE 59 Hình 4.2: Quá trình kết nối WiFi cho ESP32 chế độ WiFi station thiết bị Smartphone .59 Hình 4.3: Trạng thái có chạm cảm biến điện đung .60 Hình 4.4: Kênh bật chạm vào cảm biến thứ 60 Hình 4.5: Điều khiển ứng dụng Smartphone 61 Hình 4.6: Cập nhật trạng thái thiết bị Smartphone 61 Luan van DANH MỤC BẢNG BIỂU Bảng 1: Bảng logic cảm biến chạm TTP223: 37 Bảng 3.2: Bảng thông số kỹ thuật LOLIN32: 39 Bảng 1: Số liệu thử nghiệm 62 10 Luan van  Lights: Giao diện điều khiển  Language: Giao diện thay đổi ngôn ngữ  Theme: Giao diện thay đổi chủ đề cho App  Info: Giao diện thông tin người dùng Hình 3.12: Giao diện ứng dụng Android  Giao diện điều khiển Giao diện điều khiển gồm việc điều khiển bật tắt đèn button, có thêm button bật/ tắt tất thiết bị 53 Luan van Hình 3.13: Giao diện điều khiển ứng dụng Android Khi mở phần mềm điện thoại có truy cập WiFi 3G phần mềm đọc liệu từ sở liệu thời gian thực Firebase cập nhật toàn trạng thái đèn Khi người dùng thao tác điều khiển liệu ghi lên sở liệu thời gian thực Firebase, từ thiết bị đèn đọc liệu xử lý Để điều khiển thiết bị, trước tiên ta phải dẫn tới vùng liệu cần thao tác: DatabaseReference Data_Led = database.getReference("LED_STATUS").child("LED_STATUS"); 54 Luan van Hình 3.14: Cơ sở liệu Realtime Database Để điều khiển bật/tắt thiết thông qua ứng dụng ta cần thay đổi giá trị điều khiển việc thay đổi sở liệu cách sau: Khi nhấn vào button app app hiểu có nhấn gửi giá trị “1” vị trí thiết bị cần điều khiển database.getReference().child("LED_STATUS").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { Database.led_status = snapshot.child("LED_STATUS").getValue().toString(); if(Database.led_status.equals(Database.temp2[0]+Database.temp2[1]+Database.temp2[2]+Dat abase.temp2[3]+Database.temp2[4]+Database.temp2[5]+Database.temp2[6]+Database.temp2[7]) ){ new Handler().postDelayed(new Runnable() { @Override public void run() { for(int i = 0; i Data_Led.setValue(Database.temp2[0] +Database.temp2[1]+Database.temp2[2]+Database.temp2[3]+Database.temp2[4] +Database.temp2[5]+Database.temp2[6]+Database.temp2[7])); id_1.setBackgroundResource(R.drawable.btn_radius_on); }else if(bt1 == 0){ Database.temp2[0]= String.valueOf(1); id_1.setOnClickListener(v -> Data_Led.setValue(Database.temp2[0] +Database.temp2[1]+Database.temp2[2]+Database.temp2[3]+Database.temp2[4] +Database.temp2[5]+Database.temp2[6]+Database.temp2[7])); id_1.setBackgroundResource(R.drawable.btn_radius_off); } } }); Để hiển thị trạng thái bật/tắt thiết bị ta phải thực cập nhật trạng thái thiết bị thông qua việc lấy giá trị từ sở liệu thực cách: Database.get_led_status_var = snapshot.child("LED_STATUS_VAR").getValue().toString(); for(int i = 0; i

Ngày đăng: 02/02/2023, 10:16

Xem thêm: