Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 88 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
88
Dung lượng
2,6 MB
File đính kèm
định vị GPS.rar
(2 MB)
Nội dung
TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG KHOA ĐIỆN TỬ - TIN HỌC … … ĐỒ ÁN TỐT NGHIỆP Đề tài: ỨNGDỤNGHỆTHỐNGĐỊNHVỊGPSGIÁMSÁTHÀNHTRÌNH GVHD: THÁI NGỌC ANH KHÔI SVTH: CAO HOÀNG CHIẾN NGUYỄN ĐỨC LONG LỚP: CĐ ĐTVT 10C MSSV: 308101256 308101298 Tp HCM, tháng 07 năm 2014 TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG KHOA ĐIỆN TỬ - TIN HỌC … … ĐỒ ÁN TỐT NGHIỆP Đề tài: ỨNGDỤNGHỆTHỐNGĐỊNHVỊGPSGIÁMSÁTHÀNHTRÌNH GVHD: THÁI NGỌC ANH KHÔI SVTH: CAO HOÀNG CHIẾN NGUYỄN ĐỨC LONG LỚP: CĐ ĐTVT 10C MSSV: 308101256 308101298 Tp HCM, tháng 07 năm 2014 z Lời cảm ơn T rong suốt khoá học (2010-2013) Trường Cao đẳng kỹ thuật CAO THẮNG, chúng em nhận dạy dỗ tận tình Quý thầy cô kiến thức chuyên môn sống Từ kiến thức giúp chúng em hoàn thành đồ án tốt nghiệp thời gian cho phép Chúng em xin chân thành cảm ơn thầy cô khoa Điện tử – Tin học giảng dạy cho chúng em kiến thức chuyên môn giúp chúng em định hướng theo hiểu biết khả để chúng em thực tốt đồ án “Ứng dụnghệthốngđịnhvịGPSgiámsáthành trình” tạo điều kiện thuận lợi cho chúng em hoàn tất khoá học Nhóm chúng em xin gởi lời cảm ơn đến thầy Thái Ngọc Anh Khôi, người theo sát, hướng dẫn, giúp đỡ chúng em tận tình tạo điều kiện tốt cho chúng em thực đồ án tốt nghiệp Ngoài ra, nhóm chúng em hết lòng biết ơn gia đình bạn bè hết lòng giúp đỡ, động viên, ủng hộ đóng góp ý kiến cho chúng em suốt thời gian thực đồ án tốt nghiệp Nhóm chúng em xin chân thành cảm ơn! Tp.Hồ Chí Minh, ngày 11 tháng 07 năm 2014 Nhóm sinh viên thực Cao Hoàng Chiến Nguyễn Đức Long NHẬN XÉT CỦA HỘI ĐỒNG NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN TP.HCM, Ngày Tháng Năm 2014 Giáo viên hướng dẫn (GV kí ghi rõ họ tên) NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN TP.HCM, Ngày … Tháng … Năm 2014 Giáo viên phản biện (GV kí ghi rõ họ tên) MỤC LỤC MỤC LỤC DANH SÁCH CÁC TỪ VIẾT TẮT DANH SÁCH CÁC BẢNG DANH SÁCH CÁC HÌNH LỜI MỞ ĐẦU CHƯƠNG 1: MODULE SIM548C 1.1 Module SIM548C thiết bị kèm 1.2 Phần cứng module SIM548C 11 1.2.1 Phần cứng ứngdụng GSM module SIM548C 11 1.2.1.1 Bật ứngdụng GSM module SIM548C 16 1.2.1.2 Tắt ứngdụng GSM module SIM548C 18 1.2.1.3 Truyền thông nối tiếp 20 1.2.1.4 Kết nối với SIM card 22 1.2.1.5 Trạng thái chân STATUS 23 1.2.2 Phần cứng ứngdụngGPS module SIM548C 24 1.2.2.1 Chi tiết chân dùng cho ứngdụngGPS 24 1.2.2.2 Bật ứngdụngGPS 25 1.2.2.3 Mạch kết nối cho chân VRTC 25 1.2.2.4 Mạch kết nối cho chân RESET 26 1.2.2.5 Chuẩn giao tiếp nối tiếp ứngdụngGPS 26 1.3 Ứngdụng GSM module SIM548C 27 1.3.1 Giới thiệu GSM 27 1.3.2 Sơ lược GPRS 27 1.3.3 Sử dụngứngdụng GSM cho dịch vụ GPRS 28 1.3.3.1 Các thuật ngữ 28 1.3.3.2 Khởi tạo cho cứng dụng GSM 29 GVHD : Thái Ngọc Anh Khôi Trang SVTH : Cao Hoàng Chiến Nguyễn Đức Long MỤC LỤC 1.3.3.3 Thiết lập kết nối module SIM548C TCP Server 35 1.3.3.4 Truyền nhận gói tin module SIM548C Server 36 1.3.3.5 Hủy kết nối module SIM548C Server 37 1.4 ỨngdụngGPS module SIM548C 38 1.4.1 Hệthốngđịnhvị toàn cầu GPS 38 1.4.2 Chuẩn giao tiếp NMEA 40 1.4.3 Dữ liệu đầu 40 CHƯƠNG 2: VI ĐIỀU KHIỂN DSPIC 30F4011 43 2.1 Giới thiệu chung họ vi điều khiển DSPIC 43 2.2 Đặc điểm chung vi điều khiển DSPIC 30F4011 43 2.2.1 Khối xử lý trung tâm CPU 43 2.2.2 Bộ chuyển đổi tương tự số ADC 44 2.2.3 Các cổng I/O Port ngoại vi 44 2.2.4 Bộ xử lý tin hiệu số 45 2.2.5 Một số đặc điểm khác 45 2.3 Cấu trúc vi điều khiển DSPIC 30F4011 45 2.3.1 Khối xử lý trung tâm CPU 45 2.3.2 Khối tạo địa AGU 49 2.3.2.1 Chế độ địa lệnh 49 2.3.2.2 Chế độ đảo bit địa 51 2.3.3 Các cộng I/O port 52 2.3.4 Ngắt chế ngắt 54 2.3.5 Các định thời 56 CHƯƠNG 3: SOCKET TCP/IP 60 CHƯƠNG 4: CƠ SỞ DỮ LIỆU SQL SERVER 63 CHƯƠNG 5: GOOGLE MAP API 64 5.1 Giới thiệu website 64 GVHD : Thái Ngọc Anh Khôi Trang SVTH : Cao Hoàng Chiến Nguyễn Đức Long MỤC LỤC 5.2 Google map API 65 5.3 Giới thiệu ASP.NET 66 CHƯƠNG 6: THIẾT KẾ VÀ THI CÔNG 68 6.1 Sơ đồ khối 68 6.2 Sơ đồ nguyên lý 69 6.3 Code vi điều khiển 70 6.3.1 Lưu đồ giải thuật 70 6.3.2 Code 71 6.4 Socket 74 6.4.1 Lưu đồ giải thuật 74 6.4.2 Code C# 75 6.5 Website 79 TÀI LIỆU THAM KHẢO 82 GVHD : Thái Ngọc Anh Khôi Trang SVTH : Cao Hoàng Chiến Nguyễn Đức Long DANH SÁCH CÁC TỪ VIẾT TẮT DANH SÁCH CÁC TỪ VIẾT TẮT CR Carriage return LF Line Feed MT Mobile Terminal TE Terminal Equipment GPRS General Packet Radio Service TCP Transmition Control Protocol IP Internet Protocol ISP Internet Service Provider CSDL Cơ sở liệu CSDLQH Cơ sở liệu quan hệ GVHD : Thái Ngọc Anh Khôi Trang SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG CHƯƠNG : THIẾT KẾ VÀ THI CÔNG 6.1 Sơ đồ khối GVHD : Thái Ngọc Anh Khôi Trang 68 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG 6.2 Sơ đồ nguyên lý GVHD : Thái Ngọc Anh Khôi Trang 69 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG 6.3 Code vi điều khiển 6.3.1 Lưu đồ giải thuật GVHD : Thái Ngọc Anh Khôi Trang 70 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG 6.3.2 Code #include #fuses NOWDT,HS,PR,NOCKSFSM,WPSB16,WPSA512,PUT64 #use delay(clock=12000000) #use rs232(UART2,baud=4800,parity=N,bits=8,stream=GPS,errors) #use rs232(UART1,baud=4800,parity=N,bits=8,stream=GSM,errors) #use fast_io(d) #byte portd = 0x02d4 #define led_on output_high(Pin_D0) #define led_off output_low(Pin_D0) unsigned char GPSc; #INT_RDA2 void ngat() { led_on; fputs ("AT\r\n",GSM); delay_ms (500); fputs ("ATZ\r\n",GSM); delay_ms (500); fputs ("AT+CFUN=0\r\n",GSM); delay_ms (10000); fputs ("AT+CFUN=1\r\n",GSM); delay_ms (15000); fputs ("AT+CIPSHUT\r\n",GSM); delay_ms (2000); fputs("AT+CIPSTART=\"tcp\",\"dinhvi.no-ip.info\",\"90\"\r\n",GSM); delay_ms (15000); led_off; loop1: fputs ("AT+CIPSEND=35\r",GSM); led_on; delay_ms (1000); GPSc = fgetc (GPS); while (GPSc != 'R') {GPSc = fgetc (GPS);} while (GPSc != 'M') {GPSc = fgetc (GPS);} while (GPSc != 'C') {GPSc = fgetc (GPS);} GVHD : Thái Ngọc Anh Khôi Trang 71 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG while (GPSc != ',') {GPSc = fgetc (GPS);} GPSc = fgetc (GPS); while (GPSc != ',') {GPSc = fgetc (GPS);} GPSc = fgetc (GPS); if (GPSc == 'A') { GPSc = fgetc (GPS); while (GPSc != ',') {GPSc = fgetc (GPS);} GPSc = fgetc (GPS); while (GPSc != ',') { fputc (GPSc,GSM); GPSc = fgetc (GPS); } fputc (GPSc,GSM); GPSc = fgetc (GPS); while (GPSc != ',') {GPSc = fgetc (GPS);} GPSc = fgetc (GPS); while (GPSc != ',') { fputc (GPSc,GSM); GPSc = fgetc (GPS); } fputc (GPSc,GSM); GPSc = fgetc (GPS); while (GPSc != ',') {GPSc = fgetc (GPS);} GPSc = fgetc (GPS); GVHD : Thái Ngọc Anh Khôi Trang 72 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG while (GPSc != ',') { fputc (GPSc,GSM); GPSc = fgetc (GPS); } fputs (",OKKKKKKKKKKKKK\r",GSM); led_off; delay_ms (1000); goto loop1; } else { fputs ("Waiting GPS Signal .\r",GSM); led_off; delay_ms (3000); goto loop1; } } void main () { enable_interrupts(int_rda2); set_tris_d(0b110); while(true) {} } GVHD : Thái Ngọc Anh Khôi Trang 73 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG 6.4 Socket 6.4.1 Lưu đồ giải thuật GVHD : Thái Ngọc Anh Khôi Trang 74 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG 6.4.2 Code C# using using using using using using using System; System.Data; System.Data.SqlClient; System.IO; System.Net; System.Net.Sockets; System.Text; publicclassY2Server { privateconstint BUFFER_SIZE = 1024; privateconstint PORT_NUMBER = 90; staticASCIIEncoding encoding = newASCIIEncoding(); publicstaticvoid Main() { string connectionString = @"Server =CHIENCAO-PC\SQLEXPRESS;" + "Database=DBGPS;" +"Integrated Security = true"; SqlConnection conn = newSqlConnection(connectionString); int gio, phut, giay, ngay, thang, nam; try { conn.Open(); Console.WriteLine("Da mo ket noi cong"); } catch (SqlException sqle) { Console.WriteLine("Loi: " + sqle.Message); } finally { SqlCommand cmd = newSqlCommand(); try { IPAddress address = IPAddress.Parse("192.168.1.150"); TcpListener listener = newTcpListener(address, PORT_NUMBER); GVHD : Thái Ngọc Anh Khôi Trang 75 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG listener.Start(); Console.WriteLine("Server da san sang " + listener.LocalEndpoint); Console.WriteLine("Dang cho thiet lap ket noi tu thiet bi"); Socket socket = listener.AcceptSocket(); Console.WriteLine("Da nhan dc ket noi tu: " + socket.RemoteEndPoint); var stream = newNetworkStream(socket); var reader = newStreamReader(stream); var writer = newStreamWriter(stream); writer.AutoFlush = true; while (true) { string str = reader.ReadLine(); Console.WriteLine("Du lieu nhan duoc la : " + str); if (str != "") { string tam = str; string tam1 = tam.Substring(0, 7); if (tam1 == "Waiting") { } else { string dlsim = str.ToString(); string[] tachdlsim = dlsim.Split(','); string vido1 = string.Copy(tachdlsim[0]); string[] tachvido1 = vido1.Split('.'); double vido2 = double.Parse(tachvido1[0]) / 100; string vido3 = string.Format("{0:0.00}", vido2); string[] tachvido3 = vido3.Split('.'); string vido4 = tachvido3[1] + tachvido1[1]; double vido5 = double.Parse(vido4) / 0.06; GVHD : Thái Ngọc Anh Khôi Trang 76 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG string vido6 = String.Format("{0:0}", vido5); string vido = tachvido3[0] + "." + vido6; Console.WriteLine("vi do: " + vido); string kinhdo1 = string.Copy(tachdlsim[1]); string[] tachkinhdo1 = kinhdo1.Split('.'); double kinhdo2 = double.Parse(tachkinhdo1[0]) / 100; string kinhdo3 = string.Format("{0:0.00}", kinhdo2); string[] tachkinhdo3 = kinhdo3.Split('.'); string kinhdo4 = tachkinhdo3[1] + tachkinhdo1[1]; double kinhdo5 = double.Parse(kinhdo4) / 0.06; string kinhdo6 = String.Format("{0:0}", kinhdo5); string kinhdo = tachkinhdo3[0] + "." + kinhdo6; Console.WriteLine("kinh :" + kinhdo); string tocdo1 = string.Copy(tachdlsim[2]); double tocdo2 = double.Parse(tocdo1) * 1.852; string tocdo3 = string.Format("{0:0.0}", tocdo2); string tocdo; string[] tocdo4 = tocdo3.Split('.'); double tocdo5 = double.Parse(tocdo3); if (tocdo5 > 3) { tocdo = tocdo4[0]; } else { tocdo = "0"; } Console.WriteLine("Toc do: " + tocdo + " Km/h"); gio = DateTime.Now.Hour; phut = DateTime.Now.Minute; giay = DateTime.Now.Second; = DateTime.Now.Day; thang = DateTime.Now.Month; nam = DateTime.Now.Year; Console.WriteLine("Thoi gian: {0}/{1}/{2} {3}:{4}:{5} ", ngay, thang, nam, gio, phut, giay); SqlCommand cmdUpdate = newSqlCommand(); GVHD : Thái Ngọc Anh Khôi Trang 77 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG cmdUpdate.Connection = conn; cmdUpdate.CommandText = @"UPDATE dulieu SET vido = '" + vido + "', kinhdo = '" + kinhdo + "', tocdo = '" + tocdo + "'"; cmdUpdate.ExecuteNonQuery(); } } else { Console.WriteLine("Vui long cho"); } } stream.Close(); socket.Close(); listener.Stop(); } catch (Exception ex) { Console.WriteLine("Error: " + ex); } Console.Read(); conn.Close(); Console.WriteLine("Dong ket noi"); } } } GVHD : Thái Ngọc Anh Khôi Trang 78 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG 6.5 Website using using using using using using System; System.Collections.Generic; System.Linq; System.Web; System.Web.UI; System.Web.UI.WebControls; publicpartialclass_Default : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GoogleMapForASPNet1.GoogleMapObject.APIVersion = "3"; GoogleMapForASPNet1.GoogleMapObject.Width = "1010px"; GoogleMapForASPNet1.GoogleMapObject.Height = "800px"; GoogleMapForASPNet1.GoogleMapObject.ZoomLevel = 17; GPSDBDataContext dataconn = newGPSDBDataContext(); int id = 1; du_lieuResult toado = dataconn.du_lieu(id).FirstOrDefault(); if (toado != null) { string tkd = toado.kinhdo; double kd = double.Parse(tkd); string tvd = toado.vido; double vd = double.Parse(tvd); GoogleMapForASPNet1.GoogleMapObject.CenterPoint = newGooglePoint("CenterPoint", vd, kd); lb_vido.Text = vd.ToString() + "."; lb_kinhdo.Text = kd.ToString() + "."; lb_tocdo.Text = toado.tocdo.ToString() + " Km/h."; GooglePoint GPS = newGooglePoint(); GVHD : Thái Ngọc Anh Khôi Trang 79 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG GPS.ID = "GPS1"; GPS.Latitude = vd; GPS.Longitude = kd; GPS.IconImage = "icons/star-3.png"; GPS.InfoHTML = "Vĩ độ: " + vd.ToString() + ".Kinh độ: " + kd.ToString() + ".Tốc độ: " + toado.tocdo.ToString() + " Km/h." ; GoogleMapForASPNet1.GoogleMapObject.Points.Add(GPS); } } } protectedvoid Timer1_Tick(object sender, EventArgs e) { GPSDBDataContext dataconn = newGPSDBDataContext(); int id = 1; du_lieuResult toado = dataconn.du_lieu(id).FirstOrDefault(); if (toado != null) { string tkd = toado.kinhdo; double kd = double.Parse(tkd); string tvd = toado.vido; double vd = double.Parse(tvd); lb_vido.Text = vd.ToString() + "."; lb_kinhdo.Text = kd.ToString() + "."; lb_tocdo.Text = toado.tocdo.ToString() + " Km/h."; GoogleMapForASPNet1.GoogleMapObject.Points["GPS1"].Latitude = vd; GoogleMapForASPNet1.GoogleMapObject.Points["GPS1"].Longitude = kd; GoogleMapForASPNet1.GoogleMapObject.Points["GPS1"].InfoHTML = "Vĩ độ: " + vd.ToString() + ".Kinh độ: " + kd.ToString() + ".Tốc độ: " + toado.tocdo.ToString() + " Km/h."; } GVHD : Thái Ngọc Anh Khôi Trang 80 SVTH : Cao Hoàng Chiến Nguyễn Đức Long CHƯƠNG : THIẾT KẾ VÀ THI CÔNG } } GVHD : Thái Ngọc Anh Khôi Trang 81 SVTH : Cao Hoàng Chiến Nguyễn Đức Long TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1].Giáo trình học tập môn Lập trìnhVi Điều Khiển [2] Hardware Design SIM548C_HD_V1.01 : Simcom [3] AT Commands Set SIM548C_ATC_V1.00 : Simcom [4].http://diendan.congdongcviet.com [5] http://www.picvietnam.com [6] http://tailieu.vn [7] www.dientuvietnam.net [8] http://4tech.com.vn [9] www.alldatasheet.com [10] Giáo trình “Vật liệu linh kiện điện tử”- Bùi Thị Kim Chi – Trường CĐKT Cao Thắng GVHD : Thái Ngọc Anh Khôi Trang 82 SVTH : Cao Hoàng Chiến Nguyễn Đức Long ... phương tiện, xác định vị trí hay tìm đường đồ lúc nơi Để đáp ứng nhu cầu thực tế này, nhóm chúng em định lựa chọn đề tài : Ứng dụng hệ thống định vị GPS giám sát hành trình Trong trình thực đồ... SIM548C GPS_ RXB I Chân nhận liệu portB GPS_ M-RST I Chân reset ứng dụng GPS Bảng 1.5 Các chân dành cho ứng dụng GPS 1.2.2.2 Bật ứng dụng GPS Để cho ứng dụng GPS hoạt động, nguồn cung cấp chân GPS_ VCC... đồ án Ứng dụng hệ thống định vị GPS giám sát hành trình tạo điều kiện thuận lợi cho chúng em hoàn tất khoá học Nhóm chúng em xin gởi lời cảm ơn đến thầy Thái Ngọc Anh Khôi, người theo sát, hướng