Innehållsförteckning:

Skate-o-Meter: 7 steg (med bilder)
Skate-o-Meter: 7 steg (med bilder)

Video: Skate-o-Meter: 7 steg (med bilder)

Video: Skate-o-Meter: 7 steg (med bilder)
Video: Boy uses umbrella to prevent elevator door from closing, causes free fall 2024, Juli
Anonim
Skate-o-Meter
Skate-o-Meter

Jag är student på Howest Kortrijk. För att visa våra färdigheter för de lektorer vi behövde för att bygga ett projekt valde jag att skapa en vägmätare och hastighetsmätare för min skateboard med en RFID -skanner. I denna instruerbara jag är igig att säga hur jag gjorde detta projekt.

Jag kom på den här idén eftersom jag gillar att åka skridskor och kryssa runt. Medan jag kryssar skulle det vara praktiskt att se hur långt jag har rest och se min hastighet.

Tänk på att det här är en prototyp.

Steg 1: Komponenter

Komponenter

Jag använde följande komponenter för att skapa detta projekt:

  • Skateboard
  • Potentiometer
  • LCD
  • Hall effekt sensor
  • 10k Ohm motstånd
  • Raspberry Pi
  • Arduino Nano
  • Bygelkabel (hona till hane)
  • Jumper wire (Raspberry Pi)
  • Bygelkabel (hane till hane)
  • PCB
  • RFID -skanner
  • RFID -märke
  • Powerbank

Se BillOfMaterials för länkar och pris

Steg 2: Kabeldragning

Kabeldragning
Kabeldragning

Hallen har 3 stift: en VCC, en GND och en utgång. Marken går till en GND. VCC till 3.3V och utgången i detta exempel går till GPIO 26. Ett 10K Ohm motstånd drar uteffekten högt.

Jag använder seriell kommunikation via USB mellan hallon pi och arduino nano för att läsa märkena. Detta är inte på bilden, men krävs!

D9 RST (Återställ) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V

Steg 3: Databasschema

Databasschema
Databasschema

Min databas har 3 tabeller:

  • Användare
  • Session
  • Data

Varje användare kan spåra data separat. En session har data så att du vet hur snabbt du gick på vissa punkter medan sessionen pågick.

Steg 4: Konfigurera Arduino Nano

Konfigurera Arduino Nano
Konfigurera Arduino Nano
Konfigurera Arduino Nano
Konfigurera Arduino Nano
Konfigurera Arduino Nano
Konfigurera Arduino Nano

Lägg först din arduino nano i din dator via usb -kabeln. Välj rätt arduino och rätt usb -port att ladda upp.

Därefter måste vi lägga till biblioteket jag använder för att läsa RFID -märket. Ladda ner 'rfid-master' och gå till skiss, inkludera bibliotek och lägg sedan till. ZIP-bibliotek. Gå till zip -filen du just laddade ner och använd den här, den installeras automatiskt. Efter den nedladdningen min redigerade "RFID_Read.ino" tryck ctrl + O lägg till samma tid och gå till den här filen och öppna den.

Om du gjorde alla dessa steg ovan kan du verifiera filen. Om det är fel första gången, bara prova det en gång till. Om detta lyckas kan du ladda upp det till din arduino. Genom att använda genvägen ctrl+shift+m kan du öppna den seriella bildskärmen. Du kan testa filen här. Om testet lyckas kan du koppla ur arduino och ansluta det till en usb -port på hallon pi

Steg 5: Konfigurera Raspberry Pi

I dessa steg kommer vi att konfigurera hallon pi som databas och webserver.

I DETTA EXEMPEL ANVÄNDER JAG ANVÄNDAREN "mig" OM DU ANVÄNDER EN ANNAN ANVÄNDARE DU BEHÖVER ÄNDRA KONFIGURERINGSFILER, HÅLL DETTA I MIND!

1. Skapa en användare:

Skapa en variabel

pieter@rpipieter: ~ $ user = me

Gör användaren sudo och lägger till i alla grupper

grupper = $ (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}

Logga in på kontot

pieter@rpipieter: ~ $ su - me

Lösenord: me@my-rpi: ~ $

2. Anslut med WiFi

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Password' | wpa_passphrase 'Nätverksnamn' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 omkonfigurera root@rpipieter: ~# logout

Kontrollera om internet fungerar

root@rpipieter: ~# wget google.com

3. Att göra hallon-pi uppdaterat och installera nödvändiga paket

me@my-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 starta om -h nu

4. Klona mitt github -arkiv

me@rpipieter: ~ $ git clone

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

5. Skapa den virtuella miljön

När du utför dessa kommandon kommer det att installeras många paket, det kan ta lite tid.

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip install-uppgradera pip setuptools hjul 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. Skapa databasen och användare

Vi använder mysql -databasen

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

pieter@rpipieter: ~ $ sudo mysql

Kopiera sedan, klistra in detta

GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; SET LÖSENORD FÖR 'som-data'@'localhost' = LÖSENORD ('sensor9810'); välj * från mysql.user; SKAPA ANVÄNDARE 'som-admin'@'localhost' IDENTIFIERAD AV 'admin9810'; SKAPA ANVÄNDARE 'som-web'@'localhost' IDENTIFIERAD MED 'web9810'; SKAPA ANVÄNDARE 'som-sensor'@'localhost' IDENTIFIERAD MED 'sensor9810'; SKAPA DATABASE skateometerdb; GE ALLA PRIVILEGER PÅ skateometerdb.* Till 'som-admin'@'localhost' MED GRANT-ALTERNATIV; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'; FLUSH PRIVILEGER;

Därefter lägger vi till det befintliga databasschemat med relationer.

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

7. Tjänster

Här kopierar vi våra konfigurationsfiler och laddar om mappen så att vi kan aktivera tjänsterna

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

Nu ska vi aktivera tjänsterna så att varje gång vi startar hallon pi kommer dessa automatiskt att börja med det.

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

Skapade 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 Skapad symlink /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 -aktiverad/standard 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 starta om nginx.service

Steg 6: Bostäder + Hall

Bostäder + Hall
Bostäder + Hall

Hus

Först gjorde jag ett hål i min skateboard för LCD -skärmen, potentiometern och summern. Efter det löd jag LCD -skärmen, potentiometern och summern på kretskortet. Sedan använde jag en jumperwire för RPI, den med 40 stift. Jag lägger ena sidan i hallonpi och den andra halvan skär jag, den här sidan ska vi använda för att löda. I filen 'rpi-cable' kan du se var du behöver löda vilken tråd.

För höljet använde jag en gammal kurvlåda, jag satte några hål i den för en Ethernet -kabel och för att bygeln skulle komma i lådan.

Jag håller lådan under skateboard med en skruv. Inuti lådan ordnade jag allt, så det skulle passa och använde även skruvar och lite gummi för att hålla allt på plats. Detta gör det lättare att ta ut saker.

RFID är monterad på lådan och hålls på plats med dragkedjor, ett problem jag stötte på var att det ibland inte skannade, men med några ändringar fick jag det att fungera.

Hall effekt sensor

Först borrade jag ett hål i mitt hjul och satte en magnet i det.

För hallen används 3 jumperwires (man till man) jag lödde dem på mitt kretskort också på själva hallen. Jag monterade hallsensorn på min lastbil med några dragkedjor. Se till att magneten och sensorn är rätt inställda, annars registrerar det inte alltid pulsen.

Steg 7: Starta appen

Steg 1:

Anslut hallon och powerbank.

Steg 2:

Vänta tills programmet startar, du kan följa detta på LCD -skärmen. Du kommer att se IP-adressen, gå till den här IP-adressen.

Steg 3:

Skapa en användare, du kan göra det genom att registrera dig. Du måste skanna märket för att se ditt UID för märket på LCD -skärmen.

Steg 4:

Om du skapade en användare kan du skanna ditt märke och en session startar.

Steg 5:

Kryssa runt

Steg 6:

Skanna märket igen för att stoppa sessionen

Steg 7:

Logga in för att se din session och detaljerad information från sessionen

Rekommenderad: