Inhoudsopgave:

TripComputer - GPS-tripcomputer en weermodule voor uw voertuig - Ajarnpa
TripComputer - GPS-tripcomputer en weermodule voor uw voertuig - Ajarnpa

Video: TripComputer - GPS-tripcomputer en weermodule voor uw voertuig - Ajarnpa

Video: TripComputer - GPS-tripcomputer en weermodule voor uw voertuig - Ajarnpa
Video: GPS vehicle tracking Software with beautiful Admin Dashboard , See smooth movement of Marker 2024, Juli-
Anonim
TripComputer - GPS-tripcomputer en weermodule voor uw voertuig
TripComputer - GPS-tripcomputer en weermodule voor uw voertuig
TripComputer - GPS-tripcomputer en weermodule voor uw voertuig
TripComputer - GPS-tripcomputer en weermodule voor uw voertuig
TripComputer - GPS-tripcomputer en weermodule voor uw voertuig
TripComputer - GPS-tripcomputer en weermodule voor uw voertuig

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

Geleverd nodig
Geleverd nodig
Geleverd nodig
Geleverd nodig
Geleverd nodig
Geleverd nodig

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

De tripcomputer bouwen
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

Eindmontage
Eindmontage
Eindmontage
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…)

Eindmontage (vervolg…)
Eindmontage (vervolg…)
Eindmontage (vervolg…)
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

Monteer op Dash / Mount Humidistat en klaar!
Monteer op Dash / Mount Humidistat en klaar!
Monteer op Dash / Mount Humidistat en klaar!
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!

Aanbevolen: