Оглавление:

TripComputer - маршрутный компьютер с GPS и модуль погоды для вашего автомобиля: 11 шагов (с изображениями)
TripComputer - маршрутный компьютер с GPS и модуль погоды для вашего автомобиля: 11 шагов (с изображениями)

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

Видео: TripComputer - маршрутный компьютер с GPS и модуль погоды для вашего автомобиля: 11 шагов (с изображениями)
Видео: Навигация с GPS в походе 2024, Июль
Anonim
TripComputer - путевой компьютер с GPS и модуль погоды для вашего автомобиля
TripComputer - путевой компьютер с GPS и модуль погоды для вашего автомобиля
TripComputer - путевой компьютер с GPS и модуль погоды для вашего автомобиля
TripComputer - путевой компьютер с GPS и модуль погоды для вашего автомобиля
TripComputer - путевой компьютер с GPS и модуль погоды для вашего автомобиля
TripComputer - путевой компьютер с GPS и модуль погоды для вашего автомобиля

Классный проект Raspberry Pi, в котором используется модуль подключения GPS и 2 небольших дисплея Digole, чтобы на приборной панели был навигационный компьютер.

Шаг 1. Прошивка жесткого диска RaspberriPi / установка необходимого программного обеспечения (с использованием Ubuntu Linux)

Скачать "РАСПБИАНСКОЕ ДЖЕССИ ЛАЙТ ВЕРСИИ"

Создайте новый жесткий диск для DashboardPI

Вставьте microSD в свой компьютер через USB-адаптер и создайте образ диска с помощью команды dd

Найдите вставленную карту microSD с помощью команды df -h, отключите ее и создайте образ диска с помощью команды disk copy dd.

$ df -h / dev / sdb1 7,4 ГБ 32 КБ 7,4 ГБ 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Внимание: убедитесь, что команда абсолютно точна, вы можете повредить другие диски с помощью этой команды.

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 в raspberrypi и включите его с помощью монитора, подключенного к порту HDMI.

Авторизоваться

пользователь: pi pass: raspberry

Измените пароль своей учетной записи для безопасности (с терминала)

sudo passwd pi

Включить дополнительные параметры RaspberriPi (из терминала)

sudo raspi-config

Выберите: 1 Развернуть файловую систему

9 Дополнительные параметры

Имя хоста A2 измените его на "TripComputer"

A4 SSH Включить SSH-сервер

A7 I2C Включить интерфейс i2c

Включить английскую / американскую клавиатуру

Судо нано / и т. д. / по умолчанию / клавиатура

Измените следующую строку: XKBLAYOUT = "us"

Перезагрузите PI, чтобы изменения раскладки клавиатуры / изменение размера файловой системы вступили в силу

$ sudo shutdown -r сейчас

Автоматическое подключение к вашему Wi-Fi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Добавьте следующие строки, чтобы ваш raspberrypi автоматически подключался к домашнему Wi-Fi (если ваша беспроводная сеть называется «linksys», например, в следующем примере)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Перезагрузите PI, чтобы подключиться к сети Wi-Fi.

$ 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-reconfigure tzdata

выберите свой часовой пояс с помощью интерфейса

Установите команду simple directory l [необязательно]

vi ~ /.bashrc

добавьте следующую строку:

псевдоним l = 'ls -lh'

источник ~ /.bashrc

Исправить выделение синтаксиса по умолчанию VIM [необязательно]

Судо vi / и т. д. / vim / vimrc

раскомментируйте следующую строку:

синтаксис на

Шаг 2: Требуется поставка

Поставляется необходимо
Поставляется необходимо
Поставляется необходимо
Поставляется необходимо
Поставляется необходимо
Поставляется необходимо

2-дюймовый TFT ЖК-дисплей Digole с разрешением 320x240 пикселей (x2)

DHT11 гигростат

РаспберриПи Ноль

Adafruit GPS Breakout

52-миллиметровые 2-дюймовые манометры - используются для окантовки стекла / экрана

2 контейнера для установки манометра

Шаг 3. Распечатайте корпус

В папке «3DPrint /» этого проекта распечатайте файл gauges-final.stl, который будет создавать окружение дисплея Digole, необходимое для установки двух экранов внутри контейнера для установки датчика.

Шаг 4: Сборка путевого компьютера

Сборка путевого компьютера
Сборка путевого компьютера

Подключите следующие устройства к контактам на Pi Zero

Дигол (каждый): 3 В / GND / SDA / SCL

DHT11: 5 В / GPIO 16 (36) / земля

Подключите USB-модуль GPS к RaspberriPi через соединения HW UART. Использование HW UART для модуля GPS требует следующего, чтобы освободить соединение UART на вашем Pi.

«Крест» - подключите контакты TX и RX от модуля GPS к RPi TX (GPIO 14/8 контактов) и RX (GPIO 15/10 контактов) - [TX идет на RX на устройстве и наоборот.] Подключите RPi 5V к контакту VIN и контакт GND модуля GPS к доступному контакту RPi GND.

Шаг 5: Окончательная сборка

Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка

Вырежьте кусок дерева, чтобы его нижняя часть удерживала компоненты внутри корпуса датчика.

Возьмите 2 52-миллиметровых 2-дюймовых манометра и отрежьте верхнюю часть, мы просто используем стекло и окантовку для установки наших собственных дисплеев, дисплеев Digole. Приклейте их на место горячим клеем.

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

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

Используя схему выше, соедините компоненты, используя припой, чтобы сделать все прочным и долговечным.

Установите компоненты внутри корпуса с двойным манометром, используйте трехмерную печатную окантовку, чтобы квадратные дисплеи 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 elevator = крайний срок rootwait

к:

dwc_otg.lpm_enable = 0 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = крайний срок rootwait

(например, удалите console = ttyAMA0, 115200 и, если есть, kgdboc = ttyAMA0, 115200)

Обратите внимание, что вы можете увидеть console = serial0, 115200 или console = ttyS0, 115200 и должны удалить эти части строки, если они есть.

Выполните следующие команды:

sudo systemctl stop [email protected]

sudo systemctl отключить [email protected]

Установка модуля GPS Для тестирования принудительно подключите USB-устройство к GPS

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg-reconfigure gpsd

sudo vi / и т. д. / по умолчанию / gpsd

# Настройки по умолчанию для gpsd. START_DAEMON = "true" GPSD_OPTIONS = "- n" DEVICES = "/ dev / ttyS0" USBAUTO = "false" GPSD_SOCKET = "/ var / run / gpsd.sock"

Убедитесь, что команда работает

cgps -s

DHT11 Установить компакт-диск ~

git clone

cd Adafruit_Python_DHT /

sudo python setup.py установить

sudo python ez_setup.py

CD примеры /

vi simpletest.py

Измените следующую строку:

sensor = Adafruit_DHT. DHT11

Закомментируйте строку

pin = 'P8_11'

Раскомментируйте строку и измените пин-код на 16.

контакт = 16

Запустить тест

python simpletest.py

Вы должны увидеть метрические значения температуры и влажности, отображаемые в командной строке.

Установка и запуск скриптов cd ~

git clone

Шаг 8: Установите средства мониторинга вождения и ведение журнала БД

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;

изменить роль pi суперпользователя;

du

(вы должны увидеть своего пользователя PI с предоставленными разрешениями)

создать базу данных driving_statistics;

q

выход

psql -d статистика_вождения

Выполните следующие запросы:

СОЗДАТЬ ТАБЛИЦУ driving_stats (id serial, time timestamp без часового пояса NOT NULL, new_trip_start timestart без часового пояса NULL, gps_latitude с двойной точностью, gps_longitude с двойной точностью, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_adare text, locale_adare text, locale_adare text, 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_precipability real, weather_wind);

СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС time_idx ON driving_stats (time);

Чтобы заставить 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 остановить gpsd.socket

@reboot / bin / sleep 8; killall gpsd

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

Шаг 10: Настройте подключение к Weather и Dashboard (необязательно)

Наконец, создайте локальные настройки, необходимые для запуска бортового компьютера

Найдите файл /computer/includes/settings.shadow.py

Создайте свою собственную версию файла настроек с именем просто settings.py

Прогноз.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: Установите на приборную панель / установите гигростат и готово

Установите на приборную панель / установите гигростат и готово!
Установите на приборную панель / установите гигростат и готово!
Установите на приборную панель / установите гигростат и готово!
Установите на приборную панель / установите гигростат и готово!

Крепление на тире

Установите гигростат вдали от прямых солнечных лучей

Перезагрузите свой RPi, и вы должны быть готовы к работе!

Рекомендуемые: