Hệ thống điều khiển giám sát cửa an ninh cảm biến vân tay, visual, sql server

97 89 0
Hệ thống điều khiển giám sát cửa an ninh  cảm biến vân tay, visual, sql server

Đ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

đồ án tốt nghiệp tự động hoá hệ thống điều khiển giám sát đóng mở cửa thông qua cảm biến vân tay trên giao diện window form của visual studio, xuất dữ liệu tại sql server người dùng có thể dễ dàng kiểm tra và điều khiển thông qua hệ thống

MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC HÌNH ẢNH DANH MỤC BẢNG LỜI MỞ ĐẦU CHƯƠNG HỆ THỐNG CỬA THÔNG MINH 1.1 Lịch sử phát triển nhà thông minh .9 1.2 Nhận dạng vân tay 13 1.2.1 Công sinh trắc vân tay vấn đề bảo mật .13 1.2.2 Hệ thống nhận dạng vân tay 14 1.3 Hệ thống khóa cửa thơng minh .16 1.4 Hệ thống cửa sử dụng cảm biến vân tay 18 CHƯƠNG CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 20 2.1 Arduino UNO R3 20 2.1.1 Sơ lược Arduino 20 2.1.2 Arduino UNO U3 .21 2.1.3 Sơ lược phần mềm lập trình Arduino 1.8.11 .24 2.2 Cảm biến vân tay 26 2.2.1 Cảm biến vân tay AS608 (AS608 fingerprint sensor) .28 2.2.2 Ứng dụng 30 2.2.3 Giao tiếp thông qua UART 31 2.2.4 Tài nguyên hệ thống 32 2.2.5 Kiểm tra xác nhận gói liệu .35 2.3 Các thiết bị khác .36 2.3.1 Màn hình LCD 1602 .36 2.3.2 Động servo SG90 39 2.4 Hệ quản trị sở liệu SQL Server .41 2.4.1 Giới thiệu chung .41 2.4.2 Các bước xây dựng sở liệu .43 2.5 Giới thiệu C# 47 2.5.1 Lịch sử phát triển .47 2.5.2 Xây dựng form 48 2.5.3 Liên kết sở liệu 51 CHƯƠNG THIẾT KẾ HỆ THỐNG GIÁM SÁT CỬA DÙNG CẢM BIẾN VÂN TAY 55 3.1 Nhiệm vụ hệ thống cửa thông minh 55 3.1.1 Nhiệm vụ hệ thống cửa thông minh 55 3.1.2 Giải pháp kỹ thuật 55 3.2 Xây dựng hệ thống 56 3.2.1 Xây dựng phần cứng 56 3.2.2 Xây dựng phần mềm 60 3.3 Kết thực 67 3.3.1 Mô tả thực nghiệm 67 3.3.2 Kết thực .71 TÀI LIỆU THAM KHẢO .74 PHỤ LỤC 75 DANH MỤC HÌNH ẢNH Hình 1.1 Hệ thống Echo-IV phát triển Jim Sutherland Hình 1.2 Mô tả hệ thống mạng lưới sử dụng mạng không dây 10 Hình 1.3 Cấu trúc thống nhận dạng vân tay 14 Hình 1.4 Hình ảnh vân tay chụp từ thiết bị tương tướng 15 Hình 1.5 Một số hình ảnh thực tế khóa cửa vân tay 19 Hình 2.1 Một số loại Arduino phổ biến .20 Hình 2.2 Hình ảnh thực tế Arduino UNO R3 21 Hình 2.3 Hình ảnh Arduino 1.8.1.1 24 Hình 2.4 Giao diện chương trình Arduino 26 Hình 2.5 Các ứng dụng hệ thống nhận dạng vân tay 27 Hình 2.6 Cấu trúc hệ thống nhận dạng vân tay tự động 28 Hình 2.7 Hình ảnh thực tế cảu cảm biến AS608 29 Hình 2.8 Khung truyền định dạng 8bit 31 Hình 2.9 Hình ảnh thực tế hình LCD1602 36 Hình 2.10 Sơ đồ chân hình LCD 16x2 37 Hình 2.11 Mặt sau LCD 1602 38 Hình 2.12 Hình ảnh thực tế động servo SG90 40 Hình 2.13 Nguyên lý hoạt động động servo SG90 40 Hình 2.14 Các thành phần hệ quản trị sở liệu 41 Hình 2.15 Hình ảnh Windows Forms Application .49 Hình 2.16 Hình ảnh form tạo 49 Hình 2.17 Thêm SQL Server lưu máy tính 52 Hình 2.18 Kết nối với database tạo với chương trình 52 Hình 2.19 Chọn server muốn kết nối bảng tạo từ SQL server 53 Hình 2.20 Test kiểm tra trình kết nối 53 Hình 2.21 Data kết nối thành công 54 Hình 2.22 Kiểm tra chuỗi kết nối .54 Hình 2.23 Thơng tin chuỗi kết nối từ sở liệu với c# 54 Hình 3.1 Sơ đồ khối hệ thống 56 Hình 3.2 Sơ đồ nguyên lý khối điều khiển trung tâm 57 Hình 3.3 Sự tương quan khối xử lý khối cảm biến vân tay .57 Hình 3.4 Sơ đồ kết nối module cảm biến vân tay vi điều khiển .58 Hình 3.5 Khối hiển thị hình LCD 16x2 .59 Hình 3.6 Hình ảnh sơ đồ nguyên lý hệ thống 59 Hình 3.7 Truy cập SQL Server 60 Hình 3.8 Tạo database 61 Hình 3.9 Tạo bảng database chứa thuộc tính cần dùng 61 Hình 3.10 Kết nối từ visual studio SQL server 62 Hình 3.11 Lưu đồ thuật toán chung hệ thống .64 Hình 3.12 Lưu đồ thuật tốn quét mã vân tay 65 Hình 3.13 Lưu đồ thuật tốn thêm mã vân tay 66 Hình 3.14 Giao diện điều khiển 67 Hình 3.15 Màn hình Lcd khởi động thành cơng 67 Hình 3.16 Giao diện kết nối thành công 68 Hình 3.17 Màn hình LCD kết nối thành công cho phép bắt đầu hoạt động 68 Hình 3.18 Màn hình Lcd hiển thị cho phép đăng nhập vân tay 68 Hình 3.19 Giao diện vân tay nhập hai lần cho phép cửa mở 69 Hình 3.20 Màn hình Lcd thị cửa mở 69 Hình 3.21 Màn hình Lcd thị cảnh báo mã vân tay không xác .69 Hình 3.22 Hệ thống cho phép thêm vân tay 70 Hình 3.23 Thực trình lưu trữ thành cơng mã vân tay 70 Hình 3.24 Hệ thốngcho phép xuất file excel lưu trữ liệu .70 Hình 3.25 Thực xoá mã vân tay cần thiết 71 Hình 3.26 Giao diện điều khiển hệ thống 71 Hình 3.27 Một số hình ảnh thực tế mơ hình 72 DANH MỤC BẢNG Bảng 2.1: Các thông số Arduino UNO .22 Bảng 2.2 Thông số kỹ thuật cảm biến vân tay AS608 28 Bảng 2.3 Định nghĩa ghi trạng thái hệ thống 33 Bảng 2.4 Các định dạng gói liệu 34 Bảng 2.5 Tin tin chi tiết định dạng gói liệu .34 Bảng 2.6 Thông tin chân LCD 16X2 37 Bảng 2.7 Các thông số động RC Servo 9G .39 Bảng 2.8 Các kiểu liệu thường dùng thiết kế bảng 46 Bảng 2.9 Các thuộc tính giống Control C# 50 Bảng 2.10 Các phương thức thường dùng C# - Windows Form 51 Bảng 2.11 Các kiện thường dùng 51 Bảng 3.1 Các thành phần thiết kế form 63 LỜI MỞ ĐẦU Ngày giới với bùng nổ ngành công nghệ thông tin, điện tử v.v… Đã làm cho đời sống người ngày hoàn thiện Các thiết bị tự động hóa ngày người áp dụng vào sống sinh hoạt hàng ngày người Do hệ thống cửa thơng minh khơng mơ ước người mà trở thành thực hóa Qua báo chí, phương tiện truyền thơng, internet thấy mơ hình hệ thống cửa thơng minh đời Là sinh viên khoa kỹ thuật điều khiển tự động hóa Trường Đại Học Cơng Nghê Thông Tin Và Truyền Thông Thái Nguyên, với kiến thức học với mong muốn thiết kế hệ thống cửa thông minh đáp ứng nhu cầu người, em chọn đề tài "Thiết kế hệ thống giám sát chế tạo mơ hình cửa an ninh thông qua cảm biến vân tay" làm đề tài thực tập tốt nghiệp Trong trình thực báo cáo mình, em cố gắng để hoàn thiện cách tốt Nhưng với kiến thức hiểu biết có hạn nên khơng tránh khỏi thiết sót mong thầy bạn đóng góp ý kiến cho đề tài em hoàn Em xin chân thành cảm ơn CHƯƠNG HỆ THỐNG CỬA THÔNG MINH 1.1 Lịch sử phát triển nhà thông minh Tiền đề cho hệ thống nhà thơng minh thiết bị điều khiển từ xa không dây Được giới thiệu năm 1898 Nikola Tesla, ơng điều khiển mơ hình thu nhỏ thuyền cách gửi sóng radio qua điều khiển từ xa Thế kỷ 20 bắt đầu với phát triển bùng nổ thiết bị gia dụng, ví dụ máy hút bụi chạy động (1901) máy hút bụi chạy điện (1907) Hai thập kỷ cách mạng thiết bị gia dụng, xuất tủ lạnh, máy sấy, máy giặt, Tuy nhiên, giá thành đắt đỏ việc sở hữu hàng xa xỉ xuất gia đình giàu có Những năm 1930, ý tưởng tự động hóa nhà khơi gợi lên, phải đến năm 1966, hệ thống tự động hóa nhà mang tên EchoIV phát triển Jim Sutherland Hệ thống giúp chủ nhà lên danh sách mua hàng, điều chỉnh nhiệt độ phòng, bật tắt thiết bị gia dụng Nhưng đáng tiếc hệ thống chưa bán thị trường Hình 1.1 Hệ thống Echo-IV phát triển Jim Sutherland Năm 1969, bếp máy tính Honeywell đời Chức sản phẩm tạo cơng thức ăn, bếp không đạt thành công thương mại giá thành đắt đỏ Bước ngoặt lớn xảy vào năm 1971 vi xử lý đời, khiến cho giá thiết bị điện tử giảm mạnh Điều đồng nghĩa với việc người có khả tiếp cận với cơng nghệ dễ dàng Nhờ có bước phát triển thần kì ấy, khái niệm "nhà thơng minh" lần đưa vào năm 1984 Hội Liên Hiệp Xây dựng Hoa Kỳ Hình 1.2 Mô tả hệ thống mạng lưới sử dụng mạng không dây Trong suốt thập niên 90, công nghệ dành cho người cao tuổi chủ đề tập trung nghiên cứu, người ta cố gắng kết hợp kỹ thuật đại khoa học tuổi già để tạo công nghệ phục vụ cho người cao tuổi Chính tập trung nghiên cứu đóng góp vào việc phát triển tiện nghi gia đình, thiết bị gia dụng, điện tử điện lạnh Trong khoảng thời gian này, nhu cầu kết nối thiết bị gia dụng bắt đầu xuất Năm 1993, mạng lưới kết nối thiết bị nhà không dây xây dựng Fujieda, mang đến bước phát triển lớn cho hệ thống không dây ngày Đến cuối thể kỷ 20, thuật ngữ Domotics sáng tạo sử dụng để miêu tả việc sản phẩm đồ gia dụng kết hợp với máy tính robot, tạo thành hệ thống phối hợp để quản lý cơng việc gia đình Năm 1998, Ngôi nhà Thiên niên kỷ (Integer millennium house) mở cửa trưng bày Căn nhà mẫu minh họa cho việc nhà tích hợp cơng nghệ nào, với #define buzzer // coi canh bao void setup() { delay(1000); finger.begin(57600); Serial.begin(9600); myServo.attach(servoPin); myServo.write(0); pinMode(opendoor, OUTPUT); pinMode(error, OUTPUT); pinMode(buzzer,OUTPUT); pinMode(start, INPUT_PULLUP); pinMode(exit_door, INPUT_PULLUP); lcd.begin(16,2); lcd.print("he thong bao mat"); lcd.setCursor(0,1); lcd.print("cam bien van tay"); delay(1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("dang tim Module"); delay(1000); while(1) { if(finger.verifyPassword()) { lcd.clear(); lcd.print("tim Module"); lcd.clear(); break; 82 } else { lcd.clear(); lcd.print("khong tim thay module"); lcd.setCursor(0,1); lcd.print("kiem tra ket noi"); } delay(200); } } void loop() { lcd.setCursor(0,0); lcd.print("nhan Start"); lcd.setCursor(0,1); lcd.print("de bat dau"); digitalWrite(buzzer,LOW); char c = Serial.read(); if(c == 's'||digitalRead(start)==0) { for(int i=0;i= 3) { lcd.clear(); lcd.print("Warning:"); lcd.setCursor(0,1); lcd.print("loi lan"); digitalWrite(buzzer,HIGH); delay(2000); digitalWrite(buzzer,LOW); } fail = 0; } else if(c == 'e') { while(Serial.available()==0); id = Serial.parseInt(); getFingerprintEnroll(id); lcd.clear(); 85 lcd.setCursor(0,0); lcd.print("nhan Start"); lcd.setCursor(0,1); lcd.print("de bat dau"); } else if(c == 'x') { while(Serial.available()==0); id = Serial.parseInt(); deleteFingerprint(id); lcd.clear(); lcd.setCursor(0,0); lcd.print("nhan Start"); lcd.setCursor(0,1); lcd.print("de bat dau"); } else if(digitalRead(exit_door)==0) { Door(); } else if ( c == 'd') { finger.emptyDatabase(); lcd.clear(); lcd.setCursor(0,0); lcd.print("Delete all FP"); } delay(1000); } void Door() 86 { digitalWrite(opendoor,HIGH); myServo.write(90); lcd.clear(); lcd.setCursor(0,0); lcd.print("cua mo"); delay(5000); digitalWrite(opendoor,LOW); myServo.write(0); lcd.clear(); lcd.setCursor(0,0); lcd.print("nhan Start"); lcd.setCursor(0,1); lcd.print("de bat dau"); } uint8_t getFingerprintEnroll(uint8_t id) { uint8_t p=-1; lcd.clear(); lcd.setCursor(0, 0); lcd.print("dat van tay"); delay(500); while(p!=FINGERPRINT_OK) { p = finger.getImage(); switch(p) { case FINGERPRINT_OK: //Serial.println("Image Taken"); break; 87 case FINGERPRINT_NOFINGER: Serial.println("No finger"); break; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); break; case FINGERPRINT_IMAGEFAIL: Serial.println("Imaging error"); break; default: Serial.println("Unknown error"); break; } } // OK success p = finger.image2Tz(1); switch(p) { case FINGERPRINT_OK: //Serial.println("Image converted"); break; case FINGERPRINT_IMAGEMESS: Serial.println("Image too messy"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_FEATUREFAIL: Serial.println("Could not find fingerprint features"); return p; 88 case FINGERPRINT_INVALIDIMAGE: Serial.println("Could not find fingerprint features"); return p; default: Serial.println("Unknown error"); return p; } lcd.clear(); lcd.setCursor(1, 0); lcd.print("xac nhan"); lcd.setCursor(4, 1); lcd.print("tu ma van tay"); //Serial.println("Remove finger"); delay(2000); p = 0; while(p!= FINGERPRINT_NOFINGER) { p = finger.getImage(); } p =-1; lcd.clear(); lcd.setCursor(3, 0); lcd.write("dat van tay"); lcd.setCursor(2, 1); lcd.write("thich hop"); while(p!=FINGERPRINT_OK) { p = finger.getImage(); switch(p) { 89 case FINGERPRINT_OK: //Serial.println("Image taken"); break; case FINGERPRINT_NOFINGER: //Serial.print("."); break; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); break; case FINGERPRINT_IMAGEFAIL: Serial.println("Imaging error"); break; default: Serial.println("Unknown error"); return; } } // OK success p = finger.image2Tz(2); switch(p) { case FINGERPRINT_OK: //Serial.println("Image taken"); break; case FINGERPRINT_IMAGEMESS: Serial.println("image too messy"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; 90 case FINGERPRINT_FEATUREFAIL: Serial.println("Could not find fingerprint features"); return p; case FINGERPRINT_INVALIDIMAGE: Serial.println("Could not find fingerprint features"); return p; default: Serial.println("Unknown error"); return p; } //OK converted //Serial.print("Creating model for #: "); //Serial.println(id); p = finger.createModel(); if(p == FINGERPRINT_OK) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("PRINTS MATCHED!"); delay(1000); } else if (p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println("Commuication error"); return p; } else if( p == FINGERPRINT_ENROLLMISMATCH) { lcd.clear(); lcd.setCursor(0, 0); 91 lcd.write("DIDN'T MATCHED"); delay(1000); return p; } else { Serial.println("Unknown error"); return p; } p = finger.storeModel(id); if( p == FINGERPRINT_OK) { lcd.setCursor(2, 1); lcd.write("DATA STORED!"); delay(1000); } else if(p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println("Communication error"); return p; } else if ( p == FINGERPRINT_BADLOCATION) { Serial.println("Could not store in that location"); return p; } else if(p == FINGERPRINT_FLASHERR) { Serial.println("Error writing to flash"); return p; 92 } else { Serial.println("Unknown error"); return p; } } int getFingerprintIDez() { uint8_t p = finger.getImage(); if( p!=FINGERPRINT_OK) return -1; p = finger.image2Tz(); if(p!=FINGERPRINT_OK) return -1; p =finger.fingerFastSearch(); if(p!=FINGERPRINT_OK) { return -1; } return finger.fingerID; } uint8_t deleteFingerprint(uint8_t id) { uint8_t p = -1; p = finger.deleteModel(id); if(p==FINGERPRINT_OK) { lcd.clear(); lcd.setCursor(0, 0); 93 lcd.write("ID : "); lcd.print(id, DEC); lcd.setCursor(0, 1); lcd.write("FP DELETED"); delay(1000); } else { lcd.clear(); lcd.setCursor(0, 0); lcd.write("Error"); delay(1000); return p; } } 94 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Thái Nguyên, ngày tháng năm 2020 GIÁO VIÊN 95 ... đảm bảo giám sát vào mức độ cao cho khu vực cần có kiểm sốt vào chặt chẽ 1.4 Hệ thống cửa sử dụng cảm biến vân tay Hệ thống cửa sử dụng cảm biến vân tay khơng xa lạ xã hội ngày Sử dụng hệ thống. .. liệu 51 CHƯƠNG THIẾT KẾ HỆ THỐNG GIÁM SÁT CỬA DÙNG CẢM BIẾN VÂN TAY 55 3.1 Nhiệm vụ hệ thống cửa thông minh 55 3.1.1 Nhiệm vụ hệ thống cửa thông minh 55 3.1.2... dạng vân tay 13 1.2.1 Công sinh trắc vân tay vấn đề bảo mật .13 1.2.2 Hệ thống nhận dạng vân tay 14 1.3 Hệ thống khóa cửa thông minh .16 1.4 Hệ thống cửa sử dụng cảm

Ngày đăng: 30/05/2020, 08:00

Mục lục

  • DANH MỤC HÌNH ẢNH

  • CHƯƠNG 1 HỆ THỐNG CỬA THÔNG MINH

  • 1.1. Lịch sử phát triển của nhà thông minh

  • 1.2. Nhận dạng vân tay

    • 1.2.1. Công sinh trắc vân tay và vấn đề bảo mật

    • 1.2.2. Hệ thống nhận dạng vân tay

    • 1.3. Hệ thống khóa cửa thông minh

    • 1.4. Hệ thống cửa sử dụng cảm biến vân tay

    • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

    • 2.1. Arduino UNO R3

      • 2.1.1. Sơ lược về Arduino

      • 2.2. Cảm biến vân tay

        • 2.2.1 . Cảm biến vân tay AS608 (AS608 fingerprint sensor)

        • 2.2.3. Giao tiếp thông qua UART

        • 2.2.4. Tài nguyên hệ thống

        • 2.2.5. Kiểm tra và xác nhận gói dữ liệu

        • 2.3.2. Động cơ servo SG90

        • 2.4.2. Các bước xây dựng cơ sở dữ liệu

        • 2.5. Giới thiệu về C#

          • 2.5.1. Lịch sử phát triển

          • 2.5.3. Liên kết cơ sở dữ liệu

          • CHƯƠNG 3 THIẾT KẾ HỆ THỐNG GIÁM SÁT CỬA DÙNG CẢM BIẾN VÂN TAY

          • 3.1. Nhiệm vụ của hệ thống cửa thông minh

            • 3.1.1. Nhiệm vụ của hệ thống cửa thông minh

            • 3.1.2. Giải pháp kỹ thuật

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

Tài liệu liên quan