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

Παρακολούθηση GPS σε πραγματικό χρόνο: 3 βήματα
Παρακολούθηση GPS σε πραγματικό χρόνο: 3 βήματα

Βίντεο: Παρακολούθηση GPS σε πραγματικό χρόνο: 3 βήματα

Βίντεο: Παρακολούθηση GPS σε πραγματικό χρόνο: 3 βήματα
Βίντεο: Πως να ΜΗΝ χάσεις ΤΙΠΟΤΑ ΞΑΝΑ ⚪️ | AirTags Review Greek 2024, Ιούλιος
Anonim

Ακολουθήστε περισσότερα από τον συγγραφέα:

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Πώς να φτιάξετε ένα Raspberry Pi Temperature Monitor
Πώς να φτιάξετε ένα Raspberry Pi Temperature Monitor
Πώς να φτιάξετε ένα Raspberry Pi Temperature Monitor
Πώς να φτιάξετε ένα Raspberry Pi Temperature Monitor
Μεταδώστε δεδομένα από τα Υπολογιστικά φύλλα Google σε έναν Πίνακα ελέγχου
Μεταδώστε δεδομένα από τα Υπολογιστικά φύλλα Google σε έναν Πίνακα ελέγχου
Μεταδώστε δεδομένα από τα Υπολογιστικά φύλλα Google σε έναν Πίνακα ελέγχου
Μεταδώστε δεδομένα από τα Υπολογιστικά φύλλα Google σε έναν Πίνακα ελέγχου

Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να κάνετε παρακολούθηση τοποθεσίας σε πραγματικό χρόνο χρησιμοποιώντας BerryGPS-GSM, Raspberry Pi Zero και Initial State. Θα στείλουμε γεωγραφικό μήκος, γεωγραφικό πλάτος και ταχύτητα μέσω 3G με το BerryGPS-GSM στην αρχική κατάσταση.

Προμήθειες

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Αρχική κατάσταση

Βήμα 1: Αρχική κατάσταση

Αρχική κατάσταση
Αρχική κατάσταση

Θέλουμε να μεταδώσουμε όλα τα δεδομένα γεωγραφικού πλάτους, γεωγραφικού πλάτους και ταχύτητας σε μια υπηρεσία cloud και να μετατρέψουμε τα δεδομένα μας σε έναν όμορφο πίνακα ελέγχου στον οποίο μπορούμε να έχουμε πρόσβαση από το φορητό υπολογιστή ή την κινητή συσκευή μας. Θα χρησιμοποιήσουμε την αρχική κατάσταση.

Βήμα 1: Εγγραφή για τον αρχικό λογαριασμό κράτους

Μεταβείτε στη διεύθυνση https://iot.app.initialstate.com και δημιουργήστε έναν νέο λογαριασμό. Παίρνετε δωρεάν δοκιμή 14 ημερών και οποιοσδήποτε με διεύθυνση ηλεκτρονικού ταχυδρομείου edu μπορεί να εγγραφεί για δωρεάν φοιτητικό πρόγραμμα.

Βήμα 2: Εγκαταστήστε το ISStreamer

Εγκαταστήστε τη μονάδα αρχικής κατάστασης Python στο Raspberry Pi σας. Στη γραμμή εντολών, εκτελέστε την ακόλουθη εντολή:

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Βήμα 3: Κάντε λίγη Automagic

Μετά το Βήμα 2, θα δείτε κάτι παρόμοιο με την ακόλουθη έξοδο στην οθόνη:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Έναρξη ISStreamer Python Εύκολη εγκατάσταση! Αυτό μπορεί να πάρει μερικά λεπτά για να εγκατασταθεί, πιείτε λίγο καφέ:) Αλλά μην ξεχάσετε να επιστρέψετε, θα έχω ερωτήσεις αργότερα! Βρέθηκε easy_install: setuptools 1.1.6 Βρέθηκε pip: pip 1.5.6 από /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: Βρέθηκε 5 ISStreamer, που ενημερώνεται … Η απαίτηση είναι ήδη ενημερωμένη: ISStreamer στη Βιβλιοθήκη/Python/2.7/site-packages Καθαρισμός… Θέλετε να λάβετε αυτόματα ένα παράδειγμα δέσμης ενεργειών; [y/N] Πού θέλετε να αποθηκεύσετε το παράδειγμα; [προεπιλογή:./is_example.py] Επιλέξτε ποια εφαρμογή αρχικής κατάστασης χρησιμοποιείτε: 1. app.initialstate.com 2. [ΝΕΟ!] iot.app.initialstate.com Εισαγάγετε την επιλογή 1 ή 2: Πληκτρολογήστε iot.app.initialstate.com όνομα χρήστη: Εισαγάγετε τον κωδικό πρόσβασης iot.app.initialstate.com:

Όταν ερωτηθείτε εάν θέλετε να λάβετε αυτόματα ένα παράδειγμα σεναρίου, τοποθετήστε "y" για ναι και πατήστε enter για να αποθηκεύσετε το σενάριό σας στην προεπιλεγμένη τοποθεσία. Για την ερώτηση σχετικά με την εφαρμογή που χρησιμοποιείτε, επιλέξτε 2 (εκτός εάν εγγραφείτε πριν από τον Νοέμβριο του 2018) και εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας.

Βήμα 4: Εκτελέστε το Παράδειγμα σεναρίου

Εκτελέστε τη δοκιμαστική δέσμη ενεργειών για να βεβαιωθείτε ότι μπορούμε να δημιουργήσουμε μια ροή δεδομένων στον λογαριασμό σας αρχικής κατάστασης. Γράψτε την ακόλουθη εντολή:

$ python is_example.py

Βήμα 5: Παράδειγμα δεδομένων

Επιστρέψτε στον αρχικό σας λογαριασμό στο πρόγραμμα περιήγησής σας. Ένας νέος κάδος δεδομένων που ονομάζεται "Παράδειγμα ροής Python" θα έπρεπε να έχει εμφανιστεί στα αριστερά στο ράφι καταγραφής (ίσως χρειαστεί να ανανεώσετε τη σελίδα). Κάντε κλικ σε αυτόν τον κάδο για να δείτε τα δεδομένα σας.

Βήμα 2: BerryGPS-GSM & Raspberry Pi Zero

BerryGPS-GSM & Raspberry Pi Zero
BerryGPS-GSM & Raspberry Pi Zero

Εάν χρησιμοποιείτε ένα BerryGPS-GSM, μπορείτε να ακολουθήσετε αυτόν τον οδηγό για να λειτουργήσει το GPS και να συνδέσετε το Pi σας μέσω 3G χρησιμοποιώντας PPP.

Ο συνδεδεμένος οδηγός δείχνει επίσης πώς να κάνετε το Pi σας να συνδέεται αυτόματα στο δίκτυο της εταιρείας κινητής τηλεφωνίας κατά την εκκίνηση. Θα το χρειαστείτε εάν σκοπεύετε να εκτελέσετε απομακρυσμένη παρακολούθηση.

Εγκατάσταση Βιβλιοθηκών

Θα χρειαστεί να εγκαταστήσετε τις ακόλουθες βιβλιοθήκες:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Κύριο σενάριο Python

Εδώ θα δημιουργήσουμε το κύριο σενάριο που θα μεταδώσει τα δεδομένα GPS στην αρχική κατάσταση. Ο παρακάτω κώδικας δημιουργεί ένα ξεχωριστό νήμα που χρησιμοποιείται για την παρακολούθηση της σειριακής θύρας. Αυτό είναι απαραίτητο επειδή έχουμε μια παύση στον κύριο βρόχο. Η παύση είναι εκεί για να περιορίσει πόσα δεδομένα ανεβάζουμε σε 3G.

Εάν κάναμε τα πάντα στο ίδιο νήμα κατά τη διάρκεια της παύσης, το σειριακό buffer θα γέμιζε (είναι FIFO) και όταν λάβουμε την επόμενη τιμή από το buffer, θα είναι παλιό για μερικά δευτερόλεπτα. Αυτό συμβαίνει σε κάθε βρόχο και τελικά τα δεδομένα θα είναι λεπτά ή ώρες πίσω.

Για να δημιουργήσετε το σενάριο python και να ανοίξετε τον επεξεργαστή κειμένου, εισαγάγετε την ακόλουθη εντολή:

$ nano GPStracker.py

Αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στον επεξεργαστή κειμένου. Θα χρειαστεί να εισαγάγετε το Κλειδί πρόσβασης αρχικής κατάστασης στη γραμμή 11 όπου αναγράφεται "ΕΙΣΑΓΩΓΗΣΤΕ ΤΟ ΚΛΕΙΔΙ ΠΡΟΣΒΑΣΗΣ ΣΑΣ":

#! /usr/bin/pythonfrom gps import * from time import * import threading data datetime from ISStreamer. Streamer import Streamer gpsd = Καμία #Ρυθμίστε την παγκόσμια μεταβλητή #Ρυθμίστε τη ροή αρχικής κατάστασης, εισαγάγετε το κλειδί πρόσβασής σας παρακάτω streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER YOUR ACCESS KEY ") class GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring είναι στο πεδίο εφαρμογής gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Ξεκινήστε να τρέχετε αυτό το νήμα def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # δημιουργήστε ένα νήμα για τη συλλογή δεδομένων δοκιμάστε: gpsdThread.start () # ξεκινήστε το ενώ είναι True: εκτυπώστε 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) και (gpsd.fix.longitude'nan '): streamer.log ("Τοποθεσία", "{lat}, {lon}". format (lat = gpsd.fix.latitude, lon = gpsd.fix.longitu de)) streamer.log ("speed", gpsd.fix.speed) εκτύπωση "lat", gpsd.fix.latitude, print "lon", gpsd.fix.longitude, print "speed", gpsd.fix.speed sleep (5) εκτός (KeyboardInterrupt, SystemExit): # όταν πατάτε ctrl+c print "\ nKilling Thread …" gpsdThread.running = False gpsdThread.join () # περιμένετε να τελειώσει το νήμα με αυτό που κάνει εκτύπωση "Τέλος. / NΕκκίνηση"

Αποθηκεύστε και εξέλθετε από τον επεξεργαστή κειμένου πατώντας CTRL + X, Y, enter.

Ξεκινήστε αυτόματα το σενάριο κατά την εκκίνηση

Εάν κάνετε απομακρυσμένη παρακολούθηση, θα θέλατε το σενάριο να τρέξει κατά την εκκίνηση. Για να γίνει αυτό, θα δημιουργήσουμε ένα μικρό σενάριο που θα ξεκινήσει το κύριο πρόγραμμα python. Εισαγάγετε την ακόλουθη εντολή:

$ nano GPStrackerStart.sh

Αντιγράψτε τις γραμμές στον επεξεργαστή κειμένου:

#!/bin/bash

ύπνος 15 python /home/pi/GPStracker.py &

Η παύση παραπάνω είναι εκεί για να δώσει στο Pi χρόνο να ξεκινήσει και να συνδεθεί μέσω PPP.

Κάντε το σενάριο εκτελέσιμο:

$ chmod +x ~/GPStrackerStart.sh

Θα χρησιμοποιούμε το cron για να ξεκινά το σενάριο κάθε φορά που ξεκινά το Pi:

$ crontab -e

Προσθέστε την παρακάτω γραμμή στο κάτω μέρος:

@reboot /home/pi/GPStrackerStart.sh &

Βήμα 3: Πίνακας ελέγχου τοποθεσίας και ταχύτητας

Πίνακας ελέγχου τοποθεσίας & ταχύτητας
Πίνακας ελέγχου τοποθεσίας & ταχύτητας

Τώρα που έχετε ξεκινήσει το έργο σας, τα δεδομένα πρέπει να αποστέλλονται στην αρχική κατάσταση. Θα έχετε δεδομένα GPS και δεδομένα ταχύτητας. Μπορείτε να χρησιμοποιήσετε τα δεδομένα GPS σε ένα Πλακάκι χαρτών για να παρακολουθείτε την τοποθεσία. Για το Πλακάκι του χάρτη, βεβαιωθείτε ότι έχετε επιλέξει το πλαίσιο ελέγχου Σχεδίαση διαδρομής, έτσι ώστε η παρακολούθηση της τοποθεσίας σας να αντιστοιχίζεται όπως στον παραπάνω πίνακα ελέγχου. Μπορείτε να βάλετε τα δεδομένα ταχύτητας σε ένα γράφημα γραμμών για να δείτε την ταχύτητα με την πάροδο του χρόνου.

Συνιστάται: