1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết bị chống trộm và định vị GPS cho xe máy

120 21 0

Đ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ộ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 SKL004515 Tp Hồ Chí Minh, tháng năm 2017 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 Khố: 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 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 MSSV:12141406 Họ tên sinh viên: Đặng Văn Tuân Giảng viên hướng dẫn: Th.S Nguyễn Văn Hiệp Ngày nộp đề tài:13/2/2017 Ngày nhận đề tài:14/09/2016 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 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 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 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ỹ Tḥ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 mơn tận tình hướng dẫn, giúp đỡ nhóm em suốt q trình qua Mặc dù cố gắng 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 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 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 3.2 Thiết kế phần cứng 3.2.1 Khối vi xử lý 3.2.2 Khối Bluetooth 3.2.3 Khối Rơ le 3.2.4 Khối SMS 3.2.5 Khối GPS 3.2.6 Khối nguồn 3.3 Sơ đồ kết nối phần cứng 3.4 Thiết kế phần mềm ứng dụng thiết bị đầu cuối Chương IV THI CÔNG PHẦN CƯNG VÀ PHẦN MỀM HỆ THỐNG 4.1 Thi công kết nối phần cứng hệ thống 4.2 Thiết kế phần mềm hệ thống 4.2.1 Thiết kế phần mềm chương trình board đ 4.2.1.1 Lưu đồ chương trình xử lý tin nhắn 4.2.1.2 Lưu đồ chương trình xử lý tín hiệu từ Bluetooth 4.3 Thi công phần mềm ứng dụng điều khiển CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 5.1 Kết thực 5.2 Ưu điểm hạn chế hệ thống 5.4 Khả ứng dụng thực tế đề tài 5.5 Hướng phát triển đề tài PHỤ LỤC Chương trình điều khiển cho Arduino: TÀI LIỆU THAM KHẢO Đồ Á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 Đồ Á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 Đồ Á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 Đồ Á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 Đồ Á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 Đồ Á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, "USASCII"); 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 Đồ Á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 Đồ Á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 Đồ Á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 Đồ Á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 Đồ Á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 Đồ Án Tốt Nghiệp protected void onDestroy() { super.onDestroy(); unregisterReceiver(receiver); } } 114 Đồ Á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 Đồ Án Tốt Nghiệp 116 ... 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. .. 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ể đóng mở khóa từ xa cách chủ động, định. .. 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: 25/12/2021, 23:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w