ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU, THIẾT KẾ THIẾT BỊ CHỐNG TRỘM XE MÁY CÓ GẮN GPS Ngành Kỹ thuật Điện tử Viễn thông Mã số 7 52 02 07 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU, THIẾT KẾ THIẾT BỊ CHỐNG TRỘM XE MÁY CÓ GẮN GPS Ngành Kỹ thuật Điện tử Viễn thông
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU, THIẾT KẾ THIẾT BỊ CHỐNG TRỘM XE MÁY CÓ GẮN GPS Ngành: Kỹ thuật Điện tử Viễn thông Mã số: 7.52.02.07 Sinh viên thực hiện: Nguyễn Minh Hoạt Lớp: DT1B Hà Nội, 2022 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU, THIẾT KẾ THIẾT BỊ CHỐNG TRỘM XE MÁY CÓ GẮN GPS Ngành: Kỹ thuật Điện tử Viễn thông Mã số: 7.52.02.07 Sinh viên thực hiện: Nguyễn Minh Hoạt Lớp: DT1B Người hướng dẫn 1: Th.S Lại Hồng Nhung Khoa Điện tử viễn thông – Học viện Kỹ thuật mật mã Hà Nội, 2022 MỤC LỤC DANH MỤC KÍ HIỆU VÀ VIẾT TẮT GPS Global Positioning System GSM Hệ thống toàn cầu dành cho việc liên lạc di động ĐTDĐ Điện thoại di động SMS Dịch vụ tin nhắn ngắn SIM Module nhận dạng chủ thuê bao RF Sóng siêu âm vô tuyến điện V Hiệu điện đoạn mạch MS Trạm di động BTS Trạm thu phát gốc BSC Trạm điều khiển gốc AuC Trung tâm xác thực MSC Trung tâm chuyển mạch dịch vụ di động HLR Bộ ghi địa thường trú VLR Bộ ghi địa tạm trú EIR Bộ ghi nhận dạng thiết bị UE Thiết bị người dùng UHF Tần số siêu cao DANH MỤC HÌNH VẼ DANH MỤC BẢNG LỜI CẢM ƠN Trong trình thực đồ án tốt nghiệp này, em nhận giúp đỡ tận tình cán hướng dẫn Th.S Lại Hồng Nhung – Giảng viên Điện tử viễn thông Học viện Kỹ thuật mật mã, thầy cô giáo Khoa Điện tử viễn thông, thầy cô Học viện Kỹ thuật mật mã, quan tâm sâu sắc cán Hệ quản lý học viên, sinh viên, động viên người thân bạn bè Xin cảm ơn tất Thầy, Cô giáo, cán quản lý giáo dục tạo điều kiện tốt để em hoàn thành đồ án tốt nghiệp này! SINH VIÊN THỰC HIỆN ĐỒ ÁN Hoạt Nguyễn Minh Hoạt LỜI NÓI ĐẦU Với phát triển mạnh mẽ khoa học công nghệ ngày với cơng cơng nghiệp hóa – đại hóa đất nước thúc đẩy công nghiệp sản xuất nước nhà phát triển Các phương tiện giao thông xe máy, ô tô chế tạo ngày tinh tế mang tính đại mà cịn thơng minh tăng tính tự động hóa nhằm nâng cao chất lượng sống Xe máy tài sản có giá trị mà nhiều người sở hữu, phương tiện lại cá nhân yêu thích Việt Nam tiện dụng Theo thống kê, số lượng xe máy đăng kí nước ta đạt 62 triệu xe Tuy nhiên, vấn nạn trộm cắp ngày gia tăng theo quy mơ ngày lớn có tổ chức, việc bảo vệ xe yêu cầu cần thiết Đồ án giúp đẩy lùi phần vấn nạn trên, đồng thời sử dụng công nghệ tiện dụng Ngày nay, công nghệ kỹ thuật phát triển mạnh mẽ, phương pháp lập trình đa dạng lập trình nhúng hướng xu Trong lập trình nhúng ngơn ngữ lập trình với Arduino phương pháp sử dụng nhiều Arduino bo mạch xử lý hay gọi vi điều khiển dùng để lập trình tương tác với thiết bị phần cứng cảm biến, động cơ, hình, bluetooth, GPS Vì điểm mạnh ưu việt nên em định chọn Arduino làm xử lý trung tâm cho việc “Nghiên cứu, thiết kế thiết bị chống trộm xe máy có gắn GPS” Mục tiêu đặt thực đồ án là: Nghiên cứu tổng quan, nắm vững kiến thức giao tiếp Arduino module SIM mạng GSM, module định vị GPS, module sóng RF, cảm biến rung kèm thiết bị ngoại vi Nắm vững kiến trúc lập trình vi điều khiển Arduino, đồng thời biết phát triển ứng dụng thực tiễn vi điều khiển Sau thời gian khoảng ba tháng thực đồ án, mục tiêu đạt Tuy nhiên thời gian thực đồ án tương đối ngắn nên chắn khơng tránh khỏi thiếu sót Rất mong góp ý thầy cô, bạn học viên để đồ án hoàn thiện SINH VIÊN THỰC HIỆN ĐỒ ÁN Nguyễn Minh Hoạt CHƯƠNG CƠ SỞ LÝ THUYẾT VỀ THIẾT BỊ CHỐNG TRỘM XE MÁY CÓ GẮN GPS 1.1 Tổng quan GPS 1.1.1 Lịch sử hình thành phát triển hệ thống GPS a) Lịch sử hình thành Từ ngày đầu phát triển, sống nhiều hoang sơ, người biết sử dụng thiên văn, la bàn đồ để xác định vị trí tìm đường chuyến thám hiểm khai phá miền đất lạ Tuy nhiên phải đến năm 1995, hệ thống vệ tinh định vị toàn cầu GPS Mỹ GLONASS Nga thức vào hoạt động, nhu cầu định vị dẫn đường giải cách Hình 1.1 Vệ tinh GPS Ngồi mục tiêu quân ý tưởng thiết kế ban đầu, hệ thống vệ tinh định vị ứng dụng rộng rãi hiệu nhiều lĩnh vực dân Ngày nay, cơng nghệ định vị tồn cầu trở thành ngành cơng nghiệp có doanh số hàng chục tỷ USD/năm phát triển mạnh mẽ b) Quá trình phát triển hệ thống GPS Hệ thống định vị GPS vệ tinh Sputnik Liên Xơ Những dường thất bại lớn thời kỳ Chiến tranh Lạnh, hóa lại chất xúc tác cho công nghệ quan trọng kỷ 20, kỷ 21 Đó ngày tháng 10 năm 1957 Các nhà khoa học MIT nhận thấy tần số tín hiệu vơ tuyến truyền qua vệ tinh nhỏ Nga tăng lên đến gần giảm rời Điều hiệu ứng Doppler gây ra, điều tương tự làm cho âm sắc còi xe thay đổi xe chạy nhanh Điều cho nhà khoa học ý tưởng tuyệt vời Các vệ tinh theo dõi từ mặt đất cách đo tần số tín hiệu vơ tuyến mà chúng phát ra, ngược lại Vị trí máy thu mặt đất theo dõi khoảng cách từ vệ tinh Nói tóm lại, tảng khái niệm GPS đại Bộ nhận GPS điện thoại, ô tô bạn biết vị trí, tốc độ độ cao cách đo thời gian cần để nhận tín hiệu radio từ bốn nhiều vệ tinh GPS chặng đường dài kể từ Sputnik Dưới cột mốc quan trọng: Năm 1959 Nội dung Hải quân xây dựng hệ thống định vị vệ tinh thực đầu tiên, gọi TRANSIT Hệ thống thiết kế để xác định vị trí tàu ngầm, bắt đầu với sáu vệ tinh cuối tăng lên mười Các thiết bị thường phải chờ hàng để nhận tín hiệu từ vệ tinh 1963 Tập đoàn Aerospace hoàn thành nghiên cứu cho quân đội Hoa Kỳ đề xuất hệ thống vệ tinh gửi tín hiệu liên tục tới người nhận mặt đất xác định vị trí phương tiện di chuyển nhanh chóng bề mặt trái đất không Nghiên cứu đưa khái niệm GPS mà biết ngày lần đầu tiên: người nhận xe mặt đất lấy tập hợp tọa độ vị trí xác cách đo thời gian truyền tín hiệu radio từ vệ tinh 1974 Các chi nhánh quân đội Hoa Kỳ, sau làm việc hệ thống GPS 11 năm qua, khởi động vệ tinh hệ thống GPS 24 vệ tinh gọi NAVSTAR 10 Hình 3.35 Vùng lập trình • Thanh Menu: gồm thẻ chức nằm File, Edit, Sketch, Tools, Help thơng dụng có hầu hết chương trình nhập code khác Hình 3.36 Thanh menu Arduino IDE hoạt động hệ điều hành phổ biến Windows, Mac OS Linux giúp người dùng truy cập vào phần mềm đâu, miễn họ có máy tính Ngồi ra, người dùng truy cập vào 58 cơng cụ từ đám mây Điều cho phép nhà lập trình lựa chọn tạo lưu dự án đám mây xây dựng chương trình máy tính upload lên bo mạch Arduino 3.3 Mơ hình đánh giá 3.3.1 Mơ hình Quy trình thi cơng, lắp ráp phần cứng Bước 1: Sau xuất file từ phần mềm Altium Designer, ta tiến hành làm mạch in thủ công Ta làm phương pháp ủi mạch cho ăn mòn bột sắt FeCl3 Sau mạch in, ta tiếp tục khoan lỗ chân linh kiện Hình 3.37 Ví dụ mạch in làm thủ công Bước 2: Hàn module vào mạch Các module cần hàn liệt kê bảng bên Lần lượt hàn module vào mạch in theo quy tắc “Thấp hàn trước, cao hàn sau” Ta hàn jump cắm, điện trở, transistor, đèn led, Sau hàn module hạ áp LM2596 trước 59 Hình 3.38 Hàn mạch Bước 3: Lắp ráp mạch nguồn Mạch nguồn mạch gồm có Jack DC Ắc quy trực tiếp từ xe máy điện áp 12V Sau cấp nguồn vào mạch hạ áp LM2596 ta dùng VOM đo xem nguồn mạch nguồn có phải 5V nguồn Kit có phải 5V hay không Nếu trường hợp điện áp đầu không 5V, ta điều chỉnh cách vặn biến trở module LM2596 theo dõi đồng hồ 5V Lưu ý: tuyệt đối không hàn module khác trước điện áp >5V gây cháy hỏng thiết bị Hình 3.39 Điều chỉnh điện áp Sau hàn xong, tiếp tục dùng VOM kiểm tra chân linh kiện có bị dính hay khơng trước cấp nguồn Sau cấp nguồn vào khối, tiếp tục dùng 60 VOM để đo đạc điện áp u cầu có đạt hay khơng Nếu khơng đạt tiến hành kiểm tra lỗi cịn đạt tiếp tục tiến hành lắp khối Bước 3: Hàn khối lại lên bo mạch chắn bước khơng cịn lỗi xảy Việc hàn cần kết hợp song song với việc kiểm tra lỗi để mạch mô hình sau hồn thành thiết bị hồn chỉnh Hình 3.40 Hình ảnh sản phẩm hồn thiện 3.3.2 Đánh giá Dựa vào mục tiêu mà em đặt ban đầu nghiên cứu tổng quan, nắm vững kiến thức giao tiếp Arduino module SIM mạng GSM, module định vị GPS, module sóng RF, cảm biến rung kèm thiết bị ngoại vi kiến thức, lập trình vi điều khiển Arduino, đồng thời biết phát triển ứng dụng thực tiễn vi điều khiển Cuối cùng, em thiết kế thi công thành công sản phẩm “ Thiết bị chống trộm xe máy có gắn GPS” Để xây dựng hệ thống mơ hình em sử dụng linh kiện Module hạ áp 12V-5VDC LM2596, Module GPS NEO-7M, Module SIM 800L, Vi xử lý Arduino Nano, Cảm biến Rung SW1801, Module thu sóng RF, Relay điều khiển đèn còi Để giải việc xây dựng module em tiến hành thực bước: - Bước 1: Đầu tiên, em tiến hành giao tiếp cảm biến với vi điều khiển theo chuẩn giao tiếp cảm biến 61 - Bước 2: Sau nhận liệu đo từ cảm biến trả thực bước giao tiếp khối điều khiển với module GPS NEO-7M để tạo mạng liệu gửi thông tin, vị trí định vị xe gửi qua tin nhắn module Sim 800L tới chủ nhân xe máy 62 KẾT LUẬN *Những điểm đạt đề tài: Hoạt động thực tế thiết bị thi cơng cảm biến rung phát xe di chuyển, báo động đèn còi 3s(chế độ cảnh báo), cảm biến phát tín hiệu đến lần thứ 3, có nghĩa xe bị tác động mạnh khả bị trộm Lúc xử lí điều khiển bật cịi báo đèn, sang trạng thái chống trộm Đồng thời gửi vị trí qua tin nhắn đến số điện thoại chủ xe, theo dõi vị trí Google Map, có chủ xe điều khiển để tắt chế độ tay cầm RF thơng qua tin nhắn SMS Ngồi cịn tích hợp thêm chế độ tìm vị trí xe bãi, cách nháy đèn còi báo Đề tài em sau làm xong tiến gần với nhu cầu chống trộm thiết yếu sống, thiết kế rẻ hơn, nhiều chức dễ dùng so với mạch bán thị trường nay, mục tiêu em cố gắng biến sản phẩm có tính ứng dụng cao vào thực tế giảm thiểu lỗi để sản xuất công nghiệp * Những điểm hạn chế: - Mơ hình sản phẩm chưa thiết kế tối ưu, gọn gàng - Sử dụng tin nhắn nên giá thành cao tốn tiền - Vẫn hạn chế sản phẩm cắm trực tiếp vào acqui xe máy làm cho xe tốn nhiều lượng - Module GPS gửi vị trí tương đối xác nhiên cịn nhiều sai số *Hướng phát triển: Từ thiết bị định vị chống trộm cho phương tiện giao thông ta phát triển lên cho phép điều khiển thiết bị chống trộm giám sát thông qua app điện thoại, thay tin nhắn giờ, gửi giá trị liệu lên server, sử dụng 3G/4G để tiết kiệm chi phí tin nhắn, giá thành cước phí gọi thoại Tối ưu thiết kế cho nhỏ gọn hơn, giảm thiểu sai số hệ thống 63 TÀI LIỆU THAM KHẢO [1] Global Positioning System, https://vi.wikipedia.org/wiki/GPS [2] Arduino UNO Pinout, Specifications, Board Layout, Pin Description [3] Tổng quan hệ thống GPS - hệ thống định vị toàn cầu bạn cần biết - Ứng Dụng Mới, https://ungdungmoi.edu.vn/gioi-thieu-he-thonggps.html [4] Điều khiển thiết bị module sim - PDFCOFFEE.COM, https://pdfcoffee.com/dieu-khien-thiet-bi-bang-module-sim-pdf-free.html [5] Giao tiếp UART gì? Ứng dụng UART | CMCdistribution, https://cmcdistribution.com.vn/kien-thuc-cnc/giao-tiep-uart-la-gi-ung-dung-cuauart-trong-cuoc-song/ 64 PHỤ LỤC Đoạn mã hệ thống phần mêm Arduino IDE #include #include const String PHONE = "+84868242509"; SoftwareSerial SIM800L(2,3); TinyGPS gps; SoftwareSerial ss(4, 5); String inputString; String smsStatus,senderNumber,receivedDate,msg; boolean isReply = false; #define #define #define #define #define RF_Pin1 A0 // Nhận tín hiệu sóng RF RF_Pin2 A1 RF_Pin3 A2 RF_Pin4 A3 RUNG_SENSOR A4 #define COI 12 #define DEN 13 unsigned int KIEMTRA=0; unsigned int MODE=0; void GuiViTri(); void BaoTrom(); void setup() { Serial.begin(9600); // khởi tạo giao tiếp UART ss.begin(9600); SIM800L.begin(9600); pinMode(RF_Pin1, INPUT_PULLUP); pinMode(RF_Pin2, INPUT_PULLUP); pinMode(RF_Pin3, INPUT_PULLUP); pinMode(RF_Pin4, INPUT_PULLUP); pinMode(RUNG_SENSOR, INPUT_PULLUP); pinMode(COI, OUTPUT); pinMode(DEN, OUTPUT); digitalWrite(COI,LOW); digitalWrite(DEN,LOW); Serial.print("Simple TinyGPS library v "); Serial.println(TinyGPS::library_version()); Serial.println(); } 65 //************************************************************ void ViTri() { bool newData = false; unsigned long chars; unsigned short sentences, failed; // For one second we parse GPS data and report some key values for (unsigned long start = millis(); millis() - start < 1000;) { while (ss.available()) { char c = ss.read(); // Serial.write(c); // uncomment this line if you want to see the GPS data flowing if (gps.encode(c)) // Did a new valid sentence come in? newData = true; } } if (newData) { float flat, flon; unsigned long age; gps.f_get_position(&flat, &flon, &age); Serial.print("LAT="); Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6); Serial.print(" LON="); Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6); Serial.print(" SAT="); Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? : gps.satellites()); Serial.print(" PREC="); Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? : gps.hdop()); } gps.stats(&chars, &sentences, &failed); Serial.print(" CHARS="); Serial.print(chars); Serial.print(" SENTENCES="); Serial.print(sentences); Serial.print(" CSUM ERR="); Serial.println(failed); if (chars == 0) Serial.println("** No characters received from GPS: check wiring **"); } void SIM800L_Event() { // Sự kiện nhận chuỗi từ sim gửi để kiểm tra tin nhắn while(SIM800L.available()){ 66 parseData(SIM800L.readString()); } while(Serial.available()) { SIM800L.println(Serial.readString()); } } //************************************************************ void parseData(String buff){ // Hàm xử lí tin nhắn, tách chuỗi thực lệnh Serial.println("BUFF"); unsigned int len, index; index = buff.indexOf("\r"); buff.remove(0, index+2); buff.trim(); if(buff != "OK"){ index = buff.indexOf(":"); String cmd = buff.substring(0, index); cmd.trim(); buff.remove(0, index+2); if(cmd == "+CMTI"){ index = buff.indexOf(","); String temp = buff.substring(index+1, buff.length()); temp = "AT+CMGR=" + temp + "\r"; //get the message stored at memory location "temp" SIM800L.println(temp); } else if(cmd == "+CMGR"){ extractSms(buff); Serial.print("PHONE: "); Serial.println(senderNumber); if(senderNumber == PHONE){ // so sánh số điện thoại có chủ nhà hay khơng if (msg == "vi tri cua toi"){ // Serial.println("Đang nhận lệnh vị trí"); // ViTri(); // Serial.println("Gửi vị trí số điện thoại!"); // SendSMS("Vị trí bạn là:"); GuiViTri(); } } } } else{ Serial.println("OK"); } } //************************************************************ void extractSms(String buff){ // giải mã tin nhắn SMS unsigned int index; Serial.println("Bắt đầu giải nén:"); 67 index = buff.indexOf(","); smsStatus = buff.substring(1, index-1); buff.remove(0, index+2); senderNumber = buff.substring(0, 12); buff.remove(0,19); receivedDate = buff.substring(0, 20); buff.remove(0,buff.indexOf("\r")); buff.trim(); index =buff.indexOf("\n\r"); buff = buff.substring(0, index); buff.trim(); msg = buff; Serial.println(msg); buff = ""; msg.toLowerCase(); Serial.println("Giải nén xong:"); } void SendSMS(String text) // Gửi nội dung số điện thoại { SIM800L.print("AT+CMGF=1\r"); delay(1000); SIM800L.print("AT+CMGS=\""+PHONE+"\"\r"); delay(1000); SIM800L.print(text); delay(100); SIM800L.write(0x1A); delay(1000); Serial.println("Gửi tin nhắn thành công!"); } void CONTROL_RF(){ // Điều khiển relay nút nhấn if (digitalRead(RF_Pin1) == HIGH){//tìm xe bãi delay(200); Serial.println("bật chớp xi nhan"); //bật chớp xi nhan digitalWrite(DEN,HIGH); delay(2000); digitalWrite(DEN,LOW); } else if (digitalRead(RF_Pin2) == HIGH){ // bật còi xe delay(200); Serial.println("bật còi xe"); //Bật còi digitalWrite(COI,HIGH); delay(1000); digitalWrite(COI,LOW); } else if (digitalRead(RF_Pin3) == HIGH){ // bật chế độ chống trộm delay(200); Serial.println("bật chế độ chống trộm"); 68 MODE=1; //Bật chống trộm } else if (digitalRead(RF_Pin4) == HIGH){//tắt chế độ chống trộm delay(200); Serial.println("bật chế độ chống trộm"); MODE=0; //Tắt chống trộm } else if(MODE==1){ //khởi động chế độ chống trộm if(RUNG_SENSOR == HIGH){ delay(200); digitalWrite(DEN,HIGH); digitalWrite(COI,HIGH); delay(3000); digitalWrite(DEN,LOW); digitalWrite(COI,LOW); KIEMTRA++; } } else if(MODE==1 && KIEMTRA ==3){ BaoTrom(); KIEMTRA=0; } else if(MODE==0){ //tắt chế độ chống trộm digitalWrite(DEN,LOW); digitalWrite(COI,LOW); KIEMTRA=0; } } void BaoTrom(){ digitalWrite(DEN,HIGH); digitalWrite(COI,HIGH); SendSMS("Canh bao xe dang bi trom"); //GuiVitri(); } void GuiViTri(){ Serial.println("Đang nhận lệnh vị trí"); ViTri(); Serial.println("Gửi vị trí số điện thoại!"); SendSMS("Vị trí bạn là:"); } //************************************************************** ***************** void loop() // Chương trình - vịng lặp vơ hạn { SIM800L_Event(); CONTROL_RF(); } 69 70 ... thiết bị phần cứng cảm biến, động cơ, hình, bluetooth, GPS Vì điểm mạnh ưu việt nên em định chọn Arduino làm xử lý trung tâm cho việc “Nghiên cứu, thiết kế thiết bị chống trộm xe máy có gắn GPS? ??... dụ: làm cảm biến chống trộm hàng rào, cảm biến chống trộm sân vườn Cảm biến rung chống trộm 34 Hình 1.17 Cảm biến rung chống trộm Cảm biến rung chống trộm loại cảm biến báo trộm dùng để phát... PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU, THIẾT KẾ THIẾT BỊ CHỐNG TRỘM XE MÁY CÓ GẮN GPS Ngành: Kỹ thuật Điện tử Viễn thông Mã số: 7.52.02.07 Sinh viên thực hiện: