Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 98 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
98
Dung lượng
5,77 MB
Nội dung
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 XÂY DỰNG HỆ THỐNG QUẢN LÝ TIÊM NGỪA CHĨ MÈO GVHD: NGUYỄN VĂN HIỆP SVTH: TRẦN NGỌC HÙNG MSSV: 15141174 SVTH: ĐẶNG MINH SANG MSSV: 15141262 SKL007388 Tp Hồ Chí Minh, tháng 07/2020 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 CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ TIÊM NGỪA CHÓ MÈO GVHD: ThS Nguyễn Văn Hiệp SVTH: Trần Ngọc Hùng Đặng Minh Sang TP Hồ Chí Minh - 07/2020 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 CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ TIÊM NGỪA CHÓ MÈO GVHD: ThS Nguyễn Văn Hiệp SVTH: Trần Ngọc Hùng Đặng Minh Sang TP Hồ Chí Minh - 07/2020 Họ tên sinh viên: Chuyên ngành: Mã ngành: Hệ đào tạo: Khóa: I TÊN ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ TIÊM NGỪA CHÓ MÈO II NHIỆM VỤ Các số liệu ban đầu: - Tình hình tiêm ngừa chó mèo - Số người tử vong bệnh dại - Vi điều khiển: Arduino uno R3, ESP8266 - Các loại module: RFID RC522, Bluetooth HC05 - Màn hình hiển thị: LCD 1602 - Nguồn: Apdapter, mạch sạc tăng áp, Pin Nội dung thực hiện: - Tìm hiểu nguyên lý hoạt động module ESP8266 - Tìm hiểu chuẩn truyền thông USART, SPI - Thiết kế thi công hộp đựng sản phẩm - Thiết kế phần mềm thông báo điện thoại Android - Viết chương trình điều khiển cho Arduino ESP8266, nạp code chạy thử nghiệm sản phẩm - Chỉnh sửa hoàn thiện hệ thống - Thực viết luận văn báo cáo - Tiến hành báo cáo đề tài tốt nghiệp III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: 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 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Trần Ngọc Hùng Lớp: 151494DT Họ tên sinh viên 2: Đặng Minh Sang Lớp: 151494DT MSSV: 15141174 MSSV: 1514126 Tên đề tài: XÂY DỰNG HỆ THỐNG QUẢN LÝ TIÊM NGỪA CHÓ MÈO Tuần/ngày Tuần (09/03/2020) Tuần (16/03/2020) Tuần (23/03/2020) Tuần (30/03/2020) Tuần (06/04/2020) Tuần (13/04/2020) Tuần (20/04/2020) Tuần (27/04/2020) Tuần (04/05/2020) Tuần 10 (11/05/2020) Tuần 11 (18/05/2020) Tuần 12 (25/05/2020) Tuần 13 (01/06/2020) Tuần 14 (08/06/2020) Tuần 15 (15/06/2020) GV HƯỚNG DẪN (Ký ghi rõ họ tên) LỜI CAM ĐOAN Đề tài nhóm tự thực hướng dẫn giảng viên ThS Nguyễn Văn Hiệp Đề tài 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óm thực đề tài Trần Ngọc Hùng Đặng Minh Sang LỜI CẢM ƠN Nhóm em xin gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Văn Hiệp, người trực tiếp hướng dẫn giúp đỡ tạo điều kiện để nhóm hồn thành tốt đề tài Mặc dù kiến thức nhóm cịn hạn chế thầy nhiệt tình giúp đỡ, vạch hướng cho phù hợp Xin chân thành cảm ơn quý thầy cô giảng viên khoa Điện - Điện Tử, trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM giúp đỡ nhóm q trình thực đồ án Ngồi nhóm cịn nhận quan tâm, giúp đỡ gia đình, bạn bè, anh chị trường để hồn thành đồ án Do kiến thức cịn hạn chế nên q trình thực khơng tránh khỏi sai sót mong thầy bạn góp ý để nhóm hồn thành đồ án tốt Xin chân thành cảm ơn! Nhóm thực đề tài Trần Ngọc Hùng Đặng Minh Sang CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Danh sách tải từ trang tính google sheet ứng dụng điện thoại cịn nhập tra cưu thơng tin có danh sách tải theo số điện thoại nhập vào Hình 5.5 Giao diện hệ thớng dành cho đợi bắt chó mèo thả rơng 5.4 NHẬN XÉT, ĐÁNH GIÁ 5.4.1 Nhận xét Sau thời gian 15 tuần nghiên cứu thực đề tài, hệ thống đáp ứng yêu cầu thiết kế ban đầu Dưới số nhận xét: Phần cứng, giao diện điều khiển: - Mạch điều khiển trung tâm hoạt động ổn định, xác - Tốc độ qt đưa thơng tin lên trang tính google sheet ESP8266 chưa cao BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT - Quá trình quét mã gửi qua điện thoại thông qua Bluetooth nhanh - Độ ổn định thông tin truyền ổn - Thời gian hoạt động chạy liên tục board sử dụng cho nhân viên đô thị khoảng tiếng - Dễ sử dụng, vận chuyển cất giữ App android: - Giao diện trực quan, đơn giản dễ sử dụng - Hiển thị đầy đủ thông tin cần thiết cho người sử dụng biết theo dõi - Đôi lúc có độ trễ định tải thơng tin từ google sheet xuống điện thoại Tuy nhiên yếu tố khách quan mạng wifi, việc không ảnh hưởng nhiều đến người sử dụng - Hiện app chạy tản hệ điều hành android - Chưa thực việc gửi thông báo thời gian cho chủ vật ni Trang tính google sheet: - Bố trí giao diện tương đối ổn định dễ quan sát - Các liệu tải lên đẩy vào hàng không đồng - Tốc độ hoạt động phụ thuộc vào wifi 5.4.2 Đánh giá Bảng 5.1: Số liệu thực nghiệm Quá trình Quét thẻ từ board t y tế Quét thẻ từ board nhân viên đô th Truyền thông tin g app google she Sau q trình vận hành thử hệ thống, nhóm có đánh giá sau đây: Hệ thống hoạt động ổn định đạt khoảng 70% mục tiêu ban đầu đề Các board mạch đựng hộp nhỏ gọn chắn, đẹp mắt BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau khoảng 15 tuần nghiên cứu tìm hiểu, nhóm hồn thành đồ án thi công sản phẩm hệ thống quản lý tiêm phịng cho chó mèo đáp ứng u cầu đặt ban đầu: - Sản phẩm đóng hộp nhỏ gọn - Tốc độ truyền liệu tương đối cao xác - Các chức app hoạt động tốt - Có hệ thống pin để sử dụng - App android có giao diện trực quan, dễ theo dõi - Thời gian trễ giao tiếp trang tính App lớn khoảng đến giây - Thời gian trì hoạt động Pin chưa cao 6.2 HƯỚNG PHÁT TRIỂN - Thiết kế board với mẫu mã đẹp mắt - Tích hợp thêm khả ghi thông tin vào thẻ - Gửi thông tin ngày tiêm phịng cho chủ vật ni thơng qua app - Bảo mật thông tin chủ vật nuôi thông qua hệ thống đăng nhập tài khoản để sử dụng app cho chủ vật nuôi - Nâng cấp giao diện chức App Android - Phát triển ứng dụng chạy nhiều thiết bị có kích thước hình khác - Tăng dung lượng Pin để board mạch hoạt động nhiều làm việc BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT TÀI LIỆU THAM KHẢO [1] Quốc Huy, Hướng dẫn cách sử dụng Google Sheet, Hà Nội,2018 [2] “Dân điện tử, “Thiết Kế App Cho Android Và Ios Để Điều Khiển Esp8266 Sử Dụng Google Firebase, 10 2019 http://dandientu.com/esp8266/thiet-ke-app-cho-android-va-ios-de-dieu-khienesp8266-su-dung-google-firebase/ [3 10 2019] [3] Nguyễn Văn Hiệp, Đinh Quang Hiệp, “Giáo trình: lập trình Android Cơ Bản”, NXB Đại Học Quốc Gia 2015 Website tham khảo [1] www.arduino.vn [2] www.wikipedia.org [3] www.alldatasheet.com BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT PHỤ LỤC Code arduino #include #include #include #include #include SoftwareSerial blue(2,3); #define SS_PIN 10 #define RST_PIN LiquidCrystal_I2C lcd(0x27,16,2); MFRC522 mfrc522(SS_PIN, RST_PIN); // Instance of the class int code[] = {32,154,149,117}; //This is the stored UID (Unlock Card) int codeRead = 0; String uidString; int readsuccess; byte readcard[4]; char str[32] = ""; String StrUID; void setup() { Serial.begin(9600); SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 Serial.println("Arduino RFID reading UID"); blue.begin(9600); lcd.init(); lcd.backlight(); lcd.setCursor(0,0); lcd.print("BAT DAU"); lcd.setCursor(0,1); lcd.print(" QUET THE"); } void loop() BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT { readsuccess = getid(); if(readsuccess) { lcd.clear(); Serial.print("Ma UID:"); lcd.setCursor(0,0); lcd.print("Ma UID:"); lcd.setCursor(0,1); lcd.print(" " + StrUID); //Serial.print("#"); Serial.print(StrUID); //Serial.print("~"); blue.println(StrUID); delay(100); } } int getid() { if(!mfrc522.PICC_IsNewCardPresent()) { return 0; } if(!mfrc522.PICC_ReadCardSerial()) { return 0; } for(int i=0;i> 4) & 0x0F; byte nib2 = (array[i] >> 0) & 0x0F; buffer[i*2+0] = nib1 < 0xA ? '0' + nib1 : 'A' + nib1 - 0xA; buffer[i*2+1] = nib2 < 0xA ? '0' + nib2 : 'A' + nib2 - 0xA; } buffer[len*2] = '\0'; } BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Code ESP8266 #include #include "HTTPSRedirect.h" #include #include #define SS_PIN D4 #define RST_PIN D2 MFRC522 mfrc522(SS_PIN, RST_PIN); int readsuccess; byte readcard[4]; char str[32] = ""; String StrUID; //Khai báo thông tin Wifi const char* ssid = "ZZZ"; const char* password = "tamchinmuoi"; const char *GScriptID = "AKfycbzaHeqVu_FVMa6B_vrsoLoCMlR5MJDELLJ7x4MB1xNpKdiwKAXL"; const char* host = "script.google.com"; const char *googleRedirectHost = "script.googleusercontent.com"; const int httpsPort = 443; HTTPSRedirect client(httpsPort); //Khai báo URL chứa thông tin gủi liệu String url = String("/macros/s/") + GScriptID + "/exec?"; void setup() { Serial.begin(9600); Serial.println("Connecting to wifi: "); Serial.println(ssid); Serial.flush(); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); Serial.print(" IP Address: "); BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Serial.println(WiFi.localIP()); client.setInsecure(); client.setPrintResponseBody(false); client.setContentTypeHeader("application/json"); Serial.print(String("Kết nối tới ")); Serial.println(host); } void postData(String ID, String action) { if(!client.connected()){ Serial.println("Kết nối tới server "); client.connect(host, httpsPort); } String urlFinal = url + "ID=" + ID+"&action=" + action ; client.POST(urlFinal, host, ""); Serial.println("UID = " + ID + " addItem" ); } void loop() { readsuccess = getid(); if(readsuccess) { Serial.println(""); postData(StrUID,"addItem"); } } int getid() { if(!mfrc522.PICC_IsNewCardPresent()) { return 0; } if(!mfrc522.PICC_ReadCardSerial()) { return 0; } for(int i=0;i> 4) & 0x0F; BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT byte nib2 = (array[i] buffer[i*2+0] = nib1 buffer[i*2+1] = nib2 } buffer[len*2] = '\0'; } Code google sheet var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1hUOBJBGLr wmKrVWfrjIqFrtzELhi3kNkpUZzHye42v8/edit#gid=0"); var sheet = ss.getSheetByName('Items'); // - GOOGLE SHEET > ANDROID -function doPost(e) { var action = e.parameter.action; if(action == 'addItem'){ return addItem(e); } if(action == 'addItem1'){ return addItem1(e); } if(action == 'getItems1') { return getItems1(e); } if(action == 'getItems2') { return getItems2(e); } if(action == 'getItems') { return getItems1(e); } } function addItem1(e) { BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT var var var var var var var var var id = e.parameter.id; name = e.parameter.name; sdt = e.parameter.sdt; diachi = e.parameter.diachi; chungloai = e.parameter.chungloai; solantiem = e.parameter.solantiem; benh = e.parameter.benh; thuoc = e.parameter.thuoc; tieptheo = e.parameter.tieptheo; var day = Utilities.formatDate(new Date(), "GMT+7", "dd/MM/yyyy"); var time = Utilities.formatDate(new Date(), "GMT+7", "HH:mm:ss"); sheet.appendRow([id,time,day,name,sdt,diachi,chungloai,solantiem,"","",benh ,thuoc,tieptheo]); return ContentService.createTextOutput("Success").setMimeType(ContentService.MimeT ype.TEXT); } function addItem(e) { var x =0; var ID = e.parameter.ID; var day = Utilities.formatDate(new Date(), "GMT+7", "dd/MM/yyyy"); var time = Utilities.formatDate(new Date(), "GMT+7", "HH:mm:ss"); var row = sheet.getLastRow() + 1; sheet.appendRow([ID,time,day]); for(var i=2; i GOOGLE SHEET function doGet(e) { var action = e.parameter.action; if(action == 'getItems') { return getItems(e); } } function getItems(e) { var UID = e.parameter.itemName; sheet.appendRow([UID]); var records={}; var rows = sheet.getRange(2, 1, sheet.getLastRow() 1,sheet.getLastColumn()).getValues(); var data = []; for (var r = 0, l = rows.length; r < l; r++) BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT record['a'] = row[0]; record['d']=row[3]; record['e']=row[4]; record['f']=row[5]; record['g']=row[6]; record['h']=row[7]; record['j']=row[9]; record['k']=row[10]; record['l']=row[11]; record['m']=row[12]; data.push(record); } records.items = data; var result=JSON.stringify(records); return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType JSON); } // - function getItems1(e) { var UID = e.parameter.itemName; var i = 0; var records={}; var rows = sheet.getRange(2, 1, sheet.getLastRow() 1,sheet.getLastColumn()).getValues(); var data = []; for (var r = 0, l = rows.length; r < l; r++) { = rows[r], var row = {}; recor d if(UID==row[0]) { i++; record['a']=row[0]; record['d']=row[3]; record['e']=row[4]; record['f']=row[5]; record['g']=row[6]; record['h']=row[7]; record['j']=row[9]; record['k']=row[10]; BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT record['l']=row[11]; record['m']=row[12]; data.push(record); } } if (i== 0) { record['a']= record['d']= record['e']= record['f']= record['g']= "Khơng "Khơng "Khơng "Khơng "Khơng có có có có có dữ dữ liệu"; liệu"; liệu"; liệu"; liệu"; record['h']= "Khơng có liệu"; record['j']= "Khơng có liệu"; record['k']= "Khơng có liệu"; record['l']= "Khơng có liệu"; record['m']= "Khơng có liệu"; data.push(record); } records.items = data; var result=JSON.stringify(records); return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType JSON); } // - - function getItems2(e) { var SDT = e.parameter.itemName; var i = 0; var records={}; var rows = sheet.getRange(2, 1, sheet.getLastRow() 1,sheet.getLastColumn()).getValues(); var data = []; for (var r = 0, l = rows.length; r < l; r++) { = rows[r], var row = {}; recor d if(SDT==row[4]) { i++; record['a']=row[0]; record['d']=row[3]; record['e']=row[4]; record['f']=row[5]; record['g']=row[6]; BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT record['h']=row[7]; record['j']=row[9]; record['k']=row[10]; record['l']=row[11]; record['m']=row[12]; data.push(record); } } if (i== 0) { record['a']= record['d']= record['e']= record['f']= record['g']= "Khơng "Khơng "Khơng "Khơng "Khơng có có có có có dữ dữ liệu"; liệu"; liệu"; liệu"; liệu"; record['h']= "Khơng có liệu"; record['j']= "Khơng có liệu"; record['k']= "Khơng có liệu"; record['l']= "Khơng có liệu"; record['m']= "Khơng có liệu"; data.push(record); } records.items = data; var result=JSON.stringify(records); return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType JSON); } BỘ MÔN CÔNG NGHIỆP ĐIỆN TỬ - Y SINH ... CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ TIÊM NGỪA CHÓ MÈO .4 2.1.1 Giới thiệu hệ thống quản lý tiêm ngừa chó mèo 2.1.2 Ứng dụng hệ thống quản lý tiêm phịng chó mèo ... đề tài ? ?Xây dựng hệ thống quản lý tiêm ngừa chó mèo? ?? để giải vấn đề tiêm ngừa cho chó, mèo, bảo vệ an toàn sức khỏe cho người 2.1.2 Ứng dụng hệ thống quản lý tiêm phịng chó mèo - Hệ thống có... CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ HỆ THỐNG QUẢN LÝ TIÊM NGỪA CHÓ MÈO 2.1.1 Giới thiệu hệ thống quản lý tiêm ngừa chó mèo Tiêm chủng cho chó mèo biện pháp giúp