Sadržaj:
- Korak 1: Bljeskanje RaspberriPi tvrdog diska / instaliranje potrebnog softvera (pomoću Ubuntu Linuxa)
- Korak 2: Potrebno isporučeno
- Korak 3: Ispišite kućište
- Korak 4: Izrada putnog računala
- Korak 5: Završna montaža
- Korak 6: Završna montaža (nastavak …)
- Korak 7: Konfiguracija / instalacija softvera
- Korak 8: Instalirajte upravljačke alate za nadzor 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 putno računalo i vremenski modul za vaše vozilo: 11 koraka (sa slikama)
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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
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
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
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 …)
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
Mount on Dash
Mount Humidistat dalje od izravnog Sunca
Ponovo pokrenite svoj RPi i trebali biste biti spremni za rad!