Inhoudsopgave:
- Stap 1: Componenten
- Stap 2: Bedrading
- Stap 3: Databaseschema
- Stap 4: Configureer Arduino Nano
- Stap 5: Configureer de Raspberry Pi
- Stap 6: Huisvesting + Hal
- huisvesting
- Hall-effectsensor
- Stap 7: De app starten
Video: Skate-o-Meter: 7 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Ik ben student aan Howest Kortrijk. Om onze vaardigheden te laten zien aan de lectoren die we nodig hadden om een project te bouwen, heb ik ervoor gekozen om een kilometerteller en snelheidsmeter voor mijn skateboard te maken met een RFID-scanner. In deze instructable ga ik zeggen hoe ik dit project heb gemaakt.
Ik kwam op dit idee omdat ik van skaten en cruisen hou. Tijdens het cruisen zou het handig zijn om te zien hoeveel afstand ik heb afgelegd en mijn snelheid te zien.
Houd er rekening mee dat dit een prototype is.
Stap 1: Componenten
Componenten
Ik heb de volgende componenten gebruikt om dit project te maken:
- Skateboard
- Potentiometer
- LCD
- Hall-effectsensor
- 10k Ohm Weerstand
- Frambozenpi
- Arduino Nano
- Doorverbindingsdraad (vrouw naar man)
- Doorverbindingsdraad (Raspberry Pi)
- Doorverbindingsdraad (man naar man)
- PCB
- RFID-scanner
- RFID-badge
- Powerbank
Zie BillOfMaterials voor links en prijs
Stap 2: Bedrading
De hal heeft 3 pinnen: een VCC, een GND en een uitgang. De aarde gaat naar een GND. De VCC naar 3,3V en de output in dit voorbeeld gaat naar GPIO 26. Een weerstand van 10K Ohm trekt de output hoog.
Ik gebruik seriële communicatie via de USB tussen de Raspberry Pi en Arduino Nano om de badges te lezen. Deze staat niet op de foto, maar is wel verplicht!
D9 RST (Reset)D10 SDA(SS) (SPI SS)D11 MOSI (SPI MOSI)D12 MISO (SPI MISO)D13 SCK (SPI SCK)GND GND3.3V 3.3V
Stap 3: Databaseschema
Mijn database heeft 3 tabellen:
- Gebruikers
- Sessie
- Gegevens
Elke gebruiker kan gegevens afzonderlijk volgen. Een sessie heeft gegevens zodat je weet hoe snel je op bepaalde punten ging terwijl de sessie bezig was.
Stap 4: Configureer Arduino Nano
Steek eerst je arduino nano in je pc via de usb-kabel. Selecteer de juiste arduino en de juiste usb-poort om te uploaden.
Vervolgens moeten we de bibliotheek toevoegen die ik gebruik voor het lezen van de RFID-badge. Download 'rfid-master' en ga naar schets, voeg bibliotheek toe en voeg vervolgens. ZIP-bibliotheek toe. Ga naar de zip die je zojuist hebt gedownload en gebruik deze, deze wordt automatisch geïnstalleerd. Download daarna mijn bewerkte 'RFID_Read.ino' druk op ctrl + O voeg dezelfde tijd toe en ga naar dit bestand en open het.
Als je al deze stappen hierboven hebt uitgevoerd, kun je het bestand verifiëren. Als het de eerste keer fout gaat, probeer het dan gewoon nog een keer. Als dit lukt, kun je het uploaden naar je arduino. Door de sneltoets ctrl+shift+m te gebruiken kunt u de seriële monitor openen. U kunt het bestand hier testen. Als de test slaagt, kun je de arduino loskoppelen en in een usb-poort van de raspberry pi. steken
Stap 5: Configureer de Raspberry Pi
In deze stappen gaan we de raspberry pi instellen als database en webserver.
IN DIT VOORBEELD GEBRUIK IK DE GEBRUIKER 'ik' ALS U EEN ANDERE GEBRUIKER GEBRUIKT DIENT U DE CONFIG-BESTANDEN TE WIJZIGEN, HOUD DIT IN DENKEN!
1. Maak een gebruiker aan:
Een variabele maken
pieter@rpipieter:~ $ gebruiker=mij
De gebruiker sudo maken en toevoegen aan alle groepen
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}
Log in op het account
pieter@rpipieter:~ $ su - me
Wachtwoord: ik@mijn-rpi:~$
2. Maak verbinding met wifi
me@rpipieter:~ $ sudo -iroot@rpipieter:~# echo 'Wachtwoord' | wpa_passphrase 'Netwerknaam' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter:~# wpa_cli -i wlan0 herconfigureer root@rpipieter:~# logout
Controleer of het internet werkt
root@rpipieter:~# wget google.com
3. De raspberry pi up-to-date maken en de benodigde pakketten installeren
mij@mijn-rpi:~$ sudo apt update
me@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 herstart -h nu
4. Kloon mijn github-repository
ik@rpipieter:~ $ git-kloon
ik@rpipieter:~ $ cd skate-o-meter/skateometer/
5. De virtuele omgeving maken
Tijdens het uitvoeren van deze commando's zullen er veel pakketten worden geïnstalleerd, dit kan enige tijd duren.
me@rpipieter:~/skate-o-meter/skateometer $ python3 -m pip install --upgrade pip setuptools wiel 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- connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO
6. Aanmaken van de database en gebruikers
We gebruiken een mysql-database
pieter@rpipieter:~/skate-o-meter/skateometer $ cd
pieter@rpipieter:~ $ sudo mysql
Kopieer, plak dit dan
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'som-data'@'localhost';STEL WACHTWOORD IN VOOR 'som-data'@'localhost' = PASSWORD('sensor9810'); selecteer * van mysql.user; MAAK GEBRUIKER 'som-admin'@'localhost' GEDENTIFICEERD DOOR 'admin9810'; MAAK GEBRUIKER 'som-web'@'localhost' GEDENTIFICEERD DOOR 'web9810'; MAAK GEBRUIKER 'som-sensor'@'localhost' GEDENTIFICEERD DOOR 'sensor9810'; MAAK DATABASE skateometerdb; VERLENEN ALLE VOORRECHTEN OP skateometerdb.* aan 'som-admin'@'localhost' MET SUBSIDIEOPTIE; VERLENEN SELECTEREN, INVOEREN, BIJWERKEN, VERWIJDEREN OP skateometerdb.* AAN 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE OP skateometerdb.* AAN 'som-sensor'@'localhost'; SPOEL VOORRECHTEN;
Vervolgens gaan we het bestaande databaseschema met relaties toevoegen.
me@rpipieter:~/skate-o-meter/skateometer $ sudo mysql < sql/skateometerdb_dump-withoutdata.sql
7. Diensten
Hier kopiëren we onze configuratiebestanden en laden de map opnieuw zodat we de services kunnen inschakelen
me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/som-*.service /etc/systemd/systemme@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl daemon-reload
Nu gaan we de services inschakelen, zodat elke keer dat we de raspberry pi starten, deze er automatisch mee opstarten.
me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl enable som-flask.service
Gemaakt symlink /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 Gemaakt symlink /etc/systemd/system/multi-user.target.wants/som-data.service → /etc/systemd/ system/som-data.service. ik@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 herstart nginx.service
Stap 6: Huisvesting + Hal
huisvesting
Eerst maakte ik een gat in mijn skateboard voor de LCD, de potmeter en de zoemer. Daarna heb ik het LCD, de potentiometer en de zoemer op de print gesoldeerd. Toen gebruikte ik een jumperwire voor de RPI, die met 40 pinnen. Ik stop de ene kant in de Raspberry Pi en de andere helft snij ik, deze kant gaan we gebruiken om te solderen. In het bestand 'rpi-kabel' kun je zien waar je welke draad moet solderen.
Voor de behuizing heb ik een oude curverdoos gebruikt, ik heb er gaten in gemaakt voor een ethernetkabel en voor de jumperdraad die in de doos moet komen.
Ik houd de doos onder het skateboard met een schroef. In de doos heb ik alles zo gerangschikt dat het zou passen en ook schroeven en wat rubbers gebruikt om alles op zijn plaats te houden. Dit maakt het makkelijker om spullen eruit te halen.
De RFID is gemonteerd op de verlichte doos en wordt op zijn plaats gehouden met ritsbanden, een probleem dat ik tegenkwam was dat het soms niet scande, maar met enkele wijzigingen zorgde ik ervoor dat het werkte.
Hall-effectsensor
Ik heb eerst een gat in mijn wiel geboord en er een magneet in gedaan.
Voor de hal zijn 3 jumperwires gebruikt (male naar male) die heb ik zowel op mijn PCB als op de hal zelf gesoldeerd. Ik heb de hall-sensor op mijn vrachtwagen gemonteerd met wat ritsbanden. Zorg ervoor dat de magneet en sensor goed zijn uitgelijnd, anders zal deze de puls niet altijd registreren.
Stap 7: De app starten
Stap 1:
Sluit de framboos en powerbank aan.
Stap 2:
Wacht tot het programma start, dit kun je volgen op het LCD-scherm. U ziet het IP-adres, ga naar dit IP-adres.
Stap 3:
Maak een gebruiker aan, dit kan door je te registreren. U moet de badge scannen om uw UID van de badge op het LCD-scherm te zien.
Stap 4:
Als u een gebruiker heeft aangemaakt, kunt u uw badge scannen en wordt er een sessie gestart.
Stap 5:
Ga rond cruisen
Stap 6:
Scan de badge opnieuw om de sessie te stoppen
Stap 7:
Log in om uw sessie en gedetailleerde gegevens van de sessie te zien
Aanbevolen:
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
PCB-ontwerp met eenvoudige en gemakkelijke stappen: 30 stappen (met afbeeldingen)
PCB-ontwerp met eenvoudige en gemakkelijke stappen: HELLO VRIENDEN Het is een zeer nuttige en gemakkelijke tutorial voor diegenen die PCB-ontwerp willen leren, laten we beginnen
Een video met gesplitst scherm maken in vier stappen: 4 stappen (met afbeeldingen)
Een video met gesplitst scherm maken in vier stappen: we zien vaak dezelfde persoon twee keer in een scène in een tv-toneelstuk. En voor zover we weten heeft de acteur geen tweelingbroer. We hebben ook gezien dat er twee zangvideo's op één scherm worden gezet om hun zangkunsten te vergelijken. Dit is de kracht van spl
Uw afbeeldingen opslaan voor uw taak: 4 stappen (met afbeeldingen)
Uw afbeeldingen opslaan voor uw taak: 1. Open een nieuw Google-document en gebruik deze pagina om uw afbeeldingen te beveiligen.2. Gebruik ctrl (control) en de "c" sleutel om te kopiëren.3. Gebruik ctrl (control) en de "v" sleutel om te plakken