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

(Đồ án hcmute) thiết bị chống trộm và định vị gps cho xe máy

119 62 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 119
Dung lượng 6,29 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG THIẾT BỊ CHỐNG TRỘM VÀ ĐỊNH VỊ GPS TRÊN XE MÁY GVHD: ThS NGUYỄN VĂN HIỆP SVTH: ĐẶNG VĂN TUÂN MSSV: 12141406 SKL 0 5 Tp Hồ Chí Minh, tháng năm 2017 an 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 KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THIẾT BỊ CHỐNG TRỘM VÀ ĐỊNH VỊ GPS TRÊN XE MÁY SVTH: ĐẶNG VĂN TUÂN MSSV: 12141406 Khoá: 2012 Ngành: CN- KT ĐIỆN TỬ TRUYỀN THÔNG GVHD: ThS NGUYỄN VĂN HIỆP Tp Hồ Chí Minh, tháng năm 2017 an CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** -Tp Hồ Chí Minh, ngày 16 tháng 03 năm 2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Đặng Văn Tuân MSSV:12141406 Giảng viên hướng dẫn: Th.S Nguyễn Văn Hiệp Ngày nhận đề tài:14/09/2016 Ngày nộp đề tài:13/2/2017 Tên đề tài : Thiết bị chống trộm định vị GPS xe máy Các số liệu ban đầu: - Board Ârduino Mega2560 - Module Bluetooth HC05 - Module Sim900 shield - Module GPS - Các thiết bị điện tử: rơ le, chuống báo trộm… Nội dung thực đề tài: - Tìm hiểu Board Arduino mega2560 - Làm mơ hình thực tế đóng gói thành hộp - Thiết kế ứng dụng điều khiển sử dụng thiết bị Android - Nhận xét, kết ḷn Sản phẩm: Mơ hình Thiết bị chống trộm định vị GPS xe máy TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN an CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên: Đặng Văn Tuân MSSV: 12141406 Ngành:Công nghệ kỹ thuật điện tử - truyền thông Tên đề tài: Thiết bị chống trộm định vị GPS xe máy Họ tên Giáo viên hướng dẫn: Th.S Nguyễn Văn Hiệp NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày13 tháng 02năm 2017 Giáo viên hướng dẫn an CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: Đăng Văn Tuân MSSV: 12141406 Ngành: Công nghệ kỹ thuật điện tử - truyền thông Tên đề tài: Thiết bị chống trộm định vị GPS xe máy Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày13 tháng 02năm 2017 Giáo viên phản biện an LỜI CẢM ƠN Trong thời gian làm đề tài đồ án tốt nghiệp, nhóm em nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Nhóm em xin chân thành gửi lời cảm ơn đến: Ban giám hiệu trường Đại học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh tạo môi trường làm việc,học tập nghiên cứu nhưmọi điều kiện tốt cho nhóm em hồn thành đề tài đồ án tốt nghiệp Khoa Điện-Điện tử, Khoa đào tạo Chất Lượng Cao cung cấp cho nhóm em giáo trình, tài liệu tham khảo, sở vật chất thiết bị hỗ trợ liên quan Thầy hướng dẫn Th.S Nguyễn Văn Hiệp thầy cô môn tận tình hướng dẫn, giúp đỡ nhóm em suốt trình qua Mặc dù cố gắng q trình tìm hiểu kiến thức cịn hạn chế nên khơng tránh khỏi thiếu sót Em mong nhận góp ý, nhận xét thầy bạn để đồ án hồn thiện phát triển Một lần nhómem xin chân thành cảm ơn! Tp Hồ Chí Minh, ngày 13 tháng 02 năm 2017 Sinh viên thực Đặng Văn Tuân an MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN LỜI CẢM ƠN Chương I DẪN NHẬP 1.1 Giới thiệu đề tài 1.2 Tình hình nghiên cứu 10 1.3 Ý nghĩa khoa học đề tài 11 1.4 Mục đích nghiên cứu 12 1.5 Mục tiêu đề tài 12 1.6 Giới hạn đề tài 12 1.7 Phương án thiết kế 13 1.8 Đề cương nghiên cứu chi tiết 13 1.9 Phương tiện nghiên cứu 13 1.10 Phương pháp nghiên cứu 14 Chương II CƠ SỞ LÝ THUYẾT CHUNG 15 2.1 Nguyên lý khởi động hệ thống xe máy 15 2.2 Tổng quan công nghệ Bluetooth 15 2.2.2 Hoạt động 16 2.3 Module Bluetooth HC05 17 2.4 Tổng quan công nghệ GSM 18 2.4.1 Giới thiệu công nghệ GSM 18 2.4.2 Sự phát triển công nghệ GSM Việt Nam 19 an 2.4.3 Giới thiệu SMS 20 2.4.2.1 Cấu trúc tin nhắn SMS 20 2.4.2.2 Ưu điểm SMS 21 2.4.2.3 Tin nhắn SMS chuỗi/tin nhắn SMS dài 21 2.5 Module Sim 900 21 2.5.1 Giới thiệu Module Sim900 21 2.5.2 Đặc điểm module SIM 900 23 2.5.4 Khảo sát tập lệnh AT Command Module SIM 900 27 2.5.4.1 Khởi tạo cấu hình mặc định cho modem 28 2.5.4.2 Delete tin nhắn SIM 29 2.5.4.3 Đọc tin nhắn 30 2.5.4.4 Gửi tin nhắn 31 2.6 Tổng quan công nghệ GPS 32 2.7 Module định vị toàn cầu Ublox GPS Neo-6M 35 2.8 Giới thiệu board Arduino Mega 2560 36 2.9 Ngôn ngữ phần mềm lập trình cho Arduino 41 2.10 Tổng quan hệ điều hành Android 42 2.11 Giới thiệu phần mềm lập trình Android Studio 45 2.12 Role chân 51 2.12.1 Nguyên tắc hoạt động 51 2.12.3 Cách chọn rơ le phù hợp 52 2.12.5 Diod bảo vệ rơ le Error! Bookmark not defined Chương III THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM HỆ THỐNG 54 3.1 Sơ đồ tổng quan mơ hình điều khiển 54 an 3.2 Thiết kế phần cứng 55 3.2.1 Khối vi xử lý 55 3.2.2 Khối Bluetooth 56 3.2.3 Khối Rơ le 57 3.2.4 Khối SMS 58 3.2.5 Khối GPS 58 3.2.6 Khối nguồn 59 3.3 Sơ đồ kết nối phần cứng 60 3.4 Thiết kế phần mềm ứng dụng thiết bị đầu cuối 64 Chương IV THI CÔNG PHẦN CƯNG VÀ PHẦN MỀM HỆ THỐNG 66 4.1 Thi công kết nối phần cứng hệ thống 66 4.2 Thiết kế phần mềm hệ thống 67 4.2.1 Thiết kế phần mềm chương trình board điều khiển 67 4.2.1.1 Lưu đồ chương trình xử lý tin nhắn 69 4.2.1.2 Lưu đồ chương trình xử lý tín hiệu từ Bluetooth 71 4.3 Thi công phần mềm ứng dụng điều khiển 71 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 81 5.1 Kết thực 81 5.2 Ưu điểm hạn chế hệ thống 85 5.4 Khả ứng dụng thực tế đề tài 86 5.5 Hướng phát triển đề tài 87 PHỤ LỤC 87 Chương trình điều khiển cho Arduino: 87 TÀI LIỆU THAM KHẢO 115 an an Đồ Án Tốt Nghiệp /// thi hanh cac lenh day // Yêu cầu chạy Example1Activity startActivity(myIntent); } }); //tao trinh lang nghe cho nut Bluetooth Bluetooth.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { find(); } }); //tao trinh nlang nghe cho listView list_device.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { BtAdress = Adress.get(position); Toast.makeText(MainActivity.this, "đang kết nối đợi chút ", Toast.LENGTH_LONG).show(); Connect(); } }); //tao trinh lang nghe cua boutton dong mo img_light.setOnClickListener(new View.OnClickListener() { 103 an Đồ Án Tốt Nghiệp @Override public void onClick(View v) { if(chophepgui){ if (light_stutus) { WriteData("0");} else WriteData("1"); try { beginListenForData(); } catch (IOException e) { } } } }); } // ham tao ket noi Bluetooth public void on() { if (!mybBluetoothAdapter.isEnabled()) { Intent turnOnIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(turnOnIntent, 1); Toast.makeText(getApplicationContext(), "Hãy bật Bluetooth", Toast.LENGTH_LONG).show(); 104 an Đồ Án Tốt Nghiệp } else { Toast.makeText(getApplicationContext(), "Bluetooth bật", Toast.LENGTH_SHORT).show(); } } final BroadcastReceiver bReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); if (ACTION_FOUND.equals(action)) { BTArrayAdapter.add(device.getName()); BTArrayAdapter.notifyDataSetChanged(); Adress.add(device.getAddress()); } else if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) { Toast.makeText(MainActivity.this, "kết nối thành công", Toast.LENGTH_SHORT).show(); chophepgui = true; } } }; public void find() { if (mybBluetoothAdapter.isDiscovering()) { mybBluetoothAdapter.cancelDiscovery(); } else { 105 an Đồ Án Tốt Nghiệp BTArrayAdapter.clear(); mybBluetoothAdapter.startDiscovery(); registerReceiver(bReceiver, new IntentFilter(ACTION_FOUND)); } } protected void onDestroy() { super.onDestroy(); if (chophepgui) { unregisterReceiver(bReceiver); } mybBluetoothAdapter.disable(); } public void Connect() { Log.d(TAG, BtAdress); BluetoothDevice device = mybBluetoothAdapter.getRemoteDevice(BtAdress); Log.d(TAG, "connecting " + device); mybBluetoothAdapter.cancelDiscovery(); try { btSocket = device.createRfcommSocketToServiceRecord(MY_UUID); btSocket.connect(); Log.d(TAG, "connection made."); } catch (IOException e) { 106 an Đồ Án Tốt Nghiệp try { btSocket.close(); } catch (IOException e2) { Log.d(TAG, "Unable to end the connection"); } Log.d(TAG, "Socket creation failed"); } } private void WriteData(String data) { try { outStream = btSocket.getOutputStream(); } catch (IOException e) { Log.d(TAG, "Bug before sending stuff", e); } String message = data; byte[] msgBuffer = message.getBytes(); try { outStream.write(msgBuffer); } catch (IOException e) { Log.d(TAG, " bug while sending stuff", e); String msg = "có lỗi !kết nối lại nhek!^-^"; } } public void beginListenForData() throws IOException { 107 an Đồ Án Tốt Nghiệp try { inStream = btSocket.getInputStream(); } catch (IOException e) { Thread workerThread = new Thread(new Runnable() { public void run() { while (!Thread.currentThread().isInterrupted() && !stopWorker) { try { int bytesAvailable = inStream.available(); if (bytesAvailable > 0) { byte[] packetBytes = new byte[bytesAvailable]; read = inStream.read(packetBytes); for (int i = 0; i < bytesAvailable; i++) { byte b = packetBytes[i]; if (b == delimiter) { byte[] encodeBytes = new byte[readBufferPosition]; System.arraycopy(readBuffer, 0, encodeBytes, 0, encodeBytes.length); final String data = new String(encodeBytes, "US-ASCII"); readBufferPosition = 0; handler.post(new Runnable() { public void run() { if (data.substring(0, 2).equals("ON")) { img_light.setImageResource(R.drawable.mo); light_stutus = true; 108 an Đồ Án Tốt Nghiệp } if (data.substring(0, 3).equals("OFF")) { img_light.setImageResource(R.drawable.khoa); light_stutus = false; } } }); } else { readBuffer[readBufferPosition++] = b; } } } } catch (IOException e1) { stopWorker = true; } } } }); workerThread.start(); } ******************************************************************* Phần code chương trình activity 2: package com.example.juundang.blockbike; import android.content.BroadcastReceiver; 109 an Đồ Án Tốt Nghiệp import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.telephony.SmsManager; import android.telephony.SmsMessage; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.Toast; public class Main2Activity extends AppCompatActivity { //tao doituong Boradcast BroadcastReceiver receiver = null; //khai bao cac bien Button btn_gps; Button btn_on1; Button btn_off1; Button btn_trove1; RelativeLayout manhinh2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); manhinh2 = (RelativeLayout) findViewById(R.id.manhinh2) ; manhinh2.setBackgroundResource(R.drawable.hinh2); btn_gps =(Button)findViewById(R.id.btn_gps); 110 an Đồ Án Tốt Nghiệp btn_on1 = (Button) findViewById(R.id.btn_on); btn_off1 = (Button) findViewById(R.id.btn_off); btn_trove1 = (Button) findViewById(R.id.btn_trove); //trinh lang nghe cua btn_trove btn_trove1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent manhinh1 = new Intent(Main2Activity.this,MainActivity.class); startActivity(manhinh1); } }); // trinh lang nghe cua btn_gps btn_gps.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendSMS("01646514962", "GPS"); Toast.makeText(Main2Activity.this, "ĐÃ GỬI THÀNH CÔNG ", Toast.LENGTH_SHORT).show(); // Intent myIntent1 = new Intent(Main2Activity.this,Main3Activity.class); /// thi hanh cac lenh day // Yêu cầu chạy Example1Activity // startActivity(myIntent1); } }); //trinh lang nghe cua btn_on1 btn_on1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendSMS("01646514962", "ON"); 111 an Đồ Án Tốt Nghiệp Toast.makeText(Main2Activity.this, "ĐÃ GỬI THÀNH CÔNG ", Toast.LENGTH_SHORT).show(); } }); //TRINH LANG NGHE NUT OFF1 btn_off1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendSMS("01646514962", "OFF"); Toast.makeText(Main2Activity.this, "ĐÃ GỬI THÀNH CÔNG ", Toast.LENGTH_SHORT).show(); } }); //PHAN CODE ;PHAN HOI TN VA TRINH lANG NGHE TN DEN IntentFilter filter_sms = new IntentFilter("android.provider.Telephony.SMS_RECEIVED"); //ham tn dc gui den receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String sms_extra = "pdus"; Bundle bundle = intent.getExtras(); //dong goi bundle se tra ve nhung tap tin cac tn gui den cung luc Object[] smsArr = (Object[]) bundle.get(sms_extra); String body =""; String address =""; //dung vong lap de doc tung tin nhan for (int i = 0; i < smsArr.length; i++) { SmsMessage smsMsg =SmsMessage.createFromPdu((byte[]) smsArr[i]); // lay noi dug tin nhan body = smsMsg.getMessageBody().toString(); //lay dia chi (sdt) cua thiet bi goi tin nhan 112 an Đồ Án Tốt Nghiệp address = smsMsg.getDisplayOriginatingAddress(); if (address.equals("+841646514962")) { Intent broadcastIntent = new Intent(Main2Activity.this, Main3Activity.class); broadcastIntent.putExtra("sms", body); broadcastIntent.putExtra("lat", body.substring(0, + 9)); broadcastIntent.putExtra("log", body.substring(11, 11 + 9)); startActivity(broadcastIntent); //if (body.equals("MO KHOA")) { // Toast.makeText(context, "ĐÃ MỞ KHÓA XE", Toast.LENGTH_LONG).show(); // } // else if (body.equals("DONG KHOA")) { // Toast.makeText(context, "ĐÃ ĐÓNG KHÓA XE", Toast.LENGTH_LONG).show(); } } } // } }; //dang ki trinh lang nghe vaio he thong registerReceiver(receiver, filter_sms); } //ham xu ly goi tin nhan protected void sendSMS(String phoneNumber, String message) { SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, null, null); } // huy bo dang ky lang nghe nhan tinnhan ki tat ung ung 113 an Đồ Án Tốt Nghiệp protected void onDestroy() { super.onDestroy(); unregisterReceiver(receiver); } } 114 an Đồ Án Tốt Nghiệp TÀI LIỆU THAM KHẢO [1] Ths.Nguyễn Văn Hiệp giáo trình “Lập trình Android ứng dụng điều khiển” [3] Phan Hiếu Nhân, Đồ án tốt nghiệp: “Hệ thống điều khiển thiết bị qua tin nhắn SMS ”, ĐH Sư Phạm Kỹ Thuật Tp HCM, 2014 [4] Nguyễ n Trung Chính, Tập lệnh At Module Sim900 dùng cho SMS, 2009 [5] Nguyễ n Ngọc Khánh, Nguyễn Hiếu Nghĩa, Hệ thống thu thập xử lý liệu cho nhà thông minh [6] SIMCom, AT Commands Set, Hardward Design Module Sim300CZ Các trang web tham khảo : http://4tech.com.vn http://dtvt.org http://www.edaboard.com http://www.datasheet.com http://www.alldatasheet.com http://www.datasheetarchieve.com http://www.vozforum.com http://www.dientuvietnam.com 115 an Đồ Án Tốt Nghiệp 116 an S an K L 0 ... module GPS cho định vị tọa độ xe Qua xử lí, liệu gửi thiết bị đầu cuối (mobile) người điều khiển để báo cho biết trạng thái đóng mở tọa độ xe gắn thiết bị Thiết bị chống trộm định vị GPS xe máy. .. định vị tọa độ xe đồ google map tích hợp vào ứng dụng cách đơn giản nhấp vào button GPS 1.5 Mục tiêu đề tài Trang bị cho xe máy thiết bị chống trộm có khả khơng cho khởi động xe mở khóa Có thể... xe máy Dựa vào nguyên lý khởi động hệ thống xe máy khả tác động thiết bị nên thiết bị tác động vào hệ thống mạch điện xe, điều khiển role chủ yếu vào dây đề xe, nhằm điều khiển role đóng mở cho

Ngày đăng: 02/02/2023, 09:23

TỪ KHÓA LIÊN QUAN