Съдържание:

TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил: 11 стъпки (със снимки)
TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил: 11 стъпки (със снимки)

Видео: TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил: 11 стъпки (със снимки)

Видео: TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил: 11 стъпки (със снимки)
Видео: Ангел Бэби Новые серии - Игра окончена (29 серия) Поучительные мультики для детей 2024, Ноември
Anonim
TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил
TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил
TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил
TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил
TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил
TripComputer - GPS пътуващ компютър и модул за времето за вашия автомобил

Готин проект за малинов pi, който използва GPS пробивен модул и 2 малки дисплея Digole, за да има навигационен компютър на таблото ви.

Стъпка 1: Мигащ твърд диск RaspberriPi / Инсталирайте необходимия софтуер (Използване на Ubuntu Linux)

Изтеглете „RASPBIAN JESSIE LITE VERSION“https://www.raspberrypi.org/downloads/raspbian/

Създайте своя нов твърд диск за DashboardPI

Поставете microSD в компютъра си чрез USB адаптер и създайте образа на диска, като използвате командата dd

Намерете вмъкнатата си microSD карта чрез командата df -h, демонтирайте я и създайте образа на диска с командата dd copy copy

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/медия/XXX/1234-5678

$ umount /dev /sdb1

Внимание: уверете се, че командата е напълно точна, можете да повредите други дискове с тази команда

if = местоположението на файла с изображение на RASPBIAN JESSIE FULL VERSION на = местоположението на вашата microSD карта

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img на =/dev/sdb (забележка: в този случай това е/dev/sdb,/dev/sdb1 е съществуващ фабричен дял на microSD)

Настройване на вашия RaspberriPi

Поставете новата си microSD карта в raspberrypi и я включете с монитор, свързан към HDMI порта

Влизам

потребител: pi pass: малина

Променете паролата на акаунта си за сигурност (от терминал)

sudo passwd pi

Активиране на разширените опции на RaspberriPi (от терминала)

sudo raspi-config

Изберете: 1 Разгънете файлова система

9 Разширени опции

A2 Hostname го променете на „TripComputer“

A4 SSH Активиране на SSH сървър

A7 I2C Активиране на i2c интерфейс

Активирайте английската/американската клавиатура

sudo nano/etc/default/keyboard

Променете следния ред: XKBLAYOUT = "нас"

Рестартирайте PI за промени в оформлението на клавиатурата / преоразмеряване на файловата система, за да влезе в сила

$ sudo shutdown -r сега

Автоматично свързване към вашата WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Добавете следните редове, за да може вашият raspberrypi автоматично да се свърже с домашния ви WiFi (ако вашата безжична мрежа е наречена "linksys" например, в следния пример)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Рестартирайте PI, за да се свържете с WiFi мрежа

$ sudo shutdown -r сега

Сега, когато вашият PI най -накрая е в локалната мрежа, можете да влезете дистанционно в него чрез SSH. Но първо трябва да получите IP адреса, който има в момента.

$ ifconfig Потърсете „inet addr: 192.168. XXX. XXX“в изхода на следната команда за IP адреса на вашия PI

Отидете на друга машина и влезте във вашия raspberrypi чрез ssh

$ ssh [email protected]. XXX. XXX

Започнете да инсталирате необходимите пакети

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

$ sudo apt-get install build-essential 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 дисплей (x2)

DHT11 Овлажнител

RaspberriPi Zero

GPS пробив на Adafruit

52 -милиметрови 2 -инчови уреди - използва се за заобикаляне на стъклото / и екрана

2 Контейнер за монтиране на габарит

Стъпка 3: Отпечатайте корпуса

В папката "3DPrint/" на този проект отпечатайте файла gauges-final.stl, който ще създаде заобикалящите дисплеи на Digole, необходими за монтиране на 2-те екрана в контейнера за монтиране на габаритите.

Стъпка 4: Създаване на пътния компютър

Изграждане на пътния компютър
Изграждане на пътния компютър

Свържете следните устройства към щифтовете на Pi Zero

Дигола (всяка): 3v / GND / SDA / SCL

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

Свържете GPS USB модула към RaspberriPi чрез HW UART връзки Използването на HW UART за GPS модула изисква следното, за да освободите UART връзката на вашия Pi.

"Cross"-Свържете TX и RX щифтовете от GPS модула към RPi TX (GPIO 14/8 pin) и RX (GPIO 15/10 pin)-[TX отива към RX на устройството и обратно.] Свържете RPi 5V към VIN щифта и GND щифта на GPS модула към наличен RPi GND щифт.

Стъпка 5: Окончателно сглобяване

Окончателно сглобяване
Окончателно сглобяване
Окончателно сглобяване
Окончателно сглобяване

Изрежете парче дърво за дъното, за да държите компонентите вътре в корпуса на габарита.

Вземете 2 52 -милиметровите 2 -инчови измервателни уреди и отрежете върховете, ние просто използваме стъклото и съраунда, за да монтираме нашите собствени дисплеи, дисплеите Digole. Залепете ги на място с горещо лепило.

Стъпка 6: Окончателно сглобяване (продължение …)

Окончателно сглобяване (продължение …)
Окончателно сглобяване (продължение …)
Окончателно сглобяване (продължение …)
Окончателно сглобяване (продължение …)

Използвайки схемата по -горе, свържете компонентите с помощта на спойка, за да направите всичко здраво и постоянно.

Монтирайте компонентите вътре в корпуса с двоен габарит, използвайте 3D отпечатаните рамки, за да поставите квадратните оформени дисплеи на Digole, подходящи за прозорците с кръгли габарити.

Стъпка 7: Конфигуриране / инсталиране на софтуер

Конфигурирайте своя Pi да използва GPS модула на UART

sudo vi /boot/cmdline.txt

промяна:

dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 асансьор = краен rootwait

да се:

dwc_otg.lpm_enable = 0 конзола = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 асансьор = краен корен

(напр. премахнете конзолата = ttyAMA0, 115200 и ако има, kgdboc = ttyAMA0, 115200)

Обърнете внимание, че може да видите console = serial0, 115200 или console = ttyS0, 115200 и трябва да премахнете тези части от реда, ако има такива.

Изпълнете следните команди:

sudo systemctl stop [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 clone

cd Adafruit_Python_DHT/

sudo python setup.py install

sudo python ez_setup.py

cd примери/

vi simpletest.py

Променете следния ред:

сензор = Adafruit_DHT. DHT11

Коментирайте реда

pin = 'P8_11'

Декомментирайте реда и променете пин номера на 16

щифт = 16

Изпълнете теста

python simpletest.py

В командния ред трябва да видите показания за показатели Температура и Влажност.

Настройка и стартиране на скриптове cd ~

git clone

Стъпка 8: Инсталирайте инструменти за мониторинг на шофиране и регистриране на DB

sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2

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

Добавете следния ред в края на файла:

локална парола за всички пи

sudo -i -u postgres

psql

създайте парола за роля pi „парола тук“;

промяна на ролята на вход pi;

промяна на ролята на суперпотребител;

du

(трябва да видите вашия PI потребител с предоставените разрешения)

създаване на база данни driving_statistics;

q

изход

psql -d driving_statistics

Изпълнете следните заявки:

CREATE TABLE driving_stats (id сериал, времева отметка без часова зона NOT NULL, new_trip_start времева марка без часова зона NULL, gps_latitude двойна прецизност, gps_longitude двойна прецизност, gps_altitude реален, gps_speed реален, gps_climb реален, gps_track реален, locale_adress текст, locale_adrext текст, locale_adress, текст на местна_страна, текст на локална_страна, текст на локален_зипкод, вътрешен_темп реален, вътрешен_средна реалност, времева отметка за време_на_време, обобщен текст на прогноза за времето, текст на метеорологична_икона, метеорологична_изображение на температура, реална_влажност на реалност, прогноза на времето_налягане на реалност, прогноза на реалността на времето;

СЪЗДАВАНЕ НА УНИКАЛЕН ИНДЕКС time_idx ON шофиране_stats (време);

Изисква се хакване, за да накарате GPSD да работи с UART връзка при рестартиране на sudo su

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 - 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 на root потребителя, за да се уверите, че 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

weather.io API ключ за местна информация за времето weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API КЛЮЧ ТУК'

ако имате изпълнен проект за хъба на устройства (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

ако имате проект за телефон на таблото за управление (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Стъпка 11: Монтирайте на таблото / влагоустойчив и завършен

Монтирайте на таблото / влагоустойчив и завършен!
Монтирайте на таблото / влагоустойчив и завършен!
Монтирайте на таблото / влагоустойчив и завършен!
Монтирайте на таблото / влагоустойчив и завършен!

Монтирайте на Dash

Монтирайте влажния влак далеч от прякото слънце

Рестартирайте своя RPi и трябва да сте готови за работа!

Препоръчано: