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

Σύστημα GPS: 7 βήματα
Σύστημα GPS: 7 βήματα

Βίντεο: Σύστημα GPS: 7 βήματα

Βίντεο: Σύστημα GPS: 7 βήματα
Βίντεο: Spy GPS tracker GF-07 detailed review 2024, Οκτώβριος
Anonim
Σύστημα GPS
Σύστημα GPS
Σύστημα GPS
Σύστημα GPS
Σύστημα GPS
Σύστημα GPS

Δημιουργός έργου: Carlos Gomez

Η κατοχή ενός αξιόπιστου συστήματος πλοήγησης είναι υψίστης σημασίας για όποιον προσπαθεί να ταξιδέψει και να εξερευνήσει τον κόσμο.

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

Το Global Positioning System (GPS) είναι ένα δίκτυο δορυφόρων που περιστρέφονται γύρω από τη Γη σε υψόμετρο περίπου 20.000 χιλιομέτρων. Οποιοσδήποτε διαθέτει συσκευή GPS μπορεί να λάβει τα ραδιοσήματα που μεταδίδουν οι δορυφόροι και είναι σε θέση να τα χρησιμοποιήσει με όποιον τρόπο χρειάζεται. Όπου και αν βρίσκεστε στον πλανήτη, τουλάχιστον τέσσερα GPS θα πρέπει να είναι διαθέσιμα ανά πάσα στιγμή. Χρησιμοποιώντας μια μέθοδο που ονομάζεται 3-D trilateration, μια συσκευή GPS μπορεί να χρησιμοποιήσει τρεις δορυφόρους για να καθορίσει τη θέση της συσκευής στη Γη. Κάθε ένας από τους τρεις δορυφόρους στέλνει ένα σήμα στη συσκευή και η συσκευή καθορίζει την απόσταση της από τον δορυφόρο. Χρησιμοποιώντας καθέναν από τους τρεις υπολογισμούς απόστασης, η συσκευή είναι πλέον σε θέση να εντοπίσει τη θέση της στη Γη και την επιστρέφει στον χρήστη.

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

Βήμα 1: Ξεκινώντας

Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
Ξεκινώντας

Για να ξεκινήσει αυτό το έργο, θα πρέπει πρώτα να συγκεντρώσουμε όλα τα σωστά υλικά

1: Raspberry Pi Zero W

2: Δέκτης GPS

3: 1,8 TFT 128 x 160 LCD οθόνη SPI

4: ~ 11 σύρματα

Κουμπιά 5: 2

6: 2x 1k και 2x 10k αντιστάσεις για κουμπιά έλξης

7: Πίνακας ψωμιού

Αυτό το έργο θα χρησιμοποιήσει τις καρφίτσες GPIO του Raspberry Pi και ως εκ τούτου θα χρειαστεί να συνδέσουμε τα πάντα με μια σανίδα ψωμιού για να αναπτύξουμε το έργο μας. Υποτίθεται επίσης ότι η συγκόλληση σε όλες τις καρφίτσες έχει ολοκληρωθεί και τελειώσει πριν προχωρήσουμε και συνδέσουμε όλα τα μέρη μας.

Βήμα 2: Συνδέστε τη μονάδα GPS στο Raspberry Pi

Συνδέστε τη μονάδα GPS στο Raspberry Pi
Συνδέστε τη μονάδα GPS στο Raspberry Pi
Συνδέστε τη μονάδα GPS στο Raspberry Pi
Συνδέστε τη μονάδα GPS στο Raspberry Pi

Για τη χρήση του συστήματος GPS μας, θα χρειαστεί να συνδέσετε τις ακίδες Tx και Rx από τη μονάδα GPS στην καρφίτσα GPIO 14 και 15 στο Raspberry Pi. Η ακίδα Tx του δέκτη GPS πηγαίνει στην ακίδα Rx του Pi και η καρφίτσα Rx του δέκτη GPS πηγαίνει στην ακίδα Tx του Raspberry pi.

Ο δέκτης GPS που εμφανίζεται στις εικόνες απαιτεί 3,3V για χρήση και μπορείτε να συνδέσετε τους ακροδέκτες 3,3V στη σωστή τάση, ενώ συνδέετε τον πείρο γείωσης στη γείωση.

Βήμα 3: Λήψη δεδομένων από μονάδα δέκτη GPS

Λήψη δεδομένων από μονάδα δέκτη GPS
Λήψη δεδομένων από μονάδα δέκτη GPS

Για να λάβουμε δεδομένα από τον δέκτη GPS στο Raspberry Pi πρέπει να επιτρέψουμε την ανάγνωση των σωστών υποδοχών από τις θύρες UART. Η ανάγνωση των ακατέργαστων δεδομένων θα απαιτούσε τη δημιουργία της δικής μας βιβλιοθήκης ανάλυσης, αλλά σε αυτό το σενάριο μπορούμε να επωφεληθούμε από έναν δαίμονα GPS που τρέχει στο παρασκήνιο για να βοηθήσει στην ανάλυση των δεδομένων και τη μετάδοσή τους στο Raspberry Pi

Για να το πετύχουμε αυτό, μπορούμε να ανοίξουμε ένα τερματικό στο Raspberry Pi και να εκτελέσουμε τον κώδικα:

sudo apt-get ενημέρωση

sudo apt-get install gpsd gpsd-clients python-gps

Αυτό θα πρέπει να φροντίσει για τη λήψη για εμάς.

Μόλις ολοκληρωθεί, πρέπει να απενεργοποιήσουμε την υπηρεσία συστήματος gpsd εκτελώντας τις ακόλουθες εντολές:

sudo systemctl stop gpsd.socket

sudo systemctl απενεργοποιήστε την υποδοχή gpsd.socket

Εάν θέλετε ποτέ να ενεργοποιήσετε την προεπιλεγμένη υπηρεσία συστήματος gpsd, μπορείτε να εκτελέσετε τις ακόλουθες εντολές για να την επαναφέρετε:

sudo systemctl ενεργοποιήστε την υποδοχή gpsd.socket

sudo systemctl εκκίνηση gpsd.socket

Τώρα πρέπει να ξεκινήσουμε τον δαίμονα gpsd και να τον δείξουμε στις θύρες UART εισάγοντας

sudo gpsd/dev/ttyAMA0 -F /var/run/gpsd.sock

Τώρα μπορούμε να εκτελέσουμε την παρακάτω εντολή και να δούμε όλα τα δεδομένα που επιπλέουν!

cgps -s

Βήμα 4: Συνδέστε την οθόνη στο Raspberry Pi

Συνδέστε την οθόνη στο Raspberry Pi
Συνδέστε την οθόνη στο Raspberry Pi
Συνδέστε την οθόνη στο Raspberry Pi
Συνδέστε την οθόνη στο Raspberry Pi

Μόλις έχουμε τον δέκτη GPS μας σε λειτουργία και δουλεύουμε με το Raspberry Pi, μπορούμε στη συνέχεια να συνδέσουμε την οθόνη με το Raspberry Pi. Θα χρησιμοποιήσουμε 5 καλώδια για να συνδέσουμε την οθόνη LCD μας στο Raspberry Pi και άλλες 4 ακίδες για να συνδέσουμε την κύρια τροφοδοσία και το LED στην οθόνη.

Έχω συμπεριλάβει μια φωτογραφία της οθόνης TFT που χρησιμοποιώ, αλλά αυτή θα πρέπει να λειτουργεί με οθόνες παρόμοιου μεγέθους και κατασκευής.

Συνδέστε LED και GND στη γείωση και συνδέστε LED+ και VCC σε 3,3V.

Συνδέστε τον ακροδέκτη RESET στην οθόνη με τον πείρο 25 στην πλακέτα Pi.

Συνδέστε το A0 στο pin 24 στην πλακέτα Pi.

Συνδέστε τον πείρο SDA στον πείρο MOSI στην πλακέτα Pi.

Συνδέστε τον πείρο SCK στην οθόνη LCD στην πλακέτα Pi.

Συνδέστε την καρφίτσα CS στην καρφίτσα 8 στην πλακέτα Pi.

Βήμα 5: Ρυθμίστε την οθόνη για εργασία με Raspberry Pi

Ρυθμίστε την οθόνη για να λειτουργεί με το Raspberry Pi
Ρυθμίστε την οθόνη για να λειτουργεί με το Raspberry Pi

Για να ρυθμίσετε την οθόνη, πρέπει να χρησιμοποιήσετε τη βιβλιοθήκη ST7735 που βρίσκεται σε αυτό το repo:

Βιβλιοθήκη οθόνης Python ST7735

Μόλις εγκαταστήσουμε αυτήν τη βιβλιοθήκη οθόνης στο σύστημα Raspberry Pi, μπορούμε τώρα να προχωρήσουμε στη δημιουργία ενός παραδείγματος αρχείου για να επιβεβαιώσουμε ότι η προηγούμενη καλωδίωση λειτουργεί σωστά.

Δημιουργήστε ένα αρχείο με τίτλο example.py και εισαγάγετε το παρακάτω κείμενο εκεί μαζί με ένα δείγμα εικόνας της επιλογής σας στον ίδιο φάκελο

εισαγωγή ST7735 ως TFTimport Adafruit_GPIO ως GPIO εισαγωγή Adafruit_GPIO. SPI ως SPI

ΠΛΑΤΟΣ = 128

ΥIGHΟΣ = 160 SPEED_HZ = 4000000

# Διαμόρφωση Raspberry Pi.

# Αυτές είναι οι ακίδες που απαιτούνται για τη σύνδεση της οθόνης LCD στο Raspberry Pi

DC = 24 RST = 25 SPI_PORT = 0 SPI_DEVICE = 0

# Δημιουργία κλάσης οθόνης TFT LCD.

disp = TFT. ST7735 (DC, rst = RST, spi = SPI. SpiDev (SPI_PORT, SPI_DEVICE, max_speed_hz = SPEED_HZ))

# Αρχικοποίηση οθόνης.

disp.begin () disp.reset ()

# Φορτώστε μια εικόνα.

newData = 0x42 disp.command (newData) print ('Loading image…') image = Image.open ('cat.jpg')

# Αλλάξτε το μέγεθος της εικόνας και περιστρέψτε την έτσι ώστε να ταιριάζει με την οθόνη.

image = image.rotate (270).resize ((WIDTH, HEIGHT))

# Θα εκτυπώσει στο τερματικό ότι το πρόγραμμά μας σχεδιάζει την εικόνα μας στην οθόνη

εκτύπωση ("Εικόνα σχεδίασης")

# Αυτή η λειτουργία θα εμφανίσει την εικόνα μας στην οθόνη

disp.display (εικόνα)

Αυτό το αρχείο θα ρυθμίσει τη διαμόρφωση Raspberry Pi για την οθόνη LCD και η βιβλιοθήκη θα μετατρέψει την εικόνα μας στο φάκελο και θα την εμφανίσει στην οθόνη.

Βήμα 6: Ρύθμιση μηχανών κατάστασης για την εμφάνιση πληροφοριών GPS στην οθόνη

Ρυθμίστε τις μηχανές κατάστασης για την εμφάνιση πληροφοριών GPS στην οθόνη
Ρυθμίστε τις μηχανές κατάστασης για την εμφάνιση πληροφοριών GPS στην οθόνη
Ρυθμίστε τις μηχανές κατάστασης για την εμφάνιση πληροφοριών GPS στην οθόνη
Ρυθμίστε τις μηχανές κατάστασης για την εμφάνιση πληροφοριών GPS στην οθόνη
Ρύθμιση μηχανών κατάστασης για την εμφάνιση πληροφοριών GPS στην οθόνη
Ρύθμιση μηχανών κατάστασης για την εμφάνιση πληροφοριών GPS στην οθόνη

Θα χρησιμοποιήσουμε 5 διαφορετικά μηχανήματα κατάστασης, ενώ εφαρμόζουμε το διάγραμμα εργασιών μας για τη ρύθμιση του συστήματος gps.

Οθόνη Αλλαγή μηχανής κατάστασης:

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

Μηχανή κατάστασης ταχύτητας:

Αυτό το μηχάνημα κατάστασης θα εκτελέσει την τρέχουσα ταχύτητα ανάλογα με τη θέση του ατόμου. Αυτό θα εκτελέσει κάθε κύκλο ρολογιού για το σύστημα GPS

Μηχανή κατάστασης εξόδου:

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

Μηχανή κατάστασης απόστασης

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

Μηχανή κατάστασης θέσης:

Αυτό το μηχάνημα κατάστασης επιστρέφει την τρέχουσα τοποθεσία του χρήστη, χρησιμοποιώντας συντεταγμένες που επιστρέφει η μονάδα GPS για τον χρήστη. Αυτό το μηχάνημα κατάστασης εξαρτάται από τη σύνδεση χρηστών στο Διαδίκτυο.

Βήμα 7: Ας εφαρμόσουμε το σύστημα GPS μας

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

## Κύριο αρχείο για σύστημα πλοήγησης # # # #

# Βιβλιοθήκες για την κατάρτιση εικόνων

από εισαγωγή PIL Εικόνα από εισαγωγή PIL ImageDraw από εισαγωγή PIL ImageFont

# Βιβλιοθήκη για τον ελεγκτή ST7737

εισαγωγή ST7735 ως TFT

# Βιβλιοθήκη για GPIO για Raspberry Pi

εισαγωγή Adafruit_GPIO ως GPIO εισαγωγή Adafruit_GPIO. SPI ως SPI

# Βιβλιοθήκη για GPS

#εισαγωγή gpsd από gps3 εισαγωγή gps3

# Βιβλιοθήκη για το χρόνο

χρόνο εισαγωγής

# Βιβλιοθήκη για εύρεση απόστασης μεταξύ δύο σημείων

από μαθηματικά εισαγωγή sin, cos, sqrt, atan2, radians

# Εισαγωγή βιβλιοθήκης Rpi για χρήση κουμπιών για εναλλαγή μενού και επαναφορά

# εισαγωγή RPi. GPIO ως bGPIO

# Ρύθμιση καρφίτσες για κουμπιά

bGPIO.setmode (bGPIO. BCM)

bGPIO.setup (18, bGPIO. IN, pull_up_down = bGPIO. PUD_DOWN)

bGPIO.setup (23, bGPIO. IN, pull_up_down = bGPIO. PUD_DOWN)

# εισαγωγή βιβλιοθήκης γεωγραφίας για γεωκωδικοποίηση

# # Η πρόσβαση στο Διαδίκτυο είναι απαραίτητη για να λειτουργήσει αυτό

από το geopy.geocoders import Nominatim

γεωγραφικός εντοπιστής = Nominatim ()

# Σταθερές για το σύστημα

#################################

ΠΛΑΤΟΣ = 128

ΥIGHΟΣ = 160 SPEED_HZ = 4000000

# Καρφίτσες διαμόρφωσης Raspberry Pi

DC = 24 # A0 στην οθόνη TFT RST = 25 # Επαναφορά καρφίτσας στην οθόνη TFT SPI_PORT = 0 # Θύρα SPI στο βατόμουρο pi, SPI0 SPI_DEVICE = 0 # Επιλέξτε Slave στο rapsberry pi, CE0

# Δημιουργία αντικειμένου οθόνης TFT LCD

disp = TFT. ST7735 (DC, rst = RST, spi = SPI. SpiDev (SPI_PORT, SPI_DEVICE, max_speed_hz = SPEED_HZ))

# Αρχικοποίηση οθόνης

disp.begin ()

# Το φόντο θα οριστεί σε πράσινο

#disp.clear ((0, 255, 0))

# Διαγραφή οθόνης σε λευκό και εμφάνιση

#disp.clear ((255, 255, 255)) draw = disp.draw () #draw.rectangle ((0, 10, 127, 150), περίγραμμα = (255, 0, 0), fill = (0, 0, 255)) #disp.display ()

# Μεταβλητές τοποθέτησης ταχύτητας, γεωγραφικού πλάτους, γεωγραφικού μήκους

#currentS = "Τρέχουσα ταχύτητα:" # Speed string #totalDis = "Συνολική απόσταση:" # Distance string #currentLoc = "Τρέχουσα τοποθεσία:" # Χορδή θέσης

# Απόσταση συντεταγμένες x και y

distX = 10 distY = 20

pointsList =

# Συντεταγμένες ταχύτητας x και y

ταχύτηταX = 10 ταχύτηταY = 20

# Θέση συντεταγμένων x και y

locX = 10 locY = 20

# Μετατρέπει από m/s σε mph

convertVal = 2,24

# Λειτουργία ενημέρωσης ταχύτητας, επιστρέφει συμβολοσειρά

SpeedVar = 0

def speedFunc (): global SpeedVar SpeedText = data_stream. TPV ['speed'] if (SpeedText! = "n/a"): SpeedText = float (SpeedText) * conversionVal SpeedVar = round (SpeedText, 1) # return (SpeedText)

def locationFunc ():

latLoc = str (latFunc ()) lonLoc = str (lonFunc ())

reverseString = latLoc + "," + lonLoc

location = geolocator.reverse (reverseString)

επιστροφή (location.address)

# Λειτουργία ενημέρωσης γεωγραφικού πλάτους, επιστρέφει την τιμή float

def latFunc (): Latitude = data_stream. TPV ['lat'] if (Latitude == "n/a"): return 0 else: return float (round (Latitude, 4))

# Συνάρτηση ενημέρωσης γεωγραφικού μήκους, επιστρέφει συμβολοσειρά

def lonFunc (): Γεωγραφικό μήκος = data_stream. TPV ['lon'] if (Γεωγραφικό μήκος == "n/a"): επιστροφή 0 άλλο: επιστροφή float (γύρος (Γεωγραφικό μήκος, 4))

# Συνάρτηση απόστασης επιστρέφει ΣΥΝΟΛΟ διανυθέντων αποστάσεων

συνολική απόσταση = 0

def distFunc ():

παγκόσμια totalDistance newLat = latFunc () newLon = lonFunc () if (newLat == 0 ή newLon == 0): totalDistance = totalDistance # return (totalDistance) else: pointsList.append ((newLat, newLon)) last = len (pointsList) -1 if (last == 0): return else: totalDistance += coorDistance (pointsList [last-1], pointsList [last]) # return totalDistance

# Επαναφέρει τη συνολική απόσταση

def resDistance ():

παγκόσμια totalDistance totalDistance = 0

# Συνάρτηση που χρησιμοποιείται για τον εντοπισμό απόστασης μεταξύ δύο συντεταγμένων

# χρησιμοποιεί τον τύπο του Haversine για εύρεση. # Τα σημεία εισόδου είναι μια πλειάδα

def coor Απόσταση (σημείο 1, σημείο 2):

# Κατά προσέγγιση ακτίνα της Γης σε χιλιόμετρα earthRadius = 6373.0

lat1 = point1 [0]

lon1 = point1 [1]

lat2 = point2 [0]

lon2 = point2 [1]

απόστασηLon = lon2 - lon1

απόστασηLat = lat2 - lat1

# Haversine α

a = sin (distanceLat/2) ** 2 + cos (lat1)*cos (lat2)*sin (distanceLon/2) ** 2

# Haversine c

c = 2 * atan2 (sqrt (a), sqrt (1-a))

# Μετατρέψτε χιλιόμετρα σε μίλια

απόσταση = (earthRadius * c) * 0.62137

εάν (απόσταση <= 0,01): επιστροφή 0,00 άλλο: γύρος επιστροφής (απόσταση, 3)

# Λειτουργία για την εμφάνιση της ταχύτητας στην οθόνη

def dispSpeed ():

καθολική SpeedVar # Τοποθετήστε την απόσταση στη μεταβλητή στην οθόνη draw.text ((speedX, speedY), str (SpeedVar), font = ImageFont.truetype ("Lato-Medium.ttf", 72))

# Λειτουργία για την εμφάνιση της απόστασης στην οθόνη

def dispDistance ():

draw.text ((distX, distY), str (totalDistance), font = ImageFont.truetype ("Lato-Medium.ttf", 60))

# Λειτουργία που εμφανίζει την τοποθεσία στην οθόνη, απαιτεί internet για να λειτουργήσει

def dispLocation ():

draw.text ((locX, locY), locationFunc (), font = ImageFont.truetype ("Lato-Medium.ttf", 8))

# Χρήση λεξικού για μίμηση προτάσεων μεταγωγής

dispOptions = {

0: dispSpeed, 1: dispDistance, 2: dispLocation}

# Λειτουργία εξόδου οθόνης

def έξοδος ():

# Χρήση καθολικής μεταβλητής για displayIndex παγκόσμια οθόνηIndex # Εκκαθάριση οθόνης και εφαρμογή διαγραφής φόντου. Σαφές ((255, 255, 255)) draw.rectangle ((0, 10, 127, 150), περίγραμμα = (255, 0, 0), γέμισμα = (255, 0, 0))

# Λειτουργία κλήσεων ανάλογα με την τιμή displayIndex

dispOptions [displayIndex] ()

# Θα διαγραφεί εάν λειτουργεί άλλη μέθοδος

# θέση μεταβλητής απόστασης στην οθόνη

#draw.text ((distX, distY), str (distFunc ()), font = ImageFont.load_default ()) #θέση μεταβλητής ταχύτητας στην οθόνη #draw.text ((speedX, speedY), speedFunc (), font = ImageFont.load_default ()) # Εμφάνιση ενημερώσεων στην οθόνη disp.display ()

displayButton = 18 # BCM Καρφίτσα στο βατόμουρο pi

resetButton = 23 # BCM Pin on raspberry pi

buttonPress = Λάθος

def checkDisplay ():

καθολικό κουμπί Παγκόσμια οθόνηIndex if (bGPIO.input (displayButton) και όχι buttonPress): displayIndex += 1 κουμπί Press = True if (displayIndex == 2): displayIndex = 0 elif (bGPIO.input (displayButton) και buttonPress): εκτύπωση (" Πατημένο ακόμα ") άλλο: κουμπίΠιέστε = Λάθος

# Ρύθμιση gps

gps_socket = gps3. GPSDSocket () data_stream = gps3. DataStream () gps_socket.connect () gps_socket.watch ()

timerPeriod =.5

# Τιμή ευρετηρίου για εμφάνιση οθόνης Index = 0 try: για new_data στο gps_socket: if new_data: data_stream.unpack (new_data) if data_stream. TPV ['lat']! = 'N/a': print (data_stream. TPV ['speed')], data_stream. TPV ['lat'], data_stream. TPV ['lon']) distFunc () speedFunc () output () checkDisplay () if (bGPIO.input (resetButton)): resDistance () else: output () checkDisplay () if (bGPIO.input (resetButton)): resDistance () εκτύπωση ('GPS δεν έχει συνδεθεί ακόμα') time.sleep (.1) time.sleep (.8) εκτός KeyboardIntruptrupt: gps_socket.close () print (' / n Τερματισμός από χρήστη ctrl+c ')

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

Συνιστάται: