Table des matières:
- Étape 1: Flasher le disque dur RaspberriPi / Installer le logiciel requis (à l'aide d'Ubuntu Linux)
- Étape 2: Fourni Nécessaire
- Étape 3: Imprimez le boîtier
- Étape 4: Construire l'ordinateur de bord
- Étape 5: Assemblage final
- Étape 6: Assemblage final (suite…)
- Étape 7: Configuration/installation du logiciel
- Étape 8: Installez les outils de surveillance de conduite et la journalisation de la base de données
- Étape 9: Scripts de démarrage Crontab - Pi & Root
- Étape 10: Configurez pour vous connecter à la météo et au tableau de bord (facultatif)
- Étape 11: Montez sur le tableau de bord / Montez l'humidistat et fini
Vidéo: TripComputer - Ordinateur de bord GPS et module météo pour votre véhicule : 11 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
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
É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
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
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…)
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
Monter sur le tableau de bord
Mont Humidistat loin du soleil direct
Redémarrez votre RPi et vous devriez être prêt à partir !
Conseillé:
Fanair : une station météo pour votre chambre : 6 étapes (avec photos)
Fanair : une station météo pour votre chambre : Il existe d'innombrables façons de connaître la météo actuelle, mais vous ne connaissez alors que la météo à l'extérieur. Et si vous vouliez connaître la météo à l'intérieur de votre maison, à l'intérieur d'une pièce spécifique ? C'est ce que je tente de résoudre avec ce projet. Fanair utilise mul
Comment créer votre propre passerelle WIFI pour connecter votre Arduino au réseau IP ? : 11 étapes (avec photos)
Comment faire votre propre passerelle WIFI pour connecter votre Arduino au réseau IP ? : Comme beaucoup de gens, vous pensez qu'Arduino est une très bonne solution pour faire de la domotique et de la robotique ! Je travaille sur un robot qui doit être connecté en permanence à un serveur qui tourne ar
CRÉEZ VOTRE PROPRE TABLEAU DE BORD NUMÉRIQUE AVEC GPS POUR VÉLO OU MOTO ÉLECTRIQUE : 13 étapes
CRÉEZ VOTRE PROPRE TABLEAU DE BORD NUMÉRIQUE BASÉ SUR LE GPS POUR EBIKE OU MOTO ÉLECTRIQUE : SALUT À TOUS dans sdcardet bien sûr le projet
Guino : Tableau de bord pour votre Arduino : 4 étapes (avec photos)
Guino : Tableau de bord pour votre Arduino : Ce projet fait partie d'expériences réalisées tout en faisant un artiste en résidence chez Instructables. Vous pouvez voir les autres projets ici. Le débogage et la visualisation des données en temps réel sur la carte Arduino peuvent être une tâche délicate. Vous êtes généralement coincé avec le s
Système antivol complet GPS + GPRS pour véhicule basé sur Arduino : 5 étapes (avec photos)
Système antivol GPS + GPRS pour véhicule complet basé sur Arduino : Bonjour à tous ! Je voulais créer une solution complète pour un dispositif antivol pour véhicule GPS, qui serait : aussi bon marché que possible aussi complète que possible car elle fonctionne -il n'y a-rien d'autre à faire que possibleJ'ai donc fini par construire une solution basée sur Arduino