Cuprins:

TripComputer - Computer de călătorie GPS și modul meteo pentru vehiculul dvs.: 11 pași (cu imagini)
TripComputer - Computer de călătorie GPS și modul meteo pentru vehiculul dvs.: 11 pași (cu imagini)

Video: TripComputer - Computer de călătorie GPS și modul meteo pentru vehiculul dvs.: 11 pași (cu imagini)

Video: TripComputer - Computer de călătorie GPS și modul meteo pentru vehiculul dvs.: 11 pași (cu imagini)
Video: DOOGEE T20 - REVIZIAȚI ȘI TESTARE A O TABLETĂ BUN BUGET 2024, Iulie
Anonim
TripComputer - computer de călătorie GPS și modul meteo pentru vehiculul dvs
TripComputer - computer de călătorie GPS și modul meteo pentru vehiculul dvs
TripComputer - computer de călătorie GPS și modul meteo pentru vehiculul dvs
TripComputer - computer de călătorie GPS și modul meteo pentru vehiculul dvs
TripComputer - Computer de călătorie GPS și modul meteo pentru vehiculul dvs
TripComputer - Computer de călătorie GPS și modul meteo pentru vehiculul dvs

Un proiect cool de raspberry pi care folosește modulul GPS breakout și 2 afișaje Digole mici pentru a avea un computer de navigație pe bord.

Pasul 1: Hard disk RaspberriPi intermitent / Instalați software-ul necesar (folosind Ubuntu Linux)

Descărcați „RASPBIAN JESSIE LITE VERSION”

Creați noul dvs. hard disk pentru DashboardPI

Introduceți microSD-ul pe computerul dvs. prin adaptor USB și creați imaginea discului folosind comanda dd

Localizați cardul microSD introdus prin comanda df -h, demontați-l și creați imaginea discului cu comanda dd copy copy dd

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

$ umount / dev / sdb1

Atenție: asigurați-vă că comanda este complet precisă, cu această comandă puteți deteriora alte discuri

if = locația fișierului imagine RASPBIAN JESSIE FULL VERSION = locația cardului dvs. microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (notă: în acest caz, este / dev / sdb, / dev / sdb1 era o partiție fabrică existentă pe microSD)

Configurarea RaspberriPi

Introduceți noul card microSD în raspberrypi și porniți-l cu un monitor conectat la portul HDMI

Autentificare

utilizator: pi pass: zmeură

Schimbați parola contului pentru securitate (de la terminal)

sudo passwd pi

Activați opțiunile avansate RaspberriPi (de la terminal)

sudo raspi-config

Alegeți: 1 Extindeți sistemul de fișiere

9 Opțiuni avansate

A2 Hostname schimbați-l în „TripComputer”

A4 SSH Activați serverul SSH

A7 I2C Activați interfața i2c

Activați tastatura engleză / SUA

sudo nano / etc / implicit / tastatură

Schimbați următoarea linie: XKBLAYOUT = "noi"

Reporniți PI pentru modificările aspectului tastaturii / redimensionarea sistemului de fișiere pentru a intra în vigoare

$ sudo shutdown -r acum

Conectare automată la WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Adăugați următoarele linii pentru ca raspberrypi-ul dvs. să se conecteze automat la WiFi-ul de acasă (dacă rețeaua fără fir este denumită „linksys”, de exemplu, în exemplul următor)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD AICI"} Reporniți PI pentru a vă conecta la rețeaua WiFi

$ sudo shutdown -r acum

Acum că PI-ul dvs. se află în sfârșit în rețeaua locală, vă puteți conecta la acesta de la distanță prin SSH. Dar mai întâi trebuie să obțineți adresa IP pe care o are în prezent.

$ ifconfig Căutați "inet addr: 192.168. XXX. XXX" în următoarea ieșire a comenzii pentru adresa IP a PI-ului dvs.

Mergeți la o altă mașină și conectați-vă la raspberrypi prin ssh

$ ssh [email protected]. XXX. XXX

Începeți instalarea pachetelor necesare

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

Actualizați setările pentru fusul orar local

$ sudo dpkg-reconfigure tzdata

selectați fusul orar utilizând interfața

Configurați comanda directorului simplu l [opțional]

vi ~ /.bashrc

adăugați următoarea linie:

alias l = 'ls -lh'

sursa ~ /.bashrc

Remediați evidențierea implicită a sintaxei VIM [opțional]

sudo vi / etc / vim / vimrc

decomentați următoarea linie:

sintaxă activată

Pasul 2: Livrat necesar

Furnizat necesar
Furnizat necesar
Furnizat necesar
Furnizat necesar
Furnizat necesar
Furnizat necesar

Afișaj digital TFT LCD de 2 320x240 (x2)

DHT11 Humidistat

RaspberriPi Zero

Adafruit GPS Breakout

52mm 2in Calibre - utilizate pentru sticlă / și învelișurile ecranului

2 Container de montaj ecartament

Pasul 3: Imprimați carcasa

În folderul „3DPrint /” al acestui proiect, tipăriți fișierul gauges-final.stl care va produce afișajele Digole necesare pentru montarea celor 2 ecrane în interiorul containerului de montare a ecartamentului.

Pasul 4: Construirea computerului de călătorie

Construirea computerului de călătorie
Construirea computerului de călătorie

Conectați următoarele dispozitive pinii de pe Pi Zero

Digol (fiecare): 3v / GND / SDA / SCL

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

Conectați modulul USB GPS la RaspberriPi prin conexiuni HW UART Utilizarea HW UART pentru modulul GPS necesită următoarele pentru a elibera conexiunea UART de pe Pi.

„Cross” - Conectați pinii TX și RX de la modulul GPS la RPi TX (GPIO 14/8 pin) și RX (GPIO 15/10 pin) - [TX merge la RX pe dispozitiv și invers.] Conectați RPi 5V la pinul VIN și pinul GND al modulului GPS la un pin RPi GND disponibil.

Pasul 5: Adunarea finală

Asamblarea finala
Asamblarea finala
Asamblarea finala
Asamblarea finala

Tăiați o bucată de lemn pentru fund pentru a ține componentele în interiorul carcasei gabaritului.

Luați cele 2 calibre de 52mm 2in și tăiați vârfurile, folosim doar sticla și dispozitivele surround pentru a monta propriile afișaje, afișajele Digole. Lipiți-le în loc cu lipici fierbinte.

Pasul 6: Adunarea finală (continuare …)

Adunarea finală (continuare …)
Adunarea finală (continuare …)
Adunarea finală (continuare …)
Adunarea finală (continuare …)

Folosind schema de mai sus conectați componentele folosind lipire pentru a face totul puternic și permanent.

Montați componentele în interiorul carcasei cu ecartament dublu, utilizați înconjurătorile imprimate 3D pentru ca afișajele Digole în formă pătrată să se potrivească ferestrelor cu ecartament circular.

Pasul 7: Configurare / instalare software

Configurați Pi pentru a utiliza modulul GPS pe UART

sudo vi /boot/cmdline.txt

Schimbare:

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

la:

dwc_otg.lpm_enable = 0 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = termen rădăcină

(de exemplu, scoateți consola = ttyAMA0, 115200 și dacă există, kgdboc = ttyAMA0, 115200)

Rețineți că este posibil să vedeți console = serial0, 115200 sau console = ttyS0, 115200 și ar trebui să eliminați acele părți ale liniei, dacă există.

Rulați următoarele comenzi:

sudo systemctl stop [email protected]

sudo systemctl dezactivează [email protected]

Instalare modul GPS Pentru testare forțați dispozitivul USB să se conecteze la GPS

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

sudo systemctl opri gpsd.socket

sudo killall gpsd

sudo dpkg-reconfigure gpsd

sudo vi / etc / default / gpsd

# Setări implicite pentru gpsd. START_DAEMON = "true" GPSD_OPTIONS = "- n" DEVICES = "/ dev / ttyS0" USBAUTO = "false" GPSD_SOCKET = "/ var / run / gpsd.sock"

Asigurați-vă că comanda funcționează

cgps -s

DHT11 Instalați cd ~

git clone

cd Adafruit_Python_DHT /

sudo python setup.py instalare

sudo python ez_setup.py

exemple cd /

vi simpletest.py

Schimbați următoarea linie:

senzor = Adafruit_DHT. DHT11

Comentează linia

pin = 'P8_11'

Decomentați linia și schimbați numărul pinului la 16

pin = 16

Rulați testul

python simpletest.py

Ar trebui să vedeți o citire metrică a Temp și Umiditate afișată pe linia de comandă.

Configurați și rulați scripturile cd ~

git clone

Pasul 8: Instalați Instrumente de monitorizare a conducerii și jurnalizarea DB

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

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

Adăugați următoarea linie la sfârșitul fișierului:

parolă locală pi

sudo -i -u postgres

psql

creați rolul pi parolă 'parolă aici';

alt rol pi login;

alter rol superutilizator;

du

(ar trebui să vă vedeți utilizatorul PI cu permisiunile acordate)

crea baza de date de conducere_statistici;

q

Ieșire

psql -d statistici_conducere

Rulați următoarele interogări:

CREATE TABLE driving_stats (id serial, timestamp fără fus orar NOT NULL, new_trip_start timestamp fără fus orar NULL, gps_latitude dublă precizie, gps_longitude dublă precizie, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_address text, locale_area text, locale_ locale;

CREAȚI UNIQUE INDEX time_idx ON driving_stats (timp);

Este necesar un hack pentru ca GPSD să funcționeze cu conexiunea UART la repornirea sudo su

crontab -e

@reboot / bin / sleep 5; killall gpsd

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

Creați folderul jurnalelor pentru salvarea datelor mkdir / home / pi / TripComputer / computer / logs

Pasul 9: Pornirea scripturilor Crontab - Pi & Root

Configurați scripturile pentru a rula la pornire

crontab -e

Adăugați următoarele rânduri

@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

Configurați crontabul utilizatorului root pentru a vă asigura că modulul GPS se conectează corect

sudo su

crontab -e

Adăugați următoarele rânduri

@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

Pasul 10: configurați pentru a vă conecta la vreme și tablou de bord (opțional)

În cele din urmă, creați setările locale necesare pentru a rula computerul de călătorie

Găsiți fișierul /computer/includes/settings.shadow.py

Creați propria versiune a fișierului de setări numit pur și simplu settings.py

cheia API forecast.io pentru informații meteo locale weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API CHEIE AICI'

dacă aveți proiectul hub dispozitivului rulează (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

dacă aveți rulat proiectul pentru tabloul de bord (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Pasul 11: Montați pe bord / montați umidistat și ați terminat

Montați pe tablă / montați umidistat și ați terminat!
Montați pe tablă / montați umidistat și ați terminat!
Montați pe tablou / montați umidistat și ați terminat!
Montați pe tablou / montați umidistat și ați terminat!

Montează pe Dash

Muntele Humidistat este departe de Soarele direct

Reporniți RPi și ar trebui să fiți gata să plecați!

Recomandat: