Sadržaj:
- Korak 1: Bljeskanje RaspberriPi tvrdog diska / instaliranje potrebnog softvera (pomoću Ubuntu Linuxa)
- Korak 2: Potrebno isporučeno
- Korak 3: Odštampajte kućište
- Korak 4: Izrada putnog računara
- Korak 5: Završna montaža
- Korak 6: Završna montaža (nastavak …)
- Korak 7: Konfiguracija / instalacija softvera
- Korak 8: Instalirajte Alate za nadgledanje vožnje i evidentiranje DB -a
- Korak 9: Pokretanje Crontab skripti - Pi & Root
- Korak 10: Konfigurirajte za povezivanje s Vremenom i Nadzornom pločom (izborno)
- Korak 11: Montirajte na crticu / montirajte vlažni stalak i završeno
Video: TripComputer - GPS putni računar i vremenski modul za vaše vozilo: 11 koraka (sa slikama)
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Odličan projekt maline pi koji koristi GPS modul za probijanje i 2 mala ekrana Digole za navigacijski kompjuter.
Korak 1: Bljeskanje RaspberriPi tvrdog diska / instaliranje potrebnog softvera (pomoću Ubuntu Linuxa)
Preuzmite "RASPBIAN JESSIE LITE VERZIJA"
Kreirajte svoj novi tvrdi disk za DashboardPI
Umetnite microSD u računalo putem USB adaptera i kreirajte sliku diska pomoću naredbe dd
Pronađite umetnutu microSD karticu pomoću naredbe df -h, demontirajte je i kreirajte sliku diska naredbom dd copy copy
$ 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
Ulogovati se
korisnik: pi pass: malina
Promijenite lozinku računa radi sigurnosti (s terminala)
sudo passwd pi
Omogući RaspberriPi napredne opcije (s terminala)
sudo raspi-config
Odaberite: 1 Proširite Sistem datoteka
9 Napredne opcije
A2 ime hosta promijenite u "TripComputer"
A4 SSH Omogući SSH server
A7 I2C Omogući i2c sučelje
Omogućite englesku/američku tastaturu
sudo nano/etc/default/keyboard
Promijenite sljedeći red: XKBLAYOUT = "mi"
Ponovo pokrenite PI za promjene rasporeda tastature / promjenu veličine datotečnog sistema kako bi stupile na snagu
$ sudo shutdown -r sada
Automatsko povezivanje na WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Dodajte sljedeće redove kako bi se vaš raspberrypi automatski povezao s kućnom WiFi mrežom (ako je vaša bežična mreža na primjer "linksys", 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 sljedećem izlazu naredbe za IP adresu vašeg PI -ja
Idite na drugu mašinu 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-rekonfigurirajte tzdata
odaberite svoju vremensku zonu pomoću sučelja
Postavite jednostavnu naredbu l direktorija [opcionalno]
vi ~/.bashrc
dodajte sledeći red:
alias l = 'ls -lh'
izvor ~/.bashrc
Ispravite označavanje zadane sintakse VIM -a [nije obavezno]
sudo vi/etc/vim/vimrc
raskomentirajte sljedeći redak:
sintaksa uključena
Korak 2: Potrebno isporučeno
2 320x240 TFT LCD Digole ekran (x2)
DHT11 Humidistat
RaspberriPi Zero
Adafruit GPS proboj
52 mm 2 -inčni mjerači - koriste se za staklo / i oko ekrana
2 Kontejner za montažu na mjerač
Korak 3: Odštampajte kućište
U mapi "3DPrint/" ovog projekta odštampajte datoteku gauges-final.stl koja će proizvesti okruženje ekrana Digole potrebno za montiranje 2 ekrana unutar kontejnera za montiranje mjerača.
Korak 4: Izrada putnog računara
Priključite pinove sljedećih uređaja na Pi Zero
Digola (svaka): 3v / GND / SDA / SCL
DHT11: 5v / GPIO 16 (36) / GND
Povežite GPS USB modul na RaspberriPi putem HW UART veze Korištenje HW UART za GPS modul zahtijeva sljedeće za oslobađanje UART veze na vašem Pi.
"Cross"-Povežite TX i RX pinove sa 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
Odrež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 …)
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, koristite 3D štampane okvire kako bi se Digole ekrani kvadratnog oblika uklopili u prozore kružnog profila.
Korak 7: Konfiguracija / instalacija softvera
Konfigurirajte svoj Pi da koristi GPS modul na UART -u
sudo vi /boot/cmdline.txt
promjena:
dwc_otg.lpm_enable = 0 konzola = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konzola = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 lift = rok rootwait
do:
dwc_otg.lpm_enable = 0 konzola = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 lift = rok rootwait
(npr. uklonite konzolu = ttyAMA0, 115200 i 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 linije ako postoje.
Pokrenite sljedeće naredbe:
sudo systemctl stop [email protected]
sudo systemctl onemogući [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 clone
cd Adafruit_Python_DHT/
sudo python setup.py install
sudo python ez_setup.py
cd primjeri/
vi simpletest.py
Promenite sledeći red:
senzor = Adafruit_DHT. DHT11
Komentarišite 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 na komandnoj liniji.
Postavljanje i pokretanje skripti cd ~
git clone
Korak 8: Instalirajte Alate za nadgledanje vožnje 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
Dodajte sljedeći redak na kraj datoteke:
lokalna lozinka za sve pi
sudo -i -u postgres
psql
kreirajte lozinku za lozinku pi 'lozinka ovdje';
promenite ulogu pi prijavljivanja;
alter role pi superuser;
du
(trebali biste vidjeti svog korisnika PI -a s dodijeljenim dozvolama)
kreirati bazu podataka driving_statistics;
q
Izlaz
psql -d driving_statistics
Pokrenite sljedeće upite:
CREATE TABLE driving_stats (id serijski broj, vremenska oznaka bez vremenske zone NOT NULL, new_trip_start vremenska oznaka bez vremenske zone NULL, gps_latitude double preciznost, gps_longitude dvostruka preciznost, gps_altitude realna, gps_speed stvarna, gps_climb realna, gps_track stvarna, locale_adress tekst, locale_adress tekst, locale_adress tekst, locale_adress tekst, locale_adreact tekst, tekst zemljepisnog_mjesta, tekst mjesne_zemlje, tekst lokalnog_zip koda, unutrašnji_temperat stvaran, unutrašnji_sredina stvarnog vremena, vremenska oznaka vremenskog_vremena, sažeti tekst vremenskog_vremena, tekst vremenskog_ikona, vremenski_prividnaTemperatura stvarna, stvarna_vlažnost_vremena, vremenski_precipIntensitet stvarni, vremenski_precipProbabilnost_vjerni;
CREATE UNIQUE INDEX time_idx ON vozačke_stats (vrijeme);
Hack je potreban kako bi GPSD radio s UART vezom pri ponovnom pokretanju sudo su
crontab -e
@reboot /bin /sleep 5; killall gpsd
@reboot /bin /sleep 10; /usr/sbin/gpsd/dev/ttyS0 -F /var/run/gpsd.sock
Kreirajte mapu dnevnika za čuvanje podataka mkdir/home/pi/TripComputer/computer/logs
Korak 9: Pokretanje Crontab skripti - Pi & Root
Podesite skripte za pokretanje pri pokretanju
crontab -e
Dodajte sljedeće redove
@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 root korisnika kako biste bili sigurni da se GPS modul ispravno povezuje
sudo su
crontab -e
Dodajte sljedeće redove
@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
Korak 10: Konfigurirajte za povezivanje s Vremenom i Nadzornom pločom (izborno)
Na kraju kreirajte lokalne postavke potrebne za pokretanje putnog računara
Pronađite datoteku /computer/includes/settings.shadow.py
Kreirajte 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 pokrenuti 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
Mount on Dash
Mount Humidistat dalje od direktnog sunca
Ponovo pokrenite svoj RPi i trebali biste biti spremni za rad!