Sisukord:
- Samm: RaspberriPi kõvaketta vilkumine / vajaliku tarkvara installimine (Ubuntu Linuxi kasutamine)
- 2. etapp: tarnitakse
- 3. samm: printige ümbris
- 4. samm: reisiarvuti ehitamine
- Samm: lõplik kokkupanek
- 6. etapp: lõplik kokkupanek (jätk …)
- Samm: tarkvara konfigureerimine / installimine
- Samm 8: Installige sõidu jälgimise tööriistad ja DB logimine
- 9. samm: Crontabi skriptide käivitamine - Pi & Root
- 10. toiming: seadistage ilmateate ja armatuurlauaga ühenduse loomine (valikuline)
- Samm 11: paigaldage kriipsu külge / paigaldage Humidistaat ja lõpetage
Video: TripComputer - GPS -reisiarvuti ja teie sõiduki ilmamoodul: 11 sammu (koos piltidega)
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Lahe vaarika pi projekt, mis kasutab GPS -i väljalülitusmoodulit ja 2 väikest Digole -ekraani, et teie kriipsul oleks navigeerimisarvuti.
Samm: RaspberriPi kõvaketta vilkumine / vajaliku tarkvara installimine (Ubuntu Linuxi kasutamine)
Laadige alla "RASPBIAN JESSIE LITE VERSION"
Looge DashboardPI jaoks uus kõvaketas
Sisestage microSD -kaart USB -adapteri kaudu arvutisse ja looge kettapilt käsuga dd
Leidke sisestatud microSD -kaart käsu df -h abil, eemaldage see ja looge kettapilt käsuga disk copy dd
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Ettevaatust: veenduge, et käsk oleks täiesti täpne, selle käsuga võite kahjustada teisi kettaid
if = RASPBIAN JESSIE FULL VERSION pildifaili asukoht = teie microSD -kaardi asukoht
$ sudo dd bs = 4M kui =/path/to/raspbian-jessie-lite.img of//dev/sdb (märkus: antud juhul on see/dev/sdb,/dev/sdb1 oli microSD)
RaspberriPi seadistamine
Sisestage uus microSD -kaart vaarikapiirkonda ja lülitage see sisse HDMI -porti ühendatud monitoriga
Logi sisse
kasutaja: pi pass: vaarikas
Turvalisuse huvides muutke oma konto parooli (terminalist)
sudo passwd pi
Luba RaspberriPi lisavalikud (terminalist)
sudo raspi-config
Valige: 1 Laiendage failisüsteemi
9 Täpsemad valikud
A2 hostinimi muudab selle "TripComputeriks"
A4 SSH Luba SSH -server
A7 I2C Luba i2c liides
Luba inglise/USA klaviatuur
sudo nano/etc/default/klaviatuur
Muutke järgmist rida: XKBLAYOUT = "meie"
Taaskäivitage PI klaviatuuri paigutuse muutmiseks / failisüsteemi suuruse muutmiseks, et see jõustuks
$ sudo sulgemine -r kohe
Automaatne ühendus WiFi-ga
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Lisage järgmised read, et teie vaarikapi saaks automaatselt ühenduse teie kodu WiFi -ga (kui teie traadita võrgu nimi on järgmises näites näiteks "linksys")
network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} WiFi -võrguga ühenduse loomiseks taaskäivitage PI
$ sudo sulgemine -r kohe
Nüüd, kui teie PI on lõpuks kohalikus võrgus, saate sinna SSH kaudu kaugjuhtimisega sisse logida. Kuid kõigepealt peate hankima praeguse IP -aadressi.
$ ifconfig Otsige järgmisest käsu väljundist oma PI IP -aadressi jaoks "inet addr: 192.168. XXX. XXX".
Minge teise masinasse ja logige oma raspberrypi sisse ssh kaudu
$ ssh [email protected]. XXX. XXX
Alustage vajalike pakettide installimist
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential git gpsd gpsd-kliendid i2c-tools libi2c-dev python3 python3-pip python-dev python-gps python-imaging python-pip python-smbus rpi.gpio vim python-psutil
$ sudo pip installige RPi. GPIO
Värskendage kohalikke ajavööndi seadeid
$ sudo dpkg-konfigureerige tzdata uuesti
liidese abil valige oma ajavöönd
Seadistage lihtne kataloog l käsk [valikuline]
vi ~/.bashrc
lisage järgmine rida:
varjunimi l = 'ls -lh'
allikas ~/.bashrc
VIM -i süntaksi esiletõstmise parandamine [valikuline]
sudo vi/etc/vim/vimrc
tühistage järgmine rida:
süntaks sisse lülitatud
2. etapp: tarnitakse
2 320x240 TFT LCD digitaalne ekraan (x2)
DHT11 niisutaja
RaspberriPi Zero
Adafruit GPS Breakout
52 mm 2in gabariidid - kasutatakse klaasi ja ekraani ümbriste jaoks
2 Mõõdikukinnitusmahuti
3. samm: printige ümbris
Printige selle projekti kausta "3DPrint/" fail gauges-final.stl, mis loob Digole'i ekraaniümbrised, mis on vajalikud kahe ekraani paigaldamiseks gabariidikinnituse konteinerisse.
4. samm: reisiarvuti ehitamine
Ühendage järgmised seadmed Pi Zero tihvtidega
Digole (igaüks): 3v / GND / SDA / SCL
DHT11: 5v / GPIO 16 (36) / GND
Ühendage GPS -i USB -moodul RaspberriPi -ga HW UART -ühenduste kaudu. HW UART -i kasutamine GPS -mooduli jaoks nõuab UART -ühenduse vabastamiseks teie Pi -l järgmist.
"Rist"-ühendage GPS-mooduli TX- ja RX-tihvtid RPi TX (GPIO 14/8 pin) ja RX (GPIO 15/10 pin)-[TX läheb seadme RX-le ja vastupidi.] Ühenda RPi 5V VIN -kontaktile ja GPS -mooduli GND -tihvt olemasolevale RPi GND -tihvtile.
Samm: lõplik kokkupanek
Lõigake põhja jaoks puutükk, et hoida mõõturi korpuses olevaid komponente.
Võtke 2 52 mm 2 -tollist gabariiti ja lõigake ülemised otsad ära. Me kasutame klaasi ja ümbrist, et paigaldada oma kuvarid, Digole'i näidikud. Liimige need kuuma liimiga oma kohale.
6. etapp: lõplik kokkupanek (jätk …)
Kasutades ülaltoodud skeemi, ühendage komponendid jootet kasutades kokku, et muuta kõik tugevaks ja püsivaks.
Paigaldage komponendid kahe gabariidiga korpuse sisse, kasutage 3D -prinditud ümbriseid, et ruudukujulised Digole -kuvarid sobiksid ümmarguse gabariidiga akendega.
Samm: tarkvara konfigureerimine / installimine
Konfigureerige oma Pi, et kasutada GPS -moodulit UART -is
sudo vi /boot /cmdline.txt
muutus:
dwc_otg.lpm_enable = 0 konsool = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konsool = tty1 juur =/dev/mmcblk0p2 rootfstype = ext4 lift = tähtaeg rootwait
:
dwc_otg.lpm_enable = 0 konsool = tty1 juur =/dev/mmcblk0p2 rootfstype = ext4 lift = tähtaeg rootwait
(nt eemaldage konsool = ttyAMA0, 115200 ja kui on, siis kgdboc = ttyAMA0, 115200)
Pange tähele, et võite näha konsooli = serial0, 115200 või konsooli = ttyS0, 115200 ja need rea osad tuleks eemaldada, kui need on olemas.
Käivitage järgmised käsud:
sudo systemctl stop [email protected]
sudo systemctl keelake [email protected]
GPS -mooduli installimine Katsetamiseks sundige oma USB -seadet gpsd -ga ühenduse loomiseks
sudo gpsd/dev/ttyS0 -F /var/run/gpsd.sock
sudo systemctl stop gpsd.socket
sudo killall gpsd
sudo dpkg-konfigureerige gpsd uuesti
sudo vi/etc/default/gpsd
# GPS -i vaikeseaded. START_DAEMON = "true" GPSD_OPTIONS = "-n" DEVICES = "/dev/ttyS0" USBAUTO = "false" GPSD_SOCKET = "/var/run/gpsd.sock"
Veenduge, et käsk töötab
cgps -s
DHT11 Installi CD ~
git kloon
cd Adafruit_Python_DHT/
sudo python setup.py install
sudo python ez_setup.py
cd näited/
vi simpletest.py
Muutke järgmist rida:
andur = Adafruit_DHT. DHT11
Kommenteerige rida
pin = 'P8_11'
Tühjendage rea kommentaar ja muutke PIN -kood 16 -ks
tihvt = 16
Käivitage test
python simpletest.py
Te peaksite nägema käsureal kuvatavat temperatuuri ja niiskuse mõõdikut.
Seadistage ja käivitage skriptid cd ~
git kloon
Samm 8: Installige sõidu jälgimise tööriistad ja DB logimine
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Lisage faili lõppu järgmine rida:
local all pi parool
sudo -i -u postgres
psql
loo roll pi parool 'parool siin';
muuta rolli pi sisselogimine;
muuta rolli pi superkasutaja;
du
(peaksite nägema oma PI -kasutajat, kellel on antud load)
luua andmebaasi sõidu_statistika;
q
väljumine
psql -d sõidu_statistika
Käivitage järgmised päringud:
CREATE TABLE driving_stats (id seeria, aja ajatempel ilma ajavööndita EI OLE NULL, uus_trip_start ajatempel ilma ajavööndita NULL, gps_latitude topelttäpsus, gps_longitude topelttäpsus, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_address_tekst,, locale_county text, locale_country text, locale_zipcode text, inside_temp real, inside_hmidty real, weather_time timestamp, weather_summary text, weather_icon text, weather_apparentTemperature real, weather_humidity real, weather_precipIntensity real, weather_pecw)
CREATE UNIQUE INDEX time_idx ON sõidu_statistika (aeg);
Häkkimine on vajalik, et GPSD töötaks UART -ühendusega sudo su taaskäivitamisel
crontab -e
@reboot /bin /sleep 5; killall gpsd
@reboot /bin /sleep 10; /usr/sbin/gpsd/dev/ttyS0 -F /var/run/gpsd.sock
Looge salvestatavate andmete jaoks logide kaust mkdir/home/pi/TripComputer/computer/logs
9. samm: Crontabi skriptide käivitamine - Pi & Root
Seadistage skriptid käivitamiseks käivitamiseks
crontab -e
Lisage järgmised read
@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
Seadistage juurkasutaja crontab, et veenduda, et GPS -moodul on õigesti ühendatud
sudo su
crontab -e
Lisage järgmised read
@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
10. toiming: seadistage ilmateate ja armatuurlauaga ühenduse loomine (valikuline)
Lõpuks looge reisiarvuti käivitamiseks vajalikud kohalikud seaded
Leidke fail /computer/includes/settings.shadow.py
Looge oma seadistustefaili versioon nimega lihtsalt settings.py
prognoz.io API võti kohaliku ilmateabe jaoks weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'API KEY HERE'
kui teil on seadmekeskuse projekt käimas (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'
kui teil on juhtpaneeli telefoniprojekt käimas (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'
Samm 11: paigaldage kriipsu külge / paigaldage Humidistaat ja lõpetage
Paigaldage Dashile
Paigaldage Humidistat otsese päikese kätte
Taaskäivitage oma RPi ja peaksite olema valmis minema!