(Đồ án tốt nghiệp) tối ưu kích thước bộ điều khiển cho ứng dụng ngôi nhà thông minh

95 12 0
(Đồ án tốt nghiệp) tối ưu kích thước bộ điều khiển cho ứng dụng ngôi nhà thông minh

Đ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 TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THƠNG TỐI ƯU KÍCH THƯỚC BỘ ĐIỀU KHIỂN CHO ỨNG DỤNG NGÔI NHÀ THÔNG MINH GVHD: TS NGUYỄN MẠNH HÙNG SVTH: VÕ BÙI HỮU TIỀN MSSV: 15341031 SVTH: TRƯƠNG THÀNH PHƯỚC MSSV: 15341024 SKL004470 Tp Hồ Chí Minh, tháng 01/2017 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 - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: TỐI ƯU KÍCH THƯỚC BỘ ĐIỀU KHIỂN CHO ỨNG DỤNG NGÔI NHÀ THÔNG MINH GVHD: TS Nguyễn Mạnh Hùng SVTH: Võ Bùi Hữu Tiền MSSV: 15341031 SVTH: Trương Thành Phước MSSV: 15341024 TP Hồ Chí Minh - 01/2017 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 - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: TỐI ƯU KÍCH THƯỚC BỘ ĐIỀU KHIỂN CHO ỨNG DỤNG NGÔI NHÀ THÔNG MINH GVHD: TS Nguyễn Mạnh Hùng SVTH: Võ Bùi Hữu Tiền MSSV: 15341031 SVTH: Trương Thành Phước MSSV: 15341024 TP Hồ Chí Minh - 01/2017 TRƯỜNG ĐH 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 CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC Tp HCM, ngày 26 tháng 09 năm 2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: I TÊN ĐỀ TÀI: TỐI ƯU KÍCH THƯỚC BỘ ĐIỀU KHIỂN CHO ỨNG DỤNG NGÔI NHÀ THÔNG MINH II NHIỆM VỤ Các số liệu ban đầu: “Hệ thống điều khiển giám sát nhà thông minh”, Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM Nội dung thực hiện: - Thiết kế giao diện giám sát điều khiển Android Studio - Thiết kế lập trình thi công khối mạch giao tiếp module wifi ESP8266 với smartphone thơng qua sóng wifi - Thiết kế thi công khối công suất tối đa 5500W tải trở công suất tối đa 2HP (1490W) tải cảm Thi công lắp đặt ổ cắm thường chuyển thành ổ cắm thông minh - III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: 08/01/2017 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: CÁN BỘ HƯỚNG DẪN TS Nguyễn Mạnh Hùng BM ĐIỆN TỬ CÔNG NGHIỆP ii TRƯỜNG ĐH 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 CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC Tp HCM, ngày 26 tháng 09 năm 2016 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Võ Bùi Hữu Tiền Lớp: 153410A Họ tên sinh viên 2: Trương Thành Phước Lớp: 153410A Tên đề tài: Tối ưu kích thước điều khiển cho ứng dụng ngơi nhà thông minh Tuần/ngày Tuần (26-01/10) Tuần (03-08/10) Tuần (10-15/10) Tuần (17-22/10) Tuần 10 (24-29/10) Tuần 11 (31-05/11) Tuần 12 (07-12/11) Tuần 13 (14-19/11) iii Tuần 14 (21-26/11) Tuần 15 (28-03/12) Tuần 16 (05-10/12) Tuần 17 (12-17/12) Tuần 18 (19-24/12) Tuần 19 (25-31/12) GV HƯỚNG DẪN (Ký ghi rõ họ tên) iv LỜI CẢM ƠN Nhóm em xin gửi lời cảm ơn sâu sắc đến thầy TS Nguyễn Mạnh Hùng _ Giảng viên môn Điện Tử - Công Nghiệp trực tiếp hướng dẫn tận tình giúp đỡ tạo điều kiện để nhóm em hồn thành tốt đề tài Nhóm em xin gửi lời chân thành cảm ơn thầy cô Khoa Điện-Điện Tử trang bị cho chúng em kiến thức q báu để hồn thành tốt đề tài này, tạo điều kiện tốt cho chúng em hồn thành đề tài Nhóm em gửi lời đồng cảm ơn đến bạn lớp 15341 chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Cuối lời cảm ơn sâu sắc chân thành đến cha mẹ, bạn bè động viên giúp đỡ suốt trình thực đề tài Xin chân thành cảm ơn ! Người thực đề tài Võ Bùi Hữu Tiền Trương Thành Phước vi MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iii Cam đoan v Lời cảm ơn vi Mục lục vii Liệt kê hình vẽ x Liệt kê bảng vẽ xiii Tóm tắt xiv CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.3 Mục tiêu 1.4 Giới hạn 1.5 Nội dung nghiên cứu 1.6 Bố cục CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tìm hiểu cở sở liệu Google Firebase 2.2.1 Lưu trữ liệu thời gian thực - Firebase Realtime Database 2.2.2 Xác thực người dùng 2.2.3 Firebase Hosting 2.2 Module wifi ESP8266 V12E 2.2.1 Giới thiệu module wifi ESP8266 V12E 2.2.2 Đặc điểm thông số module wifi ESP8266 2.3 Tìm hiểu hệ điều hành Android 2.3.1 Các ứng dung có sẵn Android (Native Applications) 10 2.3.2 SQLite Database 11 2.3.3 Truy cập phần cứng (Access Hardware) 11 2.3.4 Hệ thống thông báo (Notifications) 11 2.3.5 Tối ưu hóa nhớ quản lý tiến trình 11 vii 2.3.6 Các thư viện Android CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 3.1 Giới thiệu 3.2 Thiết kế sơ đồ khối hệ thống 3.3 Khối điều khiển 3.4 Khối công suất 3.5 Khối nguồn 3.6 Sơ đồ nguyên lý toàn mạch CHƯƠNG THI CÔNG HỆ THỐNG 4.1 Giới thiệu 4.2 Thi công hệ thống 4.2.1 Thi công bo mạch 4.2.2 Lắp ráp kiểm tra 4.3 Thi công lắp đặt 4.4 Lập trình phần mềm 4.4.1 Giới thiệu 4.4.2 Android studio 4.4.3 Arduino IDE 4.4.4 Cơ sở liệu Google Firebase 4.5 Viết tài liệu hướng dẫn sử dụng, thao tác 4.5.1 Cài đặt ứng dụng lên điện thoại 4.5.2 Tổng quan giao diện app Android 4.5.3 Kết nối điện thoại vào wifi thiết 4.5.4 Thêm thiết bị vào danh sách điề 4.5.5 Điều khiển ổ cắm thiế 4.5.6 Chỉnh sửa xóa thiết bị CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.1 Kết 5.1.1 Về phần cứng 5.1.2 Về phần mềm 5.2 Nhận xét, đánh giá 5.2.1 Khối nguồn chuyển đổi 220VAC sang 5VDC 5.2.2 viii Khối điều khiển module wifi ESP8266 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau khoản thời gian tháng làm khóa luận, hướng dẫn nhiệt tình thầy TS Nguyễn Mạnh Hùng nhóm cố gắng hồn thành khóa luận theo yêu cầu thời gian quy định Trong khóa luận, chúng em đạt cơng việc, kết sau:  Biết cách thức hoạt động Google Firebase, module wifi ESP8266 tự lập trình app Android phục vụ cho ý tưởng đề tài Android Studio  Tinh thần làm việc nhóm, biết san sẽ, chia cơng việc chịu trách nhiệm hồn thành cơng việc theo lịch trình mà nhóm đặt  Từ đề tài lên ý tưởng nhóm cho tạo sản phẩm có kích thước nhỏ gọn, lắp đặt vào hộp đế âm tường với đầy đủ chức ban đầu đặt Sản phẩm chạy ổn định với độ xác cao, thời gian đáp ứng nằm phạm vi cho phép Bên cạnh kết đạt với kiến thức có hạn nhóm khơng tránh khỏi thiếu sót, chức chưa làm q trình làm khóa luận tốt nghiệp sau:  Giao diện thiết kế app chưa thực đẹp chuyên nghiệp hướng đến sản phẩm thương mại  Quá trình nhận lệnh module wifi ESP8266 với Firebase quét liên tục giây lần lượng tỏa lớn làm nóng ESP8266, đảm bảo module wifi ESP8266 hoạt động tốt  Chỉ điều khiển thiết bị mạng wifi có kết nối internet, chưa điều khiển kết nối internet (trong mạng LAN)  Trong thời gian làm khóa luận nhóm dừng lại việc ON/OFF, chưa trọng đến vấn đề bảo mật liệu người dùng, nghĩa biết trạng thái hoạt động sản phẩm điều khiển thiết bị BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 62 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.2 HƯỚNG PHÁT TRIỂN Để sản phẩm nhóm ngày hồn thiện với mục tiêu hướng đến sản phẩm thương mại, bên cạnh giải hạn chế mà nhóm chưa giải thời gian làm khóa luận nhóm đưa hướng phát triển cho sản phẩm sau:  Phát triển ứng dụng cho hệ điều hành iOS để tiếp cận nhiều khách hàng  Thêm tính hẹn theo thời gian thực lấy từ thời gian internet hẹn theo khoảng thời gian mà người dùng muốn  Điều khiển thiết bi mạng LAN kết nối internet  Tối ưu sản phẩm để tốn lượng hoạt động chờ nhận lệnh, cho module wifi ESP8266 vào chế độ sleep không điều khiển, điều khiển việc đánh thức module wifi ESP8266  Đồng liệu điện thoại thông minh với Chỉ cần điện thoại đăng nhập tài khoản sau trình thêm, chỉnh sửa, xóa thiêt bị có danh sách thiết bị để điều khiển, với app điện thoại khác ta cần đăng nhập vào tài khoản trước cấu hình liệu tự động đồng mà không cần thực lại cơng việc cấu hình cho app nữa, tiện lợi cho khách hàng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 63 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Internet of things ?, iotvietnam.com, 2016 [2] Trần Dương, “Điều khiển đèn LED qua wifi- sử dụng Arduino ESP8266”, arduino.vn, 2016 [3] Tấn Cường, “Điều khiển thiết bị từ xa qua WIFI ESP8266”, arduino.vn, 2016 [4] “ESP8266 for use Firebase realtime data from Google”, ioxhop.com, 2016 [5] Phạm Đơng, “Thêm Sửa Xóa item ListView”, laptrinhandroid.edu.vn, 2016 [6] Khoa Phạm, “Lập trình Firebase Android”, khoapham.vn, 2016 [7] ESP8266 IoT, linhkienbachkhoa.com, 2016 [8] Trương Q Tùng Hồng Mạnh Đạt, “Hệ thống điều khiển giám sát nhà thông minh”, Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 2016 [9] Trương Trọng Chi Lê Văn Thanh, “Điều khiển giám sát mơ hình nhà thơng minh dùng kit intel galileo”, Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 2016 Nguyễn Văn Hiệp, Giáo Trình: Lập trình Android, xuất ĐH Quốc Gia Tp.HCM, 2015 [10] BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 64 PHỤ LỤC PHỤ LỤC DATASHEET [1] Datasheet ESP8266 [2] Datasheet C1815 [4] Datasheet triac BTA24 CHƯƠNG TRÌNH MODULE WIFI ESP8266 #include #include #include #include #define LED_1 16 #define LED_2 14 #define LED_3 12 #define SW 13 // Config Firebase #define FIREBASE_HOST "esp8266v12.firebaseio.com" #define FIREBASE_AUTH "NDTYyfsfQCd0ia20n9YPJnvbOo5zYW7z6K6vPH6M" ESP8266WebServer server(80); const char* ssid = "WiFi_Esp8266"; const char* passphrase = ""; String st; String content; int statusCode; int tt=0,ocam1,ocam2,ocam3; void setup() { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 65 PHỤ LỤC pinMode(LED_1, OUTPUT); pinMode(LED_2, OUTPUT); pinMode(LED_3, OUTPUT); pinMode(SW, INPUT); Serial.begin(115200); EEPROM.begin(512); delay(10); //Serial.println(); //Serial.println(); WiFi.mode(WIFI_OFF); Serial.println("Startup"); / read eeprom for ssid and pass Serial.println("Reading EEPROM ssid"); String esid; for (int i = 0; i < 32; ++i) { esid += char(EEPROM.read(i)); } Serial.print("SSID: "); Serial.println(esid); esid.trim(); Serial.println("Reading EEPROM pass"); String epass = ""; for (int i = 32; i < 96; ++i) { epass += char(EEPROM.read(i)); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 66 PHỤ LỤC } Serial.print("PASS: "); Serial.println(epass); epass.trim(); if ( esid.length() > ) { WiFi.begin(esid.c_str(), epass.c_str()); if (testWifi()) { launchWeb(0); Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString("MAC",WiFi.macAddress() ); tt=1; EEPROM.end(); return; } else { setupAP(); tt=0; EEPROM.end(); } } } bool testWifi(void) { int c = 0; Serial.println("Waiting for Wifi to connect"); while ( c < 20 ) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 67 PHỤ LỤC if (WiFi.status() == WL_CONNECTED) { return true; } delay(500);//or 1000 Serial.print(WiFi.status()); c++; } Serial.println("."); Serial.println("Connect timed out, opening AP"); return false; } void launchWeb(int webtype) { Serial.println(""); Serial.println("WiFi connected"); Serial.print("Local IP: "); Serial.println(WiFi.localIP()); Serial.print("SoftAP IP: "); Serial.println(WiFi.softAPIP()); createWebServer(webtype); / Start the server server.begin(); Serial.println("Server started"); } void setupAP(void) { WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 68 PHỤ LỤC int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) Serial.println("no networks found"); else { Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) { / Print SSID and RSSI for each network found Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"); delay(10); } } Serial.println(""); st = "
    "; for (int i = 0; i < n; ++i) { // Print SSID and RSSI for each network found BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 69 PHỤ LỤC st += "
  1. "; st += WiFi.SSID(i); st += " ("; st += WiFi.RSSI(i); st += ")"; st += (WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"; st += "
  2. "; } st += "
"; delay(100); Serial.println(ssid); Serial.println(passphrase); WiFi.softAP(ssid, passphrase, 6); Serial.println("softap"); launchWeb(1); Serial.println("over"); } void createWebServer(int webtype) { if ( webtype == ) { server.on("/", []() { IPAddress ip = WiFi.softAPIP(); String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]); content = "\r\nDO AN TOT NGHIEP DEMO"; length=32>"; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC content += ""; content += "Wifi"; content += ""; content += "Mat Khau"; content += ""; content += ""; content += "

"; content += st; content += "

"; //content += ""; content += ""; server.send(200, "text/html", content); }); server.on("/setting", []() { String qsid = server.arg("ssid"); String qpass = server.arg("pass"); if (qsid.length() > && qpass.length() > 0) { EEPROM.begin(512); Serial.println("clearing eeprom"); for (int i = 0; i < 96; ++i) { EEPROM.write(i, 0); } EEPROM.commit(); Serial.println(qsid); Serial.println(""); Serial.println(qpass); Serial.println(""); Serial.println("writing eeprom ssid:"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 71 PHỤ LỤC for (int i = 0; i < qsid.length(); ++i) { EEPROM.write(i, qsid[i]); Serial.print("Wrote: "); Serial.println(qsid[i]); } Serial.println("writing eeprom pass:"); for (int i = 0; i < qpass.length(); ++i) { EEPROM.write(32+i, qpass[i]); Serial.print("Wrote: "); Serial.println(qpass[i]); } EEPROM.commit(); EEPROM.end(); content = "{\"Success\":\"saved to eeprom reset to boot into new wifi\"}"; statusCode = 200; ESP.restart(); //tu reset esp } else { content = "{\"Error\":\"404 not found\"}"; statusCode = 404; Serial.println("Sending 404"); } server.send(statusCode, "application/json", content); }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 72 PHỤ LỤC } else if (webtype == 0) { server.on("/", []() { IPAddress ip = WiFi.localIP(); String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]); server.send(200, "application/json", "{\"IP\":\"" + ipStr + "\"}"); }); server.on("/cleareeprom", []() { content = "\r\n"; content += "

Clearing the EEPROM

"; server.send(200, "text/html", content); Serial.println("clearing eeprom"); for (int i = 0; i < 96; ++i) { EEPROM.write(i, 0); } EEPROM.commit(); }); } } void loop() { server.handleClient(); if(tt==1) { ocam1 = Firebase.getInt(WiFi.macAddress()+"/Light1"); ocam2 = Firebase.getInt(WiFi.macAddress()+"/Light2"); ocam3 = Firebase.getInt(WiFi.macAddress()+"/Light3"); if(ocam1==1) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 73 PHỤ LỤC digitalWrite(LED_1,HIGH); Serial.println("Light1: 0"); } else { digitalWrite(LED_1, LOW); Serial.println("Light1: 1"); } if(ocam2==1) { digitalWrite(LED_2,HIGH); Serial.println("Light2: 0"); } else { digitalWrite(LED_2, LOW); Serial.println("Light2: 1"); } if(ocam3==1) { digitalWrite(LED_3,HIGH); Serial.println("Light3: 0"); } else { digitalWrite(LED_3, LOW); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 74 PHỤ LỤC Serial.println("Light3: 1"); } } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 75 ... sát sản phẩm ổ cắm thông minh thị trường ………49 xiii TĨM TẮT Tên đề tài “TỐI ƯU KÍCH THƯỚC BỘ ĐIỀU KHIỂN CHO ỨNG DỤNG NHÀ THÔNG MINH? ?? Mục đích đề tài Thiết kế điều khiển có kích thước tương đối nhỏ... ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: I TÊN ĐỀ TÀI: TỐI ƯU KÍCH THƯỚC BỘ ĐIỀU KHIỂN CHO ỨNG DỤNG NGƠI NHÀ THÔNG MINH II NHIỆM VỤ Các số liệu ban đầu: “Hệ thống điều. .. đề tài: ? ?Tối ưu kích thước điều khiển cho ứng dụng nhà thông minh? ?? Góp phần vào xu hướng tương lai kết nối thiết bị qua internet 1.2 MỤC TIÊU Mục tiêu đề tài thiết kế điều khiển có kích thước tương

Ngày đăng: 27/12/2021, 08:51

Tài liệu cùng người dùng

Tài liệu liên quan