Inhaltsverzeichnis:

TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug - Gunook
TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug - Gunook

Video: TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug - Gunook

Video: TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug - Gunook
Video: Speedo GPS Speed Tracker, Car Speedometer, Cycle Computer, Trip Computer, Route Tracking, HUD 2024, Juli
Anonim
TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug
TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug
TripComputer - GPS-Reisecomputer und Wettermodul für Ihr Fahrzeug
TripComputer - GPS-Reisecomputer und Wettermodul für Ihr Fahrzeug
TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug
TripComputer - GPS-Reisecomputer & Wettermodul für Ihr Fahrzeug

Ein cooles Himbeer-Pi-Projekt, das das GPS-Breakout-Modul und 2 kleine Digole-Displays verwendet, um einen Navigationscomputer auf Ihrem Armaturenbrett zu haben.

Schritt 1: RaspberriPi-Festplatte flashen / Erforderliche Software installieren (mit Ubuntu Linux)

Download "RASPBIAN JESSIE LITE VERSION"

Erstellen Sie Ihre neue Festplatte für DashboardPI

Legen Sie die microSD über einen USB-Adapter in Ihren Computer ein und erstellen Sie das Disk-Image mit dem Befehl dd

Suchen Sie Ihre eingelegte microSD-Karte über den Befehl df -h, unmounten Sie sie und erstellen Sie das Disk-Image mit dem Befehl disk copy dd

$ df -h /dev/sdb1 7,4G 32K 7,4G 1 % /media/XXX/1234-5678

$ umount /dev/sdb1

Achtung: Stellen Sie sicher, dass der Befehl absolut korrekt ist, Sie können mit diesem Befehl andere Festplatten beschädigen

if=Speicherort der RASPBIAN JESSIE VOLLVERSION Bilddatei of=Speicherort Ihrer microSD-Karte

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (Hinweis: in diesem Fall ist es /dev/sdb, /dev/sdb1 war eine vorhandene Werkspartition auf dem microSD)

Einrichten Ihres RaspberriPi

Legen Sie Ihre neue microSD-Karte in das Raspberrypi ein und schalten Sie es mit einem Monitor ein, der an den HDMI-Anschluss angeschlossen ist

Anmeldung

Benutzer: Pi-Pass: Himbeere

Ändern Sie Ihr Kontopasswort aus Sicherheitsgründen (vom Terminal aus)

sudo passwd pi

Aktivieren Sie die erweiterten RaspberriPi-Optionen (vom Terminal aus)

sudo raspi-config

Wählen Sie: 1 Dateisystem erweitern

9 Erweiterte Optionen

A2 Hostname ändern Sie ihn in "TripComputer"

A4 SSH SSH-Server aktivieren

A7 I2C i2c-Schnittstelle aktivieren

Aktivieren Sie die englische/US-Tastatur

sudo nano /etc/default/tastatur

Ändern Sie die folgende Zeile: XKBLAYOUT="us"

Starten Sie PI neu, damit Änderungen am Tastaturlayout/Größe des Dateisystems wirksam werden

$ sudo shutdown -r now

Automatische Verbindung zu Ihrem WLAN

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Fügen Sie die folgenden Zeilen hinzu, damit sich Ihr Himbeerpi automatisch mit Ihrem Heim-WLAN verbindet (wenn Ihr drahtloses Netzwerk im folgenden Beispiel beispielsweise "linksys" heißt)

network={ ssid="linksys" psk="WIRELESS PASSWORD HERE" } Starten Sie PI neu, um eine Verbindung zum WLAN-Netzwerk herzustellen

$ sudo shutdown -r now

Nachdem sich Ihr PI nun endlich im lokalen Netzwerk befindet, können Sie sich per SSH remote bei ihm anmelden. Aber zuerst müssen Sie die IP-Adresse abrufen, die es derzeit hat.

$ ifconfig Suchen Sie in der Ausgabe des folgenden Befehls nach "inet addr: 192.168. XXX. XXX" für die IP-Adresse Ihres PI

Gehen Sie zu einem anderen Computer und melden Sie sich über ssh. an Ihrem Raspberrypi an

$ ssh [email protected]. XXX. XXX

Beginnen Sie mit der Installation der erforderlichen Pakete

$ sudo apt-get update && sudo apt-get upgrade

$ 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-psutil python

$ sudo pip installiere RPi. GPIO

Lokale Zeitzoneneinstellungen aktualisieren

$ sudo dpkg-reconfigure tzdata

Wählen Sie Ihre Zeitzone über die Benutzeroberfläche aus

Richten Sie den einfachen Befehl für das Verzeichnis l ein [optional]

vi ~/.bashrc

füge die folgende Zeile hinzu:

Alias l='ls -lh'

Quelle ~/.bashrc

Hervorhebung der VIM-Standardsyntax behoben [optional]

sudo vi /etc/vim/vimrc

Entkommentieren Sie die folgende Zeile:

Syntax an

Schritt 2: Geliefert benötigt

Geliefert benötigt
Geliefert benötigt
Geliefert benötigt
Geliefert benötigt
Geliefert benötigt
Geliefert benötigt

2 320x240 TFT-LCD-Digole-Display (x2)

DHT11 Feuchtigkeitsregler

RaspberryPi Zero

Adafruit GPS Breakout

52mm 2in Gauges - verwendet für die Glas- / und Bildschirmeinfassungen

2 Messgeräte-Behälter

Schritt 3: Drucken Sie die Anlage

Drucken Sie im Ordner "3DPrint/" dieses Projekts die Datei "gauges-final.stl", die die Digole-Display-Einfassungen erzeugt, die zum Montieren der 2 Bildschirme im Messgerätehalterungscontainer erforderlich sind.

Schritt 4: Erstellen des Reisecomputers

Aufbau des Reisecomputers
Aufbau des Reisecomputers

Verbinden Sie die folgenden Geräte mit den Pins am Pi Zero

Digole (jeweils): 3v / GND / SDA / SCL

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

Verbinden Sie das GPS-USB-Modul über HW-UART-Verbindungen mit RaspberriPi Die Verwendung von HW-UART für das GPS-Modul erfordert Folgendes, um die UART-Verbindung auf Ihrem Pi freizugeben.

"Cross" - Verbinden Sie die TX- und RX-Pins vom GPS-Modul mit dem RPi TX (GPIO 14/8-Pin) und RX (GPIO 15/10-Pin) -- [TX geht auf RX am Gerät und umgekehrt.] Verbinden RPi 5V an den VIN-Pin und den GND-Pin des GPS-Moduls an einen verfügbaren RPi-GND-Pin.

Schritt 5: Endmontage

Endmontage
Endmontage
Endmontage
Endmontage

Schneiden Sie ein Stück Holz für den Boden, um die Komponenten im Messgerätgehäuse zu halten.

Nehmen Sie die 2 52mm 2in Gauges und schneiden Sie die Oberseiten ab. Wir verwenden nur das Glas und die Einfassung, um unsere eigenen Displays, die Digole-Displays, zu montieren. Klebe sie mit Heißkleber fest.

Schritt 6: Endmontage (Fortsetzung)

Endmontage (Fortsetzung)
Endmontage (Fortsetzung)
Endmontage (Fortsetzung)
Endmontage (Fortsetzung)

Verwenden Sie das obige Schema, um die Komponenten mit Lötmittel zu verbinden, um alles stark und dauerhaft zu machen.

Montieren Sie die Komponenten innerhalb des Dual-Gauge-Gehäuses und verwenden Sie die 3D-gedruckten Einfassungen, damit die quadratischen Digole-Displays in die runden Anzeigefenster passen.

Schritt 7: Softwarekonfiguration / Installation

Konfigurieren Sie Ihren Pi für die Verwendung des GPS-Moduls auf UART

sudo vi /boot/cmdline.txt

Veränderung:

dwc_otg.lpm_enable=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 Aufzug=Deadline rootwait

zu:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 Aufzug=Deadline rootwait

(zB Konsole=ttyAMA0, 115200 entfernen und falls vorhanden, kgdboc=ttyAMA0, 115200)

Beachten Sie, dass Sie möglicherweise console=serial0, 115200 oder console=ttyS0, 115200 sehen und diese Teile der Zeile, falls vorhanden, entfernen sollten.

Führen Sie die folgenden Befehle aus:

sudo systemctl stop [email protected]

sudo systemctl deaktivieren [email protected]

GPS-Modul installieren Zum Testen zwingen Sie Ihr USB-Gerät, sich mit GPS zu verbinden

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg-gpsd neu konfigurieren

sudo vi /etc/default/gpsd

# Standardeinstellungen für GPS. START_DAEMON="true" GPSD_OPTIONS="-n" DEVICES="/dev/ttyS0" USBAUTO="false" GPSD_SOCKET="/var/run/gpsd.sock"

Stellen Sie sicher, dass der Befehl funktioniert

cgps -s

DHT11 Installations-CD ~

Git-Klon

cd Adafruit_Python_DHT/

sudo python setup.py installieren

sudo python ez_setup.py

CD-Beispiele/

vi simpletest.py

Ändern Sie die folgende Zeile:

Sensor = Adafruit_DHT. DHT11

Kommentiere die Zeile aus

Stift = 'P8_11'

Entkommentieren Sie die Zeile und ändern Sie die PIN-Nummer auf 16

Stift = 16

Führen Sie den Test durch

python simpletest.py

In der Befehlszeile sollte ein Messwert von Temp und Luftfeuchtigkeit angezeigt werden.

Setup und Ausführen der Skripte cd ~

git-Klon

Schritt 8: Fahrüberwachungstools und DB-Protokollierung installieren

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

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

Fügen Sie am Ende der Datei folgende Zeile hinzu:

local all pi passwort

sudo -i -u postgres

psql

Rollen-Pi-Passwort 'Passwort hier' erstellen;

Rolle pi-Login ändern;

Rolle pi-Superuser ändern;

du

(Sie sollten Ihren PI-Benutzer mit den erteilten Berechtigungen sehen)

Datenbank Fahrstatistik erstellen;

Q

Ausfahrt

psql -d Driving_Statistics

Führen Sie die folgenden Abfragen aus:

CREATE TABLE Driving_stats (id serial, Zeitzeitstempel ohne Zeitzone NOT NULL, new_trip_start timestamp ohne Zeitzone NULL, gps_latitude double precision, gps_longitude double precision, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_address text, locale_citya text., locale_area text, locale_county text, 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 real, weather_windSpeed real);

EINZIGARTIGEN INDEX ERSTELLEN time_idx ON Driving_stats (Zeit);

Hack erforderlich, damit GPSD beim Neustart mit UART-Verbindung funktioniert sudo su

crontab -e

@reboot /bin/sleep 5; killall GPS

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

Erstellen Sie den logs-Ordner für die zu speichernden Daten mkdir /home/pi/TripComputer/computer/logs

Schritt 9: Crontab-Skripte starten - Pi & Root

Richten Sie die Skripte ein, die beim Booten ausgeführt werden sollen

crontab -e

Füge die folgenden Zeilen hinzu

@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

Richten Sie den Root-Benutzer crontab ein, um sicherzustellen, dass das GPS-Modul richtig verbunden ist

sudo su

crontab -e

Füge die folgenden Zeilen hinzu

@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

Schritt 10: Konfigurieren, um eine Verbindung zu Wetter und Dashboard herzustellen (optional)

Erstellen Sie schließlich die lokalen Einstellungen, die zum Ausführen des Reisecomputers erforderlich sind

Suchen Sie die Datei /computer/includes/settings.shadow.py

Erstellen Sie Ihre eigene Version der Einstellungsdatei mit dem Namen einfach settings.py

Forecast.io API-Schlüssel für lokale Wetterinformationen weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API-SCHLÜSSEL HIER'

Wenn das Device Hub-Projekt ausgeführt wird (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

Wenn das Dashboard-Telefonprojekt ausgeführt wird (https://github.com/khinds10/RetroDashboard) DashboardServer = 'https://my.server.com'

Schritt 11: Auf Dash montieren / Humidistat montieren und fertig

Auf Dash montieren / Humidistat montieren und fertig!
Auf Dash montieren / Humidistat montieren und fertig!
Auf Dash montieren / Humidistat montieren und fertig!
Auf Dash montieren / Humidistat montieren und fertig!

Auf Dash montieren

Montieren Sie den Humidistat abseits der direkten Sonne

Starten Sie Ihr RPi neu und Sie sollten bereit sein!

Empfohlen: