- Các thành phần cần thiết cho hệ thống Theo dõi Xe dựa trên Arduino:
- Làm thế nào có thể sử dụng Mô-đun GSM để theo dõi vị trí:
- Giải thích mạch cho Giao tiếp GSM và GPS với Arduino:
- Hệ thống theo dõi xe dựa trên GSM và GPS sử dụng Arduino - Đang hoạt động
- Giao diện GAM và GPS với Mã Arduino để theo dõi vị trí xe
Hệ thống Theo dõi Xe được sử dụng rất phổ biến trong các ứng dụng quản lý đội xe và theo dõi tài sản. Ngày nay, các hệ thống này không chỉ có thể theo dõi vị trí của xe mà còn có thể báo tốc độ và thậm chí điều khiển từ xa. Nói chung, theo dõi phương tiện là một quá trình trong đó chúng tôi theo dõi vị trí phương tiện dưới dạng Vĩ độ và Kinh độ (tọa độ GPS). Tọa độ GPS là giá trị của một vị trí. Hệ thống này rất hiệu quả cho các mục đích ứng dụng ngoài trời. Loại Dự án Hệ thống Theo dõi Xe này được sử dụng rộng rãi trong việc theo dõi Xe buýt / Taxi, xe bị đánh cắp, xe buýt trường học / đại học, v.v. Trong dự án này, chúng tôi đang đi trước một bước với GPS xây dựng hệ thống theo dõi xe dựa trên GSM và GPS bằng Arduino. Hệ thống theo dõi xe này cũng có thể được sử dụng để theo dõi xe bằng GPS và GSM và cũng có thể được sử dụng làm Hệ thống cảnh báo phát hiện tai nạn, Hệ thống theo dõi người lính và nhiều hơn nữa, chỉ bằng cách thực hiện một số thay đổi trong phần cứng và phần mềm.
Chúng tôi cũng đã xây dựng nhiều loại hệ thống theo dõi xe khác trước đây, bạn có thể xem qua nếu quan tâm
- Theo dõi xe GPS và cảnh báo tai nạn bằng Arduino
- Theo dõi phương tiện với Google Maps bằng Arduino và ESP8266
- Theo dõi xe GPS và cảnh báo tai nạn sử dụng MSP430
- Theo dõi xe GPS dựa trên LoRa bằng Arduino
- Công cụ theo dõi vị trí không có GPS sử dụng SIM800 và Arduino
Các thành phần cần thiết cho hệ thống Theo dõi Xe dựa trên Arduino:
Để xây dựng một hệ thống theo dõi xe đơn giản kiện Arduino, chúng ta sẽ cần các thành phần sau.
- Arduino UNO
- Mô-đun GSM
- Mô-đun GPS
- LCD 16x2
- Nguồn cấp
- Kết nối dây
- 10 K POT
Làm thế nào có thể sử dụng Mô-đun GSM để theo dõi vị trí:
GPS là viết tắt của Hệ thống Định vị Toàn cầu và được sử dụng để phát hiện Vĩ độ và Kinh độ của bất kỳ vị trí nào trên Trái đất, với thời gian UTC chính xác (Phối hợp theo giờ quốc tế). Mô-đun GPS là thành phần chính trong dự án hệ thống theo dõi xe của chúng tôi. Thiết bị này nhận các tọa độ từ vệ tinh trong từng giây, với thời gian và ngày tháng.
Mô-đun GPS gửi dữ liệu liên quan đến vị trí theo dõi trong thời gian thực và nó gửi rất nhiều dữ liệu ở định dạng NMEA (xem ảnh chụp màn hình bên dưới). Định dạng NMEA bao gồm một số câu, trong đó chúng ta chỉ cần một câu. Câu này bắt đầu từ $ GPGGA và chứa tọa độ, thời gian và các thông tin hữu ích khác. Đây GPGGA được gọi Global Positioning System Fix dữ liệu. Biết thêm về Đọc dữ liệu GPS và các chuỗi của nó tại đây.
Chúng ta có thể trích xuất tọa độ từ chuỗi $ GPGGA bằng cách đếm các dấu phẩy trong chuỗi. Giả sử bạn tìm thấy chuỗi $ GPGGA và lưu trữ nó trong một mảng, thì Latitude có thể được tìm thấy sau hai dấu phẩy và Kinh độ có thể được tìm thấy sau bốn dấu phẩy. Bây giờ những vĩ độ và kinh độ này có thể được đặt trong các mảng khác.
Dưới đây là Chuỗi $ GPGGA, cùng với mô tả của nó:
$ GPGGA, 104534.000.7791.0381, N, 06727.4434, E, 1.08.0.9.510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, vĩ độ, N, kinh độ, E, FQ, NOS, HDP, độ cao, M, chiều cao, M,, dữ liệu tổng kiểm tra
Định danh |
Sự miêu tả |
$ GPGGA |
Hệ thống định vị toàn cầu sửa dữ liệu |
HHMMSS.SSS |
Thời gian ở định dạng giờ phút giây và mili giây. |
Vĩ độ |
Vĩ độ (Tọa độ) |
N |
Hướng N = Bắc, S = Nam |
Kinh độ |
Kinh độ (Tọa độ) |
E |
Hướng E = Đông, W = Tây |
FQ |
Sửa dữ liệu chất lượng |
NOS |
Số lượng vệ tinh đang được sử dụng |
HPD |
Pha loãng theo chiều ngang của độ chính xác |
Độ cao |
Độ cao so với mực nước biển |
M |
Mét |
Chiều cao |
Chiều cao |
Checksum |
Dữ liệu Checksum |
Giải thích mạch cho Giao tiếp GSM và GPS với Arduino:
Kết nối mạch của Dự án Hệ thống Theo dõi Xe này rất đơn giản và được thể hiện trong hình ảnh. Ở đây chân Tx của mô-đun GPS được kết nối trực tiếp với chân số 10 của Arduino. Bằng cách sử dụng Thư viện nối tiếp phần mềm tại đây, chúng tôi đã cho phép giao tiếp nối tiếp trên chân 10 và 11, đồng thời đặt chúng lần lượt là Rx và Tx và để mở chân Rx của Mô-đun GPS. Theo mặc định, Chân 0 và 1 của Arduino được sử dụng để giao tiếp nối tiếp nhưng bằng cách sử dụng thư viện SoftwareSerial, chúng tôi có thể cho phép giao tiếp nối tiếp trên các chân kỹ thuật số khác của Arduino. Nguồn 12 Volt được sử dụng để cấp nguồn cho Mô-đun GPS.
Các chân Tx và Rx của mô-đun GSM được kết nối trực tiếp với chân Rx và Tx của Arduino. Mô-đun GSM cũng được cung cấp bởi nguồn cung cấp 12v. Các chân dữ liệu D4, D5, D6 và D7 tùy chọn của màn hình LCD được kết nối với chân số 5, 4, 3 và 2 của Arduino. Chân lệnh RS và EN của LCD được kết nối với chân số 2 và 3 của Arduino và chân RW được kết nối trực tiếp với đất. Một chiết áp cũng được sử dụng để thiết lập độ tương phản hoặc độ sáng của màn hình LCD.
Hệ thống theo dõi xe dựa trên GSM và GPS sử dụng Arduino - Đang hoạt động
Trong dự án này, Arduino được sử dụng để kiểm soát toàn bộ quá trình bằng Bộ thu GPS và mô-đun GSM. Bộ thu GPS được sử dụng để phát hiện tọa độ của xe, mô-đun GSM được sử dụng để gửi tọa độ cho người dùng bằng tin nhắn SMS. Và một màn hình LCD 16x2 tùy chọn cũng được sử dụng để hiển thị thông báo trạng thái hoặc tọa độ. Chúng tôi đã sử dụng Mô-đun GPS SKG13BL và Mô-đun GSM SIM900A.
Khi chúng tôi đã sẵn sàng với phần cứng của mình sau khi lập trình, chúng tôi có thể cài đặt nó vào xe của mình và khởi động nó. Sau đó, chúng tôi chỉ cần gửi một tin nhắn SMS, "Theo dõi xe", đến hệ thống được đặt trong xe của chúng tôi. Chúng tôi cũng có thể sử dụng một số tiền tố (#) hoặc hậu tố (*) như #Track Vehicle *, để xác định chính xác điểm bắt đầu và kết thúc của chuỗi, giống như chúng tôi đã làm trong các dự án này: Bảng thông báo không dây và Tự động hóa dựa trên GSM
Tin nhắn đã gửi được nhận bởi mô-đun GSM được kết nối với hệ thống và gửi dữ liệu tin nhắn đến Arduino. Arduino đọc nó và trích xuất thông báo chính từ toàn bộ thông báo. Và sau đó so sánh nó với thông báo được xác định trước trong Arduino. Nếu có bất kỳ sự trùng khớp nào xảy ra thì Arduino đọc tọa độ bằng cách trích xuất Chuỗi $ GPGGA từ dữ liệu mô-đun GPS (hoạt động của GPS được giải thích ở trên) và gửi cho người dùng bằng cách sử dụng mô-đun GSM. Thông báo này chứa tọa độ của vị trí xe.
Giao diện GAM và GPS với Mã Arduino để theo dõi vị trí xe
Trong phần lập trình đầu tiên, chúng tôi bao gồm các thư viện và xác định các chân cho giao tiếp nối tiếp LCD và phần mềm. Cũng xác định một số biến với các mảng để lưu trữ dữ liệu. Thư viện nối tiếp phần mềm được sử dụng để cho phép giao tiếp nối tiếp trên chân 10 và 11.
#include
Ở đây, mảng str được sử dụng để lưu trữ tin nhắn nhận được từ mô-đun GSM và gpsString được sử dụng để lưu trữ chuỗi GPS. char * test = ”$ GPGGA” được sử dụng để so sánh đúng chuỗi mà chúng ta cần cho các tọa độ.
Sau khi nó, chúng tôi đã khởi tạo giao tiếp nối tiếp, mô-đun LCD, GSM & GPS trong chức năng thiết lập và hiển thị thông báo chào mừng trên màn hình LCD.
void setup () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Theo dõi Xe"); lcd.setCursor (0,1);……………
Trong chức năng vòng lặp, chúng tôi nhận được tin nhắn và chuỗi GPS.
void loop () {serialEvent (); if (tạm thời) {get_gps (); theo dõi (); }}
Các hàm void init_sms và void send_sms () được sử dụng để khởi tạo và gửi tin nhắn. Sử dụng đúng 10 chữ số Cell phone no, trong hàm init_sms .
Hàm void get_gps () đã được sử dụng để trích xuất tọa độ từ chuỗi nhận được.
Hàm void gpsEvent () được sử dụng để nhận dữ liệu GPS vào Arduino.
Hàm void serialEvent () được sử dụng để nhận tin nhắn từ GSM và so sánh tin nhắn nhận được với tin nhắn xác định trước (Theo dõi Xe).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Theo dõi xe")) {temp = 1; phá vỡ; }…………..
Hàm khởi tạo 'gsm_init () ' được sử dụng để khởi tạo và cấu hình Mô-đun GSM, trong đó trước tiên, mô-đun GSM được kiểm tra xem nó đã được kết nối hay chưa bằng cách gửi lệnh 'AT' đến mô-đun GSM. Nếu nhận được phản hồi OK, nghĩa là nó đã sẵn sàng. Hệ thống tiếp tục kiểm tra mô-đun cho đến khi nó sẵn sàng hoặc cho đến khi nhận được 'OK'. Sau đó, ECHO bị tắt bằng cách gửi lệnh ATE0, nếu không mô-đun GSM sẽ lặp lại tất cả các lệnh. Cuối cùng thì tính khả dụng của mạng được kiểm tra thông qua 'AT + CPIN?' lệnh, nếu thẻ được lắp là thẻ SIM và có mã PIN, nó sẽ đưa ra phản hồi + CPIN: SN SÀNG. Điều này cũng được kiểm tra nhiều lần cho đến khi tìm thấy mạng. Điều này có thể được hiểu rõ qua Video dưới đây.
Kiểm tra tất cả các chức năng trên trong Phần mã bên dưới.