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

TripComputer - GPS Trip Computer & Weather Module for Your Vehicle: 11 Steps (with Pictures)
TripComputer - GPS Trip Computer & Weather Module for Your Vehicle: 11 Steps (with Pictures)

Βίντεο: TripComputer - GPS Trip Computer & Weather Module for Your Vehicle: 11 Steps (with Pictures)

Βίντεο: TripComputer - GPS Trip Computer & Weather Module for Your Vehicle: 11 Steps (with Pictures)
Βίντεο: Garmin Monterra: Using the Trip Computer with GPS City 2024, Νοέμβριος
Anonim
TripComputer - GPS Trip Computer & Weather Module για το όχημά σας
TripComputer - GPS Trip Computer & Weather Module για το όχημά σας
TripComputer - GPS Trip Computer & Weather Module για το όχημά σας
TripComputer - GPS Trip Computer & Weather Module για το όχημά σας
TripComputer - GPS Trip Computer & Weather Module για το όχημά σας
TripComputer - GPS Trip Computer & Weather Module για το όχημά σας

Ένα δροσερό έργο raspberry pi που χρησιμοποιεί τη μονάδα GPS breakout και 2 μικρές οθόνες Digole για να έχετε έναν υπολογιστή πλοήγησης στην παύλα σας.

Βήμα 1: Αναβοσβήνει ο σκληρός δίσκος RaspberriPi / Εγκαταστήστε το απαιτούμενο λογισμικό (χρησιμοποιώντας Ubuntu Linux)

Κατεβάστε το "RASPBIAN JESSIE LITE VERSION"

Δημιουργήστε τον νέο σας σκληρό δίσκο για το DashboardPI

Τοποθετήστε το microSD στον υπολογιστή σας μέσω προσαρμογέα USB και δημιουργήστε την εικόνα του δίσκου χρησιμοποιώντας την εντολή dd

Εντοπίστε την κάρτα microSD που έχετε τοποθετήσει μέσω της εντολής df -h, αποσυνδέστε την και δημιουργήστε την εικόνα του δίσκου με την εντολή αντιγραφής δίσκου dd

$ df -h/dev/sdb1 7,4G 32K 7,4G 1%/μέσο/XXX/1234-5678

$ umount /dev /sdb1

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

if = τοποθεσία του αρχείου εικόνας RASPBIAN JESSIE FULL VERSION της = τοποθεσία της κάρτας σας microSD

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (σημείωση: σε αυτή την περίπτωση, είναι/dev/sdb,/dev/sdb1 ήταν ένα υπάρχον εργοστασιακό διαμέρισμα στο microSD)

Ρύθμιση του RaspberriPi

Τοποθετήστε τη νέα σας κάρτα microSD στο raspberrypi και ενεργοποιήστε την με μια οθόνη συνδεδεμένη στη θύρα HDMI

Σύνδεση

χρήστης: pi pass: βατόμουρο

Αλλάξτε τον κωδικό πρόσβασης του λογαριασμού σας για ασφάλεια (από τερματικό)

sudo passwd pi

Ενεργοποίηση προχωρημένων επιλογών RaspberriPi (από τερματικό)

sudo raspi-config

Επιλέξτε: 1 Επέκταση συστήματος αρχείων

9 Προηγμένες επιλογές

Όνομα κεντρικού υπολογιστή A2 αλλάξτε το σε "TripComputer"

A4 SSH Ενεργοποίηση διακομιστή SSH

A7 I2C Ενεργοποίηση διεπαφής i2c

Ενεργοποιήστε το πληκτρολόγιο Αγγλικών/ΗΠΑ

sudo nano/etc/default/πληκτρολόγιο

Αλλάξτε την ακόλουθη γραμμή: XKBLAYOUT = "εμείς"

Επανεκκινήστε το PI για αλλαγές διάταξης πληκτρολογίου / αλλαγή μεγέθους συστήματος αρχείων για να τεθεί σε ισχύ

$ sudo shutdown -r τώρα

Αυτόματη σύνδεση στο WiFi σας

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Προσθέστε τις ακόλουθες γραμμές για να συνδέσετε αυτόματα το raspberrypi στο WiFi του σπιτιού σας (εάν το ασύρματο δίκτυό σας ονομάζεται "linksys", για παράδειγμα, στο ακόλουθο παράδειγμα)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Επανεκκινήστε το PI για σύνδεση στο δίκτυο WiFi

$ sudo shutdown -r τώρα

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

$ ifconfig Αναζητήστε "inet addr: 192.168. XXX. XXX" στην έξοδο της ακόλουθης εντολής για τη διεύθυνση IP του PI σας

Μεταβείτε σε άλλο μηχάνημα και συνδεθείτε στο raspberrypi σας μέσω ssh

$ ssh [email protected]. XXX. XXX

Ξεκινήστε την εγκατάσταση των απαιτούμενων πακέτων

$ sudo apt-get ενημέρωση && sudo apt-get αναβάθμιση

$ sudo apt-get install build-essential git gpsd gpsd-clients i2c-tools libi2c-dev python3 python3-pip python-dev python-gps python-imaging python-pip python-smbus rpi.gpio vim python-psutil

$ sudo pip install RPi. GPIO

Ενημέρωση τοπικών ρυθμίσεων ζώνης ώρας

$ sudo dpkg-επαναδιαμόρφωση tzdata

επιλέξτε τη ζώνη ώρας χρησιμοποιώντας τη διεπαφή

Ρύθμιση της απλής εντολής l εντολή [προαιρετικό]

vi ~/.bashrc

προσθέστε την ακόλουθη γραμμή:

ψευδώνυμο l = 'ls -lh'

πηγή ~/.bashrc

Διορθώστε την προεπιλεγμένη επισήμανση σύνταξης VIM [προαιρετικό]

sudo vi/etc/vim/vimrc

σχολιάστε την ακόλουθη γραμμή:

σύνταξη ενεργοποιημένη

Βήμα 2: Απαιτείται

Παρέχεται απαραίτητο
Παρέχεται απαραίτητο
Παρέχεται απαραίτητο
Παρέχεται απαραίτητο
Παρέχεται απαραίτητο
Παρέχεται απαραίτητο

2 ιντσών 320x240 TFT LCD Digole οθόνη (x2)

DHT11 Humidistat

RaspberriPi Zero

Adafruit GPS Breakout

52mm 2in μετρητές - χρησιμοποιείται για το γυαλί / και τα περιβλήματα οθόνης

Δοχείο τοποθέτησης 2 μετρητών

Βήμα 3: Εκτυπώστε το περίβλημα

Στο φάκελο "3DPrint/" αυτού του έργου, εκτυπώστε το αρχείο gauges-final.stl, το οποίο θα παράγει τα περιβλήματα οθόνης Digole που απαιτούνται για την τοποθέτηση των 2 οθονών μέσα στο δοχείο στήριξης μετρητή.

Βήμα 4: Δημιουργία του υπολογιστή ταξιδιού

Δημιουργία του υπολογιστή ταξιδιού
Δημιουργία του υπολογιστή ταξιδιού

Συνδέστε τις ακόλουθες συσκευές τις καρφίτσες στο Pi Zero

Digole (το καθένα): 3v / GND / SDA / SCL

DHT11: 5v / GPIO 16 (36) / GND

Συνδέστε τη μονάδα USB GPS στο RaspberriPi μέσω συνδέσεων HW UART Η χρήση του HW UART για τη μονάδα GPS απαιτεί τα ακόλουθα για να απελευθερώσετε τη σύνδεση UART στο Pi σας.

"Σταυρός"-Συνδέστε τις ακίδες TX και RX από τη μονάδα GPS στο RPi TX (GPIO 14/8 pin) και RX (GPIO 15/10 pin)-[Το TX πηγαίνει στο RX στη συσκευή και αντίστροφα.] Συνδέστε RPi 5V στον πείρο VIN και τον ακροδέκτη GND της μονάδας GPS σε έναν διαθέσιμο πείρο RPi GND.

Βήμα 5: Τελική συνέλευση

Τελική συναρμολόγηση
Τελική συναρμολόγηση
Τελική συναρμολόγηση
Τελική συναρμολόγηση

Κόψτε ένα κομμάτι ξύλου για το κάτω μέρος για να συγκρατούν τα εξαρτήματα μέσα στο περίβλημα του μετρητή.

Πάρτε τους μετρητές 2 52mm 2in και κόψτε τις κορυφές, απλώς χρησιμοποιούμε το γυαλί και το surround για να τοποθετήσουμε τις δικές μας οθόνες, τις οθόνες Digole. Κολλήστε τα στη θέση τους με ζεστή κόλλα.

Βήμα 6: Τελική συνέλευση (συνέχεια…)

Τελική συνέλευση (συνέχεια…)
Τελική συνέλευση (συνέχεια…)
Τελική συνέλευση (συνέχεια…)
Τελική συνέλευση (συνέχεια…)

Χρησιμοποιώντας το σχηματικό παραπάνω σύρμα μαζί τα εξαρτήματα που χρησιμοποιούν τη συγκόλληση για να κάνουν τα πάντα ισχυρά και μόνιμα.

Τοποθετήστε τα εξαρτήματα στο εσωτερικό του περιβλήματος διπλού μετρητή, χρησιμοποιήστε τα περιτυλίγματα με 3D εκτύπωση για να ταιριάζουν οι οθόνες Digole σε τετράγωνο σχήμα στα κυκλικά παράθυρα μετρητών.

Βήμα 7: Διαμόρφωση / Εγκατάσταση Λογισμικού

Διαμορφώστε το Pi σας για χρήση της μονάδας GPS στο UART

sudo vi /boot/cmdline.txt

αλλαγή:

dwc_otg.lpm_enable = 0 κονσόλα = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 κονσόλα = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 ασανσέρ = προθεσμία rootwait

προς το:

dwc_otg.lpm_enable = 0 κονσόλα = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 ανελκυστήρας = προθεσμία rootwait

(π.χ., αφαιρέστε την κονσόλα = ttyAMA0, 115200 και αν υπάρχει, kgdboc = ttyAMA0, 115200)

Σημειώστε ότι μπορεί να δείτε την κονσόλα = serial0, 115200 ή την κονσόλα = ttyS0, 115200 και θα πρέπει να αφαιρέσετε αυτά τα μέρη της γραμμής εάν υπάρχουν.

Εκτελέστε τις ακόλουθες εντολές:

sudo systemctl διακοπή [email protected]

sudo systemctl απενεργοποίηση [email protected]

Εγκατάσταση μονάδας GPS Για δοκιμές αναγκάστε τη συσκευή USB να συνδεθεί στο gpsd

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg-επαναδιαμόρφωση gpsd

sudo vi/etc/default/gpsd

# Προεπιλεγμένες ρυθμίσεις για gpsd. START_DAEMON = "true" GPSD_OPTIONS = "-n" DEVICES = "/dev/ttyS0" USBAUTO = "false" GPSD_SOCKET = "/var/run/gpsd.sock"

Βεβαιωθείτε ότι η εντολή λειτουργεί

cgps -s

DHT11 Εγκατάσταση cd

git clone

cd Adafruit_Python_DHT/

sudo python setup.py install

sudo python ez_setup.py

παραδείγματα cd/

vi simpletest.py

Αλλάξτε την ακόλουθη γραμμή:

αισθητήρας = Adafruit_DHT. DHT11

Σχολιάστε τη γραμμή

pin = 'P8_11'

Αποσυνδέστε τη γραμμή και αλλάξτε τον αριθμό pin σε 16

καρφίτσα = 16

Εκτελέστε τη δοκιμή

python simpletest.py

Θα πρέπει να δείτε μια μέτρηση της θερμοκρασίας και της υγρασίας που εμφανίζεται στη γραμμή εντολών.

Ρυθμίστε και εκτελέστε τα σενάρια cd

git clone

Βήμα 8: Εγκαταστήστε εργαλεία παρακολούθησης οδήγησης και καταγραφή DB

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2

sudo vi /etc/postgresql/9.4/main/pg_hba.conf

Προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου:

τοπικός κωδικός πρόσβασης all pi

sudo -i -u postgres

psql

Δημιουργία κωδικού πρόσβασης ρόλου «κωδικός πρόσβασης εδώ».

αλλαγή ρόλου pi σύνδεσης.

alter role pi superuser?

du

(θα πρέπει να δείτε τον χρήστη PI σας με τα δικαιώματα που έχουν παραχωρηθεί)

δημιουργία βάσης δεδομένων_στατιστικών

q

έξοδος

psql -d στατιστικά_ οδήγησης

Εκτελέστε τα ακόλουθα ερωτήματα:

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ driving_stats (σειριακή ταυτότητα, χρονική σήμανση χωρίς ζώνη ώρας NOT NULL, new_trip_start timestamp χωρίς ζώνη ώρας NULL, gps_latitude double precision, gps_longitude double precision, gps_altitude real, gps_speed real, gps_climb real, gps_track, κείμενο locale_county, locale_country text, locale_zipcode text, inside_temp real, inside_hmidty real, weather_time timestamp, weather_summary text, weather_icon text, weather_apparentTemperature real, weather_humidity real, weather_precipIntensity real, weather_precipProbability;

ΔΗΜΙΟΥΡΓΙΑ ΜΟΝΑΔΙΚΟΥ INDEX time_idx ΕΝΕΡΓΟΠΟΙΗΣΗ_στατικών οδήγησης (ώρα).

Απαιτείται hack για να λειτουργήσει το GPSD με σύνδεση UART κατά την επανεκκίνηση του sudo su

crontab -e

@reboot /bin /sleep 5; killall gpsd

@reboot /bin /sleep 10; /usr/sbin/gpsd/dev/ttyS0 -F /var/run/gpsd.sock

Δημιουργήστε το φάκελο logs για να αποθηκευτούν τα δεδομένα mkdir/home/pi/TripComputer/computer/logs

Βήμα 9: Εκκίνηση Scripts Crontab - Pi & Root

Ρυθμίστε τα σενάρια για εκτέλεση κατά την εκκίνηση

crontab -e

Προσθέστε τις ακόλουθες γραμμές

@reboot /bin /sleep 15; nohup python /home/pi/TripComputer/computer/mtk3339.py> /home/pi/TripComputer/computer/mtk3339.log 2> & 1

@reboot /bin /sleep 18; nohup python /home/pi/TripComputer/computer/driving.py> /home/pi/TripComputer/computer/driving.log 2> & 1

@reboot /bin /sleep 19; nohup python /home/pi/TripComputer/computer/address.py> /home/pi/TripComputer/computer/address.log 2> & 1

@reboot /bin /sleep 30; nohup python /home/pi/TripComputer/computer/gauges.py> /home/pi/TripComputer/computer/gauges.log 2> & 1

@reboot /bin /sleep 21; nohup python /home/pi/TripComputer/computer/locale.py> /home/pi/TripComputer/computer/locale.log 2> & 1

@reboot /bin /sleep 22; nohup python /home/pi/TripComputer/computer/notification.py> /home/pi/TripComputer/computer/notification.log 2> & 1

@reboot /bin /sleep 24; nohup python /home/pi/TripComputer/computer/temperature.py> /home/pi/TripComputer/computer/temperature.log 2> & 1

@reboot /bin /sleep 25; nohup python /home/pi/TripComputer/computer/upload.py> /home/pi/TripComputer/computer/upload.log 2> & 1

@reboot /bin /sleep 26; nohup python /home/pi/TripComputer/computer/weather.py> /home/pi/TripComputer/computer/weather.log 2> & 1

@reboot /bin /sleep 30; nohup python /home/pi/TripComputer/computer/stats.py> /home/pi/TripComputer/computer/stats.log 2> & 1

Ρυθμίστε το crontab του χρήστη χρήστη για να βεβαιωθείτε ότι η μονάδα GPS συνδέεται σωστά

sudo su

crontab -e

Προσθέστε τις ακόλουθες γραμμές

@reboot /bin /sleep 5; systemctl stop gpsd.socket

@reboot /bin /sleep 8; killall gpsd

@reboot /bin /sleep 12; /usr/sbin/gpsd/dev/ttyS0 -F /var/run/gpsd.sock

Βήμα 10: Διαμόρφωση σύνδεσης με τον καιρό και τον πίνακα ελέγχου (προαιρετικό)

Τέλος, δημιουργήστε τις τοπικές ρυθμίσεις που απαιτούνται για την εκτέλεση του υπολογιστή ταξιδιού

Βρείτε το αρχείο /computer/includes/settings.shadow.py

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

Κλειδί API forecast.io για τοπικές καιρικές πληροφορίες καιρούAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'Κλειδί API ΕΔΩ'

εάν έχετε εκτελέσει το έργο του διανομέα συσκευών (https://github.com/khinds10/DeviceHub) συσκευέςServer = 'https://my.server.com'

εάν εκτελείτε το έργο του τηλεφώνου ταμπλό (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Βήμα 11: Τοποθετήστε στο Dash / Mount Humidistat και τελείωσε

Τοποθετήστε στο Dash / Mount Humidistat και τελείωσε!
Τοποθετήστε στο Dash / Mount Humidistat και τελείωσε!
Τοποθετήστε στο Dash / Mount Humidistat και τελείωσε!
Τοποθετήστε στο Dash / Mount Humidistat και τελείωσε!

Τοποθετήστε στο Dash

Mount Humidistat μακριά από τον άμεσο ήλιο

Επανεκκινήστε το RPi και θα πρέπει να είστε έτοιμοι!

Συνιστάται: