- Bagaimana ia berfungsi:
- Komponen yang Diperlukan:
- Penjelasan Litar:
- Minit darjah GPS hingga perpuluhan darjah koordinat:
- Penjelasan Pengaturcaraan:
Sistem Penjejakan Kenderaan menjadi sangat penting sekarang ini, terutama jika kenderaan dicuri. Sekiranya anda mempunyai sistem GPS yang terpasang di kenderaan anda, anda dapat mengesan Lokasi Kenderaan anda, dan ini membantu polis untuk mengesan Kenderaan yang Dicuri. Sebelumnya kami telah membina projek serupa di mana Koordinat Lokasi Kenderaan dihantar di Telefon Bimbit, periksa di sini 'Vehicle Tracker berasaskan Arduino menggunakan GPS dan GSM.
Di sini kami sedang membangun versi Sistem Penjejakan Kenderaan yang lebih maju di mana anda dapat Melacak Kenderaan anda di Peta Google. Dalam projek ini, kami akan menghantar koordinat lokasi ke Pelayan Tempatan dan anda hanya perlu membuka 'laman web' di komputer atau telefon bimbit anda, di mana anda akan menemui Pautan ke Peta Google dengan Koordinat Lokasi Kenderaan anda. Apabila anda mengklik pautan itu, anda akan membawa anda ke Peta Google, menunjukkan lokasi kenderaan anda. Dalam Sistem Penjejakan Kenderaan ini menggunakan Peta Google, Modul GPS digunakan untuk mendapatkan Koordinat Lokasi, modul Wi-Fi untuk terus mengirim data ke komputer atau mudah alih melalui Wi-Fi dan Arduino digunakan untuk membuat GPS dan Wi-Fi saling berbicara.
Bagaimana ia berfungsi:
Untuk mengesan kenderaan, kita perlu mencari Koordinat Kenderaan dengan menggunakan modul GPS. Modul GPS berkomunikasi secara berterusan dengan satelit untuk mendapatkan koordinat. Kemudian kita perlu menghantar koordinat ini dari GPS ke Arduino kami dengan menggunakan UART. Dan kemudian Arduino mengekstrak data yang diperlukan dari data yang diterima dengan GPS.
Sebelum ini, Arduino mengirimkan perintah ke Modul Wi-Fi ESP8266 untuk mengkonfigurasi & menyambung ke penghala dan mendapatkan alamat IP. Setelah itu Arduino menginisialisasi GPS untuk mendapatkan koordinat dan LCD menunjukkan 'Page Refresh message'. Ini bermaksud, pengguna perlu memuat semula laman web. Semasa pengguna memuat semula halaman web, Arduino mendapat koordinat GPS dan menghantarnya ke laman web (pelayan tempatan) melalui Wi-Fi, dengan beberapa maklumat tambahan dan pautan peta Google di dalamnya. Sekarang dengan mengklik pautan ini pengguna mengalihkan ke Peta Google dengan koordinat dan kemudian dia akan mendapatkan Lokasi Semasa Kenderaan di tempat Merah di Peta Google. Seluruh proses ditunjukkan dengan betul dalam Video pada akhir.
Komponen yang Diperlukan:
- Arduino UNO
- Modul Wi-Fi ESP8266
- Modul GPS
- Wayar USB
- Menyambung wayar
- Komputer riba
- Bekalan kuasa
- LCD 16x2
- Papan Roti
- Penghala Wi-Fi
Penjelasan Litar:
Litar untuk ' Vehicle Tracking using Google Maps project' ini sangat mudah dan kami terutamanya memerlukan Arduino UNO, GPS Module dan ESP8266 Wi-Fi module. Terdapat LCD 16x2 yang disambungkan secara pilihan untuk memaparkan status. LCD ini disambungkan pada 14-19 (A0-A5) Pin Arduino.
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. Penyesuai 12 Volt digunakan untuk menghidupkan Modul GPS. Pergi ke sini untuk mempelajari "Cara Menggunakan GPS dengan Arduino" dan dapatkan koordinatnya.
Pin Wi-Fi modul Vcc dan GND ESP8266 disambungkan terus ke 3.3V dan GND Arduino dan CH_PD juga disambungkan dengan 3.3V. Pin Tx dan Rx ESP8266 disambungkan secara langsung ke pin 2 dan 3 Arduino. Perisian Serial Perpustakaan juga digunakan di sini untuk membenarkan komunikasi bersiri pada pin 2 dan 3 Arduino. Kami telah membahas Interfacing modul Wi-Fi ESP8266 ke Arduino secara terperinci, juga silakan baca "Cara Menghantar Data dari Arduino ke Halaman Web menggunakan WiFi" sebelum melakukan projek ini. Berikut adalah gambar ESP8266:
ESP8266 mempunyai dua LED, satu adalah Merah, untuk menunjukkan Daya dan yang kedua adalah Biru iaitu LED Komunikasi Data. LED biru berkelip apabila ESP menghantar beberapa data melalui pin Tx-nya. Juga, jangan sambungkan ESP ke bekalan +5 volt jika tidak, peranti anda mungkin rosak. Di sini dalam projek ini, kami telah memilih 9600 baud rate untuk semua komunikasi UART.
Pengguna juga dapat melihat komunikasi antara modul Wi-Fi ESP8266 dan Arduino, di Serial Monitor, pada tingkat baud 9600:
Lihat juga Video di akhir projek ini, untuk proses kerja terperinci.
Minit darjah GPS hingga perpuluhan darjah koordinat:
Modul GPS menerima koordinat dari satelit dalam format Degree Minute (ddmm.mmmm) dan di sini kita memerlukan format Decimal Degree untuk mencari lokasi di Peta Google. Oleh itu, pertama kita perlu menukar koordinat dari Format Degree Minute ke Format Decimal Degree dengan menggunakan formula yang diberikan.
Katakan 2856.3465 (ddmm.mmmm) adalah Latitud yang kita terima dari Modul GPS. Sekarang dua nombor pertama adalah Darjah dan selebihnya adalah Minit.
Jadi 28 adalah darjah dan 56.3465 adalah minit.
Sekarang di sini, tidak perlu menukar bahagian Degree (28), tetapi hanya perlu menukar bahagian Minit menjadi Degimal Degree dengan membahagikan 60:
Koordinat Darjah Perpuluhan = Darjah + Minit / 60
Koordinat Darjah Perpuluhan = 28 + 56.3465 / 60
Koordinat Darjah Perpuluhan = 28 + 0.94
Koordinat Darjah Perpuluhan = 28.94
Proses yang sama akan dilakukan untuk Data Longitud. Kami telah menukar koordinat dari Degree Minute ke Decimal Degree dengan menggunakan formula di atas dalam Arduino Sketch:
float minut = lat_minut.toFloat (); minut = minut / 60; darjah apungan = lat_degree.toFloat (); garis lintang = darjah + minut; minut = long_minut.toFloat (); minut = minut / 60; darjah = long_degree.toFloat (); logitud = darjah + minut;
Penjelasan Pengaturcaraan:
Dalam kod ini, kami telah menggunakan perpustakaan SerialSoftware untuk menghubungkan modul ESP8266 dan GPS dengan Arduino. Kemudian kami telah menentukan pin yang berbeza untuk kedua-duanya dan memulakan UART dengan kadar baud 9600. Disertakan juga Perpustakaan LiquidCrystal untuk LCD antara muka dengan Arduino.
#sertakan
Selepas itu, kita perlu menentukan atau menyatakan pemboleh ubah dan rentetan untuk tujuan yang berbeza.
Halaman web rentetan = ""; int i = 0, k = 0; int gps_status = 0; Nama rentetan = "
1. Nama: Nama Anda
"; // 22 String dob ="2. DOB: 12 feb 1993
"; // 21 Nombor rentetan ="4. No Kenderaan: RJ05 XY 4201
"; // 29 tali tali ="Koordinat:
"; // 17 String latitude =" "; String logitude =" "; String gpsString =" "; char * test =" $ GPGGA ";Kemudian kami telah membuat beberapa fungsi untuk tujuan yang berbeza seperti:
Fungsi untuk mendapatkan data GPS dengan koordinat:
batal gpsEvent () {gpsString = ""; while (1) {while (gps.available ()> 0) {char inChar = (char) gps.read (); gpsString + = dalamChar; if (i <7) {if (gpsString! = test) {i = 0;……………….
Fungsi untuk mengekstrak data dari rentetan GPS dan menukar data tersebut ke format darjah perpuluhan dari format minit perpuluhan, seperti yang dijelaskan pada awal telinga.
batal koordinat2dec () {String lat_degree = ""; untuk (i = 18; i <20; i ++) lat_degree + = gpsString; Rentetan lat_minut = ""; untuk (i = 20; i <28; i ++) lat_minut + = gpsString;……………….
Fungsi untuk menghantar arahan ke ESP8266 untuk mengkonfigurasi dan menghubungkannya dengan WIFI.
void connect_wifi (String cmd, int t) {int temp = 0, i = 0; sementara (1) {Serial.println (cmd); Bersiri1.println (cmd); sementara (Serial1. tersedia ()> 0)……………….
fungsi void show_coordinate () untuk menunjukkan koordinat pada LCD dan Serial Monitor danfungsi get_ip () void untuk mendapatkan alamat IP.
Fungsi Void Send () untuk membuat Rentetan maklumat yang akan dihantar ke halaman web menggunakan ESP8266 dan void sendwebdata () Fungsi untuk menghantar rentetan maklumat ke halaman web menggunakan UART.
Dalam fungsi gelung void Arduino terus menunggu halaman web borang permintaan (Menyegarkan laman web).
gelung void () {k = 0; Serial.println ("Sila Segarkan Halaman Ur"); lcd.setCursor (0,0); lcd.print ("Sila Segarkan"); lcd.setCursor (0,1); lcd.print ("Halaman Web Anda.."); sambil (k <1000)……………….
Lihat Kod Penuh di Bawah.