Table des matières:
- Étape 1: Composants
- Étape 2: Câblage
- Étape 3: schéma de base de données
- Étape 4: Configurer Arduino Nano
- Étape 5: Configurer le Raspberry Pi
- Étape 6: Logement + Hall
- Logement
- Capteur à effet Hall
- Étape 7: Démarrage de l'application
Vidéo: Skate-o-Meter : 7 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
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
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
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
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
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é:
Prenez de superbes photos avec un iPhone : 9 étapes (avec photos)
Prenez de superbes photos avec un iPhone : la plupart d'entre nous ont un smartphone partout avec nous ces jours-ci, il est donc important de savoir comment utiliser l'appareil photo de votre smartphone pour prendre de superbes photos ! Je n'ai un smartphone que depuis quelques années et j'aime avoir un appareil photo décent pour documenter les choses que je
Plateforme avec des niveaux infinis sur GameGo avec Makecode Arcade : 5 étapes (avec photos)
Plateforme avec des niveaux infinis sur GameGo avec Makecode Arcade : GameGo est une console portable de jeu rétro compatible Microsoft Makecode développée par TinkerGen STEM education. Il est basé sur la puce STM32F401RET6 ARM Cortex M4 et est destiné aux éducateurs STEM ou simplement aux personnes qui aiment s'amuser à créer un jeu vidéo rétro
Balance intelligente bricolage avec réveil (avec Wi-Fi, ESP8266, Arduino IDE et Adafruit.io): 10 étapes (avec photos)
Balance intelligente bricolage avec réveil (avec Wi-Fi, ESP8266, Arduino IDE et Adafruit.io): Dans mon projet précédent, j'ai développé une balance de salle de bain intelligente avec Wi-Fi. Il peut mesurer le poids de l'utilisateur, l'afficher localement et l'envoyer vers le cloud. Vous pouvez obtenir plus de détails à ce sujet sur le lien ci-dessous : https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Tapis avec capteurs/communication RF avec Arduino Micro : 4 étapes (avec photos)
Tapis avec capteurs/communication RF avec Arduino Micro : J'ai récemment terminé l'installation Tout aussi diversifiée, qui est composée d'une série de lampes qui réagissent aux capteurs placés dans un tapis sous les lampes. Voici comment j'ai fait le tapis avec des capteurs de pression. J'espère que vous trouverez ça utile.:)
Lancez votre diaporama de photos de vacances avec une touche de magie ! : 9 étapes (avec photos)
Lancez votre diaporama de photos de vacances avec une touche de magie ! : Au fil des ans, j'ai pris l'habitude d'emporter une petite figurine avec moi en voyage : j'achète souvent un petit artoy vierge (comme celui sur la photo) et je peins il correspond au drapeau et au thème du pays que je visite (dans ce cas, la Sicile). T