Sadržaj:

TripComputer - GPS putno računalo i vremenski modul za vaše vozilo: 11 koraka (sa slikama)
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo: 11 koraka (sa slikama)

Video: TripComputer - GPS putno računalo i vremenski modul za vaše vozilo: 11 koraka (sa slikama)

Video: TripComputer - GPS putno računalo i vremenski modul za vaše vozilo: 11 koraka (sa slikama)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Studeni
Anonim
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo
TripComputer - GPS putno računalo i vremenski modul za vaše vozilo

Cool projekt maline pi koji koristi GPS modul za probijanje i 2 mala zaslona Digole za navigacijsko računalo.

Korak 1: Bljeskanje RaspberriPi tvrdog diska / instaliranje potrebnog softvera (pomoću Ubuntu Linuxa)

Preuzmite "RASPBIAN JESSIE LITE VERZIJA"

Izradite svoj novi tvrdi disk za DashboardPI

Umetnite microSD u računalo putem USB adaptera i stvorite sliku diska pomoću naredbe dd

Pronađite umetnutu microSD karticu pomoću naredbe df -h, isključite je i stvorite sliku diska pomoću naredbe za kopiranje diska dd

$ df -h/dev/sdb1 7,4G 32K 7,4G 1%/mediji/XXX/1234-5678

$ umount /dev /sdb1

Oprez: provjerite je li naredba potpuno točna, ovom naredbom možete oštetiti druge diskove

if = lokacija slikovne datoteke RASPBIAN JESSIE FULL VERSION = lokacija vaše microSD kartice

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (napomena: u ovom slučaju to je/dev/sdb,/dev/sdb1 je bila postojeća tvornička particija na microSD)

Postavljanje vašeg RaspberriPi -ja

Umetnite svoju novu microSD karticu u raspberrypi i uključite je s monitorom spojenim na HDMI priključak

Prijaviti se

korisnik: pi pass: malina

Promijenite lozinku računa radi sigurnosti (s terminala)

sudo passwd pi

Omogući napredne opcije RaspberriPi (s terminala)

sudo raspi-config

Odaberite: 1 Proširite datotečni sustav

9 Napredne opcije

A2 naziv hosta promijenite u "TripComputer"

A4 SSH Omogući SSH poslužitelj

A7 I2C Omogući i2c sučelje

Omogućite englesku/američku tipkovnicu

sudo nano/etc/default/keyboard

Promijenite sljedeći redak: XKBLAYOUT = "mi"

Ponovno pokrenite PI za promjene izgleda tipkovnice / promjenu veličine datotečnog sustava kako bi stupile na snagu

$ sudo shutdown -r sada

Automatsko povezivanje na WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Dodajte sljedeće retke kako bi se vaš raspberrypi automatski povezao s kućnom WiFi mrežom (ako je vaša bežična mreža nazvana "linksys", na primjer, u sljedećem primjeru)

network = {ssid = "linksys" psk = "BEŽIČNA LOZINKA OVDJE"} Ponovo pokrenite PI za povezivanje na WiFi mrežu

$ sudo shutdown -r sada

Sada kada je vaš PI konačno na lokalnoj mreži, možete se daljinski prijaviti na njega putem SSH -a. Ali prvo morate dobiti IP adresu koju trenutno ima.

$ ifconfig Potražite "inet addr: 192.168. XXX. XXX" u ispisu sljedeće naredbe za IP adresu vašeg PI -ja

Idite na drugi stroj i prijavite se na svoj raspberrypi putem ssh -a

$ ssh [email protected]. XXX. XXX

Počnite instalirati potrebne pakete

$ sudo apt-get update && sudo apt-get upgrade

$ sudo apt-get install build-essential git gpsd gpsd-klijenti i2c-tools libi2c-dev python3 python3-pip python-dev python-gps python-imaging python-pip python-smbus rpi.gpio vim python-psutil

$ sudo pip instalirajte RPi. GPIO

Ažurirajte postavke lokalne vremenske zone

$ sudo dpkg-ponovno konfigurirajte tzdata

odaberite svoju vremensku zonu pomoću sučelja

Postavite jednostavnu naredbu l direktorija [izborno]

vi ~/.bashrc

dodajte sljedeći redak:

alias l = 'ls -lh'

izvor ~/.bashrc

Popravite isticanje zadane sintakse VIM -a [nije obavezno]

sudo vi/etc/vim/vimrc

raskomentirajte sljedeći redak:

sintaksa uključena

Korak 2: Potrebno isporučeno

Isporučeno potrebno
Isporučeno potrebno
Isporučeno potrebno
Isporučeno potrebno
Isporučeno potrebno
Isporučeno potrebno

2 320x240 TFT LCD Digole zaslon (x2)

DHT11 Ovlaživač zraka

RaspberriPi nula

Adafruit GPS proboj

52 mm 2 -inčni mjerači - koriste se za staklo / i oko ekrana

2 Spremnik za postavljanje mjerača

Korak 3: Ispišite kućište

U mapi "3DPrint/" ovog projekta ispišite datoteku gauges-final.stl koja će proizvesti okruženje zaslona Digole potrebno za montiranje 2 zaslona unutar spremnika za postavljanje mjerača.

Korak 4: Izrada putnog računala

Izrada putnog računala
Izrada putnog računala

Spojite sljedeće uređaje s pinovima na Pi Zero

Digola (svaka): 3v / GND / SDA / SCL

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

Priključite GPS USB modul na RaspberriPi putem HW UART veza Korištenje HW UART za GPS modul zahtijeva sljedeće kako bi se oslobodila UART veza na vašem Pi.

"Cross"-Spojite TX i RX pinove iz GPS modula na RPi TX (GPIO 14/8 pin) i RX (GPIO 15/10 pin)-[TX ide na RX na uređaju i obrnuto.] Povežite RPi 5V na VIN pin i GND pin GPS modula na raspoloživi RPi GND pin.

Korak 5: Završna montaža

Završna skupština
Završna skupština
Završna skupština
Završna skupština

Izrežite komad drveta za dno kako biste zadržali kompetencije unutar kućišta mjerača.

Uzmite 2 52 mm 2 -inčne mjerače i odrežite vrhove, mi samo koristimo staklo i okruženje za postavljanje vlastitih zaslona, zaslona Digole. Zalijepite ih vrućim ljepilom na mjesto.

Korak 6: Završna montaža (nastavak …)

Završna skupština (nastavak …)
Završna skupština (nastavak …)
Završna skupština (nastavak …)
Završna skupština (nastavak …)

Koristeći gornju shemu, spojite komponente pomoću lemljenja kako biste sve učinili jakim i postojanim.

Montirajte komponente unutar kućišta s dvostrukim kolosijekom, upotrijebite 3D tiskane okvire kako bi se zasloni Digole u obliku kvadrata uklopili u prozore kružnog profila.

Korak 7: Konfiguracija / instalacija softvera

Konfigurirajte svoj Pi za upotrebu GPS modula na UART -u

sudo vi /boot/cmdline.txt

promijeniti:

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

do:

dwc_otg.lpm_enable = 0 konzola = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 dizalo = rok rootwait

(npr. uklonite konzolu = ttyAMA0, 115200, a ako postoji, kgdboc = ttyAMA0, 115200)

Imajte na umu da biste mogli vidjeti console = serial0, 115200 ili console = ttyS0, 115200 i trebali biste ukloniti te dijelove retka ako postoje.

Pokrenite sljedeće naredbe:

sudo systemctl stop [email protected]

sudo systemctl onemogućiti [email protected]

Instaliranje GPS modula Za testiranje prisilite USB uređaj da se poveže na gpsd

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg-ponovno konfigurirajte gpsd

sudo vi/etc/default/gpsd

# Zadane postavke za gpsd. START_DAEMON = "true" GPSD_OPTIONS = "-n" DEVICES = "/dev/ttyS0" USBAUTO = "false" GPSD_SOCKET = "/var/run/gpsd.sock"

Provjerite radi li naredba

cgps -s

DHT11 Instalirajte cd ~

git klon

cd Adafruit_Python_DHT/

sudo python setup.py install

sudo python ez_setup.py

cd primjeri/

vi najjednostavniji.py

Promijenite sljedeći redak:

senzor = Adafruit_DHT. DHT11

Komentirajte liniju

pin = 'P8_11'

Dekomentirajte liniju i promijenite pin broj na 16

pin = 16

Pokrenite test

python simpletest.py

Trebali biste vidjeti metričko očitanje temperature i vlažnosti prikazano u naredbenom retku.

Postavljanje i pokretanje skripti cd ~

git klon

Korak 8: Instalirajte upravljačke alate za nadzor i evidentiranje DB -a

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

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

Na kraj datoteke dodajte sljedeći redak:

lokalna lozinka za sve pi

sudo -i -u postgres

psql

kreirajte lozinku za ulogu pi 'lozinka ovdje';

promijeni ulogu pi prijave;

alter role pi superuser;

du

(trebali biste vidjeti svog korisnika PI -a s dodijeljenim dopuštenjima)

stvoriti bazu podataka driving_statistics;

q

Izlaz

psql -d vožnje_statistika

Pokrenite sljedeće upite:

CREATE TABLE driving_stats (id serijski broj, vremenska oznaka bez vremenske zone NOT NULL, new_trip_start timestamp without time zone NULL, gps_latitude double preciznost, gps_ Longitude dvostruka preciznost, gps_altitude realna, gps_speed stvarna, gps_climb realna, gps_track pravilan, locale_adress text, locale_adress tekst, locale_adress tekst, locale_adress tekst, locale_adress tekst, locale_adress tekst, tekst zemlje -zemlje, tekst zemlje -lokaliteta, tekst zemljepisnog_zip koda, unutarnji_temperat stvaran, unutrašnji_hmidti pravi, vremenski žig vremenskog_vremena, sažetak teksta vremenski_vremena, tekst vremenskog_ikona, vremenski_prividnaTemperatura stvarna, stvarna_vlažnost_vremena, vremenska_precipitacijaIntensitet stvarna, vremenska_precipProbabilnost_vjerna;

CREATE UNIQUE INDEX time_idx ON vozačke_stats (vrijeme);

Hack je potreban kako bi GPSD radio s UART vezom na ponovnom pokretanju sudo su

crontab -e

@reboot /bin /sleep 5; ubiti gpsd

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

Izradite mapu zapisnika za spremanje podataka mkdir/home/pi/TripComputer/computer/logs

Korak 9: Pokretanje Crontab skripti - Pi & Root

Postavite skripte za pokretanje pri pokretanju

crontab -e

Dodajte sljedeće retke

@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

Postavite crontab korijenskog korisnika kako biste bili sigurni da se GPS modul ispravno povezuje

sudo su

crontab -e

Dodajte sljedeće retke

@reboot /bin /sleep 5; systemctl stop gpsd.socket

@reboot /bin /sleep 8; ubiti gpsd

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

Korak 10: Konfigurirajte za povezivanje s Vremenom i Nadzornom pločom (izborno)

Na kraju stvorite lokalne postavke potrebne za pokretanje putnog računala

Pronađite datoteku /computer/includes/settings.shadow.py

Izradite vlastitu verziju datoteke postavki pod nazivom jednostavno settings.py

weather.io API ključ za lokalne vremenske informacije weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API KLJUČ OVDJE'

ako imate pokrenut projekt čvorišta uređaja (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

ako imate pokrenut projekt telefona nadzorne ploče (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Korak 11: Montirajte na crticu / montirajte vlažni stalak i završeno

Montirajte na crticu / vlažno vlažno i dovršeno!
Montirajte na crticu / vlažno vlažno i dovršeno!
Montirajte na crticu / vlažno vlažno i dovršeno!
Montirajte na crticu / vlažno vlažno i dovršeno!

Mount on Dash

Mount Humidistat dalje od izravnog Sunca

Ponovo pokrenite svoj RPi i trebali biste biti spremni za rad!

Preporučeni: