Innehållsförteckning:
- Steg 1: Blinkande RaspberriPi -hårddisk / Installera nödvändig programvara (med Ubuntu Linux)
- Steg 2: Levereras behövs
- Steg 3: Skriv ut bilagan
- Steg 4: Bygg färddatorn
- Steg 5: Slutmontering
- Steg 6: Slutmontering (forts …)
- Steg 7: Programvarukonfiguration / installation
- Steg 8: Installera drivövervakningsverktyg och DB -loggning
- Steg 9: Starta Crontab Scripts - Pi & Root
- Steg 10: Konfigurera för att ansluta till väder och instrumentpanel (valfritt)
- Steg 11: Montera på Dash / Mount Humidistat och färdig
Video: TripComputer - GPS -färddator och vädermodul för ditt fordon: 11 steg (med bilder)
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
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
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
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
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 …)
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 bort från direkt sol
Starta om din RPi så ska du vara redo att gå!