Índice:
- Etapa 1: Flashing RaspberriPi Hard Disk / Instalar software necessário (usando Ubuntu Linux)
- Etapa 2: Fornecido necessário
- Etapa 3: imprimir o gabinete
- Etapa 4: Construindo o Computador de Viagem
- Etapa 5: Montagem final
- Etapa 6: Montagem Final (cont …)
- Etapa 7: Configuração / instalação de software
- Etapa 8: instalar ferramentas de monitoramento de condução e registro de banco de dados
- Etapa 9: Scripts Crontab de inicialização - Pi e Root
- Etapa 10: configurar para conectar ao clima e painel (opcional)
- Etapa 11: Monte no painel / Monte umidistato e pronto
Vídeo: TripComputer - GPS Trip Computer & Módulo meteorológico para seu veículo: 11 etapas (com fotos)
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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
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
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 …)
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
Monte Humidistat longe do Sol direto
Reinicie seu RPi e você deve estar pronto para começar!