Índice:

TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo: 11 etapas (com fotos)
TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo: 11 etapas (com fotos)

Vídeo: TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo: 11 etapas (com fotos)

Vídeo: TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo: 11 etapas (com fotos)
Vídeo: #360 Tracking and Chasing Weather Balloons with TTGO LoRa Board and Raspberry Pi. Fun and Adventure 2024, Julho
Anonim
TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo
TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo
TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo
TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo
TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo
TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo

Um projeto framboesa pi legal que usa o módulo GPS breakout e 2 pequenos visores Digole para ter um computador de navegação em seu painel.

Etapa 1: Flashing RaspberriPi Hard Disk / Instalar software necessário (usando Ubuntu Linux)

Baixe a "VERSÃO RASPBIAN JESSIE LITE"

Crie seu novo disco rígido para o DashboardPI

Insira o microSD em seu computador via adaptador USB e crie a imagem de disco usando o comando dd

Localize o cartão microSD inserido por meio do comando df -h, desmonte-o e crie a imagem de disco com o comando disk copy dd

$ df -h / dev / sdb1 7,4G 32K 7,4G 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Cuidado: certifique-se de que o comando é totalmente preciso, você pode danificar outros discos com este comando

if = localização do arquivo de imagem RASPBIAN JESSIE FULL VERSION de = localização do seu cartão microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img de = / dev / sdb (nota: neste caso, é / dev / sdb, / dev / sdb1 era uma partição de fábrica existente no microSD)

Configurando seu RaspberriPi

Insira seu novo cartão microSD no raspberrypi e ligue-o com um monitor conectado à porta HDMI

Conecte-se

usuário: pi pass: framboesa

Altere a senha da sua conta para segurança (do terminal)

sudo passwd pi

Ativar opções avançadas do RaspberriPi (do terminal)

sudo raspi-config

Escolha: 1 Expandir sistema de arquivos

9 opções avançadas

A2 Hostname mude para "TripComputer"

SSH A4 Habilitar Servidor SSH

A7 I2C Habilitar interface i2c

Habilite o teclado inglês / americano

sudo nano / etc / default / keyboard

Altere a seguinte linha: XKBLAYOUT = "us"

Reinicialize o PI para alterações de layout do teclado / redimensionamento do sistema de arquivos para entrar em vigor

$ sudo shutdown -r now

Auto-conectar ao seu WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Adicione as seguintes linhas para que o raspberrypi se conecte automaticamente ao WiFi doméstico (se a sua rede sem fio se chamar "linksys", por exemplo, no exemplo a seguir)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Reinicialize o PI para se conectar à rede WiFi

$ sudo shutdown -r now

Agora que seu PI está finalmente na rede local, você pode fazer login remotamente nele via SSH. Mas primeiro você precisa obter o endereço IP que possui atualmente.

$ ifconfig Procure por "inet addr: 192.168. XXX. XXX" na seguinte saída de comando para o endereço IP do seu PI

Vá para outra máquina e faça login no seu raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Comece a instalar os pacotes necessários

$ 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 install RPi. GPIO

Atualize as configurações de fuso horário local

$ sudo dpkg-reconfigure tzdata

selecione seu fuso horário usando a interface

Configure o diretório simples l comando [opcional]

vi ~ /.bashrc

adicione a seguinte linha:

alias l = 'ls -lh'

fonte ~ /.bashrc

Corrigir o realce de sintaxe padrão do VIM [opcional]

sudo vi / etc / vim / vimrc

descomente a seguinte linha:

sintaxe em

Etapa 2: Fornecido necessário

Fornecido Necessário
Fornecido Necessário
Fornecido Necessário
Fornecido Necessário
Fornecido Necessário
Fornecido Necessário

Display Digole TFT LCD 320x240 de 2 (x2)

DHT11 Humidistat

RaspberriPi Zero

Breakout Adafruit GPS

Medidores de 2 pol. De 52 mm - usados para as bordas do vidro e da tela

2 contêiner de montagem de medidor

Etapa 3: imprimir o gabinete

Na pasta "3DPrint /" deste projeto, imprima o arquivo gauges-final.stl que produzirá as bordas do display Digole necessárias para montar as 2 telas dentro do contêiner de montagem do medidor.

Etapa 4: Construindo o Computador de Viagem

Construindo o Computador de Viagem
Construindo o Computador de Viagem

Conecte os seguintes dispositivos aos pinos do Pi Zero

Digole (cada): 3v / GND / SDA / SCL

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

Conecte o Módulo USB GPS ao RaspberriPi via conexões HW UART Usar HW UART para o módulo GPS requer o seguinte para liberar a conexão UART em seu Pi.

"Cruzar" - Conecte os pinos TX e RX do módulo GPS ao RPi TX (pino GPIO 14/8) e RX (pino GPIO 15/10) - [TX vai para RX no dispositivo e vice-versa.] Conecte RPi 5V para o pino VIN e o pino GND do módulo GPS para um pino RPi GND disponível.

Etapa 5: Montagem final

Assembléia final
Assembléia final
Assembléia final
Assembléia final

Corte um pedaço de madeira para o fundo para segurar os componentes dentro da caixa do medidor.

Pegue os 2 medidores de 2 polegadas de 52 mm e corte as tampas, estamos apenas usando o vidro e a moldura para montar nossos próprios monitores, os monitores Digole. Cole-os no lugar com cola quente.

Etapa 6: Montagem Final (cont …)

Montagem Final (cont …)
Montagem Final (cont …)
Montagem Final (cont …)
Montagem Final (cont …)

Usando o esquema acima, conecte os componentes usando solda para tornar tudo forte e permanente.

Monte os componentes dentro do invólucro de medidor duplo, use as bordas impressas em 3D para que os visores Digole em forma quadrada se encaixem nas janelas de medidor circular.

Etapa 7: Configuração / instalação de software

Configure seu Pi para usar o Módulo GPS no UART

sudo vi /boot/cmdline.txt

mudança:

dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevador = prazo rootwait

para:

dwc_otg.lpm_enable = 0 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait

(por exemplo, remova console = ttyAMA0, 115200 e, se houver, kgdboc = ttyAMA0, 115200)

Observe que você pode ver console = serial0, 115200 ou console = ttyS0, 115200 e deve remover essas partes da linha, se houver.

Execute os seguintes comandos:

sudo systemctl stop [email protected]

sudo systemctl disable [email protected]

Instalação do módulo GPS Para teste, force o seu dispositivo USB a se conectar ao gpsd

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg-reconfigure gpsd

sudo vi / etc / default / gpsd

# Configurações padrão para gpsd. START_DAEMON = "true" GPSD_OPTIONS = "- n" DEVICES = "/ dev / ttyS0" USBAUTO = "false" GPSD_SOCKET = "/ var / run / gpsd.sock"

Certifique-se de que o comando está funcionando

cgps -s

CD de instalação DHT11 ~

git clone

cd Adafruit_Python_DHT /

sudo python setup.py install

sudo python ez_setup.py

exemplos de cd /

vi simpletest.py

Altere a seguinte linha:

sensor = Adafruit_DHT. DHT11

Comente a linha

pin = 'P8_11'

Remova o comentário da linha e altere o número PIN para 16

pin = 16

Execute o teste

python simpletest.py

Você deve ver uma leitura métrica de Temp e Umidade exibida na linha de comando.

Configure e execute o cd de scripts ~

git clone

Etapa 8: instalar ferramentas de monitoramento de condução e registro de banco de dados

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

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

Adicione a seguinte linha ao final do arquivo:

senha local all pi

sudo -i -u postgres

psql

criar a senha do papel pi 'senha aqui';

alterar o login do papel pi;

alterar papel superusuário pi;

du

(você deve ver seu usuário PI com as permissões concedidas)

criar banco de dados Driving_statistics;

q

saída

psql -d driving_statistics

Execute as seguintes consultas:

CRIAR TABELA driving_stats (id serial, hora timestamp sem fuso horário NOT NULL, new_trip_start timestamp sem fuso horário NULL, gps_latitude double precision, gps_longitude double precision, gps_altitude real, gps_speed real, gps_climb real, gps_track real, texto locale_address, texto locale_address, texto locale_address, 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_precipIntensity real, weather_precip_windobability;

CRIAR ÍNDICE ÚNICO time_idx ON driving_stats (tempo);

Hack necessário para fazer o GPSD funcionar com conexão UART na reinicialização do sudo su

crontab -e

@reboot / bin / sleep 5; killall gpsd

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

Crie a pasta de logs para os dados a serem salvos mkdir / home / pi / TripComputer / computer / logs

Etapa 9: Scripts Crontab de inicialização - Pi e Root

Configure os scripts para serem executados na inicialização

crontab -e

Adicione as seguintes linhas

@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

Configure o crontab do usuário root para se certificar de que o módulo GPS se conecta corretamente

sudo su

crontab -e

Adicione as seguintes linhas

@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

Etapa 10: configurar para conectar ao clima e painel (opcional)

Por fim, crie as configurações locais necessárias para executar o computador de viagem

Encontre o arquivo /computer/includes/settings.shadow.py

Crie sua própria versão do arquivo de configurações chamado simplesmente settings.py

Forecast.io API key para informações meteorológicas locais weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'API CHAVE AQUI'

se você tiver o projeto hub do dispositivo em execução (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

se você tiver o projeto do painel do telefone em execução (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Etapa 11: Monte no painel / Monte umidistato e pronto

Monte no Dash / Mount Humidistat e acabado!
Monte no Dash / Mount Humidistat e acabado!
Monte no Dash / Mount Humidistat e acabado!
Monte no Dash / Mount Humidistat e acabado!

Monte no Dash

Monte Humidistat longe do Sol direto

Reinicie seu RPi e você deve estar pronto para começar!

Recomendado: