Innehållsförteckning:

TripComputer - GPS -färddator och vädermodul för ditt fordon: 11 steg (med bilder)
TripComputer - GPS -färddator och vädermodul för ditt fordon: 11 steg (med bilder)

Video: TripComputer - GPS -färddator och vädermodul för ditt fordon: 11 steg (med bilder)

Video: TripComputer - GPS -färddator och vädermodul för ditt fordon: 11 steg (med bilder)
Video: 10 Common Questions ANSWERED about your MERCEDES! | Part 4 2024, Juli
Anonim
TripComputer - GPS färddator och vädermodul för ditt fordon
TripComputer - GPS färddator och vädermodul för ditt fordon
TripComputer - GPS färddator och vädermodul för ditt fordon
TripComputer - GPS färddator och vädermodul för ditt fordon
TripComputer - GPS färddator och vädermodul för ditt fordon
TripComputer - GPS färddator och vädermodul för ditt fordon

Ett coolt hallon pi -projekt som använder GPS -breakout -modulen och 2 små Digole -skärmar för att ha en navigationsdator på instrumentbrädan.

Steg 1: Blinkande RaspberriPi -hårddisk / Installera nödvändig programvara (med Ubuntu Linux)

Ladda ner "RASPBIAN JESSIE LITE VERSION"

Skapa din nya hårddisk för DashboardPI

Sätt i microSD till din dator via USB -adapter och skapa diskavbildningen med kommandot dd

Leta reda på ditt isatta microSD -kort via kommandot df -h, avmontera det och skapa diskavbildningen med kommandot disk copy dd

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

$ umount /dev /sdb1

Varning: se till att kommandot är helt korrekt, du kan skada andra diskar med det här kommandot

if = plats för RASPBIAN JESSIE FULL VERSION bildfil av = plats för ditt microSD -kort

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (Obs: i det här fallet är det/dev/sdb,/dev/sdb1 en befintlig fabrikspartition på microSD)

Konfigurera din RaspberriPi

Sätt i ditt nya microSD -kort i raspberrypi och slå på det med en bildskärm ansluten till HDMI -porten

Logga in

användare: pi pass: hallon

Ändra ditt kontolösenord för säkerhet (från terminal)

sudo passwd pi

Aktivera RaspberriPi Advanced Options (från terminal)

sudo raspi-config

Välj: 1 Expandera filsystemet

9 Avancerade alternativ

A2 -värdnamn ändra det till "TripComputer"

A4 SSH Aktivera SSH -server

A7 I2C Aktivera i2c -gränssnitt

Aktivera engelska/amerikanska tangentbordet

sudo nano/etc/default/keyboard

Ändra följande rad: XKBLAYOUT = "oss"

Starta om PI för ändringar av tangentbordslayout / storlek på filsystem för att träda i kraft

$ sudo avstängning -r nu

Anslut automatiskt till din WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Lägg till följande rader så att din raspberrypi automatiskt ansluter till ditt hem -WiFi (om ditt trådlösa nätverk heter "linksys" till exempel i följande exempel)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Starta om PI för att ansluta till WiFi -nätverk

$ sudo avstängning -r nu

Nu när din PI äntligen finns på det lokala nätverket kan du fjärrlogga till den via SSH. Men först måste du få den IP -adress som den har för närvarande.

$ ifconfig Leta efter "inet addr: 192.168. XXX. XXX" i följande kommandos utdata för din PI: s IP -adress

Gå till en annan maskin och logga in på din raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Börja installera nödvändiga paket

$ 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 installera RPi. GPIO

Uppdatera lokala tidszoninställningar

$ sudo dpkg-omkonfigurera tzdata

välj din tidszon med gränssnittet

Konfigurera det enkla katalog l -kommandot [valfritt]

vi ~/.bashrc

lägg till följande rad:

alias l = 'ls -lh'

källa ~/.bashrc

Fixa VIM -standardsyntaxmarkering [valfritt]

sudo vi/etc/vim/vimrc

kommentera följande rad:

syntax på

Steg 2: Levereras behövs

Levereras behövs
Levereras behövs
Levereras behövs
Levereras behövs
Levereras behövs
Levereras behövs

2 320x240 TFT LCD Digole -skärm (x2)

DHT11 Humidistat

RaspberriPi Zero

Adafruit GPS Breakout

52 mm 2in mätare - används för glas / och skärmomger

2 Behållare för mätare

Steg 3: Skriv ut bilagan

I mappen "3DPrint/" i detta projekt skriver du ut gauges-final.stl-filen som producerar Digole-displayen som behövs för att montera de två skärmarna i mätarfästbehållaren.

Steg 4: Bygg färddatorn

Bygg resedatorn
Bygg resedatorn

Anslut följande enheter stiften på Pi Zero

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

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

Anslut GPS USB -modulen till RaspberriPi via HW UART -anslutningar Användning av HW UART för GPS -modulen kräver följande för att frigöra UART -anslutningen på din Pi.

"Cross" -Anslut TX- och RX-stiften från GPS-modulen till RPi TX (GPIO 14/8 pin) och RX (GPIO 15/10 pin)-[TX går till RX på enheten och vice versa.] Anslut RPi 5V till VIN -stiftet och GPS -modulens GND -stift till en tillgänglig RPi GND -stift.

Steg 5: Slutmontering

Slutmontering
Slutmontering
Slutmontering
Slutmontering

Skär en bit trä för botten för att hålla komponenterna inuti mätarhöljet.

Ta de 2 52 mm 2 -tums mätarna och klipp av topparna, vi använder bara glas och surround för att montera våra egna skärmar, Digole -skärmarna. Limma dem på plats med varmt lim.

Steg 6: Slutmontering (forts …)

Slutmontering (forts …)
Slutmontering (forts …)
Slutmontering (forts …)
Slutmontering (forts …)

Använd den schematiska kabeln ovanför tillsammans komponenterna med hjälp av löd för att göra allt starkt och permanent.

Montera komponenterna i det dubbla mätarhöljet, använd de 3D -tryckta omslagen för att få de fyrkantiga Digole -skärmarna att passa till de cirkulära mätarfönstren.

Steg 7: Programvarukonfiguration / installation

Konfigurera din Pi för att använda GPS -modulen på UART

sudo vi /boot/cmdline.txt

förändra:

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

till:

dwc_otg.lpm_enable = 0 konsol = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 hiss = deadline rootwait

(t.ex. ta bort konsolen = ttyAMA0, 115200 och om det finns, kgdboc = ttyAMA0, 115200)

Observera att du kanske ser console = serial0, 115200 eller console = ttyS0, 115200 och bör ta bort dessa delar av linjen om den finns.

Kör följande kommandon:

sudo systemctl stop [email protected]

sudo systemctl inaktivera [email protected]

GPS -modulinstallation För testning tvinga din USB -enhet att ansluta till gpsd

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

sudo systemctl stoppa gpsd.socket

sudo killall gpsd

sudo dpkg-omkonfigurera gpsd

sudo vi/etc/default/gpsd

# Standardinställningar för gpsd. START_DAEMON = "true" GPSD_OPTIONS = "-n" DEVICES = "/dev/ttyS0" USBAUTO = "false" GPSD_SOCKET = "/var/run/gpsd.sock"

Se till att kommandot fungerar

cgps -s

DHT11 Installera cd ~

git -klon

cd Adafruit_Python_DHT/

sudo python setup.py installera

sudo python ez_setup.py

cd -exempel/

vi enklaste.py

Ändra följande rad:

sensor = Adafruit_DHT. DHT11

Kommentera raden

pin = 'P8_11'

Avmarkera raden och ändra PIN -numret till 16

stift = 16

Kör testet

python simplestest.py

Du bör se en metrisk avläsning av Temp och fuktighet visas på kommandoraden.

Installera och kör skript cd ~

git -klon

Steg 8: Installera drivövervakningsverktyg och DB -loggning

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

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

Lägg till följande rad i slutet av filen:

lokalt all pi -lösenord

sudo -i -u postgres

psql

skapa roll -pi -lösenord 'lösenord här';

ändra roll pi -inloggning;

ändra roll pi superanvändare;

du

(du bör se din PI -användare med de beviljade behörigheterna)

skapa databas drivstatistik;

q

utgång

psql -d driving_statistics

Kör följande frågor:

SKAPA TABELL driving_stats (id -serie, tidsstämpel utan tidszon NOT NULL, new_trip_start tidsstämpel utan tidszon NULL, gps_latitude dubbel precision, gps_longitude dubbel precision, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_address text, locale_address text, locale_address text, locale_adress text, lokal_landstext, lokal_landstext, lokal_postkodstext, inside_temp real, inside_hmidty real, weather_time timestamp, weather_summary text, weather_ikon text, weather_apparentTemperature real, weather_humidity real, weather_precipIntensity real, weather_precipProbability real, weather_wind)

SKAPA UNIK INDEX time_idx ON driving_stats (tid);

Hack krävs för att få GPSD att fungera med UART -anslutning vid 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

Skapa loggmappen för data som ska sparas mkdir/home/pi/TripComputer/dator/loggar

Steg 9: Starta Crontab Scripts - Pi & Root

Ställ in skripten för att köras vid start

crontab -e

Lägg till följande rader

@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

Ställ in rotanvändarkontot för att se till att GPS -modulen ansluts korrekt

sudo su

crontab -e

Lägg till följande rader

@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

Steg 10: Konfigurera för att ansluta till väder och instrumentpanel (valfritt)

Slutligen skapa de lokala inställningarna som behövs för att köra färddatorn

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

Skapa din egen version av inställningsfilen som bara heter settings.py

forecast.io API -nyckel för lokal väderinformation weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API KEY HERE'

om du har enhetshubprojektet igång (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

om du har instrumentpanelens telefonprojekt igång (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Steg 11: Montera på Dash / Mount Humidistat och färdig

Montera på Dash / Mount Humidistat och färdig!
Montera på Dash / Mount Humidistat och färdig!
Montera på Dash / Mount Humidistat och färdig!
Montera på Dash / Mount Humidistat och färdig!

Montera på Dash

Mount Humidistat bort från direkt sol

Starta om din RPi så ska du vara redo att gå!

Rekommenderad: