Inhoudsopgave:
- Stap 1: RaspberriPi-harde schijf flashen / vereiste software installeren (met Ubuntu Linux)
- Stap 2: Nodig bijgeleverd
- Stap 3: Druk de bijlage af
- Stap 4: De tripcomputer bouwen
- Stap 5: Eindmontage
- Stap 6: Eindmontage (vervolg…)
- Stap 7: Softwareconfiguratie / installatie
- Stap 8: Installeer hulpprogramma's voor rijcontrole en DB-logboekregistratie
- Stap 9: Crontab-scripts opstarten - Pi & Root
- Stap 10: configureren om verbinding te maken met weer en dashboard (optioneel)
- Stap 11: Monteer op Dash / Mount Humidistat en klaar
Video: TripComputer - GPS-tripcomputer en weermodule voor uw voertuig - Ajarnpa
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Een cool raspberry pi-project dat de GPS-breakout-module en 2 kleine Digole-displays gebruikt om een navigatiecomputer op je dashboard te hebben.
Stap 1: RaspberriPi-harde schijf flashen / vereiste software installeren (met Ubuntu Linux)
Download "RASPBIAN JESSIE LITE VERSIE"
Maak uw nieuwe harde schijf voor DashboardPI
Plaats de microSD in uw computer via een USB-adapter en maak de schijfkopie met de opdracht dd
Lokaliseer uw geplaatste microSD-kaart via de opdracht df -h, ontkoppel deze en maak de schijfkopie met de opdracht disk copy dd
$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678
$ umount /dev/sdb1
Let op: zorg ervoor dat het commando volledig nauwkeurig is, je kunt andere schijven beschadigen met dit commando
if=locatie van RASPBIAN JESSIE VOLLEDIGE VERSIE afbeeldingsbestand van=locatie van uw microSD-kaart
$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (let op: in dit geval is het /dev/sdb, /dev/sdb1 was een bestaande fabriekspartitie op de microSD)
Je RaspberriPi. instellen
Plaats uw nieuwe microSD-kaart in de raspberrypi en zet hem aan met een monitor aangesloten op de HDMI-poort
Log in
gebruiker: pi pass: framboos
Wijzig uw accountwachtwoord voor beveiliging (van terminal)
sudo passwd pi
Schakel RaspberriPi geavanceerde opties in (vanaf terminal)
sudo raspi-config
Kies: 1 Bestandssysteem uitvouwen
9 geavanceerde opties
A2 Hostnaam verander het in "TripComputer"
A4 SSH SSH-server inschakelen
A7 I2C i2c-interface inschakelen
Schakel het Engelse/Amerikaanse toetsenbord in
sudo nano /etc/default/keyboard
Wijzig de volgende regel: XKBLAYOUT="us"
Start PI opnieuw op voor wijzigingen in toetsenbordindeling / formaat van bestandssysteem om van kracht te worden
$ sudo shutdown -r nu
Automatisch verbinden met je wifi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Voeg de volgende regels toe om uw raspberrypi automatisch verbinding te laten maken met uw wifi-thuisnetwerk (als uw draadloze netwerk bijvoorbeeld "linksys" heet, in het volgende voorbeeld)
network={ ssid="linksys" psk="DRAADLOOS WACHTWOORD HIER" } Start de PI opnieuw op om verbinding te maken met het wifi-netwerk
$ sudo shutdown -r nu
Nu uw PI eindelijk op het lokale netwerk staat, kunt u er via SSH op afstand op inloggen. Maar eerst moet u het IP-adres krijgen dat het momenteel heeft.
$ ifconfig Zoek naar "inet addr: 192.168. XXX. XXX" in de uitvoer van de volgende opdracht voor het IP-adres van uw PI
Ga naar een andere machine en log in op je raspberrypi via ssh
$ ssh [email protected]. XXX. XXX
Begin met het installeren van vereiste pakketten
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essentiële git gpsd gpsd-clients i2c-tools libi2c-dev python3 python3-pip python-dev python-gps python-imaging python-pip python-smbus rpi.gpio vutilim python-
$ sudo pip install RPi. GPIO
Lokale tijdzone-instellingen bijwerken
$ sudo dpkg-reconfigure tzdata
selecteer uw tijdzone met behulp van de interface
Stel de eenvoudige directory l-opdracht in [optioneel]
vi ~/.bashrc
voeg de volgende regel toe:
alias l='ls -lh'
bron ~/.bashrc
Fix VIM standaard syntax highlighting [optioneel]
sudo vi /etc/vim/vimrc
verwijder het commentaar van de volgende regel:
syntaxis aan
Stap 2: Nodig bijgeleverd
2 320x240 TFT LCD Digole-scherm (x2)
DHT11-bevochtiger
RaspberriPi Zero
Adafruit GPS Breakout
52 mm 2-inch meters - gebruikt voor de glas- en schermranden
2 Gauge mount container
Stap 3: Druk de bijlage af
Druk in de map "3DPrint/" van dit project het bestand gauges-final.stl af dat de Digole-displayranden zal produceren die nodig zijn om de 2 schermen in de metermontagecontainer te monteren.
Stap 4: De tripcomputer bouwen
Sluit de volgende apparaten aan op de pinnen op de Pi Zero:
Digole (elk): 3v / GND / SDA / SCL
DHT11: 5v / GPIO 16 (36) / GND
Verbind de GPS USB-module met RaspberriPi via HW UART-verbindingen. Het gebruik van HW UART voor de GPS-module vereist het volgende om de UART-verbinding op uw Pi vrij te maken.
"Cross"-Verbind de TX- en RX-pinnen van de GPS-module met de RPi TX (GPIO 14/8-pins) en RX (GPIO 15/10-pins) -- [TX gaat naar RX op het apparaat en vice versa.] Verbinden RPi 5V naar de VIN-pin en de GPS-module GND-pin naar een beschikbare RPi GND-pin.
Stap 5: Eindmontage
Snijd een stuk hout voor de bodem om de componenten in de meterkast te houden.
Neem de 2 52 mm 2-inch meters en snij de bovenkanten af, we gebruiken alleen het glas en de rand om onze eigen displays te monteren, de Digole-displays. Lijm ze op hun plaats met hete lijm.
Stap 6: Eindmontage (vervolg…)
Gebruik het bovenstaande schema om de componenten samen te voegen met soldeer om alles sterk en permanent te maken.
Monteer de componenten in de dual-gauge behuizing, gebruik de 3D-geprinte randen om de vierkante Digole-displays in de ronde gauge-vensters te laten passen.
Stap 7: Softwareconfiguratie / installatie
Configureer je Pi om de GPS-module op UART te gebruiken
sudo vi /boot/cmdline.txt
verandering:
dwc_otg.lpm_enable=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
tot:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
(bijv. verwijder console=ttyAMA0, 115200 en indien aanwezig kgdboc=ttyAMA0, 115200)
Merk op dat u console=serial0, 115200 of console=ttyS0, 115200 kunt zien en deze delen van de regel moet verwijderen, indien aanwezig.
Voer de volgende opdrachten uit:
sudo systemctl stop [email protected]
sudo systemctl schakel [email protected] uit
GPS-module installeren Forceer uw USB-apparaat om verbinding te maken met gpsd
sudo gpsd /dev/ttyS0 -F /var/run/gpsd.sock
sudo systemctl stop gpsd.socket
sudo killall gpsd
sudo dpkg-gpsd opnieuw configureren
sudo vi /etc/default/gpsd
# Standaardinstellingen voor gpsd. START_DAEMON="true" GPSD_OPTIONS="-n" DEVICES="/dev/ttyS0" USBAUTO="false" GPSD_SOCKET="/var/run/gpsd.sock"
Zorg ervoor dat de opdracht werkt
cgps -s
DHT11 cd installeren ~
git clone
cd Adafruit_Python_DHT/
sudo python setup.py installeren
sudo python ez_setup.py
cd voorbeelden/
vi simpletest.py
Wijzig de volgende regel:
sensor = Adafruit_DHT. DHT11
Reageer op de line-out
pin = 'P8_11'
Uncommenteer de regel en verander het pinnummer in 16
pin = 16
Doe de test
python simpletest.py
U zou een metrische uitlezing van Temp en Vochtigheid op de opdrachtregel moeten zien.
Stel de scripts in en voer deze uit cd ~
git kloon
Stap 8: Installeer hulpprogramma's voor rijcontrole en DB-logboekregistratie
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Voeg de volgende regel toe aan het einde van het bestand:
lokaal all pi-wachtwoord
sudo -i -u postgres
psql
maak rol pi wachtwoord 'wachtwoord hier';
wijzig rol pi login;
verander rol pi superuser;
du
(u zou uw PI-gebruiker moeten zien met de verleende machtigingen)
maak database driving_statistics;
Q
Uitgang
psql -d driving_statistics
Voer de volgende query's uit:
CREATE TABLE driving_stats (id serial, time timestamp zonder tijdzone NOT NULL, new_trip_start timestamp zonder tijdzone NULL, gps_latitude dubbele precisie, gps_longitude dubbele precisie, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_address text, locale_area tekst, locale_city tekst, locale_county tekst, locale_country tekst, locale_zipcode tekst, inside_temp real, inside_hmidty real, weather_time timestamp, weather_summary tekst, weather_icon tekst, weather_apparentTemperature real, weather_humidity real, weather_precipIntensity real, weather_precipProbability real, weather_windSpeed real);
MAAK UNIEKE INDEX time_idx ON driving_stats (tijd);
Hack vereist om GPSD te laten werken met UART-verbinding bij opnieuw opstarten sudo su
crontab -e
@reboot /bin/slaap 5; killall gpsd
@reboot /bin/sleep 10; /usr/sbin/gpsd /dev/ttyS0 -F /var/run/gpsd.sock
Maak de map logs voor de gegevens die moeten worden opgeslagen mkdir /home/pi/TripComputer/computer/logs
Stap 9: Crontab-scripts opstarten - Pi & Root
Stel de scripts in die bij het opstarten moeten worden uitgevoerd
crontab -e
Voeg de volgende regels toe:
@reboot /bin/slaap 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/slaap 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/slaap 21; nohup python /home/pi/TripComputer/computer/locale.py > /home/pi/TripComputer/computer/locale.log 2>&1
@reboot /bin/slaap 22; nohup python /home/pi/TripComputer/computer/notification.py > /home/pi/TripComputer/computer/notification.log 2>&1
@reboot /bin/slaap 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
Stel de root-gebruiker crontab in om er zeker van te zijn dat de GPS-module correct verbinding maakt
sudo su
crontab -e
Voeg de volgende regels toe:
@reboot /bin/slaap 5; systemctl stop gpsd.socket
@reboot /bin/slaap 8; killall gpsd
@reboot /bin/sleep 12; /usr/sbin/gpsd /dev/ttyS0 -F /var/run/gpsd.sock
Stap 10: configureren om verbinding te maken met weer en dashboard (optioneel)
Maak ten slotte de lokale instellingen die nodig zijn om de tripcomputer te laten werken
Zoek het bestand /computer/includes/settings.shadow.py
Maak uw eigen versie van het instellingenbestand met de naam eenvoudig settings.py
forecast.io API-sleutel voor lokale weersinformatie weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIkey = 'API KEY HIER'
als het Device Hub-project wordt uitgevoerd (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'
als het dashboardtelefoonproject wordt uitgevoerd (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'
Stap 11: Monteer op Dash / Mount Humidistat en klaar
Monteren op Dash
Mount Humidistat uit de buurt van directe zon
Start je RPi opnieuw op en je zou klaar moeten zijn om te gaan!