Բովանդակություն:

TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակ ձեր մեքենայի համար. 11 քայլ (նկարներով)
TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակ ձեր մեքենայի համար. 11 քայլ (նկարներով)

Video: TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակ ձեր մեքենայի համար. 11 քայլ (նկարներով)

Video: TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակ ձեր մեքենայի համար. 11 քայլ (նկարներով)
Video: Mph Tracker Speed Tracker App ( Portrait Room III ) 2024, Սեպտեմբեր
Anonim
TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակի մոդուլ ձեր մեքենայի համար
TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակի մոդուլ ձեր մեքենայի համար
TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակի մոդուլ ձեր մեքենայի համար
TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակի մոդուլ ձեր մեքենայի համար
TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակի մոդուլ ձեր մեքենայի համար
TripComputer - GPS ճանապարհորդական համակարգիչ և եղանակի մոդուլ ձեր մեքենայի համար

Ազնվամորու պի նախագիծ, որն օգտագործում է GPS ճեղքման մոդուլը և 2 փոքր Digole դիսփլեյ, նավիգացիոն համակարգիչ ունենալու համար:

Քայլ 1. Pրամեկուսացում RaspberriPi կոշտ սկավառակ / Տեղադրեք անհրաժեշտ ծրագրակազմ (օգտագործելով Ubuntu Linux)

Ներբեռնեք «RASPBIAN JESSIE LITE VERSION»

Ստեղծեք ձեր նոր կոշտ սկավառակը DashboardPI- ի համար

Տեղադրեք microSD- ը ձեր համակարգչին USB ադապտերի միջոցով և ստեղծեք սկավառակի պատկերը ՝ օգտագործելով dd հրամանը

Տեղադրեք տեղադրված microSD քարտը df -h հրամանի միջոցով, ապամոնտաժեք այն և ստեղծեք սկավառակի պատկերը սկավառակի պատճենը dd հրամանով

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/մեդիա/XXX/1234-5678

$ umount /dev /sdb1

Caգուշացում. Համոզվեք, որ հրամանը լիովին ճշգրիտ է: Այս հրամանով կարող եք վնասել այլ սկավառակներ

if = RASPBIAN JESSIE FULL VERSION պատկերի ֆայլի գտնվելու վայրը = ձեր microSD քարտի գտնվելու վայրը

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (նկատողություն. այս դեպքում դա/dev/sdb,/dev/sdb1- ը գոյություն ունեցող գործարանային միջնապատ էր microSD)

Ձեր RaspberriPi- ի կարգավորում

Տեղադրեք ձեր նոր microSD քարտը ազնվամորիին և միացրեք այն HDMI պորտին միացված մոնիտորով

Մուտք

օգտվող ՝ pi pass ՝ ազնվամորի

Փոխեք ձեր հաշվի գաղտնաբառը անվտանգության համար (տերմինալից)

sudo passwd pi

Միացնել RaspberriPi ընդլայնված ընտրանքները (տերմինալից)

sudo raspi-config

Ընտրեք ՝ 1 Ընդլայնել ֆայլային համակարգը

9 Ընդլայնված ընտրանքներ

A2 սերվերի անունը փոխեք այն «TripComputer»

A4 SSH Միացնել SSH սերվերը

A7 I2C Միացնել i2c ինտերֆեյսը

Միացնել անգլերեն/ԱՄՆ ստեղնաշարը

sudo nano/etc/default/ստեղնաշար

Փոխել հետևյալ տողը. XKBLAYOUT = "մենք"

Վերագործարկեք PI ստեղնաշարի դասավորության փոփոխությունների / ֆայլային համակարգի չափափոխման համար `ուժի մեջ մտնելու համար

$ sudo անջատում -r հիմա

Ավտոմատ միացեք ձեր WiFi- ին

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ավելացրեք հետևյալ տողերը, որպեսզի ձեր ազնվամորին ինքնաբերաբար միանա ձեր տնային WiFi- ին (եթե ձեր անլար ցանցը կոչվում է «linksys», օրինակ ՝ հետևյալ օրինակում)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Վերագործարկեք PI- ն WiFi ցանցին միանալու համար

$ sudo անջատում -r հիմա

Այժմ, երբ ձեր PI- ն վերջապես գտնվում է տեղական ցանցում, կարող եք հեռակա մուտք գործել դրան SSH- ի միջոցով: Բայց նախ անհրաժեշտ է ստանալ այն IP հասցեն, որն այն այժմ ունի:

$ ifconfig Փնտրեք «inet addr: 192.168. XXX. XXX» ՝ ձեր PI- ի IP հասցեի հետևյալ հրամանի ելքում

Գնացեք այլ մեքենա և մուտքագրեք ձեր raspberrypi ssh- ի միջոցով

$ ssh [email protected]. XXX. XXX

Սկսեք անհրաժեշտ փաթեթների տեղադրումը

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

$ sudo apt-get տեղադրել կառուցել-անհրաժեշտ git gpsd gpsd-clients i2c-tools libi2c-dev python3 python3-pip python-dev python-gps python-imaging python-pip python-smbus rpi.gpio vim python-psutil

$ sudo pip տեղադրեք RPi. GPIO

Թարմացրեք տեղական ժամային գոտու կարգավորումները

$ sudo dpkg- վերակազմավորել tzdata- ն

ընտրեք ձեր ժամային գոտին `օգտագործելով ինտերֆեյսը

Կարգավորեք պարզ գրացուցակի l հրամանը [ըստ ցանկության]

vi ~/.bashrc

ավելացնել հետևյալ տողը.

կեղծանուն l = 'ls -lh'

աղբյուր ~/.bashrc

Ուղղել VIM- ի կանխադրված շարահյուսության նշումը [ըստ ցանկության]

sudo vi/etc/vim/vimrc

մեկնաբանել հետևյալ տողը.

շարահյուսությունը միացված է

Քայլ 2: Անհրաժեշտ է մատակարարել

Մատակարարվում է անհրաժեշտ
Մատակարարվում է անհրաժեշտ
Մատակարարվում է անհրաժեշտ
Մատակարարվում է անհրաժեշտ
Մատակարարվում է անհրաժեշտ
Մատակարարվում է անհրաժեշտ

2 320x240 TFT LCD Digole Display (x2)

DHT11 Humidistat

RaspberriPi Zero

Adafruit GPS Breakout

52 մմ 2 դյույմ չափիչ - օգտագործվում է ապակու / և էկրանի շրջապատի համար

2 չափիչ սարքի կոնտեյներ

Քայլ 3: Տպեք պատյանը

Այս նախագծի «3DPrint/» թղթապանակում տպեք gauges-final.stl ֆայլը, որը կստեղծի Digole- ի պատյաններ, որոնք անհրաժեշտ են չափիչ սարքի կոնտեյների ներսում 2 էկրան տեղադրելու համար:

Քայլ 4. Ստեղծեք ճանապարհորդական համակարգիչ

Ստեղծեք ճանապարհորդական համակարգիչ
Ստեղծեք ճանապարհորդական համակարգիչ

Միացրեք հետևյալ սարքերը Pi Zero- ի կապում

Դիգոլ (յուրաքանչյուրը) ՝ 3v / GND / SDA / SCL

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

GPS USB մոդուլը միացրեք RaspberriPi- ին HW UART միացումների միջոցով HW UART- ի GPS մոդուլի համար օգտագործելը պահանջում է հետևյալը ՝ ձեր Pi- ի վրա UART կապն ազատելու համար:

«Խաչ»-Միացրեք TX և RX կապումներն GPS մոդուլից RPi TX (GPIO 14/8 պին) և RX (GPIO 15/10 քորոց)-[TX- ը գնում է RX սարքի վրա և հակառակը:] Միացեք RPi 5V դեպի VIN կապը և GPS մոդուլի GND կապը ՝ հասանելի RPi GND քորոցին:

Քայլ 5: Վերջնական հավաքում

Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով

Կտրեք մի կտոր փայտ ներքևի մասում, որպեսզի չափիչ պատյանում պահեք բաղադրիչները:

Վերցրեք 2 52 մմ 2 դյույմ չափիչ սարքերը և կտրեք գագաթները, մենք պարզապես օգտագործում ենք ապակին և շրջապատը `մեր սեփական էկրանները տեղադրելու համար, Digole- ի դիսփլեյները: Սոսինձով դրանք կպցրեք տաք սոսինձով:

Քայլ 6: Վերջնական հավաք (շարունակություն …)

Եզրափակիչ ժողով (շարունակ …)
Եզրափակիչ ժողով (շարունակ …)
Եզրափակիչ ժողով (շարունակ …)
Եզրափակիչ ժողով (շարունակ …)

Օգտագործելով վերևի սխեմատիկ սխեման ՝ օգտագործելով զոդման տարրերը ՝ ամեն ինչ ամուր և մշտական դարձնելու համար:

Տեղադրեք երկկողմանի պատյանում գտնվող բաղադրամասերը, օգտագործեք 3D տպագիր միջավայրը, որպեսզի քառակուսի ձև ունեցող Digole էկրանները տեղավորվեն շրջանաձև չափիչ պատուհաններին:

Քայլ 7: Softwareրագրաշարի կազմաձևում / տեղադրում

Կարգավորեք ձեր Pi- ն ՝ UART- ի GPS մոդուլն օգտագործելու համար

sudo vi /boot/cmdline.txt

փոփոխություն:

dwc_otg.lpm_enable = 0 վահանակ = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 վահանակ = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 վերելակ = վերջնաժամկետ rootwait

դեպի:

dwc_otg.lpm_enable = 0 վահանակ = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 վերելակ = վերջնաժամկետ rootwait

(օրինակ, հեռացրեք վահանակը = ttyAMA0, 115200 և եթե կա, kgdboc = ttyAMA0, 115200)

Նկատի ունեցեք, որ դուք կարող եք տեսնել console = serial0, 115200 կամ console = ttyS0, 115200 և եթե առկա է, պետք է հեռացնեք գծի այդ հատվածները:

Գործարկեք հետևյալ հրամանները

sudo systemctl դադարեցնել [email protected]

sudo systemctl անջատել [email protected]

GPS մոդուլի տեղադրում Փորձարկման համար ստիպեք ձեր USB սարքին միանալ gpsd- ին

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg- վերակազմավորել gpsd- ը

sudo vi/etc/default/gpsd

# Կանխադրված կարգավորումներ gpsd- ի համար: START_DAEMON = "true" GPSD_OPTIONS = "-n" DEVICES = "/dev/ttyS0" USBAUTO = "false" GPSD_SOCKET = "/var/run/gpsd.sock"

Համոզվեք, որ հրամանը գործում է

cgps -s

DHT11 Տեղադրեք cd

git կլոն

cd Adafruit_Python_DHT/

sudo python setup.py տեղադրել

sudo python ez_setup.py

cd օրինակներ/

vi simpletest.py

Փոխել հետևյալ տողը.

սենսոր = Adafruit_DHT. DHT11

Մեկնաբանեք տողը

pin = 'P8_11'

Մեկնաբանեք տողը և փոխեք PIN- ի թիվը 16 -ի

քորոց = 16

Գործարկեք թեստը

python simpletest.py

Դուք պետք է տեսնեք Temp և Humidity- ի չափիչ ընթերցում, որը ցուցադրվում է հրամանի տողում:

Կարգավորեք և գործարկեք սցենարները cd

git կլոն

Քայլ 8: Տեղադրեք Driving Monitoring Tools & DB Logging

sudo apt-get տեղադրել ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2

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

Ֆայլի վերջում ավելացրեք հետևյալ տողը

տեղական բոլոր pi գաղտնաբառ

sudo -i -u postgres

psql

ստեղծել role pi գաղտնաբառ 'գաղտնաբառ այստեղ';

փոխել դերը pi մուտքում;

փոխել դերը pi superuser;

du

(դուք պետք է տեսնեք ձեր PI օգտագործողին ՝ տրված թույլտվություններով)

ստեղծել տվյալների բազայի վարորդական_Վիճակագրություն;

ք

ելք

psql -d վարորդական_ վիճակագրություն

Գործարկեք հետևյալ հարցումները

CREATE TABLE driving_stats (id serial, time timestamp without time zone NOT NULL, new_trip_start timestamp without time zone NULL, gps_latitude double precision, gps_longitude double precision, gps_altitude real, gps_speed real, gps_climb real, gps_track իրական, locale_tekale_ real, textale, locale_county տեքստ, 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_precipindability;

ՍՏԵԵԼ ԵՐԿԻՐ INDEX time_idx ON driving_stats (ժամանակ);

Վերականգնման sudo su- ի միջոցով UART կապով GPSD- ն աշխատելու համար պահանջվում է կոտրում

crontab -e

@reboot /bin /sleep 5; killall gpsd

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

Ստեղծեք տեղեկամատյանների թղթապանակ տվյալների պահպանման համար mkdir/home/pi/TripComputer/computer/logs

Քայլ 9. Գործարկեք Crontab Scripts - Pi & Root

Կարգավորեք սցենարները ՝ գործարկման ընթացքում

crontab -e

Ավելացնել հետևյալ տողերը

@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

Տեղադրեք արմատային օգտվողի crontab- ը `համոզվելու համար, որ GPS մոդուլը ճիշտ է միանում

sudo su

crontab -e

Ավելացնել հետևյալ տողերը

@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: Կարգավորել եղանակին և կառավարման վահանակին միանալու համար (ըստ ցանկության)

Վերջապես ստեղծեք տեղային կարգավորումները, որոնք անհրաժեշտ են ճամփորդական համակարգիչը գործարկելու համար

Գտեք ֆայլը /computer/includes/settings.shadow.py

Ստեղծեք պարզապես settings.py անունով կարգավորումների ֆայլի ձեր սեփական տարբերակը

forecast.io API բանալին եղանակի մասին եղանակային տեղեկատվության համարAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API բանալին այստեղ'

եթե ունեք սարքի հանգույցի նախագիծ (https://github.com/khinds10/DeviceHub) սարքերՍերվեր = 'https://my.server.com'

եթե ունեք վահանակի հեռախոսի նախագիծը (https://github.com/khinds10/RetroDashboard) վահանակի սերվեր = 'https://my.server.com'

Քայլ 11: Տեղադրեք Dash / Mount Humidistat և ավարտված:

Լեռը Dash / Mount Humidistat- ի վրա և ավարտված
Լեռը Dash / Mount Humidistat- ի վրա և ավարտված
Լեռը Dash / Mount Humidistat- ի վրա և ավարտված
Լեռը Dash / Mount Humidistat- ի վրա և ավարտված

Լեռը Dash- ի վրա

Humidistat լեռը հեռու է ուղղակի Արևից

Վերագործարկեք ձեր RPi- ն և պատրաստ կլինեք գնալ:

Խորհուրդ ենք տալիս: