- Απαιτούμενα στοιχεία για σύστημα παρακολούθησης οχημάτων με βάση το Arduino:
- Πώς μπορεί να χρησιμοποιηθεί το GSM Module για την παρακολούθηση της τοποθεσίας:
- Επεξήγηση κυκλώματος για διασύνδεση GSM και GPS με Arduino:
- Σύστημα παρακολούθησης οχημάτων με βάση το GSM και το GPS χρησιμοποιώντας το Arduino - Working
- Διασύνδεση GAM και GPS με τον κώδικα Arduino για παρακολούθηση της θέσης του οχήματος
Τα συστήματα παρακολούθησης οχημάτων χρησιμοποιούνται πολύ συχνά στις εφαρμογές διαχείρισης στόλου και παρακολούθησης περιουσιακών στοιχείων. Σήμερα αυτά τα συστήματα δεν μπορούν μόνο να παρακολουθούν τη θέση του οχήματος, αλλά μπορούν επίσης να αναφέρουν την ταχύτητα και ακόμη και να το ελέγχουν από απόσταση. Σε γενικές γραμμές, η παρακολούθηση των οχημάτων είναι μια διαδικασία στην οποία παρακολουθούμε τη θέση του οχήματος σε μορφή γεωγραφικού πλάτους και μήκους (συντεταγμένες GPS). Οι συντεταγμένες GPS είναι η αξία μιας τοποθεσίας. Αυτό το σύστημα είναι πολύ αποτελεσματικό για εξωτερικούς σκοπούς εφαρμογής. Αυτό το είδος έργου συστήματος παρακολούθησης οχημάτων βρίσκεται ευρέως στην παρακολούθηση καμπίνας / ταξί, κλεμμένων οχημάτων, λεωφορείων σχολείων / κολλεγίων κ.λπ. Σε αυτό το έργο, προχωράμε ένα βήμα μπροστά με το GPS να κατασκευάζει ένα σύστημα παρακολούθησης οχημάτων με βάση GSM και GPS χρησιμοποιώντας το Arduino. Αυτό το σύστημα παρακολούθησης οχημάτων μπορεί επίσης να χρησιμοποιηθεί παρακολουθήστε ένα όχημα χρησιμοποιώντας GPS και GSM και μπορεί επίσης να χρησιμοποιηθεί ως Σύστημα ειδοποίησης ανίχνευσης ατυχημάτων, Σύστημα παρακολούθησης στρατιωτών και πολλά άλλα, κάνοντας λίγες μόνο αλλαγές στο υλικό και το λογισμικό.
Έχουμε επίσης δημιουργήσει πολλούς άλλους τύπους συστημάτων παρακολούθησης οχημάτων στο παρελθόν, μπορείτε να τα ελέγξετε αν ενδιαφέρεστε
- GPS Vehicle Tracking and Accident Alert χρησιμοποιώντας το Arduino
- Παρακολούθηση οχήματος με τους Χάρτες Google χρησιμοποιώντας τα Arduino και ESP8266
- GPS Vehicle Tracking and Accident Alert χρησιμοποιώντας MSP430
- Παρακολούθηση οχημάτων GPS με βάση LoRa χρησιμοποιώντας το Arduino
- Παρακολούθηση τοποθεσίας χωρίς GPS χρησιμοποιώντας SIM800 και Arduino
Απαιτούμενα στοιχεία για σύστημα παρακολούθησης οχημάτων με βάση το Arduino:
Για να οικοδομήσουμε ένα απλό σύστημα παρακολούθησης οχημάτων που να μηνύει το Arduino, θα χρειαστούμε τα ακόλουθα στοιχεία.
- Arduino UNO
- Ενότητα GSM
- Ενότητα GPS
- LCD 16x2
- Παροχή ηλεκτρικού ρεύματος
- Σύνδεση καλωδίων
- 10 K POT
Πώς μπορεί να χρησιμοποιηθεί το GSM Module για την παρακολούθηση της τοποθεσίας:
Το GPS σημαίνει Global Positioning System και χρησιμοποιείται για την ανίχνευση του γεωγραφικού πλάτους και μήκους οποιασδήποτε θέσης στη Γη, με ακριβή ώρα UTC (Universal Time Coordinated). Η μονάδα GPS είναι το κύριο συστατικό του έργου συστήματος παρακολούθησης οχημάτων. Αυτή η συσκευή λαμβάνει τις συντεταγμένες από τον δορυφόρο για κάθε δευτερόλεπτο, με ώρα και ημερομηνία.
Η μονάδα GPS στέλνει τα δεδομένα που σχετίζονται με τη θέση παρακολούθησης σε πραγματικό χρόνο και στέλνει τόσα πολλά δεδομένα σε μορφή NMEA (δείτε το στιγμιότυπο οθόνης παρακάτω). Η μορφή NMEA αποτελείται από πολλές προτάσεις, στις οποίες χρειαζόμαστε μόνο μία πρόταση. Αυτή η πρόταση ξεκινά από $ GPGGA και περιέχει τις συντεταγμένες, την ώρα και άλλες χρήσιμες πληροφορίες. Αυτό το GPGGA αναφέρεται σε δεδομένα επιδιόρθωσης συστήματος καθολικής τοποθέτησης. Μάθετε περισσότερα για την ανάγνωση δεδομένων GPS και τις συμβολοσειρές του εδώ.
Μπορούμε να εξαγάγουμε συντεταγμένες από συμβολοσειρά $ GPGGA μετρώντας τα κόμματα στη συμβολοσειρά. Ας υποθέσουμε ότι βρείτε τη συμβολοσειρά $ GPGGA και την αποθηκεύετε σε έναν πίνακα, τότε το Latitude μπορεί να βρεθεί μετά από δύο κόμματα και το μήκος μπορεί να βρεθεί μετά από τέσσερα κόμματα. Τώρα αυτά τα γεωγραφικά πλάτη και μήκος μπορούν να τοποθετηθούν σε άλλους πίνακες.
Ακολουθεί η συμβολοσειρά $ GPGGA, μαζί με την περιγραφή της:
$ GPGGA, 104534.000.7791.0381, N, 06727.4434, E, 1,08,0,9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, γεωγραφικό πλάτος, N, γεωγραφικό μήκος, E, FQ, NOS, HDP, υψόμετρο, M, ύψος, M,, δεδομένα αθροίσματος
Αναγνωριστικό |
Περιγραφή |
$ GPGGA |
Δεδομένα διόρθωσης συστήματος καθολικής τοποθέτησης |
HHMMSS.SSS |
Μορφή χρόνου σε δευτερόλεπτα λεπτών και χιλιοστών του δευτερολέπτου |
Γεωγραφικό πλάτος |
Γεωγραφικό πλάτος (Συντεταγμένος) |
Ν |
Κατεύθυνση N = Βόρεια, S = Νότια |
Γεωγραφικό μήκος |
Γεωγραφικό μήκος (Συντεταγμένος) |
μι |
Κατεύθυνση E = Ανατολή, Δ = Δυτικά |
FQ |
Διορθώστε τα δεδομένα ποιότητας |
NOS |
Αριθμός δορυφόρων που χρησιμοποιούνται |
HPD |
Οριζόντια αραίωση ακριβείας |
Υψόμετρο |
Υψόμετρο από την επιφάνεια της θάλασσας |
Μ |
Μετρητής |
Υψος |
Υψος |
Checksum |
Δεδομένα Checksum |
Επεξήγηση κυκλώματος για διασύνδεση GSM και GPS με Arduino:
Οι συνδέσεις κυκλώματος αυτού του έργου συστήματος παρακολούθησης οχημάτων είναι απλές και εμφανίζονται στην εικόνα belwo. Εδώ η καρφίτσα Tx της μονάδας GPS συνδέεται απευθείας με τον ψηφιακό αριθμό pin 10 του Arduino. Χρησιμοποιώντας εδώ το λογισμικό Serial Library, επιτρέψαμε τη σειριακή επικοινωνία στους ακροδέκτες 10 και 11, και τους κάναμε Rx και Tx αντίστοιχα και αφήσαμε τον ακροδέκτη Rx του GPS Module ανοιχτό. Από προεπιλογή, τα Pin 0 και 1 του Arduino χρησιμοποιούνται για σειριακή επικοινωνία, αλλά χρησιμοποιώντας τη βιβλιοθήκη SoftwareSerial, μπορούμε να επιτρέψουμε τη σειριακή επικοινωνία σε άλλες ψηφιακές καρφίτσες του Arduino. Η τροφοδοσία 12 Volt χρησιμοποιείται για την τροφοδοσία της μονάδας GPS.
Οι ακροδέκτες Tx και Rx της μονάδας GSM συνδέονται απευθείας με τους ακροδέκτες Rx και Tx του Arduino. Η μονάδα GSM τροφοδοτείται επίσης από τροφοδοσία 12v. Οι προαιρετικές καρφίτσες δεδομένων LCD D4, D5, D6 και D7 συνδέονται με τον αριθμό pin 5, 4, 3 και 2 του Arduino. Ο πείρος εντολών RS και EN της LCD συνδέονται με τον αριθμό 2 και 3 του Arduino και ο πείρος RW συνδέεται απευθείας με τη γείωση. Ένα ποτενσιόμετρο χρησιμοποιείται επίσης για τη ρύθμιση της αντίθεσης ή της φωτεινότητας της οθόνης LCD.
Σύστημα παρακολούθησης οχημάτων με βάση το GSM και το GPS χρησιμοποιώντας το Arduino - Working
Σε αυτό το έργο, το Arduino χρησιμοποιείται για τον έλεγχο ολόκληρης της διαδικασίας με μια μονάδα GPS Receiver και GSM. Ο δέκτης GPS χρησιμοποιείται για την ανίχνευση συντεταγμένων του οχήματος, η μονάδα GSM χρησιμοποιείται για την αποστολή των συντεταγμένων στον χρήστη μέσω SMS. Και μια προαιρετική οθόνη LCD 16x2 χρησιμοποιείται επίσης για την εμφάνιση μηνυμάτων κατάστασης ή συντεταγμένων. Έχουμε χρησιμοποιήσει GPS Module SKG13BL και GSM Module SIM900A.
Όταν είμαστε έτοιμοι με το υλικό μας μετά τον προγραμματισμό, μπορούμε να το εγκαταστήσουμε στο όχημά μας και να το ενεργοποιήσουμε. Τότε πρέπει απλώς να στείλουμε ένα SMS, "Track Vehicle", στο σύστημα που τοποθετείται στο όχημά μας. Μπορούμε επίσης να χρησιμοποιήσουμε κάποιο πρόθεμα (#) ή επίθημα (*) όπως #Track Vehicle *, για να προσδιορίσουμε σωστά την αρχή και το τέλος της συμβολοσειράς, όπως κάναμε σε αυτά τα έργα: οικιακός αυτοματισμός με βάση το GSM και ασύρματος πίνακας ειδοποιήσεων
Το απεσταλμένο μήνυμα λαμβάνεται από τη μονάδα GSM η οποία είναι συνδεδεμένη στο σύστημα και στέλνει δεδομένα μηνυμάτων στο Arduino. Ο Arduino το διαβάζει και εξάγει το κύριο μήνυμα από ολόκληρο το μήνυμα. Και στη συνέχεια το συγκρίνουμε με προκαθορισμένο μήνυμα στο Arduino. Εάν συμβεί κάποιος αγώνας τότε το Arduino διαβάζει συντεταγμένες εξάγοντας $ GPGGA String από δεδομένα μονάδας GPS (το GPS λειτουργεί εξηγείται παραπάνω) και στείλτε το στο χρήστη χρησιμοποιώντας τη μονάδα GSM. Αυτό το μήνυμα περιέχει τις συντεταγμένες της θέσης του οχήματος.
Διασύνδεση GAM και GPS με τον κώδικα Arduino για παρακολούθηση της θέσης του οχήματος
Στο μέρος προγραμματισμού πρώτα συμπεριλαμβάνουμε βιβλιοθήκες και καθορίζουμε καρφίτσες για σειριακή επικοινωνία LCD & λογισμικού. Ορίστε επίσης κάποια μεταβλητή με πίνακες για την αποθήκευση δεδομένων. Το λογισμικό Serial Library χρησιμοποιείται για να επιτρέπει τη σειριακή επικοινωνία στους ακροδέκτες 10 και 11.
#περιλαμβάνω
Εδώ ο πίνακας str χρησιμοποιείται για την αποθήκευση ληφθέντων μηνυμάτων από τη μονάδα GSM και το gpsString χρησιμοποιείται για την αποθήκευση συμβολοσειράς GPS char * test = "$ GPGGA" χρησιμοποιείται για τη σύγκριση της σωστής συμβολοσειράς που χρειαζόμαστε για συντεταγμένες.
Μετά από αυτό έχουμε αρχικοποιήσει την σειριακή επικοινωνία, την ενότητα LCD, GSM & GPS σε λειτουργία ρύθμισης και δείξαμε ένα μήνυμα καλωσορίσματος στην οθόνη LCD.
άκυρη ρύθμιση () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Παρακολούθηση οχήματος"); lcd.setCursor (0,1);……………
Στη λειτουργία βρόχου λαμβάνουμε μήνυμα και συμβολοσειρά GPS.
void loop () {serialEvent (); εάν (temp) {get_gps (); παρακολούθηση (); }}
Οι συναρτήσεις void init_sms και void send_sms () χρησιμοποιούνται για την προετοιμασία και την αποστολή μηνύματος. Χρησιμοποιήστε τον κατάλληλο 10ψήφιο αριθμό κινητού τηλεφώνου, στη λειτουργία init_sms .
Η συνάρτηση void get_gps () χρησιμοποιήθηκε για την εξαγωγή των συντεταγμένων από τη ληφθείσα συμβολοσειρά.
Η λειτουργία void gpsEvent () χρησιμοποιείται για τη λήψη δεδομένων GPS στο Arduino.
Η λειτουργία void serialEvent () χρησιμοποιείται για τη λήψη μηνύματος από το GSM και τη σύγκριση του ληφθέντος μηνύματος με το προκαθορισμένο μήνυμα (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; Διακοπή; }…………..
Η λειτουργία αρχικοποίησης 'gsm_init () ' χρησιμοποιείται για την αρχικοποίηση και τη διαμόρφωση της μονάδας GSM, όπου πρώτα, η μονάδα GSM ελέγχεται εάν είναι συνδεδεμένη ή όχι αποστέλλοντας εντολή 'AT' στη μονάδα GSM. Εάν ληφθεί απάντηση ΟΚ, σημαίνει ότι είναι έτοιμη. Το σύστημα ελέγχει συνεχώς τη μονάδα έως ότου γίνει έτοιμη ή έως ότου ληφθεί το «ΟΚ» Στη συνέχεια, το ECHO απενεργοποιείται στέλνοντας την εντολή ATE0, διαφορετικά η μονάδα GSM θα επαναλάβει όλες τις εντολές. Στη συνέχεια, ελέγχεται η διαθεσιμότητα δικτύου μέσω του "AT + CPIN;" εντολή, εάν η κάρτα που έχει εισαχθεί είναι κάρτα SIM και υπάρχει PIN, δίνει την απόκριση + CPIN: READY. Αυτό ελέγχεται επίσης επανειλημμένα έως ότου βρεθεί το δίκτυο. Αυτό μπορεί να γίνει κατανοητό από το παρακάτω βίντεο.
Ελέγξτε όλες τις παραπάνω λειτουργίες στην ενότητα Κώδικας παρακάτω.