Πίνακας περιεχομένων:
- Βήμα 1: Το υλικό
- Βήμα 2: Το Λογισμικό (Πρόγραμμα Arduino)
- Βήμα 3: Περισσότερο λογισμικό (Λήψη τοποθεσιών Gps από την πλευρά του διακομιστή)
- Βήμα 4: Ακόμα περισσότερο λογισμικό (η εφαρμογή για κινητά)
- Βήμα 5: Μελλοντική εργασία
Βίντεο: Πλήρες αντικλεπτικό σύστημα οχήματος GPS+GPRS με βάση το Arduino: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Γεια σε όλους!
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. Διαφορετικά, ξεκινήστε με αυτόν τον οδηγό: στο 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 για να απολαύσετε την παρακολούθηση σε πραγματικό χρόνο:)
Ελπίζω να απολαύσατε αυτό το πρώτο διδακτικό μου!
Συνιστάται:
Συμπαγής αισθητήρας καιρού με σύνδεση δεδομένων GPRS (κάρτα SIM): 4 βήματα
Compact Weather Sensor With GPRS (SIM Card) Link Link Data: Σύνοψη έργουΑυτός είναι ένας αισθητήρας καιρού με μπαταρία που βασίζεται σε αισθητήρα θερμοκρασίας/πίεσης/υγρασίας BME280 και σε ένα ATMega328P MCU. Λειτουργεί με δύο μπαταρίες λιθίου θειονυλ ΑΑ 3,6 V. Έχει εξαιρετικά χαμηλή κατανάλωση ύπνου 6 μΑ. Στέλνει
A9G GPS & GPRS Module Tutorial - Ai-Thinker - Εντολές AT: 7 βήματα
A9G GPS & GPRS Module Tutorial | Ai-Thinker | AT Commands: Γεια, τι συμβαίνει, παιδιά! Akarsh εδώ από το CETech. Σήμερα, πρόκειται να περάσουμε από ενότητα A9G GPS, GSM και GPRS από την AI Thinker. Υπάρχουν αρκετές άλλες ενότητες, όπως A9 και A6 από το AI Thinker που έχουν παρόμοιες δυνατότητες GSM και GPRS αλλά
Κάμερα ηλεκτρονικού ταχυδρομείου Arduino Security 3G/GPRS με ανίχνευση κίνησης: 4 βήματα
Arduino Security 3G/GPRS Email Camera With Motion Detection: Σε αυτό το εγχειρίδιο, θα ήθελα να μιλήσω για μια έκδοση κατασκευής συστήματος παρακολούθησης ασφαλείας με ανιχνευτή κίνησης και αποστολής φωτογραφιών στο γραμματοκιβώτιο μέσω ασπίδας 3G/GPRS. Αυτό το άρθρο βασίζεται σε άλλες οδηγίες: οδηγίες 1 και οδηγίες
Arduino και SIM900 GSM GPRS 3G Καταγραφή θερμοκρασίας και υγρασίας, Στατιστικά για κινητά: 4 βήματα
Arduino και SIM900 GSM GPRS 3G Καταγραφή θερμοκρασίας και υγρασίας, Στατιστικά για κινητά: Με το Arduino UNO R3, SIM900 Shield AND DHT22 μπορείτε να καταγράφετε δεδομένα θερμοκρασίας και υγρασίας έξω, στο δωμάτιο, στο θερμοκήπιο, στο εργαστήριο, στο ψυγείο ή σε άλλα μέρη εντελώς δωρεάν. Αυτό το παράδειγμα θα χρησιμοποιήσουμε για την καταγραφή θερμοκρασίας και υγρασίας δωματίου. Η συσκευή θα
Σύνδεση TCP/IP μέσω GPRS: Τρόπος αποστολής δεδομένων σε διακομιστή χρησιμοποιώντας μονάδα SIM900A: 4 βήματα
Σύνδεση TCP/IP μέσω GPRS: Τρόπος αποστολής δεδομένων σε διακομιστή χρησιμοποιώντας μονάδα SIM900A: Σε αυτό το σεμινάριο θα σας πω πώς να στείλετε δεδομένα στον διακομιστή TCP χρησιμοποιώντας την ενότητα sim900. Επίσης, θα δούμε πώς μπορούμε να λαμβάνουμε δεδομένα από διακομιστή σε πελάτη (ενότητα GSM)