Table des matières:

Skate-o-Meter : 7 étapes (avec photos)
Skate-o-Meter : 7 étapes (avec photos)

Vidéo: Skate-o-Meter : 7 étapes (avec photos)

Vidéo: Skate-o-Meter : 7 étapes (avec photos)
Vidéo: World’s HOTTEST Skateboard EVER!! 2024, Juillet
Anonim
Skate-o-mètre
Skate-o-mètre

Je suis étudiant à Howest Kortrijk. Pour montrer nos compétences aux lecteurs dont nous avions besoin pour construire un projet, j'ai choisi de créer un compteur kilométrique et un compteur de vitesse pour mon skateboard avec un scanner RFID. Dans ce instructable je vais dire comment j'ai fait ce projet.

J'ai eu cette idée parce que j'aime patiner et me balader. Pendant que je navigue, il serait pratique de voir la distance que j'ai parcourue et de voir ma vitesse.

Gardez à l'esprit qu'il s'agit d'un prototype.

Étape 1: Composants

Composants

J'ai utilisé les composants suivants pour créer ce projet:

  • planche à roulette
  • Potentiomètre
  • ACL
  • Capteur à effet Hall
  • Résistance 10k Ohm
  • Tarte aux framboises
  • Arduino Nano
  • Cavalier (femelle à mâle)
  • Cavalier (Raspberry Pi)
  • Cavalier (mâle à mâle)
  • PCB
  • Scanner RFID
  • Badge RFID
  • Banque d'alimentation

Voir BillOfMaterials pour les liens et le prix

Étape 2: Câblage

Câblage
Câblage

Le hall a 3 broches: un VCC, un GND et une sortie. La masse va à un GND. Le VCC à 3,3 V et la sortie dans cet exemple va à GPIO 26. Une résistance de 10K Ohm tire la sortie vers le haut.

J'utilise la communication série via USB entre le raspberry pi et l'arduino nano pour lire les badges. Ce n'est pas sur la photo, mais c'est obligatoire !

D9 RST (Réinitialiser)D10 SDA(SS) (SPI SS)D11 MOSI (SPI MOSI)D12 MISO (SPI MISO)D13 SCK (SPI SCK)GND GND3.3V 3.3V

Étape 3: schéma de base de données

Schéma de base de données
Schéma de base de données

Ma base de données a 3 tables:

  • Utilisateurs
  • Session
  • Données

Chaque utilisateur peut suivre les données séparément. Une session contient des données afin que vous sachiez à quelle vitesse vous êtes allé sur certains points pendant la session.

Étape 4: Configurer Arduino Nano

Configurer Arduino Nano
Configurer Arduino Nano
Configurer Arduino Nano
Configurer Arduino Nano
Configurer Arduino Nano
Configurer Arduino Nano

Mettez d'abord votre arduino nano dans votre pc via le câble usb. Sélectionnez le bon arduino et le bon port USB à télécharger.

Ensuite, nous devons ajouter la bibliothèque que j'utilise pour lire le badge RFID. Téléchargez « rfid-master » et accédez à l'esquisse, incluez la bibliothèque, puis ajoutez la bibliothèque. ZIP. Allez sur le zip que vous venez de télécharger et utilisez celui-ci, il s'installera automatiquement. Après cela, téléchargez mon "RFID_Read.ino" édité, appuyez sur ctrl + O, ajoutez en même temps, accédez à ce fichier et ouvrez-le.

Si vous avez suivi toutes ces étapes ci-dessus, vous pouvez vérifier le fichier. S'il bug la première fois, essayez-le une fois de plus. Si cela réussit, vous pouvez le télécharger sur votre arduino. En utilisant le raccourci ctrl+shift+m, vous pouvez ouvrir le moniteur série. Vous pouvez tester le fichier ici. Si le test est réussi vous pouvez débrancher l'arduino et le brancher sur un port usb du raspberry pi

Étape 5: Configurer le Raspberry Pi

Dans ces étapes, nous allons configurer le raspberry pi en tant que base de données et serveur Web.

DANS CET EXEMPLE, J'UTILISE L'UTILISATEUR « moi » SI VOUS UTILISEZ UN AUTRE UTILISATEUR, VOUS AVEZ BESOIN DE MODIFIER LES FICHIERS DE CONFIGURATION, GARDER CELA À L'ESPRIT !

1. Créez un utilisateur:

Créer une variable

pieter@rpipieter:~ $ user=moi

Rendre l'utilisateur sudo et ajouter à tous les groupes

groups=$(id pi -Gn | sed 's/^pi //g' | sed 's/ /, /g')sudo useradd ${user} -s /bin/bash -m -G ${groups} sudo sed "s/^pi/${user}/" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd ${user}

Connectez-vous au compte

pieter@rpipieter:~ $ su - moi

Mot de passe: moi@mon-rpi:~$

2. Connectez-vous avec le Wi-Fi

me@rpipieter:~ $ sudo -iroot@rpipieter:~# echo 'Mot de passe' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter:~# wpa_cli -i wlan0 reconfigure root@rpipieter:~# logout

Vérifiez si Internet fonctionne

root@rpipieter:~# wget google.com

3. Mettre à jour le raspberry pi et installer les packages nécessaires

moi@mon-rpi:~$ sudo apt update

moi@my-rpi:~$ sudo apt upgrade me@rpipieter:~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi:~$ sudo redémarrer -h maintenant

4. Cloner mon dépôt github

me@rpipieter:~ $ git clone

me@rpipieter:~ $ cd skate-o-meter/skateometer/

5. Créer l'environnement virtuel

Pendant l'exécution de ces commandes, de nombreux packages seront installés, cela peut prendre un certain temps.

me@rpipieter:~/skate-o-meter/skateometer $ python3 -m pip install --upgrade pip setuptools wheel virtualenv

me@rpipieter:~/skate-o-meter/skateometer $ python3 -m venv --system-site-packages env (env) me@rpipieter:~/skate-o-meter/skateometer $ python -m pip install mysql- connecteur-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO

6. Création de la base de données et des utilisateurs

Nous utilisons la base de données mysql

pieter@rpipieter:~/skate-o-meter/skateometer $ cd

pieter@rpipieter:~ $ sudo mysql

Puis copiez, collez ceci

GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'som-data'@'localhost';SET PASSWORD FOR 'som-data'@'localhost' = PASSWORD('sensor9810'); sélectionnez * à partir de mysql.user; CRÉER UN UTILISATEUR 'som-admin'@'localhost' IDENTIFIÉ PAR 'admin9810'; CRÉER UN UTILISATEUR 'som-web'@'localhost' IDENTIFIÉ PAR 'web9810'; CRÉER UN UTILISATEUR 'som-sensor'@'localhost' IDENTIFIÉ PAR 'sensor9810'; CRÉER UNE BASE DE DONNÉES skateometerdb; OCTROYEZ TOUS LES PRIVILÈGES SUR skateometerdb.* à 'som-admin'@'localhost' AVEC L'OPTION GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; PRIVILÈGES DE FLASH;

Ensuite, nous allons ajouter le schéma de base de données existant avec des relations.

me@rpipieter:~/skate-o-meter/skateometer $ sudo mysql < sql/skateometerdb_dump-withoutdata.sql

7. Prestations

Ici, nous copions nos fichiers de configuration et rechargeons le dossier afin que nous puissions activer les services

me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/som-*.service /etc/systemd/systemme@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl daemon-reload

Nous allons maintenant activer les services afin qu'à chaque démarrage du Raspberry Pi, ceux-ci démarrent automatiquement avec.

me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl enable som-flask.service

Lien symbolique créé /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl enable som-data.service Lien symbolique créé /etc/systemd/system/multi-user.target.wants/som-data.service → /etc/systemd/ system/som-data.service. me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl start som-data.service me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl start som-flask.service

8. NGINX

me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/nginx /etc/nginx/sites-available/skateometerme@rpipieter:~/skate-o-meter/skateometer $ sudo rm /etc/nginx/sites -enabled/default me@rpipieter:~/skate-o-meter/skateometer $ sudo ln -s /etc/nginx/sites-available/skateometer /etc/nginx/sites-enabled/skateometerme@rpipieter:~/skate-o -meter/skateometer $ sudo systemctl restart nginx.service

Étape 6: Logement + Hall

Logement + Hall
Logement + Hall

Logement

J'ai d'abord fait un trou dans mon skateboard pour l'écran LCD, le potentiomètre et le buzzer. Après cela, j'ai soudé le LCD, le potentiomètre et le buzzer sur le PCB. Ensuite, j'ai utilisé un cavalier pour le RPI, celui avec 40 broches. J'ai mis un côté dans le raspberry pi et l'autre moitié j'ai coupé, ce côté que nous allons utiliser pour souder. Dans le fichier 'rpi-cable', vous pouvez voir où vous devez souder quel fil.

Pour le boîtier, j'ai utilisé un ancien boîtier courbe, j'y ai fait des trous pour un câble ethernet et pour que le cavalier vienne dans le boîtier.

Je garde la boîte sous le skateboard avec une vis. À l'intérieur de la boîte, j'ai tout arrangé pour qu'il s'adapte et j'ai également utilisé des vis et des caoutchoucs pour que tout reste en place. Cela facilite la sortie des choses.

Le RFID est monté sur l'éclairage de la boîte et est maintenu en place avec des pneus zippés, un problème que j'ai rencontré était que parfois il ne numérisait pas, mais avec quelques modifications, je l'ai fait fonctionner.

Capteur à effet Hall

J'ai d'abord percé un trou dans ma roue et y ai mis un aimant.

Pour le hall on utilise 3 jumperwires (mâle à mâle) je les ai soudés sur mon PCB ainsi que sur le hall lui-même. J'ai monté le capteur à effet hall sur mon camion avec des pneus zip. Assurez-vous que l'aimant et le capteur sont bien alignés, sinon il n'enregistrera pas toujours le pouls.

Étape 7: Démarrage de l'application

Étape 1:

Branchez la framboise et la banque d'alimentation.

Étape 2:

Attendez que le programme démarre, vous pouvez le suivre sur l'écran LCD. Vous verrez l'adresse IP, allez à cette adresse IP.

Étape 3:

Créez un utilisateur, vous pouvez le faire en vous inscrivant. Vous devez scanner le badge pour voir votre UID du badge sur l'écran LCD.

Étape 4:

Si vous avez créé un utilisateur, vous pouvez scanner votre badge et une session démarrera.

Étape 5:

Faites une croisière

Étape 6:

Scannez à nouveau le badge pour arrêter la session

Étape 7:

Connectez-vous pour voir votre session et les données détaillées de la session

Conseillé: