Talaan ng mga Nilalaman:
- Hakbang 1: Flashing RaspberriPi Hard Disk / I-install ang Kinakailangan na Software (Paggamit ng Ubuntu Linux)
- Hakbang 2: Kinakailangan na Kinakailangan
- Hakbang 3: I-print ang Enclosure
- Hakbang 4: Pagbuo ng Trip Computer
- Hakbang 5: Pangwakas na Assembly
- Hakbang 6: Huling Assembly (cont…)
- Hakbang 7: Pag-configure / Pag-install ng Software
- Hakbang 8: I-install ang Mga Tool sa Pagsubaybay sa Pagmamaneho at Pag-log ng DB
- Hakbang 9: Mga Startup Crontab Script - Pi & Root
- Hakbang 10: I-configure upang Kumonekta sa Panahon at Dashboard (opsyonal)
- Hakbang 11: I-mount sa Dash / Mount Humidistat at Tapos na
Video: TripComputer - GPS Trip Computer & Module ng Panahon para sa Iyong Sasakyan: 11 Mga Hakbang (na may Mga Larawan)
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Isang cool na proyekto ng raspberry pi na gumagamit ng module ng breakout ng GPS at 2 maliit na ipinapakita ng Digole upang magkaroon ng isang nabigasyon na computer sa iyong dash.
Hakbang 1: Flashing RaspberriPi Hard Disk / I-install ang Kinakailangan na Software (Paggamit ng Ubuntu Linux)
I-download ang "RASPBIAN JESSIE LITE VERSION"
Lumikha ng iyong bagong hard disk para sa DashboardPI
Ipasok ang microSD sa iyong computer sa pamamagitan ng USB adapter at likhain ang imahe ng disk gamit ang dd command
Hanapin ang iyong ipinasok na microSD card sa pamamagitan ng utos na df -h, i-unmount ito at likhain ang imahe ng disk gamit ang disk copy dd command
$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Pag-iingat: siguraduhin na ang utos ay ganap na tumpak, maaari mong mapinsala ang iba pang mga disk sa utos na ito
kung = lokasyon ng RASPBIAN JESSIE FULL VERSION file ng imahe ng = lokasyon ng iyong microSD card
$ sudo dd bs = 4M kung = / path / to / raspbian-jessie-lite.img ng = / dev / sdb (tala: sa kasong ito, ito ay / dev / sdb, / dev / sdb1 ay isang mayroon nang partisyon ng pabrika sa microSD)
Pagse-set up ng iyong RaspberriPi
Ipasok ang iyong bagong microSD card sa raspberrypi at paganahin ito gamit ang isang monitor na konektado sa HDMI port
Mag log in
gumagamit: pi pass: raspberry
Baguhin ang password ng iyong account para sa seguridad (mula sa terminal)
sudo passwd pi
Paganahin ang RaspberriPi Advanced na Mga Pagpipilian (mula sa terminal)
sudo raspi-config
Piliin: 1 Palawakin ang System ng File
9 Mga advanced na pagpipilian
Palitan ito ng A2 Hostname sa "TripComputer"
A4 SSH Paganahin ang SSH Server
A7 I2C Paganahin ang i2c interface
Paganahin ang English / US Keyboard
sudo nano / etc / default / keyboard
Baguhin ang sumusunod na linya: XKBLAYOUT = "us"
I-reboot ang PI para sa mga pagbabago sa layout ng Keyboard / pagbabago ng laki ng file system upang magkabisa
$ sudo shutdown -r ngayon
Awtomatikong Kumonekta sa iyong WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Idagdag ang mga sumusunod na linya upang awtomatikong kumonekta ang iyong raspberrypi sa iyong WiFi sa bahay (kung ang iyong wireless network ay pinangalanang "linksys" halimbawa, sa sumusunod na halimbawa)
network = {ssid = "linksys" psk = "WIRELESS PASSWORD DITO"} I-reboot ang PI upang kumonekta sa WiFi network
$ sudo shutdown -r ngayon
Ngayon na ang iyong PI ay sa wakas ay nasa lokal na network, maaari kang mag-login nang malayuan dito sa pamamagitan ng SSH. Ngunit kailangan mo munang makuha ang IP address na kasalukuyang mayroon ito.
$ ifconfig Hanapin ang "inet addr: 192.168. XXX. XXX" sa output ng sumusunod na command para sa IP Address ng iyong PI
Pumunta sa isa pang makina at mag-login sa iyong raspberrypi sa pamamagitan ng ssh
$ ssh [email protected]. XXX. XXX
Simulang I-install ang kinakailangang mga pakete
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential git gpsd gpsd-kliyente i2c-tool libi2c-dev python3 python3-pip python-dev python-gps python-imaging python-pip python-smbus rpi.gpio vim python-psutil
$ sudo pip i-install ang RPi. GPIO
I-update ang mga setting ng lokal na timezone
$ sudo dpkg-reconfigure tzdata
piliin ang iyong timezone gamit ang interface
I-setup ang simpleng direktoryo l utos [opsyonal]
vi ~ /.bashrc
idagdag ang sumusunod na linya:
alyas l = 'ls -lh'
pinagmulan ~ /.bashrc
Ayusin ang VIM default na syntax na pagha-highlight ng [opsyonal]
sudo vi / etc / vim / vimrc
i-komento ang sumusunod na linya:
syntax sa
Hakbang 2: Kinakailangan na Kinakailangan
2 320x240 TFT LCD Digole Display (x2)
DHT11 Humidistat
RaspberriPi Zero
Pag-breakout ng Adafruit GPS
52mm 2in Gauges - ginamit para sa salamin / at mga nakapaligid na screen
2 Sukatin ang lalagyan ng bundok
Hakbang 3: I-print ang Enclosure
Sa folder na "3DPrint /" ng proyektong ito, i-print ang gauges-final.stl file na gagawa ng pagpapakita ng Digole na mga paligid na kinakailangan upang mai-mount ang 2 mga screen sa loob ng gauge mount container.
Hakbang 4: Pagbuo ng Trip Computer
Ikonekta ang mga sumusunod na Device sa mga pin sa Pi Zero
Digole (bawat isa): 3v / GND / SDA / SCL
DHT11: 5v / GPIO 16 (36) / GND
Ikonekta ang Module ng GPS USB sa RaspberriPi sa pamamagitan ng mga koneksyon sa HW UART Ang paggamit ng HW UART para sa module ng GPS ay nangangailangan ng sumusunod upang mapalaya ang koneksyon ng UART sa iyong Pi.
"Cross" -Konekta ang mga pin ng TX at RX mula sa module ng GPS patungo sa RPi TX (GPIO 14/8 pin) at RX (GPIO 15/10 pin) - [Ang TX ay papunta sa RX sa aparato at vice versa.] Ikonekta RPi 5V sa VIN pin at ang module ng GPS na GND pin sa isang magagamit na RPi GND pin.
Hakbang 5: Pangwakas na Assembly
Gupitin ang isang piraso ng kahoy para sa ilalim upang hawakan ang mga sangkap sa loob ng gauge casing.
Kunin ang 2 52mm 2in Gauges at putulin ang mga tuktok, ginagamit lamang namin ang baso at palibutan upang mai-mount ang aming sariling mga display, ipinapakita ng Digole. Idikit ang mga ito sa lugar na may mainit na pandikit.
Hakbang 6: Huling Assembly (cont…)
Gamit ang eskematiko sa itaas ng kawad nang magkasama ang mga sangkap na gumagamit ng panghinang upang gawing malakas at permanente ang lahat.
I-mount ang mga sangkap sa loob ng dual gauge casing, gamitin ang 3D na naka-print na mga paligid upang magkasya ang mga hugis parisukat na ipinakitang Digole sa mga pabilog na windows ng gauge.
Hakbang 7: Pag-configure / Pag-install ng Software
I-configure ang iyong Pi upang magamit ang Module ng GPS sa UART
sudo vi /boot/cmdline.txt
baguhin:
dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait
sa:
dwc_otg.lpm_enable = 0 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait
(hal., alisin ang console = ttyAMA0, 115200 at kung doon, kgdboc = ttyAMA0, 115200)
Tandaan na maaari mong makita ang console = serial0, 115200 o console = ttyS0, 115200 at dapat na alisin ang mga bahagi ng linya kung mayroon.
Patakbuhin ang mga sumusunod na utos:
sudo systemctl ihinto ang [email protected]
sudo systemctl huwag paganahin ang [email protected]
Pag-install ng Modyul ng GPS Para sa pagsubok pilitin ang iyong USB aparato na kumonekta sa gpsd
sudo gpsd / dev / ttyS0 -F /var/run/gpsd.sock
sudo systemctl ihinto ang gpsd.socket
sudo killall gpsd
sudo dpkg-reconfigure gpsd
sudo vi / etc / default / gpsd
# Mga default na setting para sa gpsd. START_DAEMON = "true" GPSD_OPTIONS = "- n" DEVICES = "/ dev / ttyS0" USBAUTO = "false" GPSD_SOCKET = "/ var / run / gpsd.sock"
Tiyaking gumagana ang utos
cgps -s
DHT11 Mag-install ng cd ~
git clone
cd Adafruit_Python_DHT /
sudo python setup.py install
sudo python ez_setup.py
mga halimbawa ng cd /
vi pinakasimpleng.py
Baguhin ang sumusunod na linya:
sensor = Adafruit_DHT. DHT11
I-comment ang linya sa linya
pin = 'P8_11'
Alisan ng puna ang linya at baguhin ang numero ng pin sa 16
pin = 16
Patakbuhin ang pagsubok
python simpletest.py
Dapat mong makita ang isang panukat na pagbabasa ng Temp at Humidity na ipinakita sa linya ng utos.
I-setup at Patakbuhin ang cd ng mga script ~
git clone
Hakbang 8: I-install ang Mga Tool sa Pagsubaybay sa Pagmamaneho at Pag-log ng DB
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Idagdag ang sumusunod na linya sa dulo ng file:
lokal lahat ng password ng pi
sudo -i -u postgres
psql
lumikha ng tungkulin pi password 'password dito';
baguhin ang papel na ginagampanan sa pag-login;
baguhin ang papel na ginagampanan pi superuser;
du
(dapat mong makita ang iyong gumagamit ng PI na may mga pahintulot na ipinagkaloob)
lumikha ng database ng pagmamaneho_statistics;
q
labasan
psql -d pagmamaneho_statistics
Patakbuhin ang mga sumusunod na query:
GUMAWA NG TABLE driver_stats (serial ng id, timestamp ng oras nang walang time zone HINDI NUL, bagong_trip_start timestamp nang walang time zone NULL, gps_latitude double Precision, gps_longitude double Precision, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_address text, lokal na teksto, teksto ng lokal na lokasyon, teksto ng lokal na lokasyon, teksto ng lokal na_zipcode, sa loob ng real, loob ng real, loob ng oras, timstamp ng panahon, teksto ng panahon, teksto ng panahon
LUMIKHA NG NATATANGING INDEX oras_idx SA pagmamaneho_stats (oras);
Kinakailangan ang hack upang makatrabaho ang GPSD na may koneksyon sa UART sa reboot sudo su
crontab -e
@reboot / bin / sleep 5; killall gpsd
@reboot / bin / sleep 10; / usr / sbin / gpsd / dev / ttyS0 -F /var/run/gpsd.sock
Lumikha ng folder ng mga tala para ma-save ang data mkdir / home / pi / TripComputer / computer / log
Hakbang 9: Mga Startup Crontab Script - Pi & Root
I-setup ang mga script upang tumakbo sa boot
crontab -e
Idagdag ang mga sumusunod na linya
@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/diving.py> /home/pi/TripComputer/computer/diving.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
I-set up ang root user crontab upang matiyak na ang module ng GPS ay nag-uugnay nang tama
sudo su
crontab -e
Idagdag ang mga sumusunod na linya
@reboot / bin / sleep 5; ihinto ang systemctl gpsd.socket
@reboot / bin / sleep 8; killall gpsd
@reboot / bin / sleep 12; / usr / sbin / gpsd / dev / ttyS0 -F /var/run/gpsd.sock
Hakbang 10: I-configure upang Kumonekta sa Panahon at Dashboard (opsyonal)
Panghuli lumikha ng mga lokal na setting na kinakailangan upang patakbuhin ang computer ng paglalakbay
Hanapin ang file /computer/includes/settings.shadow.py
Lumikha ng iyong sariling bersyon ng mga setting ng file na pinangalanang simpleng setting.py
forecast.io API key para sa lokal na impormasyon sa panahon na panahonAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'API KEY DITO'
kung mayroon kang pagpapatakbo ng proyekto ng aparato hub (https://github.com/khinds10/DeviceHub) deviceServer = 'https://my.server.com'
kung mayroon kang proyekto sa dashboard phone na tumatakbo (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'
Hakbang 11: I-mount sa Dash / Mount Humidistat at Tapos na
I-mount sa Dash
Bundok Humidistat na malayo sa direktang Araw
I-reboot ang iyong RPi at dapat handa ka nang umalis!