Innholdsfortegnelse:

TripComputer - GPS -turcomputer og værmodul for bilen din: 11 trinn (med bilder)
TripComputer - GPS -turcomputer og værmodul for bilen din: 11 trinn (med bilder)

Video: TripComputer - GPS -turcomputer og værmodul for bilen din: 11 trinn (med bilder)

Video: TripComputer - GPS -turcomputer og værmodul for bilen din: 11 trinn (med bilder)
Video: This may be the best car hack! 2024, Juli
Anonim
TripComputer - GPS -turcomputer og værmodul for bilen din
TripComputer - GPS -turcomputer og værmodul for bilen din
TripComputer - GPS -turcomputer og værmodul for bilen din
TripComputer - GPS -turcomputer og værmodul for bilen din
TripComputer - GPS -turcomputer og værmodul for bilen din
TripComputer - GPS -turcomputer og værmodul for bilen din

Et kult bringebær -pi -prosjekt som bruker GPS -breakout -modulen og 2 små Digole -skjermer for å ha en navigasjonscomputer på dashbordet.

Trinn 1: Blinker RaspberriPi -harddisk / installer nødvendig programvare (bruker Ubuntu Linux)

Last ned "RASPBIAN JESSIE LITE VERSION"

Lag din nye harddisk for DashboardPI

Sett inn microSD -en på datamaskinen din via USB -adapteren, og lag diskbildet med kommandoen dd

Finn ditt innsatte microSD -kort via kommandoen df -h, demonter det og lag diskbildet med kommandoen disk copy dd

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

$ umount /dev /sdb1

Forsiktig: sørg for at kommandoen er helt nøyaktig, du kan skade andre disker med denne kommandoen

if = plassering av RASPBIAN JESSIE FULL VERSION bildefil av = plassering av microSD -kortet

$ sudo dd bs = 4M hvis =/path/to/raspbian-jessie-lite.img av =/dev/sdb (merk: i dette tilfellet er det/dev/sdb,/dev/sdb1 en eksisterende fabrikkpartisjon på microSD)

Sette opp RaspberriPi

Sett inn det nye microSD -kortet i raspberrypi og slå det på med en skjerm koblet til HDMI -porten

Logg Inn

bruker: pi pass: bringebær

Endre kontopassordet ditt for sikkerhet (fra terminal)

sudo passwd pi

Aktiver RaspberriPi Advanced Options (fra terminal)

sudo raspi-config

Velg: 1 Utvid filsystemet

9 Avanserte alternativer

A2 Hostname endre det til "TripComputer"

A4 SSH Aktiver SSH -server

A7 I2C Aktiver i2c -grensesnitt

Aktiver engelsk/amerikansk tastatur

sudo nano/etc/default/keyboard

Endre følgende linje: XKBLAYOUT = "oss"

Start PI på nytt for endringer i tastaturoppsett / endring av filsystem for å tre i kraft

$ sudo shutdown -r nå

Koble til WiFi automatisk

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Legg til følgende linjer for å få raspberrypi -enheten din til å koble seg automatisk til WiFi hjemme (hvis det trådløse nettverket ditt for eksempel heter "linksys" i eksempelet nedenfor)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Start PI på nytt for å koble til WiFi -nettverk

$ sudo shutdown -r nå

Nå som PI -en din endelig er på det lokale nettverket, kan du logge eksternt på den via SSH. Men først må du få IP -adressen den har for øyeblikket.

$ ifconfig Se etter "inet addr: 192.168. XXX. XXX" i følgende kommandos utgang for PIs IP -adresse

Gå til en annen maskin og logg på raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Begynn å installere nødvendige pakker

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

$ sudo pip installer RPi. GPIO

Oppdater lokale tidssoneinnstillinger

$ sudo dpkg-omkonfigurer tzdata

velg din tidssone ved hjelp av grensesnittet

Sett opp den enkle katalog l -kommandoen [valgfritt]

vi ~/.bashrc

legg til følgende linje:

alias l = 'ls -lh'

kilde ~/.bashrc

Fix VIM standardsyntaks utheving [valgfritt]

sudo vi/etc/vim/vimrc

ikke kommenter følgende linje:

syntaks på

Trinn 2: Leveres nødvendig

Leveres nødvendig
Leveres nødvendig
Leveres nødvendig
Leveres nødvendig
Leveres nødvendig
Leveres nødvendig

2 320x240 TFT LCD Digole -skjerm (x2)

DHT11 Humidistat

RaspberriPi Zero

Adafruit GPS Breakout

52 mm 2in målere - brukes til glass / og skjermomgivelser

2 Beholder for målerfeste

Trinn 3: Skriv ut vedlegget

I mappen "3DPrint/" i dette prosjektet skriver du ut gauges-final.stl-filen som vil produsere Digole-skjermomgivelsene som er nødvendige for å montere de to skjermene inne i måleren.

Trinn 4: Bygg reisemaskinen

Å bygge turcomputeren
Å bygge turcomputeren

Koble til følgende enheter pinnene på Pi Zero

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

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

Koble GPS USB -modulen til RaspberriPi via HW UART -tilkoblinger Bruk av HW UART for GPS -modulen krever følgende for å frigjøre UART -tilkoblingen på Pi.

"Kryss"-Koble TX- og RX-pinnene fra GPS-modulen til RPi TX (GPIO 14/8 pin) og RX (GPIO 15/10 pin)-[TX går til RX på enheten og omvendt.] Koble til RPi 5V til VIN -pinnen og GPS -modulens GND -pinne til en tilgjengelig RPi GND -pinne.

Trinn 5: Sluttmontering

Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering

Skjær et stykke tre for bunnen for å holde komponentene inne i målerhuset.

Ta de 2 52 mm 2 -i -målere og kutt toppene av. Vi bruker bare glass og surround til å montere våre egne skjermer, Digole -skjermer. Lim dem på plass med varmt lim.

Trinn 6: Sluttmontering (fortsettelse)

Endelig forsamling (forts …)
Endelig forsamling (forts …)
Endelig forsamling (forts …)
Endelig forsamling (forts …)

Ved å bruke den skjematiske ledningen ovenfor kombinerer komponentene ved hjelp av loddetinn for å gjøre alt sterkt og permanent.

Monter komponentene inne i dobbeltmålerhuset, bruk de 3D -trykte omgivelsene for å få de firkantede Digole -skjermene til å passe til vinduene med sirkulær måler.

Trinn 7: Programvarekonfigurasjon / installasjon

Konfigurer din Pi til å bruke GPS -modulen på UART

sudo vi /boot/cmdline.txt

endring:

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

til:

dwc_otg.lpm_enable = 0 konsoll = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 heis = deadline rootwait

(f.eks. fjern konsoll = ttyAMA0, 115200, og hvis det er, kgdboc = ttyAMA0, 115200)

Vær oppmerksom på at du kan se console = serial0, 115200 eller console = ttyS0, 115200 og bør fjerne disse delene av linjen hvis den er tilstede.

Kjør følgende kommandoer:

sudo systemctl stopp [email protected]

sudo systemctl deaktiver [email protected]

GPS -modul installere For testing, tving USB -enheten til å koble til gpsd

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

sudo systemctl stopp gpsd.socket

sudo killall gpsd

sudo dpkg-omkonfigurer gpsd

sudo vi/etc/default/gpsd

# Standardinnstillinger for gpsd. START_DAEMON = "true" GPSD_OPTIONS = "-n" DEVICES = "/dev/ttyS0" USBAUTO = "false" GPSD_SOCKET = "/var/run/gpsd.sock"

Kontroller at kommandoen fungerer

cgps -s

DHT11 Installer cd ~

git -klon

cd Adafruit_Python_DHT/

sudo python setup.py installere

sudo python ez_setup.py

cd -eksempler/

vi enkleste.py

Endre følgende linje:

sensor = Adafruit_DHT. DHT11

Kommenter linjen

pin = 'P8_11'

Uncomment linjen og endre PIN -nummeret til 16

pin = 16

Kjør testen

python simplestest.py

Du bør se en metrisk avlesning av Temp og fuktighet vist på kommandolinjen.

Oppsett og kjør skriptene cd ~

git -klon

Trinn 8: Installer kjøreovervåkingsverktøy og DB -logging

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

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

Legg til følgende linje i slutten av filen:

lokalt all pi -passord

sudo -i -u postgres

psql

opprett rolle -pi -passord 'passord her';

endre rolle pi pålogging;

endre rolle pi superbruker;

du

(du bør se PI -brukeren din med tillatelsene som er gitt)

lage database driving_statistics;

q

exit

psql -d driving_statistics

Kjør følgende spørsmål:

CREATE TABLE driving_stats (id serial, time timestamp without tidzone NOT NULL, new_trip_start timestamp without time zone 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_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_address text, locale_adress 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_wind)

OPPRETT UNIK INDEKS time_idx PÅ driving_stats (tid);

Hack kreves for å få GPSD til å fungere med UART -tilkobling ved omstart sudo su

crontab -e

@reboot /bin /sleep 5; killall gpsd

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

Lag loggmappen for dataene som skal lagres mkdir/home/pi/TripComputer/computer/logs

Trinn 9: Start Crontab Scripts - Pi & Root

Sett opp skriptene for å kjøre ved oppstart

crontab -e

Legg til følgende linjer

@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

Sett opp root user crontab for å sikre at GPS -modulen kobles til riktig

sudo su

crontab -e

Legg til følgende linjer

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

@reboot /bin /sleep 8; killall gpsd

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

Trinn 10: Konfigurer til å koble til vær og dashbord (valgfritt)

Til slutt oppretter du de lokale innstillingene som trengs for å kjøre turcomputeren

Finn filen /computer/includes/settings.shadow.py

Lag din egen versjon av innstillingsfilen som heter ganske enkelt settings.py

forecast.io API -nøkkel for lokal værinformasjon weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API -NØKKEL HER'

hvis du har enhetsnav -prosjektet kjørt (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

hvis du har prosjektbordet på dashbordet (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Trinn 11: Monter på Dash / Mount Humidistat og ferdig

Monter på Dash / Mount Humidistat og ferdig!
Monter på Dash / Mount Humidistat og ferdig!
Monter på Dash / Mount Humidistat og ferdig!
Monter på Dash / Mount Humidistat og ferdig!

Monter på Dash

Mount Humidistat vekk fra direkte sol

Start RPi -en på nytt, og du bør være klar til å gå!

Anbefalt: