1. Trang chủ
  2. » Luận Văn - Báo Cáo

định vị phương tiện giao thông bằng gsm gps

42 67 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

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 2,73 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 HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN □□ BÁO CÁO CUỐI KÌ HỆ THỐNG NHÚNG ĐỀ TÀI: ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG BẰNG GSM/GPS Giảng viên hướng dẫn: ThS Đinh Công Đoan MỤC LỤC HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG PHẦN MỞ ĐẦU TĨM TẮT Trong thời đại cơng nghệ 4.0, đất nước thời kì cơng nghiệp hóa - đại hóa, phát triển ngành kĩ thuật máy tính điện tử đóng góp khơng nhỏ vào phát triển kinh tế xã hội Hệ thống nhúng ví dụ rõ ràng nhất, chúng xâm nhập vào sống người ngày rõ rệt, từ dụng cụ đến thiết bị thơng minh tất có vi xử lý bên Với phát triển hệ thống nhúng, bên cạnh nhiều vi xử lý khác Arduino biết đến tượng gây sóng gió thị trường với số lượng người dùng cực lớn Arduino giống máy tính nhỏ để người dùng lập trình thực dự án điện tử mà khơng cần phải có cơng cụ chun biệt để phục vụ việc nạp code Chính vậy, đồ án với đề tài "Hệ thống định vị phương tiện giao thông GSP/GPS", chúng em chọn vi xử lý thuộc loại Arduino vừa nhỏ gọn tiện lợi Arduino Nano, kết hợp với Module SIM808 để định vị phương tiện giao thông thông qua thiết bị sử dụng phổ biến ngày điện thoại di động Tổng quan báo cáo gồm có tất chương: • • • • Chương Chương Chương Chương 1: 2: 3: 4: Giới thiệu vi xử lý Cấu trúc chung KIT Những kiến thức liên quan (Module SIM, GSM, GPS) Ứng dụng định vị phương tiện giao thông Cùng với chương phần nội dung phần kết luận, chúng em tổng kết kết đạt thực đề tài, đồng thời nêu ưu điểm, nhược điểm sản phẩm, phân tích khó khăn trình thực đề tài với hướng phát triển đề tài để khắc phục nhược điểm tồn giúp hoàn thiện sản phẩm Báo cáo Hệ thống nhúng HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG Báo cáo Hệ thống nhúng HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG ĐẶT VẤN ĐỀ 2.1 Tóm lược nghiên cứu nước liên quan đến đề tài Mạng lưới vệ tinh hạ tầng thông tin khơng thể thiếu lồi người kỷ 21, giúp cấu thành lên mạng lưới di động, hệ thống định vị toàn cầu Mạng lưới di động (Global System for Mobile Communications - GSM) ứng nhiều lĩnh vực giao tiếp, thông tin liên lạc từ xa, điều khiển máy móc, … kết hợp với hệ thống định vị toàn cầu (Global Position System) giúp xác định vị trí xác đến mét, ứng dụng hai hệ thống sử dụng lĩnh vực định vị, xác định vật thể di chuyển từ xa 2.2 Tính cấp thiết đề tài Vấn đề an ninh, bảo vệ tài sản nỗi băn khoăn lo lắng nhiều người tình trạng thất lạc, bị đánh cắp phương tiện giao thông xảy hàng ngày đặc biệt đất nước có số lượng phương tiện giao thơng (đặc biệt xe máy) nhiều vô số kể đất nước Việt Nam Chính vậy, cơng nghệ phát triển nhu cầu tìm lại thiết bị, phương tiện thất lạc thông qua định vị GPS vơ cần thiết Đo đó, đề tài "Định vị phương tiện giao thông GSM/GPS" không phù hợp với nhu cầu người Việt Nam mà nhiều nước giới vấn đề an ninh, bảo vệ tài sản cá nhân 2.3 Mục tiêu đề tài Nắm kiến thức vi xử lý Arduino Nano, sử dụng tập lệnh AT để giao tiếp với Module SIM kiến thức liên quan đến GSM, GPS 2.4 Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: - Board Arduino Nano Báo cáo Hệ thống nhúng HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG - Module SIM808 - Anten GSM - Anten GPS - Phần mềm hỗ trợ lập trình: Arduino IDE Báo cáo Hệ thống nhúng HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG Phạm vi nghiên cứu: Gửi tin nhắn với cú pháp "#vitri ." thiết bị trả tin nhắn chứa vị trí thiết bị, liên kết với Google Map để xem xác vị trí đồ 2.5 Phương pháp nghiên cứu - Nghiên cứu tài liệu mạng Internet - Làm việc nhóm - Phương pháp quan sát, phân tích, tổng hợp kiến thức 2.6 Nội dung đề tài Giao tiếp vi xử lý Arduino Nano với module GSM, GPS để tạo thành thiết bị định vị phương tiện giao thông Báo cáo Hệ thống nhúng HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG PHẦN NỘI DUNG CHƯƠNG GIỚI THIỆU VI XỬ LÝ 1.1 Giới thiệu vi điều khiển Atmega328 Atmega328 chíp vi điều khiển sản xuất bời hãng Atmel thuộc họ MegaAVR có sức mạnh hẳn Atmega8 Atmega 328 vi điều khiển bít dựa kiến trúc RISC nhớ chương trình 32KB ISP flash ghi xóa hàng nghìn lần, 1KB EEPROM, nhớ RAM vơ lớn giới vi xử lý bít (2KB SRAM) 1.2 Một vài đặc điểm bật ATmega328 vi điều khiển board mạch Arduino: ATmega328 có tên đầy đủ ATmega328P-PU ATmega328 linh hồn board mạch Arduino Các vi điều khiển ATmega328 ghi sẵn bootloader Arduino Bootloader Arduino cho phép bạn gửi mã chương trình cho ATmega328 thơng qua giao thức Serial (dùng cổng COM) mà khơng u cầu bạn phải có nạp ROM đặc biệt Với 23 chân sử dụng cho kết nối vào i/O, 32 ghi, timer/counter lập trình, có gắt nội ngoại (2 lệnh vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngồi sử dụng biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới kênh, khả lập trình watchdog timer, hoạt động với chế độ nguồn, sử dụng tới kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader Các thơng số vi điều khiển Atmega328P-PU sau: + Kiến trúc: AVR 8bit + Xung nhịp lớn nhất: 20Mhz Báo cáo Hệ thống nhúng HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG + Bộ nhớ chương trình (FLASH): 32KB + Bộ nhớ EEPROM: 1KB + Bộ nhớ RAM: 2KB + Điện áp hoạt động rộng: 1.8V - 5.5V + Số timer: timer gồm timer 8-bit timer 16-bit + Số kênh xung PWM: kênh (1timer kênh) CHƯƠNG 2: CẤU TRÚC CHUNG CỦA KIT Board Arduino Nano Arduino Nano có chức tương tự Arduino Duemilanove khác dạng mạch Arduino Nano tích hợp vi điều khiển Báo cáo Hệ thống nhúng HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG ATmega328P, giống Arduino UNO Sự khác biệt chúng bảng UNO có dạng PDIP (Plastic Dual-In-line Package) với 30 chân cịn Nano có sẵn TQFP (plastic quad flat pack) với 32 chân Trong UNO có cổng ADC Nano có cổng ADC Bảng Nano khơng có giắc nguồn DC bo mạch Arduino khác, mà thay vào có cổng mini-USB Cổng sử dụng cho việc lập trình giám sát nối tiếp Tính hấp dẫn arduino Nano chọn công xuất lớn với hiệu điện Báo cáo Hệ thống nhúng 10 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG Tháng năm 1973: Thứ trưởng Bộ Quốc phòng định thiết lập chương trình hợp tác ba dịch vụ để thống khái niệm khác định vị dẫn đường thành hệ thống Bộ quốc phòng hỗn hợp gọi Hệ thống vệ tinh dẫn đường quốc phòng (Defense Navigation Satellite System) Air Force định làm người quản lý (điều hành) chương trình Hệ thống phát triển qua văn phịng chương trình kết hợp (joint program office), với tham gia tất quan chủng quốc phòng Đại tá Brad Parkinson định làm người đạo văn phịng chương trình kết hợp đặt trọng trách phát triển kết hợp khái niệm ban đầu hệ thống dẫn đường dựa không gian (space-based navigation system) Tháng năm 1973: Hệ thống trình bày tới Hội đồng Thu nhận Thẩm định Hệ thống Quốc phòng (Defense System Acquisition and Review Council, DSARC) bị từ chối thông qua Hệ thống trình lên DSARC gói gọn Hệ thống 621B Air Fore không đại diện cho chương trình kết hợp Mặc dù có người ủng hộ ý tưởng hệ thống dẫn đường dựa vệ tinh Văn phịng Chương trình Kết hợp thúc đẩy khẩn trương tổng quát hóa khái niệm bao gồm xem xét yêu cầu tất binh chủng quốc phòng Ngày 17/12/1973: Một khái niệm trình tới DSARC thơng qua để thực cấp kinh phí hệ thống NAVSTAR GPS, đánh dấu khởi đầu công nhận khái niệm (ý tưởng) (Giai đoạn I chương trình GPS) Khái niệm thực hệ thống dàn xếp (thỏa hiệp – compromise system) Đại tá Parkinson thương lượng kết hợp tốt tất khái niệm cơng nghệ dẫn đường vệ tinh có sẵn Cấu hình hệ thống thơng qua bao gồm 24 vệ tinh chuyển động quỹ đạo nghiêng chu kỳ 12 Báo cáo Hệ thống nhúng 28 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG đồng hồ Tháng năm 1974 Hãng Rockwell International chọn làm nhà cung cấp vệ tinh cho chương trình GPS Năm 1982: Bộ Quốc phịng thơng qua định giảm số vệ tinh chòm vệ tinh GPS từ 24 xuống 18 sau tái cấu tạo lại chương trình Quyết định 1979 Văn phịng Thư ký Bộ Quốc phịng gây để cắt giảm kinh phí 500 triệu đô la (khoảng 30%) từ ngân sách cho giai đoạn năm tài FY81-FY86 Năm 1987: Bộ Quốc phịng thức u cầu Bộ Giao thơng (Department of Transport, DoT) có trách nhiệm thiết lập cung cấp văn phòng đáp ứng nhu cầu người sử dụng dân thông tin GPS, liệu hỗ trợ kỹ thuật Tháng 3/1988: Thư ký Air Force thông báo việc mở rộng chòm GPS tới 21 vệ tinh cộng thêm vệ tinh dự phòng Năm 1990-1991: GPS lực lượng liên minh dùng lần điều kiện chiến tranh Chiến tranh Vịnh Ba Tư Sử dụng GPS cho Bão Sa Mạc Hoạt Động (Operation Desert Storm) chúng minh cách sử dụng chiến thuật thành công công nghệ không gian giới hạn thiết trí hoạt động 29/8/1991 SA kích hoạt lại sau Chiến tranh Vịnh Ba Tư 1/7/1991 Mỹ cho phép cộng đồng giới sử dụng dịch vụ định vị tiêu chuẩn (SPS) GPS năm 1993 sở liên tục miển phí vịng 10 năm Lời đề nghị thông báo Hội nghị Dẫn đường Hàng không lần thứ 10 (the 10th Air Navigation Conference) Tổ chức Hàng không Dân dụng Quốc tế (ICAO, International Civil Aviation Organization) Ngày 5/9/1991: Mỹ mở rộng lời đề nghị 1991 vào Hội nghị thường niên ICAO cách cho phép giới sử dụng SPS tương lai, việc phụ thuộc vào việc có đủ vốn, cung cấp dịch vụ tối thiểu năm có thông báo trước việc chấm dứt hoạt động GPS xóa bỏ SPS Báo cáo Hệ thống nhúng 29 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG Ngày 8/12/1992: Bộ Trưởng Bộ Quốc phịng thức thơng báo Khả hoạt động GPS, có nghĩa 24 vệ tinh quỹ đạo hệ thống GPS không hệ thống triển khai mà GPS có khả trì độ xác mức độ sai số 100 mét có sẵn toàn cầu liên tục cho người sử dụng SPS hứa Ngày 11/10/1994: Ủy ban hành động dẫn đường định vị Bộ Giao thông (the Department of Transportation Positioning / Navigation Executive Committee) thành lập để cung cấp diễn đàn qua đại lý nhằm thực sách GPS 14/10/1994 Người quản trị FAA David Hinson nhắc lại lời đề nghị (US’s offer) làm GPS-SPS có sẵn tương lai, dựa sở liên tục toàn cầu miễn phí cho người sử dụng trực tiếp thư gửi cho ICAO Ngày 16/3/1995: Tổng thống Bil Clinton tái khẳng định Mỹ cung cấp tín hiệu GPS cho cộng đồng người sử dụng dân dụng giới thư gửi cho ICAO Từ sau năm 1995 hệ thống GPS tiếp tục trì bảo dưỡng thay vệ tinh già tuổi Năm 2000, số vệ tinh chòm GPS tăng lên 28 vệ tinh Những vệ tinh hệ GPS-IIR phóng lên để thay vệ tinh già tuổi Vệ tinh phóng lên ngày 16/9/2005 mang tên GPS-IIR-M1, vệ tinh thuộc hệ vệ tinh đại GPS-IIR-M Theo kế hoạch, vệ tinh phóng lên khơng gian vào tháng giêng năm (2006) Báo cáo Hệ thống nhúng 30 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG CHƯƠNG 4: ỨNG DỤNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG 4.1 Sơ đồ mạch Sơ đồ mạch thiết bị định vị phương tiện giao thông 4.2 Giới thiệu tập lệnh AT SIM808 Tập lệnh AT (Attention Command) tập lệnh chuẩn dùng để giao tiếp nhiều thiết bị di động Như tài liệu mà nhà sản xuất cung cấp, tập lệnh AT chung cho truyền nhận (Từ Master tới SIM ngược lại) Tiền tố “AT” đặt đầu lệnh kết thúc câu lệnh CR (Carriage return)/LF (New Line) tương đương với thụt đầu dòng xuống dòng Các lệnh AT hay sử dụng trình bày bảng sau: Lệnh AT ATE[x] AT+IPR=[baud rate] Báo cáo Hệ thống nhúng Mô tả Các lệnh chung Kiểm tra đáp ứng Module Sim 808, trả OK Module hoạt động Chế độ echo chế độ phản hồi liệu truyền đến module Sim 808, x = bật chế độ echo , x = tắt chế độ echo (bạn nên tắt chế độ giao tiếp với vi điều khiển) Cài đặt tốc độ giao tiếp liệu với Module Sim800C, cài tốc 31 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG độ sau baud rate : (auto), 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 AT&W Các lệnh điều khiển AT+CLIP=1 ATD[Số_điện_thoại]; ATH ATA Các lệnh điều khiển tin AT+CMGF=1 AT+CMGS=”Số_điện _thoại” AT+CMGR=x x địa tin nhắn cần đọc AT+CMGDA="DEL ALL" lưu lại lệnh cài đặt gọi Hiển thị thông tin gọi đến Lệnh thực gọi Lệnh thực kết thúc gọi , cúp máy có gọi đến Lệnh thực chấp nhận có gọi đến nhắn Lệnh đưa SMS chế độ Text , phải có lệnh gửi nhận tin nhắn dạng Text Đợi đến có ký tự ‘>’ gửi đánh nội dung tin nhắn Gửi mã Ctrl+Z hay 0x1A để kết thúc nội dung gửi tin nhắn Lệnh gửi tin nhắn Đọc nhắn vừa gửi đến, lệnh trả nội dung tin nhắn, thông tin người gửi, thời gian gửi Xóa tồn tin nhắn hộp thư AT+CNMI=2,2 Hiển thị nội dung tin nhắn có tin nhắn đến Lệnh điều khiển GPS Trả lời: OK Lệnh điều khiển bật tắt GPS, x = bật GPS, x = tắt GPS Trả lời: +CGNSINF:[Thông tin GPS: thời gian, tọa độ, vận AT + CGNSINF tốc….] Lệnh yêu cầu báo cáo thông tin GPS: thời gian, tọa độ, vận tốc… Trả lời: OK Cài đặt chu kì báo cáo thơng tin GPS x AT + CGNSURC = = 255s (ví dụ x =1 1s, [x] Module GPS tự động báo cáo lần), x = Dừng báo cáo thông tin GPS AT +CGNSPWR = [x] Báo cáo Hệ thống nhúng 32 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THƠNG 4.3 Cách nạp chương trình vào KIT Bước 1: Khởi động Arduino IDE Khởi động Arduino IDE Vào Tool, option Board chọn Board mà bạn sử dụng Ở chọn Arduino Nano Ở mục Processor: Click vào Atmega328P (Old Bootloader) Lưu ý: Nếu bạn dùng sản phẩm hãng Arduino.cc bạn click vào ATmega328 Báo cáo Hệ thống nhúng 33 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG Bước 2: Chọn cổng COM: Ở mục PORT chọn COM hiển thị máy tính bạn (ở chọn COM3) Bước 3: Chuẩn bị chương trình để nạp vào KIT Ở demo chương trình ví dụ có sẵn, ví dụ chớp tắt LED thư viện Arduino IDE Vào file/Examples/Basics/Blink Bước 4: Tiến hành nạp chương trình vào KIT Báo cáo Hệ thống nhúng 34 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG Click Upload (biểu tượng khoanh đỏ) Chương trình nạp thành cơng: 4.4 Chương trình Demo 4.4.1 Source code /* * Ung dung: Dinh vi phuong tien giao thong GSM/GPS * Phan cung: + GPS SIM808 * + Arduino Nano * + Anten GMS * + GPS Antenna */ int PWR = A3; int LedConfig = 13; int answer; short sms_mode=false; const int buffer_size = 300; // Co the dieu chinh buffer_size char c=0; char c1=0; char *ptr1=0; char *ptr2=0; char *buffer_map=0; char aux_string[30]; Báo cáo Hệ thống nhúng 35 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG char map_string[100]; char aux1_string[30]; char latitude_data[11]; char longitude_data[12]; float latitude=0; float latitude_map=0; float longitude=0; float longitude_map=0; char tr_latitude_map[12]; char tr_longitude_map[13]; char number[]="0911386722"; // So dien thoai nhan vi tri char buffer[buffer_size]; //Du lieu tu UART int xbuff=0; //Cu phap tin nhan: #vitri char positions[]="vitri"; char pass[7]="123456"; //Password char cgpsinf[]="1,1,"; //*************************************************************** void setup() { Serial.begin(9600); pinMode(PWR, OUTPUT); pinMode(LedConfig, OUTPUT); power_on(); // Power on cho Module SIM808 init_SIM808(); // Cau hinh GSM, GPS moudle SIM erase_buffer(); } //***************************************************************** void loop() { receive_uart(); // Receiver UART if(sms_mode) // nhan SMS de lay vi tri tren Google Map { ptr1=strstr(buffer,positions); // Kiem tra tin nhan SMS if(strncmp(ptr1,positions,5)==0) { //Kiem tra password if (ptr1[6]==pass[0] && ptr1[7]==pass[1] && ptr1[8]==pass[2] && ptr1[9]==pass[3] && ptr1[10]==pass[4] && ptr1[11]==pass[5] ) {digitalWrite(LedConfig, HIGH); get_position(); sprintf(aux_string,"AT+CMGS=\"%s\"",number); // Gui tin nhan SMS { answer = sendAT(aux_string,">",2000);} while(answer= =0); Báo cáo Hệ thống nhúng 36 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG sprintf(aux1_string,"%s,N, %s,E",tr_latitude_map,tr_longitude_map); Serial.println(aux1_string); sprintf(map_string,"http://maps.google.com/maps?q=%s, %s&t=m&z=36", tr_latitude_map,tr_longitude_map); Serial.println(map_string); Serial.write(26); erase_buffer(); } }}} //****************************************************************** ** void init_SIM808() { digitalWrite(LedConfig, LOW); // Ket noi network { answer = sendAT("AT+CREG?","+CREG: 0,1",1000);} while(a nswer==0); // Cau hinh GSM // Tat che phan hoi lenh vua gui { answer = sendAT("ATE0","OK",1000);} while(answer==0); // Dat SMS che text (van ban) { answer = sendAT("AT+CMGF=1", "OK",1000);} while(answer ==0); // Dat che Message co tin nhan moi { answer = sendAT("AT+CNMI=2,2,2,0,0", "OK",1000);} while( answer==0); // config GPS { answer = sendAT("AT+CGNSPWR=1","OK",1000);} while(ans wer==0); sprintf(aux_string,"AT+CMGS=\"%s\"",number); // Gui tin nhan den SDT sau cau hinh xong GPS {answer = sendAT(aux_string,">",2000); } while(answer==0); Serial.println("GPS function is ready"); Serial.write(26); } //****************************************************************** * int sendAT(char* ATcommand, char* expected_answer, unsigned int timeout) { int x=0, answer=0; char response[100]; unsigned long previous; memset(response, '\0', 100); // khoi tao chuoi Báo cáo Hệ thống nhúng 37 HỆ THỐNG ĐỊNH VỊ PHƯƠNG TIỆN GIAO THÔNG delay(100); while( Serial.available() > 0) Serial.read(); Serial.println(ATcommand); x = 0; previous = millis(); { if(Serial.available() != 0){ response[x] = Serial.read(); x++; if (strstr(response, expected_answer) != NULL) { answer = 1; buffer_map=response; } } } while((answer == 0) && ((millis() - previous) < timeout)); return answer; } //************************************************************** void power_on(){ answer = sendAT("AT", "OK", 2000); if(answer==0) // Create pulse trigger on pin power key of Module SIM808 {digitalWrite(PWR,HIGH); delay(2000); digitalWrite(PWR,LOW); while(answer==0) {answer = sendAT("AT", "OK", 2000);} } } //**************************************************************** void erase_buffer() { unsigned int i; for(i=0;i

Ngày đăng: 03/08/2020, 23:51

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w