Table des matières:

WeatherCar : 6 étapes
WeatherCar : 6 étapes

Vidéo: WeatherCar : 6 étapes

Vidéo: WeatherCar : 6 étapes
Vidéo: INTRO TO LAYOUT: Free Web Design Course | Episode 6 2024, Juillet
Anonim
MétéoVoiture
MétéoVoiture

La WeatherCar, un petit projet fait maison qui permet de conduire tout en collectant des données utiles !

J'ai fait ce projet comme final pour ma première année dans le Howest de Courtrai. Ce projet n'a pas encore une bonne finition mais ce document traite de tous les éléments internes de cette voiture, sans faire le cadre complet.

Étape 1: Exigences

Vous aurez besoin de tous ces composants pour ce projet:

  • Tarte aux framboises
  • 2x moteur (12v)
  • Servomoteur
  • DHT11
  • BMP280
  • Module GPS GY-NEO6MV2
  • 4 transistors NPN
  • 2 x résistances (1k et 2k)
  • Conducteur de moteur
  • 2 batteries 6v
  • Carte de prototypage
  • Régulateur de tension abaisseur
  • Fil de cuivre isolé
  • Câble plat
  • Ancien câble Micro-USB
  • Contre-plaqué

Étape 2: Soudage / Câblage

Soudure / Câblage
Soudure / Câblage
Soudure / Câblage
Soudure / Câblage
Soudure / Câblage
Soudure / Câblage

Pour la première étape, nous allons directement connecter tous les fils. (PS. Vous pouvez utiliser une maquette pour tester avant de tout souder)

J'ai fourni un schéma qui vous montre comment j'ai tout câblé, même si je n'ai pas pu trouver la bonne pièce pour mon conducteur. Pour mon pilote de moteur, j'ai utilisé les 4 transistors NPN pour convertir mon signal de 3,3 V en un signal de 12 V pour contrôler le pilote de moteur. Ceci parce que celui que j'ai utilisé ne supporte qu'une tension (12v car mes moteurs sont en 12v).

Étape 3: configuration du Raspberry Pi

Si vous n'avez pas encore de configuration, vous devrez d'abord le faire, sinon vous pouvez ignorer cette étape si vous disposez des programmes requis du dernier extrait de code de cette étape.

Vous devez d'abord télécharger la version de bureau de Raspbian, que vous pouvez trouver ici:

Après l'avoir téléchargé, vous devrez utiliser Etcher ou WinDiskImager pour mettre le fichier image sur la carte SD à partir de votre Raspberry Pi. (Ça pourrait prendre un moment).

Lorsque le programme est terminé, ouvrez l'explorateur de fichiers et ouvrez le lecteur appelé "boot". Vous y trouverez un fichier texte "cmdline.txt". Ouvrez-le et ajoutez ip=169.254.10.1 à la fin du fichier. Veillez à ne pas ajouter d'entrées au fichier car cela pourrait entraîner des problèmes.

Maintenant que le PI a une adresse IP par défaut, nous devrons toujours activer SSH pour pouvoir s'y connecter. Vous pouvez le faire en créant un nouveau fichier appelé "SSH" sans aucune extension, cela indiquera au raspberry pi d'activer ssh au premier démarrage.

Avec cela, nous pouvons maintenant nous connecter au raspberry pi à l'aide d'un câble Ethernet. Connectez le câble entre votre PC et le Raspberry PI. Maintenant, nous aurons besoin d'un client SSH. Pour cela, j'ai utilisé du mastic (https://www.putty.org/). Ouvrez putty et mettez 169.254.10.1 comme nom d'hôte. Cela peut prendre un certain temps avant que vous puissiez vous connecter.

Une fois connecté, connectez-vous avec ces identifiants:

Connexion: piMot de passe: framboise

Nous pouvons maintenant configurer une connexion Internet pour ce faire. Exécutez cette commande et remplacez le SSID et le mot de passe réseau par le nom et le mot de passe de votre wifi.

echo "mot de passe" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 reconfigure

Maintenant que nous avons une connexion Internet, nous pouvons installer python et d'autres programmes nécessaires en utilisant les commandes suivantes

mise à jour sudo apt

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

python3 -m pip install --upgrade pip setuptools wheel virtualenv

voiture météo mkdir && voiture météo cd

python3 -m venv --system-site-packages env

source env/bin/activate

python -m pip installer mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio

Étape 4: Configuration de la base de données

Maintenant que vous êtes raspberry pi a tous les programmes nécessaires, nous aurons encore besoin de configurer la base de données. Ce que nous pouvons faire en démarrant d'abord Mysql

sudo mariadb

puis

CRÉER UN UTILISATEUR 'project1-admin'@'localhost' IDENTIFIÉ PAR 'adminpassword';CRÉER UN UTILISATEUR 'project1-web'@'localhost' IDENTIFIÉ PAR 'webpassword';CRÉER UN UTILISATEUR 'project1-sensor'@'localhost' IDENTIFIÉ PAR 'sensorpassword';

CRÉER LA BASE DE DONNÉES weathercar_db;

ACCORDER TOUS LES PRIVILÈGES SUR weathercar.* à 'project1-admin'@'localhost' AVEC GRANT OPTION;GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-web'@'localhost';GRANT SELECT, INSERT, UPDATE, SUPPRIMER SUR project1.* TO 'project1-sensor'@'localhost';FLUSH PRIVILEGES;

Étape 5: Coder

Dans cette étape, nous allons cloner le code nécessaire sur votre raspberry pi. C'est ce que nous ferons en faisant ceci:

Tout d'abord assurez-vous que vous êtes dans votre répertoire personnel en entrant "cd"

CD

maintenant, nous allons cloner le référentiel en utilisant

git clone

Nous pouvons maintenant importer les paramètres de la base de données en utilisant:

sudo mariadb weathercar_db < /weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db < /weathercar/sql/weathercar_db_sensoren.sql

Maintenant que nous avons terminé la base de données, nous pouvons continuer et configurer notre service

sudo cp weathercar/conf/project1-*.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start project1-*sudo systemctl enable project1-*

Étape 6: Connectez-vous

Relier!
Relier!

Nous y sommes presque, juste un pas de plus. Et c'est l'adresse IP que le wifi nous a donnée.

Nous allons le faire en mettant

adresse ip

un tas de conneries apparaîtra, mais vous devriez pouvoir trouver "wlan0" puis quelques lignes plus loin "inet 192.168.x.x"

mettez cette adresse IP dans votre navigateur et c'est parti. Vous êtes connecté au site Web.

Conseillé: