Table des matières:

TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule : 11 étapes (avec photos)
TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule : 11 étapes (avec photos)

Vidéo: TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule : 11 étapes (avec photos)

Vidéo: TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule : 11 étapes (avec photos)
Vidéo: Vidéo de formation Garmin® – Simplifiez vos trajets avec les GPS Garmin DriveSmart 66 76 86 2024, Juillet
Anonim
TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule
TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule
TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule
TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule
TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule
TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule

Un projet cool Raspberry Pi qui utilise le module de déploiement GPS et 2 petits écrans Digole pour avoir un ordinateur de navigation sur votre tableau de bord.

Étape 1: Flasher le disque dur RaspberriPi / Installer le logiciel requis (à l'aide d'Ubuntu Linux)

Télécharger "RASPBIAN JESSIE LITE VERSION"

Créez votre nouveau disque dur pour DashboardPI

Insérez la microSD dans votre ordinateur via un adaptateur USB et créez l'image disque à l'aide de la commande dd

Localisez votre carte microSD insérée via la commande df -h, démontez-la et créez l'image disque avec la commande disk copy dd

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

$ umount /dev/sdb1

Attention: assurez-vous que la commande est parfaitement exacte, vous pouvez endommager d'autres disques avec cette commande

if=emplacement du fichier image RASPBIAN JESSIE FULL VERSION de=emplacement de votre carte microSD

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (remarque: dans ce cas, il s'agit de /dev/sdb, /dev/sdb1 était une partition d'usine existante sur le microSD)

Configurer votre RaspberriPi

Insérez votre nouvelle carte microSD dans le raspberrypi et allumez-le avec un moniteur connecté au port HDMI

Connexion

utilisateur: pi pass: framboise

Changez le mot de passe de votre compte pour plus de sécurité (à partir du terminal)

sudo passwd pi

Activer les options avancées de RaspberriPi (à partir du terminal)

sudo raspi-config

Choisissez: 1 Développez le système de fichiers

9 options avancées

Nom d'hôte A2 changez-le en "TripComputer"

A4 SSH Activer le serveur SSH

A7 I2C Activer l'interface i2c

Activer le clavier anglais/américain

sudo nano /etc/default/keyboard

Modifiez la ligne suivante: XKBLAYOUT="us"

Redémarrez PI pour que les modifications de la disposition du clavier/le redimensionnement du système de fichiers prennent effet

$ sudo shutdown -r maintenant

Connexion automatique à votre WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ajoutez les lignes suivantes pour que votre raspberrypi se connecte automatiquement à votre WiFi domestique (si votre réseau sans fil se nomme "linksys" par exemple, dans l'exemple suivant)

network={ ssid="linksys" psk="MOT DE PASSE SANS FIL ICI" } Redémarrez PI pour vous connecter au réseau WiFi

$ sudo shutdown -r maintenant

Maintenant que votre PI est enfin sur le réseau local, vous pouvez vous y connecter à distance via SSH. Mais vous devez d'abord obtenir l'adresse IP dont il dispose actuellement.

$ ifconfig Recherchez "inet addr: 192.168. XXX. XXX" dans la sortie de la commande suivante pour l'adresse IP de votre PI

Allez sur une autre machine et connectez-vous à votre raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Commencer l'installation des packages requis

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

Mettre à jour les paramètres de fuseau horaire local

$ sudo dpkg-reconfigurer tzdata

sélectionnez votre fuseau horaire à l'aide de l'interface

Configurez la commande simple directory l [facultatif]

vi ~/.bashrc

ajoutez la ligne suivante:

alias l='ls -lh'

source ~/.bashrc

Correction de la mise en évidence de la syntaxe par défaut de VIM [facultatif]

sudo vi /etc/vim/vimrc

décommentez la ligne suivante:

syntaxe sur

Étape 2: Fourni Nécessaire

Fourni Nécessaire
Fourni Nécessaire
Fourni Nécessaire
Fourni Nécessaire
Fourni Nécessaire
Fourni Nécessaire

Écran Digole LCD TFT 2 320x240 (x2)

Hygrostat DHT11

RaspberriPi Zero

Adafruit GPS Breakout

Jauges de 52 mm 2 pouces - utilisées pour le verre / et les contours d'écran

Conteneur de montage de calibre 2

Étape 3: Imprimez le boîtier

Dans le dossier "3DPrint/" de ce projet, imprimez le fichier gauges-final.stl qui produira les contours d'affichage Digole nécessaires pour monter les 2 écrans à l'intérieur du conteneur de montage de la jauge.

Étape 4: Construire l'ordinateur de bord

Construire l'ordinateur de bord
Construire l'ordinateur de bord

Connectez les appareils suivants aux broches du Pi Zero

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

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

Connectez le module USB GPS à RaspberriPi via les connexions HW UART L'utilisation de HW UART pour le module GPS nécessite les éléments suivants pour libérer la connexion UART sur votre Pi.

"Cross" - Connectez les broches TX et RX du module GPS au RPi TX (GPIO 14/8 broches) et RX (GPIO 15/10 broches) -- [TX va à RX sur l'appareil et vice versa.] Connectez-vous RPi 5V à la broche VIN et la broche GND du module GPS à une broche RPi GND disponible.

Étape 5: Assemblage final

L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final

Coupez un morceau de bois pour le fond pour tenir les composants à l'intérieur du boîtier de la jauge.

Prenez les 2 jauges de 52 mm 2 pouces et coupez les sommets, nous utilisons simplement le verre et le contour pour monter nos propres écrans, les écrans Digole. Collez-les en place avec de la colle chaude.

Étape 6: Assemblage final (suite…)

Assemblage final (suite…)
Assemblage final (suite…)
Assemblage final (suite…)
Assemblage final (suite…)

En utilisant le schéma ci-dessus, reliez les composants à l'aide de soudure pour que tout soit solide et permanent.

Montez les composants à l'intérieur du boîtier à double jauge, utilisez les contours imprimés en 3D pour que les écrans Digole de forme carrée s'adaptent aux fenêtres de jauge circulaires.

Étape 7: Configuration/installation du logiciel

Configurez votre Pi pour utiliser le module GPS sur UART

sudo vi /boot/cmdline.txt

monnaie:

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

à:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 lift=délai rootwait

(par exemple, supprimez console=ttyAMA0, 115200 et si c'est le cas, kgdboc=ttyAMA0, 115200)

Notez que vous pouvez voir console=serial0, 115200 ou console=ttyS0, 115200 et devez supprimer ces parties de la ligne si elles sont présentes.

Exécutez les commandes suivantes:

sudo systemctl stop [email protected]

sudo systemctl désactiver [email protected]

Installation du module GPS Pour tester, forcez votre périphérique USB à se connecter au GPS

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

sudo systemctl stop gpsd.socket

sudo killall gpsd

sudo dpkg-reconfigurer gpsd

sudo vi /etc/default/gpsd

# Paramètres par défaut pour gpsd. START_DAEMON="true" GPSD_OPTIONS="-n" DEVICES="/dev/ttyS0" USBAUTO="false" GPSD_SOCKET="/var/run/gpsd.sock"

Assurez-vous que la commande fonctionne

cgps -s

Cd d'installation DHT11 ~

git clone

cd Adafruit_Python_DHT/

sudo python setup.py installer

sudo python ez_setup.py

exemples de CD/

vi simpletest.py

Modifiez la ligne suivante:

capteur = Adafruit_DHT. DHT11

Commentez la ligne

broche = 'P8_11'

Décommentez la ligne et remplacez le numéro de broche par 16

broche = 16

Exécutez le test

python simpletest.py

Vous devriez voir une lecture métrique de la température et de l'humidité affichée sur la ligne de commande.

Installer et exécuter les scripts cd ~

git clone

Étape 8: Installez les outils de surveillance de conduite et la journalisation de la base de données

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

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

Ajoutez la ligne suivante à la fin du fichier:

mot de passe local tout pi

sudo -i -u postgres

psql

créer le mot de passe du rôle pi « mot de passe ici »;

modifier la connexion au rôle pi;

modifier le rôle de superutilisateur pi;

du

(vous devriez voir votre utilisateur PI avec les autorisations accordées)

créer la base de données Driving_statistics;

q

sortir

psql -d statistiques_de_conduite

Exécutez les requêtes suivantes:

CREATE TABLE Driving_stats (id serial, time timestamp sans fuseau horaire NOT NULL, new_trip_start timestamp sans fuseau horaire NULL, gps_latitude double precision, gps_longitude double precision, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_address text, locale_area text, locale_city 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_precipProbability real, weather_windSpeed real);

CRÉER UN INDEX UNIQUE time_idx ON Driving_stats (heure);

Hack requis pour que GPSD fonctionne avec la connexion UART au redémarrage sudo su

crontab -e

@reboot /bin/sleep 5; gpsd killall

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

Créez le dossier des journaux pour les données à enregistrer mkdir /home/pi/TripComputer/computer/logs

Étape 9: Scripts de démarrage Crontab - Pi & Root

Configurer les scripts à exécuter au démarrage

crontab -e

Ajoutez les lignes suivantes

@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

Configurez la crontab de l'utilisateur root pour vous assurer que le module GPS se connecte correctement

sudo su

crontab -e

Ajoutez les lignes suivantes

@reboot /bin/sleep 5; systemctl arrêter gpsd.socket

@reboot /bin/sleep 8; gpsd killall

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

Étape 10: Configurez pour vous connecter à la météo et au tableau de bord (facultatif)

Enfin, créez les paramètres locaux nécessaires pour exécuter l'ordinateur de bord

Trouvez le fichier /computer/includes/settings.shadow.py

Créez votre propre version du fichier de paramètres nommé simplement settings.py

Clé API Forecast.io pour les informations météorologiques locales weatherAPIURL = 'https://api.forecast.io/forecast/'

météoAPIKey = 'CLÉ API ICI'

si vous avez le projet de hub de périphérique en cours d'exécution (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'

si vous avez le projet de téléphone de tableau de bord en cours d'exécution (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'

Étape 11: Montez sur le tableau de bord / Montez l'humidistat et fini

Montez sur le tableau de bord / Montez l'humidistat et fini!
Montez sur le tableau de bord / Montez l'humidistat et fini!
Montez sur le tableau de bord / Montez l'humidistat et fini!
Montez sur le tableau de bord / Montez l'humidistat et fini!

Monter sur le tableau de bord

Mont Humidistat loin du soleil direct

Redémarrez votre RPi et vous devriez être prêt à partir !

Conseillé: