- Komponen yang Diperlukan untuk sistem Penjejakan Kenderaan berasaskan Arduino:
- Bagaimana Modul GSM dapat digunakan untuk mengesan lokasi:
- Penjelasan Litar untuk Menghubungkan GSM dan GPS dengan Arduino:
- Sistem Penjejakan Kenderaan berasaskan GSM dan GPS menggunakan Arduino - Working
- GAM dan GPS Berinteraksi dengan Arduino Code untuk Mengesan Lokasi Kenderaan
Sistem Penjejakan Kenderaan sangat sering digunakan dalam aplikasi pengelolaan armada dan pengesanan aset. Kini sistem ini tidak hanya dapat mengesan lokasi kenderaan tetapi juga dapat melaporkan kelajuan dan bahkan dapat mengawalnya dari jauh. Secara umum, penjejakan kenderaan adalah proses di mana kita mengesan lokasi kenderaan dalam bentuk Lintang dan Bujur (koordinat GPS). Koordinat GPS adalah nilai lokasi. Sistem ini sangat cekap untuk tujuan aplikasi luar. Projek Sistem Penjejakan Kenderaan jenis ini secara meluas dalam mengesan Kabin / Teksi, kenderaan curi, bas sekolah / kolej, dan lain-lain. Dalam projek ini, kami akan melangkah selangkah lebih maju dengan GPS membina sistem pengesanan kenderaan berdasarkan GSM dan GPS menggunakan Arduino. Ini Sistem Penjejakan Kenderaan juga boleh digunakan untuk menjejaki kenderaan menggunakan GPS dan GSM dan juga dapat digunakan sebagai Sistem Makluman Pengesanan Kemalangan, Sistem Penjejakan Askar dan banyak lagi, dengan hanya membuat sedikit perubahan pada perkakasan dan perisian.
Kami juga telah membina banyak jenis sistem pengesanan kenderaan lain sebelumnya, anda boleh memeriksanya jika berminat
- Penjejakan Kenderaan GPS dan Makluman Kemalangan menggunakan Arduino
- Penjejakan Kenderaan dengan Peta Google menggunakan Arduino dan ESP8266
- Penjejakan Kenderaan GPS dan Makluman Kemalangan menggunakan MSP430
- Penjejakan Kenderaan GPS berasaskan LoRa menggunakan Arduino
- Tracker Lokasi tanpa GPS menggunakan SIM800 dan Arduino
Komponen yang Diperlukan untuk sistem Penjejakan Kenderaan berasaskan Arduino:
Untuk membina sistem penjejakan kenderaan yang sederhana yang menuntut Arduino, kami memerlukan komponen berikut.
- Arduino UNO
- Modul GSM
- Modul GPS
- LCD 16x2
- Bekalan Kuasa
- Wayar Penyambung
- 10 K POT
Bagaimana Modul GSM dapat digunakan untuk mengesan lokasi:
GPS bermaksud Sistem Penentududukan Global dan digunakan untuk mengesan Lintang dan Bujur dari mana-mana lokasi di Bumi, dengan masa UTC yang tepat (Universal Time Coordinated). Modul GPS adalah komponen utama dalam projek sistem penjejakan kenderaan kami. Peranti ini menerima koordinat dari satelit untuk setiap detik, dengan masa dan tarikh.
Modul GPS menghantar data yang berkaitan dengan kedudukan penjejakan dalam masa nyata, dan mengirimkan begitu banyak data dalam format NMEA (lihat tangkapan skrin di bawah). Format NMEA terdiri daripada beberapa ayat, di mana kita hanya memerlukan satu ayat. Kalimat ini bermula dari $ GPGGA dan mengandungi koordinat, masa dan maklumat berguna lain. Ini GPGGA disebut Sistem Kedudukan Global Fix Data. Ketahui lebih lanjut mengenai Membaca data GPS dan rentetan di sini.
Kita boleh mengekstrak koordinat dari rentetan $ GPGGA dengan mengira koma dalam rentetan. Katakan anda menjumpai rentetan $ GPGGA dan menyimpannya dalam array, maka Latitud dapat dijumpai setelah dua koma dan Bujur dapat dijumpai setelah empat koma. Sekarang garis lintang dan garis bujur ini boleh dimasukkan ke dalam tatasusunan yang lain.
Berikut adalah rentetan $ GPGGA, beserta keterangannya:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43.9, M,, * 47
$ GPGGA, HHMMSS.SSS, garis lintang, N, garis bujur, E, FQ, NOS, HDP, ketinggian, M, tinggi, M,, data checksum
Pengenal |
Penerangan |
$ GPGGA |
Memperbaiki data sistem Penentududukan Global |
HHMMSS.SSS |
Masa dalam jam beberapa saat dan format milisaat. |
Latitud |
Lintang (Koordinat) |
N |
Arah N = Utara, S = Selatan |
Bujur |
Bujur (Koordinat) |
E |
Arah E = Timur, W = Barat |
FQ |
Betulkan Data Berkualiti |
NOS |
Bilangan Satelit yang Digunakan |
HPD |
Pencairan Ketepatan Mendatar |
Ketinggian |
Ketinggian dari permukaan laut |
M |
Meter |
Ketinggian |
Ketinggian |
Checksum |
Data Checksum |
Penjelasan Litar untuk Menghubungkan GSM dan GPS dengan Arduino:
Sambungan Litar Projek Sistem Penjejakan Kenderaan ini mudah dan ditunjukkan dalam gambar belwo. Di sini pin Tx modul GPS disambungkan secara langsung ke pin digital nombor 10 dari Arduino. Dengan menggunakan Perisian Serial Perpustakaan di sini, kami telah membenarkan komunikasi bersiri pada pin 10 dan 11, dan menjadikannya Rx dan Tx masing-masing dan membiarkan pin Rx dari Modul GPS terbuka. Secara lalai Pin 0 dan 1 dari Arduino digunakan untuk komunikasi bersiri tetapi dengan menggunakan perpustakaan SoftwareSerial, kami dapat membenarkan komunikasi bersiri pada pin digital lain dari Arduino. Bekalan 12 volt digunakan untuk menghidupkan Modul GPS.
Pin Tx dan Rx modul GSM disambungkan secara langsung ke pin Rx dan Tx dari Arduino. Modul GSM juga dikuasakan oleh bekalan 12v. Pin data LCD pilihan D4, D5, D6 dan D7 disambungkan ke pin nombor 5, 4, 3, dan 2 dari Arduino. Pin arahan RS dan EN LCD dihubungkan dengan pin nombor 2 dan 3 Arduino dan pin RW disambungkan secara langsung dengan tanah. Potentiometer juga digunakan untuk menetapkan kontras atau kecerahan LCD.
Sistem Penjejakan Kenderaan berasaskan GSM dan GPS menggunakan Arduino - Working
Dalam projek ini, Arduino digunakan untuk mengendalikan keseluruhan proses dengan penerima GPS dan modul GSM. Penerima GPS digunakan untuk mengesan koordinat kenderaan, modul GSM digunakan untuk mengirim koordinat kepada pengguna melalui SMS. Dan LCD 16x2 pilihan juga digunakan untuk memaparkan mesej status atau koordinat. Kami telah menggunakan Modul GPS SKG13BL dan Modul GSM SIM900A.
Apabila kita siap dengan perkakasan kita setelah pengaturcaraan, kita dapat memasangnya di kenderaan kita dan mengaktifkannya. Maka kita hanya perlu mengirim SMS, "Track Vehicle", ke sistem yang diletakkan di dalam kenderaan kita. Kami juga dapat menggunakan beberapa awalan (#) atau akhiran (*) seperti #Track Vehicle *, untuk mengenal pasti permulaan dan akhir rentetan dengan betul, seperti yang kami lakukan dalam projek-projek ini: Automasi Rumah Berasaskan GSM dan Papan Pemberitahuan Tanpa Wayar
Mesej yang dihantar diterima oleh modul GSM yang disambungkan ke sistem dan menghantar data mesej ke Arduino. Arduino membacanya dan mengekstrak mesej utama dari keseluruhan mesej. Dan kemudian bandingkan dengan mesej yang telah ditentukan di Arduino. Sekiranya ada padanan, Arduino membaca koordinat dengan mengekstrak $ GPGGA String dari data modul GPS (kerja GPS dijelaskan di atas) dan hantarkan kepada pengguna dengan menggunakan modul GSM. Mesej ini mengandungi koordinat lokasi kenderaan.
GAM dan GPS Berinteraksi dengan Arduino Code untuk Mengesan Lokasi Kenderaan
Dalam bahagian pengaturcaraan pertama kami menyertakan perpustakaan dan menentukan pin untuk komunikasi bersiri LCD & perisian. Tentukan juga beberapa pemboleh ubah dengan tatasusunan untuk menyimpan data. Perisian Serial Perisian digunakan untuk membenarkan komunikasi bersiri pada pin 10 dan 11.
#sertakan
Di sini array str digunakan untuk menyimpan mesej yang diterima dari modul GSM dan gpsString digunakan untuk menyimpan rentetan GPS. char * test = "$ GPGGA" digunakan untuk membandingkan rentetan yang betul yang kita perlukan untuk koordinat.
Setelah itu kami telah memulakan komunikasi bersiri, modul LCD, GSM & GPS dalam fungsi penyediaan dan menunjukkan mesej selamat datang di LCD.
persediaan tidak sah () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Penjejakan Kenderaan"); lcd.setCursor (0,1);……………
Dalam fungsi gelung, kami menerima tali dan tali GPS.
gelung kekosongan () {serialEvent (); jika (temp) {get_gps (); Penjejakan(); }}
Fungsi void init_sms dan void send_sms () digunakan untuk memulakan dan menghantar mesej. Gunakan no 10 digit telefon bimbit yang betul, dalam fungsi init_sms .
Fungsi void get_gps () telah digunakan untuk mengekstrak koordinat dari rentetan yang diterima.
Fungsi void gpsEvent () digunakan untuk menerima data GPS ke dalam Arduino.
Function void serialEvent () digunakan untuk menerima mesej dari GSM dan membandingkan mesej yang diterima dengan mesej yang telah ditentukan (Track Vehicle).
batal serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; rehat; }…………..
Fungsi inisialisasi 'gsm_init () ' digunakan untuk menginisialisasi dan mengkonfigurasi Modul GSM, di mana pertama, modul GSM diperiksa sama ada ia disambungkan atau tidak dengan menghantar perintah 'AT' ke modul GSM. Sekiranya respons OK diterima, ini bermaksud sudah siap. Sistem terus memeriksa modul sehingga siap atau sehingga 'OK' diterima. Kemudian ECHO dimatikan dengan menghantar arahan ATE0, jika tidak modul GSM akan menggema semua perintah. Kemudian akhirnya ketersediaan Rangkaian diperiksa melalui 'AT + CPIN?' perintah, jika kad yang dimasukkan adalah kad SIM dan PIN hadir, ia memberikan respons + CPIN: SIAP. Ini juga diperiksa berulang kali sehingga rangkaian dijumpai. Ini dapat difahami dengan jelas oleh Video di bawah.
Periksa semua fungsi di atas di Bahagian Kod di bawah.