Πίνακας περιεχομένων:

Πλήρες αντικλεπτικό σύστημα οχήματος GPS+GPRS με βάση το Arduino: 5 βήματα (με εικόνες)
Πλήρες αντικλεπτικό σύστημα οχήματος GPS+GPRS με βάση το Arduino: 5 βήματα (με εικόνες)

Βίντεο: Πλήρες αντικλεπτικό σύστημα οχήματος GPS+GPRS με βάση το Arduino: 5 βήματα (με εικόνες)

Βίντεο: Πλήρες αντικλεπτικό σύστημα οχήματος GPS+GPRS με βάση το Arduino: 5 βήματα (με εικόνες)
Βίντεο: GPS TRACKER Αυτοκινήτου!Τι Είναι?Πως Λειτουργεί? 2024, Νοέμβριος
Anonim
Image
Image
Το Υλικό
Το Υλικό

Γεια σε όλους!

Wantedθελα να δημιουργήσω μια ολοκληρωμένη λύση για αντικλεπτική συσκευή οχήματος GPS, η οποία θα ήταν:

όσο πιο φθηνά γίνεται

όσο το δυνατόν πληρέστερα

καθώς απλά-λειτουργεί-δεν υπάρχει-τίποτα-άλλο-να γίνει όσο το δυνατόν περισσότερο

Έτσι κατέληξα στη δημιουργία μιας λύσης που βασίζεται σε Arduino και μου κόστισε συνολικά 25 $, περισσότερο ή λιγότερο.

Όπως μπορείτε να δείτε από το βίντεο, λειτουργεί απλά! Ξεκινάτε το αυτοκίνητο, λαμβάνετε μια ειδοποίηση στο κινητό σας τηλέφωνο ότι το αυτοκίνητο κινείται, στη συνέχεια ανοίγετε την εφαρμογή για κινητά και μπορείτε να δείτε το αυτοκίνητο να κινείται σε πραγματικό χρόνο (με καθυστέρηση ενημέρωσης 10 δευτερολέπτων).

Αυτό το σεμινάριο θα σας καθοδηγήσει σε όλα τα βήματα, έχοντας κατά νου ότι υπάρχουν πολλά στοιχεία στη λύση:

1) το υλικό (βασισμένο σε Arduino)

2) το λογισμικό (πρόγραμμα Arduino)

3) περισσότερο λογισμικό (λήψη διακομιστών από την πλευρά του διακομιστή)

4) ακόμη περισσότερο λογισμικό (η εφαρμογή για κινητά)

Ας αρχίσουμε..

Βήμα 1: Το υλικό

Το Υλικό
Το Υλικό

Λίστα με τα ψώνια:

1) Arduino Uno R3 ή κλώνος. Χρησιμοποίησα τον κλώνο "DCcEle DCcduino uno", ο οποίος δεν φαίνεται να είναι πλέον διαθέσιμος. Εδώ είναι ένα ισοδύναμο: στο Aliexpress - 3,75 $

2) Μονάδα GPS για Arduino (GY-NEO6MV2 νέα μονάδα GPS με Flight Control Flight Control EEPROM MWC APM2.5 μεγάλη κεραία NEO6MV2). Χρησιμοποίησα αυτό: στο Aliexpress - 6,66 $

3) Μονάδα GPRS / GSM για Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODULE Quad-Band W / Antenna Cable Cap). Χρησιμοποίησα αυτό: στο Aliexpress - 6,71 $

4) Ανταλλακτικά καλώδια dupont όπως αυτά: στο Aliexpress - 0,89 $

5) Κάρτα SIM δεδομένων IoT (ή οποιαδήποτε άλλη κάρτα SIM με σύνδεση δεδομένων). Χρησιμοποίησα αυτό: από το Hologram.io. Έχω έναν δωρεάν προγραμματιστή, μόνο πληρωμένη αποστολή - 7,50 $

Σύνολο: 25,51 $, αλλά είχα τα καλώδια ήδη, οπότε είναι λιγότερο από 25 $!

Οι δύο εικόνες δείχνουν τα συστατικά πριν από τη συναρμολόγηση και το τελικό προϊόν. Οι συνδέσεις που πρέπει να κάνετε είναι:

Arduino - SIM800L

10 - ΕΠΑΝΑΦΟΡΑ

GND - GND (2 από αυτά)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino-GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Συνδέστε όλα τα καλώδια και τις κεραίες και βεβαιωθείτε ότι τροφοδοτείτε το Arduino από μια πηγή ικανή να σας προσφέρει κορυφές 2Α. Το usb του υπολογιστή είναι ελάχιστα καλά (χρησιμοποιώ MacBook Pro), ένας "τυχαίος" φορτιστής τηλεφώνου δεν θα είναι αρκετός. Οι περισσότερες πρίζες usb αυτοκινήτων είναι επίσης μικρότερες από 1Α. Εάν συμβαίνει αυτό, χρειάζεστε επίσης ένα τροφοδοτικό 12v αυτοκινήτου 5v με τουλάχιστον 2Α.

Τοποθετήστε την κάρτα sim. Εάν χρησιμοποιείτε την κάρτα sim Hologram.io, βεβαιωθείτε ότι έχετε εγγραφεί στον πίνακα ελέγχου και ενεργοποιήσετε την κάρτα sim (διαρκεί μερικά λεπτά / ώρες).

Βήμα 2: Το Λογισμικό (Πρόγραμμα Arduino)

Το Λογισμικό (Πρόγραμμα Arduino)
Το Λογισμικό (Πρόγραμμα Arduino)

Υποθέτω ότι είστε εξοικειωμένοι με τον προγραμματισμό Arduino. Διαφορετικά, ξεκινήστε με αυτόν τον οδηγό: στο Instructables.

Χρειάζεστε μόνο μία εξωτερική βιβλιοθήκη, έπρεπε να την εγκαταστήσω χειροκίνητα. Μεταβείτε εδώ: TinyGPS, εξάγετε τη βιβλιοθήκη και εγκαταστήστε την στον τοπικό σας φάκελο Arduino.

Από εκεί και πέρα, θα «κλέψουμε» κάποιο κώδικα από το βασικό τους παράδειγμα και θα τον τροποποιήσουμε σύμφωνα με τους σκοπούς μας.

Στη συνέχεια θα "κλέψουμε" από αυτόν τον οδηγό και θα τροποποιήσουμε ξανά τον κώδικα για τους σκοπούς μας.

Το αποτέλεσμα είναι το συνημμένο πρόγραμμα.ino.

Υπάρχουν μερικά πράγματα που μπορείτε και πρέπει να τροποποιήσετε:

το "SECONDS" καθορίζει και το "SERVER" ορίζει.

Έχω ορίσει το SECONDS σε 10 και για αυτό: το πρόγραμμα προγραμματιστών Hologram.io σας δίνει 1mb δωρεάν δεδομένα ανά μήνα. Αυτό σημαίνει ότι θέλουμε να ελαχιστοποιήσουμε τα byte που αποστέλλονται, αλλά επίσης πρέπει να ενημερώνουμε τη θέση μας τόσο συχνά. Θα χρησιμοποιήσουμε τυπικές εντολές AT modem για να στείλουμε πακέτα UDP στον διακομιστή μας που λαμβάνουν τα μηνύματα, με lat/lon, το καθένα χρησιμοποιώντας 4 byte και ταχύτητα χρησιμοποιώντας 1 byte. Έτσι, η συνολική ενημέρωση gps είναι 20 byte (κεφαλίδα IP) συν 8 byte (κεφαλίδα UDP) συν 9 byte (ωφέλιμο φορτίο). Αυτό είναι 37 byte. Υποθέτοντας ότι το αυτοκίνητό μου είναι ενεργό όχι περισσότερο από 2 ώρες την ημέρα, μπορώ να αντέξω οικονομικά μια ενημέρωση κάθε 10 δευτερόλεπτα και καταναλώνω μόνο 806kb το μήνα (31 ημέρες). Αυτό μου δίνει 218kb για τον χρόνο οδήγησης πέρα από τον δικό μου, δηλαδή τον κλέφτη αυτοκινήτου. Αυτό μου δίνει 16,76 ώρες παρακολούθησης gps εκτός του χρόνου οδήγησης, με μία ενημέρωση κάθε 10 δευτερόλεπτα.

Τώρα, αυτά τα πακέτα UDP πρέπει να πάνε κάπου. Χρησιμοποιώ διακομιστή Ubuntu που φιλοξενείται σε cloud CloudAtCost, τον οποίο αγόρασα για 8 $ με έκπτωση 80% και ο οποίος με εξυπηρετεί για άλλους σκοπούς, επομένως δεν μπαίνει στους υπολογισμούς κόστους. Εάν δεν θέλετε να πληρώσετε για έναν διακομιστή, μπορείτε να λάβετε ένα δωρεάν δείγμα Amazon AWS για 12 μήνες και να εγκαταστήσετε το Ubuntu σε αυτόν. Μόλις ρυθμίσετε τον διακομιστή σας (δείτε το επόμενο βήμα), λάβετε τη στατική του διεύθυνση IP και τοποθετήστε την δίπλα στον ορισμό SERVER.

Βήμα 3: Περισσότερο λογισμικό (Λήψη τοποθεσιών Gps από την πλευρά του διακομιστή)

Τόσο το CloudAtCost όσο και το Amazon διαθέτουν μια προκαθορισμένη εικόνα Ubuntu (το CloudAtCost είναι στο Ubuntu 14.04). Έτσι, δεν περνάω από τα βήματα για να εγκαταστήσω το Ubuntu, όπως δεν θα χρειαστεί. Εάν χρησιμοποιείτε το CloudAtCost, μπορεί να θέλετε να κάνετε αναβάθμιση σε Ubuntu 16.04, αυτό γίνεται με

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Στη συνέχεια, πρέπει να εγκαταστήσετε το LAMP (ανατρέξτε σε αυτόν τον οδηγό: εδώ), αν και δεν πρόκειται να χρησιμοποιήσουμε PHP.

Εγκαταστήστε την Python με

sudo apt-get install python-minimal pip

Στη συνέχεια, προσθέστε μερικές ενότητες:

pip install --user urllib3 αιτήματα

Πρέπει να ορίσουμε /var /www εγγράψιμο από εσάς, οπότε ας κάνουμε:

sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data /var /www

sudo chmod -R g+rwX /var /www

Τώρα, χρειαζόμαστε έναν "διακομιστή" για i) λήψη των πακέτων UDP, ii) δημιουργία του κομματιού, iii) αποστολή ειδοποίησης στο κινητό μας τηλέφωνο και "διακομιστή" για την εξυπηρέτηση του δημιουργημένου κομματιού gps (αυτό θα είναι apache).

Για τον πρώτο διακομιστή, αντιγράψτε τον συνημμένο κώδικα python. Πρέπει να διαμορφώσετε τα ακόλουθα πράγματα:

iftttuser = "Ο ΧΡΗΣΤΗΣ ΣΑΣ IFTTT"

iftttpass = "ΤΟ ΠΡΟΣΩΠΙΚΟ ΣΑΣ IFTTT"

iftttappletid = "ΕΦΑΡΜΟΓΗ ΕΙΔΟΠΟΙΗΣΗΣ IFTTT ΣΑΣ"

iftttkey = "ΤΟ ΚΛΕΙΔΙ ΣΟΥ IFTTT"

iftttevent = "ΤΟ ΣΗΜΕΙΟ ΣΑΣ IFTTT"

Όπως ίσως μαντέψατε, χρησιμοποιούμε το IFTTT για διακομιστές ειδοποιήσεων σε πραγματικό χρόνο στα κινητά μας τηλέφωνα. Ακολουθήστε αυτόν τον οδηγό: εδώ αλλά αντί να επιλέξετε "στείλτε μου ένα sms", επιλέξτε "αποστολή ειδοποίησης εφαρμογής". Πάρτε το αναγνωριστικό μικροεφαρμογής (μετακινηθείτε στο κάτω μέρος της διαμόρφωσης της μικροεφαρμογής για να το δείτε) και χρησιμοποιήστε το παραπάνω. Χρησιμοποιήστε επίσης το έτσι δημιουργημένο κλειδί στις παραπάνω ρυθμίσεις. Το συμβάν IFTTT είναι το όνομα που δώσατε στο applet σας, του έδωσα "carmoving".

Τώρα, δεν υπάρχουν δωρεάν πλατφόρμες ειδοποιήσεων σε πραγματικό χρόνο, AFAIK. Αν γνωρίζετε κάποιο, ενημερώστε με. Το IFTTT έχει καθυστέρηση. Αυτή η καθυστέρηση μπορεί να ελαχιστοποιηθεί σε μερικά δευτερόλεπτα εάν χρησιμοποιείτε τη σκανδάλη ηλεκτρονικού ταχυδρομείου. Δυστυχώς, αυτό δεν είναι αξιόπιστο. Το webhook που μόλις δημιουργήθηκε έχει 15 λεπτά καθυστέρηση. Αλλά δεν θέλουμε να περιμένουμε 15 λεπτά για να μάθουμε ότι μας κλέβουν το αυτοκίνητο, σωστά; Αυτός είναι ο κωδικός πρόσβασης που σας ζητά να ρυθμίσετε όλες τις παραπάνω ρυθμίσεις. Εάν μετακινηθείτε στον κώδικα python, βλέπετε ότι υπάρχουν μερικές γραμμές, συγκεκριμένα 45-53, για την αυτοματοποίηση της λειτουργίας "ελέγξτε τώρα" του IFTTT, το οποίο αναγκάζει έναν ξαφνικό έλεγχο των ενεργοποιητών και ενεργοποιεί την ειδοποίηση σε λιγότερο από 1 δευτερόλεπτο! Παρακαλώ:)

Μόλις ρυθμίσετε κάπου τον κώδικα python σας, απλώς εκτελέστε τον. Εάν είστε επαγγελματίας χρήστης, ζητήστε να ξεκινήσει κατά την εκκίνηση του διακομιστή. Ανατρέξτε στους τόνους δωρεάν οδηγών στο διαδίκτυο για το πώς να το κάνετε αυτό, για παράδειγμα αυτόν.

Βήμα 4: Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)

Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)

Χρειαζόμαστε έναν γρήγορο και απλό τρόπο για να απεικονίσουμε απλώς το κομμάτι gps που ενημερώνει ο διακομιστής στο προηγούμενο βήμα. Ενδεχομένως, πρέπει να λειτουργεί σε όλα τα είδη smartphone.

Ας χρησιμοποιήσουμε στη συνέχεια μια σουίτα εφαρμογών για κινητές συσκευές, όπως το Ionic/Cordova. Χρησιμοποιώ το Ionic v1, μην το συγχέετε με το Ionic Native ή το Ionic v2, αυτό είναι διαφορετικό.

Ακολουθήστε αυτά τα πολύ απλά βήματα για να ξεκινήσετε το πρώτο σας έργο στο Ionic: εδώ.

Στη συνέχεια, πρέπει να ξεκινήσετε ένα νέο έργο που βασίζεται στο google maps sdk, όπως αυτό:

ιονικοί χάρτες έναρξης myapp

Μεταβείτε στο φάκελο "πόροι" και αντιγράψτε τη μεγάλη εικόνα του αυτοκινήτου εδώ ως "icon.png". Αντ 'αυτού, ανεβάστε τα μικρά εικονίδια ως "car2.png" και "start.png" κάπου στον διακομιστή σας, όπως https://yourserver/car2.png. Θα τα χρειαστείτε ως δείκτες στην εφαρμογή σας.

Χρησιμοποιήστε τα συνημμένα index.html (μετονομασία index.html.txt σε index.html), Directives.js και controllers.js αρχεία και τοποθετήστε τα σε www (index.html), www/js (όλα τα js).

προσθέστε την πλατφόρμα σας ως εξής:

ιονικό add plaftorm android

χτίστε έτσι:

ιονική κατασκευή android

τότε το ionic θα σας πει πού έφτιαξε το.apk που μπορείτε να εγκαταστήσετε στο κινητό σας τηλέφωνο.

Για να δημιουργήσετε για iOS, θα χρειαστείτε Mac και Xcode. Το ionic μπορεί στη συνέχεια να αποθηκεύσει ένα έργο Xcode, το οποίο μπορείτε να ανοίξετε στο Xcode και να το δημιουργήσετε για το τηλέφωνό σας. Εάν δεν έχετε λογαριασμό προγραμματιστή iOS, θα πρέπει στη συνέχεια να συνδέσετε το τηλέφωνό σας στο Xcode και να ρυθμίσετε το τηλέφωνό σας για ανάπτυξη, ώστε να μπορείτε να εγκαταστήσετε την εφαρμογή εκεί. Αυτό είναι έξω από το πεδίο αυτού του οδηγού.

Στα διάφορα αρχεία js, θα πρέπει να βρείτε τις γραμμές που αντιστοιχούν στα "car2.png" και "start.png" και να τις τροποποιήσετε με τη διαδρομή των εικόνων σας. Το ίδιο και για το "plan.json".

Αυτό είναι!!

Βήμα 5: Μελλοντική εργασία

1) Έχω βάλει τα πάντα σε ένα κουτί από χαρτόνι που μπορώ να κρύψω οπουδήποτε κοντά στην πρίζα usb. Το καλύτερο που θα μπορούσατε να κάνετε είναι να τοποθετήσετε μια καλύτερη θήκη κάτω από το καπό του αυτοκινήτου, με μετατροπέα 12v-> 5v.

2) Με έναν αισθητήρα bluetooth, θα μπορούσατε πραγματικά να "αισθανθείτε" εάν βρίσκεστε στο αυτοκίνητο, οπότε το σύστημα gps δεν θα ενεργοποιηθεί.

3) Απλώς πληρώστε για ένα πρόγραμμα δεδομένων sim και ορίστε το SECONDS στο 1 για να απολαύσετε την παρακολούθηση σε πραγματικό χρόνο:)

Ελπίζω να απολαύσατε αυτό το πρώτο διδακτικό μου!

Συνιστάται: